基于TMS320F206 DSP的图像采集卡设计
发布时间:2010-7-30 13:41
发布者:lavida
数字信号处理器(DSP)是数字信号处理理论与超大规模集成电路(VLSI)技术融合的结晶。目前DSP技术正广泛地应用于通信、语音、图像、航天航空、仪器仪表等领域,在推动当代信息处理数字化方面正发挥着越来越大的作用。 在利用电话线传输视频图像这一低比特率多媒体通信领域中,如果选用图像处理的专用芯片,如SAA7110、8×8 3104VCP以及LSI公司的专用芯片等,或者选用具有高速运算性能的高档DSP进行图像处理,都会使产生价格大幅度标升。本文介绍的采用TI公司的低档DSP芯片TMS320F206和视频A/D芯片TLC5510的图像采集卡,则为低比特率多媒体通信提供了一个廉价的解决方案。 1 TLC5510芯片和TMS320F206芯片简介 1.1 TLC5510简介 TLC5510是CMOS、8位、20MSPS模拟/数字器(ADC),它利用了半闪速(semiflash architecture)结构。TLC5510用单5V电源供电,只消耗100mW的功率。它还有内部采样的保持电路,高阻的并行输出以及内部基准电阻。 与闪速转换器(flash converter)相比,半闪速结构减少了功率损耗和芯片尺寸。通过2步过程(2-step-process)中实现转换,可大大减少比较器的数目。转换数据的等待时间为2.5个时钟周期。 无需外部基准电压源和精密电阻,仅使用内部基准电阻和VDDA就可实现2V的满量程转换范围。25℃时的线性度误差为±0.75LSB,在整个温度范围内的线性误差最大值是±1LSB。25℃时的差分线性度误差为±0.5LSB,在整个温度范围内的差分线性度误差最大值是±0.75LSB。 ![]() 1.2 TMS320F206简介 TMS320F206是TI公司推出的一种DSP芯片,它是基于TMS320C5x之上的高速定点数字处理芯片,具有改进的哈佛结构(并行分离的程序和数据总线)、高性能CPU及高效的指令集等特点。其主要特性如下: CPU具有32位CALU、32位累加器、16×16位并行乘法器、三个移位寄存器、八个16位辅助寄存器。 存储器个有224K字可寻址存储空间、544字片内DRAM、4K字片内SRA或32K字节内快闪存储器。 指令速度为50ns、35ns及25ns单指令周期。 外围电路有软件可编程定时器、软件可编程等待状态发生器、片内锁相环时钟发生器、同步和异步系列串口。 2 硬件接口电路设计 2.1 TLC5510前端电路设计 TLC5510前端电路如图1所示。 在电路中,模拟电源VDDA和数字电源VDDD相互独立。VDDA与数字地AGND之间及VDDD与模拟地DGND之间都用4.7μF电容、0.1μF电容和铁氧磁环去耦和消除电源的纹波。AGND与DGND分开,以避免数字信号给模拟信号带来噪声。放大后的视频信号直接加在TLC5510的19脚。TLC5510的时钟信号由TMS320F206的时钟信号输出脚CLKOUT1提供。 2.2 TLC5510与TMS320F206接口电路设计 TLC5510与TMS320F206接口电路图如图2所示。 ![]() TLC5510数字地与TMS320F206的地相连。因TLC5510内部有数字输出缓冲,所以TLC5510的脚[D1:D8]gn TMS320F206脚[D0:D7]直接相连。TMS320F206的CLKOUTI脚通过一小电阻给TLC5510提供时钟信号。TMS320F206管脚A11和IS为逻辑控制,当A11为逻辑高,IS为逻辑低时,TMS320F206就可从TLC5510读取采样数据。 2.3 TMS320F206与计算机串口通信 存入TMS320F206的图像数据通过串口以9600 b/s的速率送入计算机,计算机将数据存到缓存区,然后通过像素点与图像转换程序在显示器上显示出来。 3 接口程序设计 3.1 程序常量的初始化 (1)设采样数据存储区的起始地睛为0900h (2)设采样数为1000h (3)设A/D地址为0800h 3.2 程序步骤 (1)初始化TMS320F206 (2)加载合适的ARn (3)选通TLC5510 (4)读取A/D转换值 (5)初始化UART (6)向UART传数 (7)程序结束 3.3 具体程序 .title "TLC5510 Interface" .copy "init.h" .copy "vector.h" .text ADC_Addr .set 0800h ;设置TLC5510的地址 Mem_pointer .set 0900h ;设置采样数据存储区的起始地址 Count .set 1000h ;设置采样个数 start: lar ar2,#ADC_Addr lar ar3,#Mem_pointer lar ar4,#Count * 开始A/D转换 ldp #6h ;设置页面指针使其指向50h×6=0300h处 splk #Count,0h ;把采样个数放入0300h lar ar4,#0300h ;使AR4指向0300h mar *,ar4 ;把AR4设为当前寄存器 rpt *,ar3 ;设置RPTC寄存器后,把AR3设为当前寄存器 in *+,ADC_Addr,ar4 ;读入并存储A/D转换结果 * 通过UART向计算机传输数据 * 初始UART口 clrc CNF ;把B0块映射为数据空间 ldp #0h ;设置叶面指针使其指向0h处 setc INTM ;禁止所有中断 splk #0fffh,ifr ;清中断 splk #0000h,60h out 60h,wsgr ;设置零等待 splk #0c180h,61h ;把UART口复位 out 61h,aspcr ;允许I/O中断 splk #0e180h,61h out 61h,aspcr ;打开I/O断口 splk #4fffh,62h out 62h,iosr ;禁止自动波特率 splk #00082h,63h out 63h,brd ;设置波特率为9600 splk #20h,imr ;允许UART中断 lar ar3,#0900h ;恢复AR3 lar ar4,#(Count-1) ;恢复AR4 mar *,ar3 ;设置AR3为当前寄存器 clrc intm ;打开中断 uart1:setc xf ;把xf置1,开始传数 mar *,ar3 ;把AR3设为当前寄存器 out *+,adtr ;传出数据后,把AR3加1 wait: clrc xf ;关闭xf,停止传数 mar *,ar2 ;把AR3设为当前寄存器 in *,0fff6h ;读放IOSR寄存器的状态 bit *,4 ;检测第12位是否为0 bcnd cont,tc ;如果为0,等待直到IOSR的第12位为1 b wait skip: splk #0020h,ifr ;清中断 clrc intm mar *,ar4 ;传输个数减1 banz uart1,ar3 ;未传完,则跳到UART1, 传下一个数 ret ;返回 inpt 1:ret inpt23:ret timer:ret uart:ret codtx:ret codrx:ret .end 我们将TLC5510与TMS320F206的接口设计用于煤矿井下远程多媒体低比特率通信监控系统中,已取得初步进展,这一应用可以为TMS320F206用于图像处理提供一种思路,从而为低比特率多媒体通信开辟一条廉价的途径。 |
网友评论