tag 标签: a/d

相关博文
  • 热度 9
    2014-5-23 12:20
    996 次阅读|
    0 个评论
           CCD是一种光电转换式图像传感器。它利用光电转换原理把图像信息直接转换成电信号,这样便实现了非电量的电测量。同时它还具有体积小、重量轻、噪声低、自扫描、工作速度快、测量精度高、寿命长等诸多优点,因此受到人们的高度重视,在精密测量、非接触无损检测、文件扫描与航空遥感等领域中,发挥着重要的作用 。对被测图像信息进行快速采样、存储及数据处理,是线阵CCD数据采集发展的新方向。寻找满足要求的处理器已成当务之急。DSP(数字信号处理器)是一种具有高速性、实时性和丰富的芯片内部资源的处理器,它的出现为人们解决了这个难题。为了节约成本、减少体积,本文用CPLD控制图像的读入,以TMS320VC5402 DSP作为处理器,并结合CA3318CE A/D转换器介绍一种CCD图像采集处理系统的设计方法。根据课题研究,将此系统应用于手写体数字的采集和识别中。如果配以适当的光学系统,便可以实现光-机-电-算一体化设计。        1 系统概述   n bsp;     本系统主要由线阵CCD、ADC、DSP、可编程逻辑器件CPLD等几部分组成。待输入图像经光源照明后,经物镜成像在CCD光敏元件阵列上,CCD通过驱动电路完成一次Y方向的自扫描。在控制电路的作用下,CCD输出信号进行滤波放大处理,并经A/D转换电路进行数字化处理。一行图像数据通过数据通道进入帧存储器。以上操作与CCD自扫描同步进行,不受CPU的控制。随后,控制电路启动步进电机,带动进纸机构移动到下一采样位置,CCD又进行Y方向的自扫描,并重复上述过程,输入第二行的数据,直至整幅画面输入完毕。DSP读取存储器存储的处理数据,并根据用户的要求将处理结果上传给主机供用户使用。系统结构图如图1所示。                                                                 图1 系统结构图         2 基本硬件组成         2.1 线阵CCD传感器         本系统采用TCD1208AP线阵CCD作为图像传感器。TCD1208AP是日本TOSHIBA公司生产的线阵CCD传感芯片,具有2160个像元,像元尺寸及间距为14μm×14μm;TCD1208AP具有灵敏度高、暗电流低等特点,工作电压为单一的5V,是二相输出的线阵CCD器件。主要用于通信传真、图像扫描、光学字符阅读机等场合。TCD1208AP传感器共需要四个5V的驱动时钟(SH、RS、Ф1、Ф2)。时序图如图2所示。                                                    图2 TCD1208AP 传感器时序图        2.2 放大滤波及A/D转换   TCD1208AP传感器输出信号OS有以下特点:   ·负极性信号   ·包含有周期性的复位脉冲串扰   ·有效信号幅值较小         CCD输出信号的上述特点决定了它不能直接送入A/D转换器,必须先从硬件上对其进行一系列的预处理,消除信号中的驱动脉冲(主要是复位脉冲)及噪声等所造成的干扰,因此需将信号进行前置反向、滤波及放大。在电路设计中,选用一片CA3450运算放大器进行反向、放大;并在CA3450的输出端接一级RC滤波器滤除噪声。经过上述处理的信号就可以被送入A/D转换器进行数字化处理。8位、高速、并行闪速结构的A/D转换芯片(CA3318CE)的转换速率(最大为15MHz)完全可以满足CCD(1MHz)的工作要求,利用A/D转换技术将信号转换成与之相应的、能够反应图像灰度变化的数字量,提高了测量精度和分辨率。当CA3318CE的输出使能有效时,就可以将A/D转换结果送至8位数据线上。这样,在数据存储器写允许及地址有效的前提下,就能将数据写入数据存储器SRAM中。         2.3 可编程逻辑电路CPLD        nb sp; CPLD的主要作用有:用来控制CCD的驱动时钟、各种同步控制时钟(A/D转换,数字信号存取)以及存储器地址的产生。合适的CPLD是根据实际需要在实验过程中选定的,在设计中选用了ALTERA公司的MAX7000系列芯片EPM7128S,该系列芯片是典型的通过JTEG在线编程的CPLD器件。外部时钟信号作为CPLD的基准信号,其它时序信号的产生都是以此为基础的。         2.4 步进机构          线性CCD是逐行扫描的,要想得到清晰的图像,对步进机构的速度是有要求的。步进机构应该匀速运动,其速度必需和扫描速度保持一致。影响水平方向分辨率的主要原因是转动电机的转速。虽然转速越高,越节省时间,但是扫描间隔却相应增大,分辨率下降;转速越低,则分辨率越高。          2.5 TMS320VC5402处理器         TMS320VC5402是定点数字信号处理器,体系结构为哈佛结构,具有先进的多总线结构,40位算术逻辑单元(ALU)包括一个40位桶形移位寄存器和两个40位累加器,数据/程序寻址空间为64K/1MB,内置16KB的RAM和4KB的ROM,有两个缓冲串口。另外,它还提供DMA方式和多种片内外设,操作速度最高为100MIPS。          3 系统的硬件设计          3.1 CPLD控制信号          根据驱动脉冲时序关系确定时钟驱动信号SH、Φ1、Φ2和RS的参数。各路脉冲的技术指标如下:RS=1MHz,占空比为1:3,方波;Φ1=Φ2=0.5MHz,占空比为 1:1,方波,Φ1、Φ2在并行转移时是一个大于SH=1持续时间的宽脉冲;在SH的光积分时间内,至少有2212个RS脉冲。在设计中,SH波形采用计数器的形式进行设计。Φ1、Φ2、RS的波形由分频产生。行同步信号Фc与SH同周期,利用Фc的上升沿使A/D转换器进入工作状态(Фc为低电平时,A/D转换无法启动),它的上升沿对应CCD输出信号的第一个有效像素。SP是像元同步信号,它的脉冲频率是复位信号RS的整数倍。为了保证CCD输出、A/D转换、地址发生三者同步,将CCD驱动电路的RS与ADC的时钟CLK相连,存储器的写允许端与ADC的允许端相连。部分设计程序如下: PROCESS(CLK,RESET)   BEGIN   IF RESET=‘1’ THEN CNTB=0;   ELSE   IF CLK´EVENT AND CLK=‘1’ THEN    IF CNTB2212 THEN CNTB=0;    ELSE CNTB=CNTB+1;    END IF;   END IF;   END IF; END PROCESS; PROCESS(RESET,CNTB)   BEGIN   IF RESET=´1´ THEN SH=´1´;   ELSE   CASE CNTB IS    WHEN 0 TO 2212= SH=‘0’;    WHEN OTHERS= SH=‘1’;   END CASE;   END IF; END PROCESS; PROCESS(CLK,RESET)   BEGIN   IF RESET=‘1’ THEN CNT=0;   ELSE   IF CLK´EVENT AND CLK=‘1’ THEN    IF CNT5 THEN    CNT=CNT+1;    ELSE CNT=0;    END IF;   END IF;   END IF; END PROCESS; PROCESS(CNT,RESET)   BEGIN   IF RESET=‘1’ THEN F1=‘1’;F2=‘0’;   ELSE   CASE CNT IS    WHEN 0 =F1=‘1’;F2=‘0’;    WHEN 4 =F1=‘1’;F2=‘0’;    WHEN 5 =F1=‘1 ’;F2=‘0’;    WHEN OTHERS= F1=‘0’;F2=‘1’;   END CASE;   END IF; END PROCESS;         根据所要摄取图像的数据量,选用三片IS61LV5128AL-12T SRAM(共1.5M),用来存放一帧图像数据。它们的地址线和读写控制线是由CPLD提供的。         SRAM地址信号的产生是通过计数器实现的,这里将A/D转换的时钟同步信号作为计数器的计数时钟信号。每次采样前,设初始地址为零,时钟同步信号每出现一次下降沿,地址值加1。在采集完一帧数据时地址自动复位。考虑到延时的问题,数据信号与地址信号不能同时发生。如果写信号一直有效,会造成同一地址存放不同的数据,从而影响了输出数据的正确性。针对这一问题,在设置写信号WR时,检测地址ADDR最后一位(ADDR )和时钟同步信号的上升沿的变化。当检测到ADDR 变化时,WR置低,说明有效;当检测到时钟同步信号上升沿到来时,WR置高,此时无效。这样每一位数据都能被写入相应的地址中。         在设计中,时序发生器产生的所有驱动和控制时序信号都是在MUXPLUSII开发环境下设计完成并经编译、校验后在线下载到CPLD器件内部的。可见,一片CPLD可以替代原来的几十个分立元件来实现CCD图像读入系统中各种驱动和控制时序逻辑,而且CPLD还允许设计编程保密位。总之采用CPLD有利于减小系统电路板的面积、提高系统的安全保密性、降低系统功耗和保证产品的质量。         3.2 DSP的控制信号         当系统启动时,DSP通知EPM7128S启动采集,采集完毕后DSP便可以访问SRAM中的数据,并完成后继的图像处理工作。另外,在本系统中,DSP还有一个重要的功能,即负责控制SRAM的访问权。在系统中,ADC以及DSP都需要对SRAM进行访问,这必然会产生SRAM的访问争用问题。对于这一问题是通过DSP来解决的。在采集图像期间,DSP通过XF引脚控制缓冲/驱动器SN74LVTH16244,使得采集期间ADC与SRAM导通,DSP与SRAM隔离;在处理数据期间,DSP与SRAM导通,ADC与SRAM隔离,这样就解决了ADC、DSP对SRAM的使用权争用问题。          3.3 存储空间扩展         TMS320VC5402的数据寻址空间只有64K,而一帧图像的存储量达到1M多,由于硬件资源的限制和实时处理的要求,要存储这么大的数据,必须进行存储空间的扩展。         所以在系统中,采用I/O空间扩展。由于I/O空间全部是片外的,所以进行扩展后上述问题得以解决。具体实现如下:首先将HPI端口通过硬件或软件设置成通用I/O端口,然后把这些端口作为片选信号进行空间扩展。当进行寻址时,首先在HPI的端口输出相应的片选信号,然后在地址总线上输出相应的地址值,这样就完成了数据的存储和处理。         4 系统的软件设计          单帧读入识别过程如下:         (1)DSP发帧启动脉冲Fstart给CPLD,地址译码器和触发器清零。          (2)CPLD接收Fstart。          (3)开始行扫描,并将数字化后的信号存入SRAM。完成一行采集,发DMA信号给DSP。         (4)DSP接收到DMA信号后,启动步进电机前进。         (5)步进电机到达一定位置时,转为(3)。   n bsp;     (6)一帧数据采集完毕时,发中断信号Ready给DSP,DSP读取SRAM,处理数据。         (7)数据处理完,若有新页,则转到(1)。         软件流程图如图3所示。                                                            图3 软件流程图         5 识别算法          根据手写体数字的特征,采用一种简单易行的识别算法。算法中主要包括图像的预处理、特征提取和识别。         (1)二值化。二值化处理是将得到的灰度图像转化为二值数字图像,本系统采用全局阈值法进行二值化处理。         (2)平滑。由于平滑能够去除孤立的噪声、干扰,能平滑笔画的边沿,所以这是必不可少的预处理步骤。这里使用一种简单且行之有效的平滑方法——中值滤波方法。         (3)分割。图像的分割是从图像采集中所得到的整幅图像中分出需要识别的数字图像区和无用的背景图像区。由于手写体数字的限制,这里采用基于方框的查找法。          (4)规范化。为了便于对任意字符的特征提取,还要对字符进行正规化处理。由于每个手写数字的大小和在框内相对位置的不同,不能直接进行训练和识别,所以对处理后的点阵数据用基于重心的位置规范法进行规范,使之成为16×16的点阵数据格式,为后续的处理所用。         (5)细化。本文采用并行细化算法 。该方法采用16种3×3的邻域作为删除模板“剥去”图像的最外层,同时又采用两种3×4的邻域作为恢复模板恢复被删去的影响连续性的关键点,从而达到每次迭代都能完全“剥去”图像的最外层而不破坏图像连续性的目的。这种方法计算量小,所得骨架基本上位于图像的中轴,端点无明显的收缩,能满足本文所用识别方法对细化结果的要求。          特征提取的主要任务是对预处理后的二进制点阵数据进行处理,提取出数字图像中有关骨架、轮廓、拓扑结构、笔划分布等方面的特征信息,再送给分类器。本文提取数字的离散余弦特征。         考虑到DSP芯片的程存空间及识别速度,本系统采用的是传统的手写体数字识别算法——BP网络算法,对单个字符进行识别。本文用了三层BP实现手写体数字的高效率识别。输入层来自数字的离散余弦特征,输出层有10个单元,分别代表0~9这十个数字。在学习过程中,为了提高学习速率,对学习步长η进行了不断的自适应调节。         6 试验结果及经验总结          经过在测试集上测试,当拒识率为3.10%时,硬件识别系统的识别率达到94.52%,可靠性为97.54% ;当拒识率为2.95%时,硬件识别系统识别率达到了94.79%,可靠性为97.68%。可见此系统具有较好的性能。在试验过程中,总结出以下几点经验:         (1)在设计时最好了解CPLD的内部结构,这对逻辑 设计和实现有很大帮助。         (2)使用的I/O超过80%或者资源利用率超过80%时,布线的布通率将不能保证。         (3)算法尽可能简单,以提高图像处理的速度。          本系统将图像输入、识别集成到一个系统中,很好地实现了图像的快速采集、存储及数据处理功能,具有一定的实用价值。对于高分辨率要求的图像采集识别系统来说,本方法依然适用。在硬件方面,如果用TMS320VC6201代替TMS320VC5402,效果将更佳。在识别方法上,如果将本文的识别方法作为多级分类器的一类,和其它一些基于统计的方法,如外围轮廓法、数学变换法等结合在一起,应该能够取得更好的识别效果。         参考文献 1王庆有.CCD应用技术 .天津:天津大学出版社,2000 2 TCD1208AP. TOSHIBA Corp., 1997 3 TMS320VC5402 Fixed-point Digital Signal Processor. Texas Instruments,1998 4 朱 江,宣国荣. 一种基于骨架特征顺序编码的脱机手写体数字识别方法 .小型微型计算机系   统,2001;22(8) 5 李 彩,刘 勇,王 安. MAX7000S在线阵CCD数据采集卡中的应用 .量子电子学报,2003;20(1)
  • 热度 12
    2013-3-18 20:21
    6438 次阅读|
    0 个评论
    1、   对于 ADC 来说,我们关注的是它的分辨率、转换速度、 ADC 类型、参考电压范围。 A、 分辨率, 12 位分辨率,最小量化单位 LSB=V REF+ /2 12   B、 转换时间,可编程的,采样一次至少要用 14 个 ADC 时钟周期,而 ADC 时钟频率最高为 14MHz ,也就是说它的最短采样时间为 1us   C、 ADC 类型,类型决定了性能的极限, stm32 是逐次比较型 ADC   D、 参考电压范围,当需要测量负电压或测量的信号超出范围时,要先经过运算电路进行平移或利用电阻分压   2、   ADC 工作过程分析, ADC 部件要受到触发信号才开始进行转换,如 EXTI 外部触发、定时器触发,也可以软件触发。 ADC 部件在接收到触发信号后,在 ADCCLK 时钟的驱动下对输入通道信号进行采样,并进行模数转换。其中, ADCCLK 来自 ADC 的预分频器   3、   DMA 在传输时,由于不是内核执行的指令,所以修改变量值是绝对不会出现赋值语句的。   4、   在 ADC_Init( ) 中完成对 ADC 和 DMA 配置后, ADC 就不停地采集数据,而 DMA 就自动把 ADC 采集到的数据转移至内存中的变量 ADC_ConvertedValue. 因此,它是一个实时值   5、   ADC1_GPIO_Config( ) 的功能就是使能 DMA 时钟、 GPIO 时钟、 ADC1 时钟。然后把 ADC1 的通道 11 使用的 GPIO 引脚 PC1 配置成模拟输入模式   6、   配置 DMA , ADC 模式及其 DMA 传输方式都在 ADC_Mode_Config( ) 中实现, ADC 的 DMA 整体上被配置为:使用 DMA1 的通道 1   7、   配置 ADC 模式:主要对 ADC 的初始化结构体进行赋值,下面是它的结构体成员:   A 、 .ADC_Mode ,多个 ADC ,不同的 ADC 又是共用相同的通道,根据同一个通道的先后顺序、时间间隔,可划分 10 种模式(测量电压分压后的电压值,要求不高,用一个 ADC 就可以了)   B 、 .ADC_ScanConvMode ,当有多个通道需要采集信号时,可配置为按一定顺序对各个通道进行扫描转换,即轮流采集各通道的值,若采集多个通道,必须开启此模式   C 、 ADC_ContinuousConvMode ,连续转换模式,即在上一次转换完后,立即开启下一次的转换   D 、 ADC_ExternalTrigConv ,外部触发,若使用软件触发,则 ADC_ExternalTrigConv_None   E 、 .ADC_DataAlign ,数据对齐方式   F 、 .ADC_NbrOfChannel ,这个成员保存了要进行 ADC 数据转换的通道数   8 、 ADC 初始化使用 ADC_Init( ) 函数,但要调用 ADC_Cmd( ) 函数来使能 ADC 外设,用 ADC_DMACmd( ) 函数来使能 ADC 的 DMA 接口   9 、 ADC 转换时间配置: RCC_ADCCLKConfig( ) 设置分频值, ADC 转换时间不仅与 ADC 的时钟有关,还与采样周期有关   10 、 stm32 中 ADC 采样时间计算公式: T conv = 采样周期 +12.5 个周期,公式中的采样周期就是本函数配置的 ADC_SampleTime ,后面再加上 12.5 个固定周期值。所以,转换时间 = 采样时间 / 分频值   11 、 ADC 自校准,在 ADC 转换前,要启动 ADC 的自校准,校准可以大幅度减少准精度误差   12 、软件触发可以调用库函数 ADC_SoftwareStartConvCmd( ) 来开启软件触发   13 、 Volatile 定义的变量,使用该关键词来修饰,为的是不要让编译器去优化变量   14 、用 volatile 声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。 因为 ADC_ConvertedValue 这个变量值随时都是会被 DMA 控制器改变的,所以我们用 volatile 来修饰它,确保每次读取到的都是实时的 ADC 转换值。   15 、 ADC 通用的电压计算公式:实际电压值 =ADC 转换值 *LSB
  • 热度 20
    2012-8-29 14:30
    1047 次阅读|
    0 个评论
      雷达是由发射系统、接收系统、伺服系统、信号处理系统、监控系统以及终端计算机组成的复杂电子设备,其中监控系统是雷达的神经中枢,协调各个分系统的工作。监控系统主要有两大任务,即“监测”与“控制”。监测就是采集各分系统的工作状态以及故障状态信息,并将这些信息发送至终端计算机,以达到对各分系统监测的目的;控制就是接收终端计算机发出的控制指令,解析处理后实现对各分系统的控制。有时,监控系统肩负着将信号处理系统输出的高速雷达回波数据传输至终端计算机的任务。因此监控系统与各个分系统间的通信显得尤为重要。监控系统及时、可靠地处理与各分系统间通信的任务,是实现雷达实时性的重要因素,所以监控系统必须采用一种实时性强、可靠性高的通信方式—以太网通信。本文介绍了两种以太网接口的设计方法。一种是基于NiosⅡ软核处理器并在其中植入轻量级TCP/IP协议栈的方法。该方法灵活、简单,但数据传输速率最高只能达到3~5Mbps,仅能胜任数据率要求不高的故障/状态信息以及控制指令的传输,而不能满足传输高速雷达回波数据的要求。另一种是基于硬件TCP/IP协议栈芯片W5300的方法。该方法实现的以太网接口能达到43.5Mbps的传输速率,完全能够满足传输雷达回波数据的要求。为了扩展雷达监控系统的通用性,本文设计并实现了一些常用的功能模块,如RS232串行通信接口模块、A/D采集模块以及温湿度采集模块。最终实现了即具有以太网通信能力又具有通用性的雷达监控系统,并介绍了两个具体的应用实例,经调试后,能够稳定、可靠地工作。 在线阅读及下载全文请点击: http://cdmd.cnki.com.cn/Article/CDMD-10359-2009155707.htm 本文作者由来自合肥工业大学的张军。   更多有关W5300的博文请看这里: W5300相关视频 http://blog.iwiznet.cn/?page_id=482 培训笔记之WIZnet的主要产品是什么? http://blog.iwiznet.cn/?p=390 W5300E01-ARM用户手册版本1.0(二) http://blog.iwiznet.cn/?p=86 WIZnet员工Richard培训笔记: WIZnet核心技术和产品对比 http://blog.iwiznet.cn/?p=29   也可进入我们的官方网站或博客查看更多。 如果您对WIZnet的产品或是技术感兴趣,请随时与我们联系。 可以直接留言或登录WIZnet官方网站: http://www.iwiznet.cn 公司微博是:  http://weibo.com/wiznet2012 公司博客是: http://blog.iwiznet.cn/
  • 热度 22
    2012-8-20 20:04
    1795 次阅读|
    2 个评论
      NXP公司提供一个应用文档关于A/D 转换 PCB Layout注意事项。 我感觉写得还不错,因为最近在设计A/D转换PCB时感觉Layout 对精度影响很大。 原文地址: http://www.nxp.com/documents/application_note/AN11031.pdf   我感觉有几点一定要注意: 1.隔离 2.去耦 3.信号回路