DSP图像处理系统与PC机高速通信电路设计

2014-11-20 08:19孙向文
电视技术 2014年7期
关键词:双口存储单元PC机

王 勇,孙向文,杨 雷

(河南科技大学a.电气工程学院;b.信息工程学院,河南洛阳471023)

某图像信息处理板(简称图像板),主要用于图像数据的转换与输出,并根据图像格式提取目标的个数、大小、坐标、边界、运行轨迹等信息,进而将这些信息上传给PC机进行记录和分析。图像板以DSP为核心进行设计,每隔1 ms处理一次信息并生成大小为200个字(16 bit)的一组数据。要将上述处理结果上传给PC机,并考虑数据间隙,通信比特率必须大于3.2 Mbit/s。

PC机常用的高速通信接口有网口和USB口,采用这两种方式与DSP通信时,硬件上需要额外的接口电路,软件上需要编写接口电路的固件程序、驱动程序,上位PC机识别端口时需要调用相应的Windows API函数,对开发人员技术能力要求较高,开发周期相对较长[1]。而高性能的双口RAM无论是在并行处理网络中的数据共享,还是在流水线方式的高速数据传输方面,均能发挥重要作用。以双口RAM为核心设计接口电路,并与高速数据采集卡配合,构成高速数据传输介质,可以实现DSP图像处理系统与上位PC机之间的高速通信,且方法通用易行,可靠性高[2-3]。

1 系统组成及工作原理

基于双口RAM的DSP与上位PC机高速通信系统由4部分够成:DSP系统、接口电路、高速PCI数据采集卡以及上位PC机,具体结构如图1所示。接口电路以双口RAM、高速单片机为核心进行设计,用于识别和控制通信起始、数据暂存和电平转换;高速数据采集卡选用通用型PCI高速数字量卡,用于将接收到的并行数据转换成通用PCI通信方式,便于上位PC机软件接收。其中,为缩短线长,保证通信可靠性,可以将DSP系统与接口电路放在同一块电路板上。

图1 系统组成框图

2 基于双口RAM的接口电路设计

接口电路的功能主要有以下3点:1)由于DSP为+3.3 V供电,所选数据采集卡额定的数字高电平为+5 V,因此接口电路需要实现+3.3 V到+5 V的电平转换。2)图像板每次处理完数据后以中断方式通知上位机开始上传数据,因此接口电路需要准确识别图像板发出的中断信号,以便控制通信的起始。3)上位PC机软件运行于操作系统之上,其语句延时精度不高,通过编程让上位PC机软件直接控制地址线、数据线端口读取DSP存储单元的方式,效率低,涉及方法复杂。而接口电路可以将图像板上传的数据进行整体暂存,然后上位PC机通过操控PCI数据采集卡,以固定的方式高效读取数据。

2.1 接口电路硬件设计

接口电路的硬件构成如图1所示。双口RAM用于实现DSP与后续高速单片机的数据共享,设计中选用IDT公司的IDT70T633芯片,其左口与DSP连接,右口与单片机连接。高速单片机用于控制双口RAM识别通信起始、读取数据,并以并行方式转发给后续的PCI数据采集卡,设计中选用Silicon Laboratories公司的C8051F120,该单片机执行速度最高可达100 MInstruction/s(兆指令/秒),有64个通用I/O口,能够很好满足设计需要,其端口分配如表1所示。电平转换芯片用于将+3.3 V的DSP数据转换成+5 V的标准TTL电平,设计中选用16位总线驱动器SN74ALVC164245。

表1 设计中C8051F120单片机的端口分配

2.2 双口RAM工作方式

接口电路设计的核心在于对双口RAM芯片IDT70T633的有效控制。双口RAM除了数据存储功能外,还提供2套完全独立的端口,每套端口分别有自己的控制线、地址线和数据线,允许双端口同时读写数据。IDT70T633是一款高速512 k×18位的双口RAM,存储空间同样为左、右两套端口所共用,带片内总线仲裁电路,适用于两控制器之间大量数据的快速双向传递。当IDT70T633的两套端口同时对同一存储单元进行读写时,会导致数据破坏或丢失。为了防止这种情况发生,IDT70T633有2种仲裁方式。1)使用BUSY控制线:当左右端口对同一存储单元操作时,先发出请求信号的一端对应的BUSY线为高,允许读写,另一端口的BUSY线为低,处于等待状态,禁止读写。插入等待状态会降低数据传输速率,对于高速通信通常是不可接受的。2)中断方式:IDT70T633左右两端各有一条中断信号线,7FFFEH和7FFFFH存储单元为中断响应单元。当左方对7FFFFH存储单元写入数据时,右方产生中断信号(INTR置低);右方从7FFFFH存储单元读取数据时,右方的中断信号被撤除(INTR置高)。当右方对7FFFEH存储单元写入数据时,左方产生中断信号(INTL置低);左方从7FFFEH存储单元读取数据时,左方的中断信号被撤除(INTL置高)。可见,可以通过中断响应单元的读写操作来实现双口RAM两侧电路单元的实时高速通信[4-5]。

