基于TMS320F206 DSP的图像采集卡设计
数字信号处理器(DSP)是数字信号处理理论与超大规模集成电路(VLSI)技术融合的结晶。目前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用于图像处理提供一种思路,从而为低比特率多媒体通信开辟一条廉价的途径。
|