当前位置:技术文章首页 >> 工程设计 >> DSP设计 >> 用FIFO实现DSP间的双向并行异步通讯
用FIFO实现DSP间的双向并行异步通讯
2006-08-01 18:31:23  作者:佚名   浏览次数:503  文字大小:【】【】【
点击相关图标,收藏本文到网摘:
用FIFO实现D 间的双向并行异步通讯
2006.05.07 青岛海洋大学 王旭柱 王汝霖 陈 锐 来自:国外电子元器件

  摘要:介绍了利用CYPRE 公司的FIFO芯片CY7C419实现D 间双向并行异步通讯的方法,该方法简单实用,速度快,特别适用于小数据量的数据相互传送。文中给出了CY7C419的引脚功能以及用FIFO实现D 间双向并行异步通讯的硬件结构和软件流程。

  关键词:FIFO 并行接口 D 异步通讯 CY7C419

在多CPU的分布式信号处理系统中,往往涉及CPU间的通讯与数据交换,大数据量的数据传输一般采用DMA方式,而小数据量的数据交换采用并行接口则比较快速灵活。因此,对于传输速度要求较高的D 间的小数据量的数据交换及通讯来说,要提高D 的工作效率,不仅要求并行接口的响应快,而且必须采用异步方式以免相互等待。本文介绍了采用CYPRE 公司的FIFO芯片CY7C419来实现D 间的双向并行异步通讯接口。该方法不仅比用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实现D 间双向并行异步通讯的结构原理如图2所示。D 56001和AD 21020分别树熊美国Motorola和ADI公司的D 芯片。两个CY7C419芯片U1、U2分别用于D 56001和AD 21020间双向并行接口的一个方向,其中U1用于完成D 56001向AD 21020的数据传送,U2则用于完成AD 21020向D 56001的数据传送。U1的全满标志(FF)与U2的全空标志(EF)通过缓冲器74LS245与D 56001的数据总线相连,该缓冲器被映射为D 56001数据区的一个地址单元(0x600),因此,D 56001通过对该地址单元的读操作便可获知U1是否已写满以及U2是否有数所要读。同理,U2的全志(FF)与U1的全空标志(EF)通过一缓冲器74LS245连于AD 21020的数据总线,该片74LS245补映射为AD 21020数据区的一个地址单元(身份地址+0x100000),这样AD 21020通过对该地址单元的读操作也可获知U2是否已写满以及U1是否有数据要读。另外,D 56001对U1的写操作、对U2的读操作映射为对其数据存储区一个地址单元(0x200)的写、读操作;而AD 21020对U2的写操作和对U1的读操作则被映射为对其数据存储区地址单元(身份地址+0x180000)的写、读操作。两个D 芯睡均可同时对U1、U2进行复位操作。

D 56001对双向口的读56FIFOR、写56FIFOW、复位56FIFORST及对标志口状态56FLGR的读信号可由D 56001的地址线与读写信号译码获得;AD 21020对双向口的读21FIFOR、写21FIFOW、复位56FIFORST及对标志口状态56FLGR的读信号则可由AD 21020的地址线与读写信号译码获得。各译码输出的逻辑表达式如下:

  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)

为区分两个D 的读、写信号,在逻辑表达式中用MRD和MWR分别表示D 56001的读、写信号RD和WR。AD 21020作为主芯片同时与多个D 56001(图2仅画出其中一个)相连,因此每一个D 56001均有一个不同的身份地址,表示该身份地址的地址线(A25~A22)的译码结果为IDNAT。为简化硬件电路,译码逻辑均采用PAL器件实现。

2.2 软件流程

图3所示为D 56001对并口进行读、写数据的软件流程。AD 21020向D 56001传送数据及从并行口读取由D 56001传送过来的数据步骤与上述流程相同。对D 56001和AD 21020来说,并行接口均为异步双向口。当D 56001要向AD 21020传送数据时,首先读状态标志口(口地址0x600),若标志第0位为0(全满),则重复读状态标志口,直至标志第0位为1(数据未满,已被AD 21020全部或部分读出)时,D 56001才向接口(地址0x200)写入数据;当D 56001要读取由AD 21020传送过来的数据时,首先读状态标志口(口地址0x600),若标志第1位为0(全空),则重复读状态口,直至标志第1位为1时(不空,已邮AD 21020写入数据),D 56001读接口(地址0x200)即可获得所需数据。

该方法已成功应用于一台自动研制的基于D 的实时模拟及被频信号采集与处理系统。实际运行结果表明,该方法不仅速度较高,而且译码逻辑也十分简单。

0

顶一下

0

踩一下
合作网站  

  独乐乐不如众乐乐!

  好东西要与好朋友分享!

  你有一个苹果我有一个苹果,互相交换,我们每人只有一个苹果;你有一种思想,我有一种思想,互相交换,我们每人有两种思想。

友情链接 | 诚聘英才 | 关于我们 | 版权声明 | 联系我们 | 网站公告 | 广告服务 | 商机无限 | 更新记录

  •  ©2006-2008  电子爱好者   Email:kingtuotech@gmail.com  
    敬告网友:本站资料部分收藏于网络,如有侵犯您的权益,请来信告知!
  • 湘ICP备07008885号    电子爱好者主要推广电子技术与电子工程设计。