2.3 接口电路软件设计

设计中,采用双口RAM的中断仲裁方式,不仅能有效避免左端DSP与右端单片机对同一RAM地址的争用问题,而且可以实现二者之间的高速通信[6]。具体通信过程如下:DSP处理完图像信息后,将生成的数据从左口存入双口RAM,并将最后一个字节数据存入7FFFFH存储单元,从而在双口RAM的右口产生中断信号,通知单片机已写入数据;高速单片机检测到中断信号后,启动中断程序,从约定地址读取数据,经电平变换后上传给上位PC机,读取到7FFFFH存储单元后,清除右侧中断信号,此次通信结束。因为数据的写入与读出均采用并行方式,通信速度完全由DSP和高速单片机的指令执行速度决定,具体软件流程如图2所示。

3 高速PCI数据采集卡的应用

高速PCI数据采集卡选用国产阿尔泰PCI2510高速数字量输入输出卡。PCI总线是一种连接电子计算机主板和外部设备的总线标准,带宽为132~264 Mbit/s,具有兼容性好、自动配置、扩展性好、中断共享等特点。阿尔泰PCI2510卡可直接插在IBM-PC/AT或与之兼容的计算机内的任一PCI插槽中,具有32个与TTL兼容的高速通道和16 byte的板载FIFO存储器,DMA传输模式,最大传输速率可达120 Mbit/s。该卡可通过普通模式或握手模式接收外部数据输入,设计中选用普通模式。在该模式下,PCI2510能随启动信号(start signal)开始从外部设备传输数据到板卡,也能随停止信号(stop signal)停止数据的输入。当启动信号到来时,PCI2510将在下一时钟周期(见图3中A点处)开始接收外部数据,当停止信号到来时,PCI2510将在下一时钟周期(见图3中B点处)停止接收外部数据,控制时序如图3所示。上位PC机操作软件界面采用NI公司的Labwindows/CVI开发平台进行设计,具体程序代码这里不再赘述。

图2 接口电路程序流程

图3 PCI2510卡控制时序(截图)

4 结论

基于双口RAM,配合单片机、电平转换驱动器以及PCI数据采集卡,设计的DSP图像处理系统与上位PC机高速通信电路,已经在某光电信息处理平台和相应的测试设备中得到应用,完全能够达到每1 ms传输200个字的通信速度要求,并且运行稳定。这种设计方案具有通用性,可以为单片机、ARM或FPGA等嵌入式系统与上位PC机之间的高速数据传输提供借鉴。

[1]冷佳鹏,刘文怡.基于USB总线的多通道数据采集系统设计[J].电子技术应用,2012,38(12):11-16.

[2] LIBo,LIUQingjian,QIAO Zhifeng,et al.An interface design of communication between PC104 and DSP based on dual-port RAM[J].Applied Mechanics and Materials,2012,141(1):198-202.

[3]章筱静,陈明,瞿赟.双口RAM在航空发动机参数采集系统中的应用[J].计算机测量与控制,2007,15(9):1250-1252.

[4] DAVE B .Dual-port RAM delivers18 Mbits And 72-bitwide ports[J].Electronic Design,2003,51(19):34.

[5] ZHOU Rigui,HU Jingchun,YE Shuisheng,etal.Application of fixedpoint DSPand 16-bit parallel output A/D and dual-port RAM[J].International Symposium on Test and Measurement,2003(1):573-576.

[6] CHEN Zhanlun,OUYANG Sen,SHIYili.Design of a power qualitymonitoring device based on dual-CPU[C]//Proc.2012 International Conference on Control Engineering and Communication Technology,2012.[S.l.]:IEEE Press,2012:192-196.

猜你喜欢
双口存储单元PC机
一种28 nm工艺下抗单粒子翻转SRAM的12T存储单元设计
一种新型密集堆垛式仓储系统设计
双口RAM在航天伺服系统中的应用
浮点类型有效位数计算与应用分析
数据在计算机内存中的存储形式及实验验证
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
Matching mechanism analysis on an adaptive cycle engine
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
双口RAM读写正确性自动测试的有限状态机控制器设计方法