TMS320C31和80C196双CPU构成的高速实时控制

时间:2011-01-13来源:网络

3 双口RAM IDT7130/40的中断逻辑设计

双口RAM必须采用一定的机制来协调左右两边CPU对它的读写操作。IDT公司的双口RAM系列用口断、硬件、令牌和软件这四种方式来协调双方。在TMS320C31和80C196双CPU构成的高速实时控制系统中,IDT7140采用的是中断方式。下面介绍IDT双口RAM系列的中断逻辑设计。

如图2所示,IDT双口RAM的中断逻辑实际上是由与非门组成的两个基本RS触发器所构成。在所有的IDT双口RAM芯片中,内存的最高两个单元被用作为左右两边CPU的中断信箱。以1K双口RAM为例,这两个单元为3FEH和3FFH。其中3FEH为左边CPU的中断信箱,3FFH为右边CPU的中断信箱。各CPU只能读自己的中断信箱,写对方的中断信箱;而不能写自己的中断信箱,读对方的断信箱。当左边CPU中右边CPU的中断信箱3FFH单元写入数据时,图2中/WR置0,IRn+1置1,指向右边CPU的中断信号有效;当右边CPU从自己中断信箱3FFH单元读数据时,图2中/RR置0,则IRn+1置0,指向右边CPU的中断信号被清除。同样地,右边CPU对左边CPU中断信号的设置和清除也是如此,只不过把上面的3FFH单元换为3FFH单元。其真值表如表1所示。

表1 双口RAM中断逻辑真值表

/WR/RRIRnIRn+1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1*
1*
0
0
1
1
0
1

从图2和表1不难看出,指向右边CPU的中断信号从被置为低电平那一刻起一直有效至右边CPU来读3FFH单元。TMS320C31要求一个外部中断必须至少持续一个H1周期保持为低电平,以便让TMS320C31来确认。如果外部中断信号在一到三个H1周期之内保持为低,那么只有一个中断被确认;如果在三个或更多个周期内保持为低,则可以确认多于一个中断。所以IDT7140提供的中断信号的有效时间可以满足TMS320C31的要求,这样IDT7140的/INTL引脚就可以和TMS320C31的INT1直接相连。但与此同时也要求TMS320C31尽快地服务IDT7140的中断申请,以免一个中断申请被误认为多个中断申请。

4 TMS320C31与80C196之间采用双口RAM进行高速数据通信的软件实现

从图2中我们得知,左边CPU写右边CPU的中断信箱3FFH单元时,双口RAM会给右边CPU发一中断信号;同样,右边CPU在写左边CPU的中断信箱3FFH单元时,双口RAM也会给左边CPU发一中断信号。以左边的TMS320C31为例,在它获得外部中断信号INT1后,它并不知道右边的80C196是刚开始占用双口RAM还是用完了要释放使用权,或者是其它别的意思。所以双方事先应有一个简单的协议,例如右边CPU在3FEH单元中(或右边CPU在3FFH单元中)写“FFH”代表右(左)边正占用双口RAM,定“11H”代表要释放使用权,或者还可以有更多的数据含义的定义,视两边CPU通信内容的复杂程度而定。例如在这个高速实时控制系统中,还定义了“88H”和“55H”来表示其它的含义。这样,在中断服务程序里,就可以做相应的操作。下面以TMS320C31为例来说明数据通信的软件实现,程序流程如图3和图4所示。

随着各种复杂算法的应用越来越广泛,DSP的应用也会越来越普及,各种不同的多CPU系统不断涌现。在这些系统中,双口RAM以它方便、快速的特点将成为很多多CPU系统中的通信途径。

1 2

关键词: DSP 双口RAM 高速实时 中断

DSP也称数字信号处理器。TMS320C31是TI公司的第三DSP芯片 它的基本结构包括:(1)程序文凭间与数据空间分开的总线结构 可以对程序存储器和数据存储器这两个独立的存储器进行独立编址、独立访问 (2)流水线结构 以三级流水线操作为例 在每个指令周期内 三条不同的指令都处于激活状态 但处于不同的阶段 分别为取指、译码和执行 (3)专用的硬件乘法器 使乘法可以在单周期内完成 (4)特殊的DSP指令 (5)快速的指令周期 可以达到33.3ns 即每秒能执行

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

或用微信扫描左侧二维码

相关文章

查看电脑版