1引言
光标阅读机是一种光学标记信息卡录入设备,广泛应用于考试、人口普查、彩票投注、选举等领域。目前在国内外有多种光标阅读机,结构复杂、生产成本高等。本文介绍一种新型的基于DSP TMS32OF2812的光标阅读机系统,该系统具有结构简单、成本低廉的特点,有很强的实用价值。
2硬件结构
光标阅读机硬件一般由LED传感器、ADC、数据处理控制单元、PC机接口、馈纸控制等部分组成,目前常用的光学标记阅读机硬件结构有两种:数据处理控制单元采用工控板方式和数据处理控制单元采用DSP+FlaGA方式。这两种电路比较复杂,生产成本较高。
本文介绍的是数据处理控制单元采用基于TMS320F2812的硬件结构.TMS320F2812是美国TI公司研制的2000系列数字信号处理器,是面向电机控制、工业自动化领域的第一款具有片内Flash、工作频率高达150 MHz的32位DSP。TMS320 F2812采用经典哈佛总线结构,利用多总线在存储器、外围模块和CPU之间转换数据,这种多总线结构使其可以在一个周期内并行完成取指令、读数据和写数据,同时它采用了指令流水线技术,保证信号处理的快速性和实时性。TMS320F2812的内部存储器包括14 K的RAM和128 K×16 bit的Flash:片内集成了16通道12 bit的ADC模块、16通道PWM输出、多达56个独立的可编程GPIO、3个带有6种模式的通用目的定时器、3个可配置死区的比较器、3个单端比较单元、4个捕捉单元。同时还集成有多种串行接口[1]。
系统基本结构如图l所示,用带有内部A/D转换的。TMS320F2812作为核心,数据传输采用USB接口。该系统具有电气结构简单、成本低、采集处理速度快、数据传输快等优点。
3 数据采集
光学标记阅读机是一种光学标记信息数据采集设备,采集速度和精度是两个非常重要的方面。本系统采集模块采用TMS320F2812内部A/D模块,此模块是一个12位、具有流水线结构的模数转换器,内置双采样保持器(S/H),可多路选择16通道输入,快速转换时间运行在25 MHz或12.5 MHz。输入电压范围0 V~3 V,单次转换时间200 ns,流水线转换方式转换时间60ns,ADC模块有两个独立的排序器,可以工作在双排序器模式和级联排序模式[2].可以提供很高的采集速度。
TMS320F2812内部ADC存在增益误差和失调误差,需要进行校正,否则会影响信号精度,其转换方程可以表示为y=x×ma±b,式中ma为实际增益.b为失调误差。通过对TMS320F2812的ADC信号采集进行测量,发现ADC增益误差一般在5%以内,可以采用以下方法对其进行校正:选用ADC的任意两个通道作为参考输入通道,并分别提供给它们已知直流参考电压作为输入(两个电压不能相同),通过读取相应的结果寄存器获取转换值,利用两组输入输出值求得ADC模块的校正增益和校正失调,然后利用这两个值对其他通道的转换数据进行补偿,从而提高ADC模块转换的准确度。具体计算过程如下:
① 获取已知输入参考电压信号的转换值yL和yH。
② 利用方程y=x×ma+b及已知的参考值(xL,yL)和(xH,yH)计算实际增益及失调误差:实际增益ma=(yH-yL)/(xH-XL);失调误差b=yL-xL×ma。
③ 定义输入x=y×CalGain-CalOffset,则由方程y=x×ma+b得校正增益CalGain=1/ma=(xH-xL)/(yH-yL),校正失调CalOffset=b/ma=yL/ma-xl。
④ 将所求的校正增益及校正失调应用于其他测量通道,对ADC转换结果进行校正。
TMS320F2812 ADC转换模块通道间的增益及失调误差均在0.2%以内.所以可以采用上述方法对其进行校正[3]。实验结果表明校正后ADC的误差被控制在0.5%以内,大大提高了采集精度。
本系统设计信号输入为40路,DSP本身的ADC输入通道是16路,所以要外接多路转换器进行扩展。在电路设计中,采用5条DSP ADC输入通道ADCINAO~ADCINA4,每一通道挂接一片8路输入1路输出多路模拟转换器4051。扩展为40路模拟信号输入。图2是TMS320F2812的ADC与信号之间的接口。
4数据通讯
光标阅读机是一种快速设备,一秒钟可识别几张信息卡,与PC之间需要进行快速数据传输,本系统采用USB通讯方式,采用一款性价比很高的USB器件PDIUSBDl2,它通常用在微控制器系统中实现与微控制器之间的高速通信,完全符合USBl.1规范。PDIUSBD12与TMS320F2812都工作在3 V电压下,它们之间通过并口连接,给PDIUSBD12分配一个片选,TMS320F2812可以通过读写地址对其进行操作,PDIUSBDl2的并口接口速率是2 MHz.相对于TMS320F2812来说属于低速设备,需要在软件中进行设置,插入等待周期。图3是TMS320F2812与PDILISBI)12的硬件连接图。
5 电机驱动
本系统电机驱动部分采用1298双路驱动器,可以驱动两个电机,为了提高其驱动能力,采用双路结合的办法驱动一个电机。电机驱动部分与DSP之间不能直接进行电气连接,否则电机运转时会严重干扰DSP,它们之间需要用光电耦合器进行隔离。图4是TMS320F2812与电机驱动之间的接口连接图。
6固件设计
系统固件设计主要由初始化程序、USB固件程序、A/D采集控制、数据采集处理以及电机控制部分组成。
初始化程序主要对片上资源进行配置,如CLOCK、ADC、EVI/O、Flash等的配置;USB固件程序主要由硬件提取层、PDIUSBDl2命令接口、中断服务程序、标准请求处理程序、厂商请求处理程序等部分组成,主要实现USB协议处理与数据传输;A/D采集控制程序处理信号的采集速度、精度、结果等:数据采集处理程序对采集到的数据进行识别等处理;电机控制程序控制电机驱动和馈纸等。
7结束语
本系统完成后可实现以下功能:40路高速数据采集;USBl.1接口;多个信息卡可连续采集等,具有良好的应用前景。