用FIFO实现DSP间的双向并行异步通讯
内容摘要:介绍了利用CYPRESS公司的FIFO芯片CY7C419实现DSPDSP
dsp是digital signal processor的简称,即数字信号处理器。它是用来完成实时信号处理的硬件平台,能够接受模拟信号将其转换成二进制的数字信号,并能进行一定形式的编辑,还具有可编程性。由于强大的数据处理能力和快捷的运行速度,dsp在信息科学领域发挥着越来越大的作用。 [全文]
间双向并行异步通讯的方法,该方法简洁有用,速度快,非凡适用于小数据量的数据相互传送。文中给出了CY7C419的引脚功能以及用FIFO实现DSP间双向并行异步通讯的硬件结构和软件流程。 在多微处理器微处理器
微处理器也称为中心处理器,是电子计算机的主要设备之一。其功能主要是解释计算机指令以及处理计算机软件中的数据。所谓的计算机的可编程性主要是指对微处理器的编程。微处理器是计算机中的核心配件,只有火柴盒那么大,几十张纸那么厚,但它却是一台计算机的运算核心和操纵核心。计算机中所有操作都由微处理器负责读取指令,对指令译码并执行指令的核心部件。微处理器、内部存储器和输入/输出设备是电子计算机的三大核心部件。 [全文]
的分布式信号处理系统中,往往涉及微处理器间的通讯与数据交换,大数据量的数据传输一般采纳DMA方式,而小数据量的数据交换采纳并行接口则比较快速灵活。因此,对于传输速度要求较高的DSP间的小数据量的数据交换及通讯来说,要提高DSP的工作效率,不仅要求并行接口的响应快,而且必须采纳异步方式以免相互等待。本文介绍了采纳CYPRESS公司的FIFO芯片CY7C419来实现DSP间的双向并行异步通讯接口。该方法不仅比用TTL锁存器的方式速度快,而且译码逻辑简洁,另外,由于FIFO芯片有一定的深度(256个),因此,在少于256个数据传输时,可实现零等待时间。1 FIFO芯片简介
全满(FF)和全空(EF)标志用以防止数据溢出或不足;
扩展输入(XI)、扩展输出(X0)、首次装载(FL):用以实现无限的宽度及深度扩展,深度扩展技术可使操纵操纵信号从一个元件并行传至另一个元件,因而消除了传输延迟的串行附加,其最高读、写速度可达50MHz,读写信号低电平有效;
当CY7C419独立使用或多片实现宽度扩展结构时,半空标志(HF)输出有效,在深度扩展结构中,该此脚输出扩展输出信息(XO)并告知下一个FIFO;
D0~D8为数据输入,Q0~Q8为数据输出。
R、W及MR分别为读、写及复位信号的输入端,它们均为低电平有效。
2 硬件结构与通讯流程
2.1 硬件结构
利用FIFO实现DSP间双向并行异步通讯的结构原理如图2所示。DSP56001和ADSP21020分别树熊美国Motorola和ADI公司的DSP芯片。两个CY7C419芯片U1、U2分别用于DSP56001和ADSP21020间双向并行接口的一个方向,其中U1用于完成DSP56001向ADSP21020的数据传送,U2则用于完成ADSP21020向DSP56001的数据传送。U1的全满标志(FF)与U2的全空标志(EF)通过缓冲器缓冲器
缓冲器是种保持加、卸试验力平稳,或减缓试样断裂时冲击的装置。它可以弥补不同数据处理速率速度差距,也可以起到缓冲避震作用,及起到实现数据传送同步的作用等。它涉及的领域非常广泛,有电信设备、数控处理、生化科技、系统安全等。它在不同的领域有着不同的名称,其中常见的有寄存缓冲器、汽车弹簧缓冲器(缓冲胶)、电梯缓冲器等。它分常用缓冲器(常说缓冲器)和三态缓冲器。 [全文]
74LS245与DSP56001的数据总线
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们经常以MHz表示的速度来描述总线频率。 [全文]
相连,该缓冲器被映射为DSP56001数据区的一个地址单元(0x600),因此,DSP56001通过对该地址单元的读操作便可获知U1是否已写满以及U2是否有数所要读。同理,U2的全志(FF)与U1的全空标志(EF)通过一缓冲器74LS245连于ADSP21020的数据总线,该片74LS245补映射为ADSP21020数据区的一个地址单元(身份地址+0x100000),这样ADSP21020通过对该地址单元的读操作也可获知U2是否已写满以及U1是否有数据要读。另外,DSP56001对U1的写操作、对U2的读操作映射为对其数据存储区一个地址单元(0x200)的写、读操作;而ADSP21020对U2的写操作和对U1的读操作则被映射为对其数据存储区地址单元(身份地址+0x180000)的写、读操作。两个DSP芯睡均可同时对U1、U2进行复位操作。DSP56001对双向口的读56FIFOR、写56FIFOW、复位56FIFORST及对标志口状态56FLGR的读信号可由DSP56001的地址线与读写信号译码获得;ADSP21020对双向口的读21FIFOR、写21FIFOW、复位56FIFORST及对标志口状态56FLGR的读信号则可由ADSP21020的地址线与读写信号译码获得。各译码输出的逻辑表达式如下:
56FIFOR=AdEn+Ma10+Ma9+MRD
(映射地址为:0x200)
56FIFOW=AdEn+Ma10+Ma9+MWR
(映射地址为:0x200)
56FIFOORST=AdEn+Ma10+Ma9+MWR
(映射地址为:0x400)
56FLGR=AdEn+Ma10+Ma9+MRD
(映射地址为:0x600)
AdEn=DS+Ma15+Ma14+Ma13+Ma12+Ma11
21FIFOR=IDMAT+A21+A20+A19+RD
(映射地址为:身份地址+0x180000)
21FIFOW=IDMAT+A21+A20+A19+WR
(映射地址为:身份地址+0x180000)
FIFORST=(IDMAT+A21+A20+A19+WR)56FIFORST
(映射地址为:身份地址+0x200000)
21FLGR=IDMAT+A21+A20+A19+RD
(映射地址为:身份地址+0x100000)
为区分两个DSP的读、写信号,在逻辑表达式中用MRD和MWR分别表示DSP56001的读、写信号RD和WR。ADSP21020作为主芯片同时与多个DSP56001(图2仅画出其中一个)相连,因此每一个DSP56001均有一个不同的身份地址,表示该身份地址的地址线(A25~A22)的译码结果为IDNAT。为简化硬件电路,译码逻辑均采纳PAL器件实现。
2.2 软件流程
图3所示为DSP56001对并口进行读、写数据的软件流程。ADSP21020向DSP56001传送数据及从并行口读取由DSP56001传送过来的数据步骤与上述流程相同。对DSP56001和ADSP21020来说,并行接口均为异步双向口。当DSP56001要向ADSP21020传送数据时,首先读状态标志口(口地址0x600),若标志第0位为0(全满),则重复读状态标志口,直至标志第0位为1(数据未满,已被ADSP21020全部或部分读出)时,DSP56001才向接口(地址0x200)写入数据;当DSP56001要读取由ADSP21020传送过来的数据时,首先读状态标志口(口地址0x600),若标志第1位为0(全空),则重复读状态口,直至标志第1位为1时(不空,已邮ADSP21020写入数据),DSP56001读接口(地址0x200)即可获得所需数据。
该方法已成功应用于一台自动研制的基于DSP的实时模拟及被频信号采集与处理系统。实际运行结果表明,该方法不仅速度较高,而且译码逻辑也十分简洁。
来源:zhouxiao
该文章来至网络或用户,仅供学习交流之用,版权归原作者所有。
如有侵权,请及时与我们联系!
基于STD总线的多路数字I/O设计
在工业操纵领域,数字I/O以其简洁、灵活的特性,得到了广泛的应用。以往对于数字I/O的应用和数量增加的方法通常用GAL和专用I/O芯片采纳译码扩展等方式来实现,这种方式...
基于51单片机构成的工业操纵系统
摘要:本文介绍了一种基于51单片机构成的工业采集操纵系统,此系统满足一般过程操纵及数据采集等操纵系统的需妻,可作为下位机并与labview或VB等编程系统组成的上位机通过R...
多路数据采集系统中FIFo的设计
摘 要:首先介绍了多路数据采集系统的总体设计、FIFO芯片IDT7202。然后分别分析了FIFO与CPLD、AD接口的设计方法。由16位模数转换芯片AD976完成模拟量至位数字量的转换,由A...
基于单片机的微波辐射计数控单元设计与实现
微波辐射计是用微波进行遥感,从而对地物进行探测的微波接收机,在探测大气、海洋、植被和土壤等方面有广泛应用,而数据处理与操纵单元作为微波辐射计的重要组成部分,承担...
基于AVR单片机的中频电源测试系统
摘要:本文介绍一种基于 AVR单片机采纳交流采样、数字滤波等技术,实现对中频电源的电力参数测试和实时监控,具有较好的精确度和稳定性,本文具体介绍了该系统的硬件结构和...