基于FPGA和DSP的1394b双向数据传输系统

时间:2012-05-02来源:网络

a.JPG


由于PCI9054内部可编程FIFO存储器的存在,数据可以大批量突发传输而不丢失,这样不仪满足实时性要求,同时可以根据用户的需要采用与PCI时钟异步的本地端时钟,PCI9054本地总线工作在C模式时,通过芯片内逻辑控制,将PCI的数据线和地址线分开,很方便地为本地端总线工作时序提供各种方式。图2所示为PCI9054在C模式下与FPGA相连的本地总线数据突发DMA传输方式的时序图,其中,LCCLK为输入时钟信号,从图2中可以看出,在本地端总线上读写数据时,可以不间断地进行突发传输,当数据不能连续传输时,则可以插入等待状态,这样可以大大提高数据的吞吐量。

b.JPG



3 1394b数据传输系统的数据流向
由于1394b总线标准支持等时子事务和异步子事务两类子事务,因此,其传输的数据类型分为等时数据和异步数据,等时传输将数量不定的数据按照规定的时间间隔向某个地址发送,对实时性要求较高,不需要返回确认信号;而异步传输是将数据传送到特定的地址,对数据传输的准确性要求较高,需要接收端以多次握手的方式发送返回确认信号。在本系统中由DVD播放器发送的数据经图像压缩板压缩后由SPI口传入FPGA,或者由摄像头发送的数据经过A/D转换,再由FPGA的通用I/O口送入FPGA,两者均为等时数据;而一些控制命令等异步数据则由串口送入FPGA,并经过DSP进行处理,DSP和FPGA相结合可以提高数据传输的效率。FPGA实现数据的串并转换以及数据的拼接并对数据打包成符合1394b协议的数据包类型以及配置数据包的包头信息,经过读/写FIFO并在外部的SRAM进行缓存,通过DMA仲裁模块进行仲裁处理,用DMA这一快速数据传输机制将数据写入PCI9054的FIFO中。PCI9054作为一种桥接芯片,在本地总线和PCI总线之间提供信息传递,通过PCI9054芯片将本地端数据总线标准转换成能被1394b链路层芯片传输的PCI总线数据标准,再通过1394b的链路层芯片实现对等时和异步数据包的地址和信道号的解码、数据校验、数据分析等,最后由物理层芯片通过仲裁逻辑实现对总线的存取,并对本地节点要发送的数据进行编码,由物理层芯片提供的电气和机械接口将数据位发送到与之相连的1394b线缆上去,最终送入接有1394b板卡的主机进行DVD发送的数据解压缩和播放,以便对摄像头发送的视频进行播放以及异步数据的显示等操作。读出的数据则由接有1394b板卡的主机发送,并通过1394b物理层芯片、1394b链路层芯片、FPGA、外部SRAM等进行数据处理,根据数据包类型由相应的端口送出去,在这期间与发送数据相比进行了相反的操作,这样就实现了1394b双向数据传输系统。

1 2 3 4

关键词: 1394b FPGA DSP 数据传输系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版