1回答

0收藏

DSP主从应用系统的设计

FPGA/DSP FPGA/DSP 4132 人阅读 | 1 人回复 | 2011-05-10

DSP具有很强的数据处理功能,但其控制管理功能较弱,在许多应用场合需要采用多个处理器才能满足要求。在通常情况下,一枚DSP与一枚MCU构成的主从 系统是比较理想的组合。这种组合可以充分发挥DSP和MCU的优势。在DSP和MCU构成的主从系统中,一般把MCU作为主机,DSP作为从机。设计主从 系统中的关键是设计主从机之间的通讯。主从机之间的通讯有四种方式:
         (1)串行通信。这种方式是多利用处理器本身提供的串行口实现双机通信,这种方式相对来说比较简单,根据采用的通讯协议的不同,串行通讯的通讯速度有很大 的不同,采用DSP自己固有的串口通讯协议,其实际通讯速度并不亚于并行通讯的速度。但采用其它通讯协议时,通讯速度很慢,适合于双机通信量较小的应用场 合。
        (2)并行通信。这种方式是利用处理器的I/O功能,在MPU和DSP之间增加缓冲器或锁存器实现双机通信。这种方式与串行通信方式相比,效率稍高些。
         (3)共享存储器方式。这种方式还可以分为两种,一种是主机和从机不能同时访问共享存储器(DMA方式);另一种是主机和从机可以同时访问共享存储器(当 然不能同时访问同一个单元)。前一种共享存储器方式通常是利用DSP提供的DMA功能,而后者则是采用双端口存储器来实现。
        (4)主机接口方式。这是’54X所具有的一种专门并行通讯方式,其具体内容在前面有关章节已作过介绍,在此不再赘述。
        下面分别介绍前三种主从系统中常用的通讯方式。

11.6.1  主从系统中的串行通讯接口
         在DSP的主从应用系统中,如果希望采用串行通讯接口,则应尽可能地选用DSP本身固有的通讯协议,也就是要选用有与DSP的串口兼容的微处理器 (MCU)作为主机,这样可以取得很高的通讯速度,最高数据吞吐量可高达50Mbit/s,且其通信接口十分简单,读者可以参考第九章的内容。由于DSP 本身就是作为信号处理用,自然就希望有很高的数据通讯量,一般说来,在DSP的主从应用系统中,主从机之间也会有较大的数据通讯量,只有很少的情况下,需 要不大的数据通讯量。如果能选用与DSP的串口兼容的MCU作为主机,使用DSP本身固有的通讯协议,其通讯接口十分简单,读者可以参考第九章的内容,在 此不再赘述。
        如果选用不与DSP的串口兼容的MCU作为主机,如MCS51系列的微控制器,则只能采用RS-232等通讯协议,这只能适用于数据通讯量较小的场合,应用也较少。下面仅介绍利用DSP的I/O口线来实现异步通讯的接口电路。
        图11-19所示为利用’54X仅有的两根口线和 XF实现的异步通讯的接口电路。图中75188和75189是TTL电平与RS-232的逻辑电平之间的电平转换电路。75188把TTL电平转换成 RS-232的逻辑电平输出,75189把RS-232的逻辑电平转换成TTL电平输入。通过软件实现RS-232的通讯协议。


图11-19  利用’54X的口线实现的异步通讯的接口电路


11.6.2  主从系统中的并行通讯接口
        并行通讯具有较高的通讯速度,图11-20所示为’54X系列DSP与MCS51系列MCU的并行通讯接口电路。采用两片74F574锁存器用来分别锁存各自要传输的数据,两片双D触发器74F74用来产生握手信号, 主从机通讯的过程如下:



图11-20  ’54X系列DSP与MCS51系列MCU的并行通讯接口电路


        假定80C31要向’54X发送数据时,在地址线选P2.6和写信号
的作用下先把数据写入74F574(1),与此同时,双D触发器74F74(1)被置位,’54X通过检测双D触发器74F74(1)的
端得知74F574(1)中已锁存有数据,’54X从74F574(1)中(其地址映射在I/O口空间)读出数据,在读出数据的同时,读出控制信号使74F74(1)复位,通知80C31可以传输下一个字节数据。

        ’54X向80C31发送数据时与上述过程相似,在此不再赘述。


11.6.3  主从系统中的共享存储器
         主从系统中的共享存储器的并行通讯分为两种方式,一种是主机和从机不能同时访问共享存储器的DMA方式;另一种是主机和从机可以同时访问共享存储器(当然 不能同时访问同一个单元)。前一种共享存储器方式通常是利用DSP提供的DMA功能,而后者则是采用双端口存储器来实现。这两种方式都具有极高的数据吞吐 量。

         DSP本身具有DMA功能,因此,如果采用两片DSP或一片DSP与另一片具有DMA功能的MCU构成主从系统,则不需要增加任何逻辑就可实现DMA方式 的存储器共享。由于这种方式电路简单,可靠性高,具有极高的数据吞吐量,是一种值得推荐的并行通讯方式。详细情况请参考第十章,外部总线操作的有关内容。 但如果选择了不具有DMA功能的MCU构成主从系统,则电路就要复杂得多,接口电路中的关键是要对MCU的地址总线和数据总线进行隔离。所以,一般情况 下,不推荐选择不具有DMA功能的MCU构成主从系统。但在特殊情况下,也可以实现高效的DMA方式的共享存储器主从系统。如采用89C51与’54X构 成的共享存储器主从系统。见图13-12。图中的接口电路之所以简单,是由于89C51片内具有程序存储器,在’54X管理数据存储器时89C51的数据 和地址总线都处于高阻状态,就如同具有DMA功能一样,而当89C51需要操作数据存储器中的数据时,89C51就向’54X发出DMA请求,’54X在 响应DMA请求后把总线管理权交出,由89C51管理。



图13-21  ’54X与89C51构成的主从系统中以DMA方式共享存储器


         第二种共享存储器的方法是采用双口RAM。而双口RAM又有两种:一是使用普通的RAM器件与特殊设计的仲裁电路结合起来构成双端口RAM电路;二是直接 采用单片双口RAM器件。前者电路复杂,在速度上存在较大的困难,尽量不要采用。后者的接口电路简单,速度快,推荐使用。下面介绍美国 Integrated Device Technology Inc.  生产的IDT7032单片CMOS双口RAM为例,介绍单片双口存储器的共享存储器接口电路。

         IDT7032是高速2K×8双口静态RAM,速度有20ns/25ns/35ns等三档。图11-22所示为其引脚图。有图可见,它有左、右两套独立的 地址线、数据线和控制线。左、右两侧的CPU均可独立地访问存储器中的任何一个单元。在非竟争状态下访问存储器的读/写控制逻辑如表11-1所示。

        在双侧CPU同时访问存储器的同一个单元而出现竟争时,IDT7032的内部具有的仲裁电路将确定哪一侧的CPU可以访问该单元,并同时通过
信号来延缓另一侧的CPU的访问。在允许访问的一侧的CPU访问结束后,被延缓的一侧可以对该存储单元进行访问。



图11-22 IDT7032的引脚图


表11-1  IDT7032的非竟争[1]时的读/写控制逻辑


        图11-23所示为采用IDT7032的共享存储器的主从系统。MCU采用的是美国INTEL公司的80C196。该微处理器具有READY(准备好)信号端,更方便与双口RAM的接口。



图11-23  使用IDT7032的共享存储器的主从系统
分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

zqtian-257843

发表于 2012-6-3 10:32:17 | 只看该作者

回复:DSP主从应用系统的设计

learning
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条