基于DSP芯片和视频A/D芯片实现图像采集卡的方案设计

处理器/DSP

870人已加入

描述

数字信号处理器(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用于图像处理提供一种思路,从而为低比特率多媒体通信开辟一条廉价的途径。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分