当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]TMS320C31和80C196双CPU构成的高速实时控制

介绍了采用TMS320C3180C196双CPU构成的高速实时控制系统的基本构成,给出了TMS320C31、80C196与双口RAM IDT7140之间的接口电路,IDT公司双口RAM系列的中断逻辑设计以及DPS与80C196之间采用双口RAM进行高速数据通信的软件实现。该控制系统可应用于对实时性要求很高的系统中。

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

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

    由一片TMS320C31加上存储器、模/数转换单元和外设接口就可以构成一个完整的控制系统,但这种方案若要达到高速实时控制则是不可行的。因为TMS320C31除要完成复杂的算法,还要采集处理数据、控制外部系统中的执行机构和实现人机接口等功能,而这些工作势必会大大延长系统对控制对象进行控制的周期。所以我们采用TMS320C31和一个通用微处理器80C196一起来作为这个高速实时控制系统的CPU。其中80C196作为主机,负责数据的采集处理、外部系统中执行机构的控制和驱动以及人机接口等功能;TMS320C31作为从机,负责复杂算法的实现。这样可以使TMS320C31专注于算法的计算,充分利用它高速数据处理的能力。TMS320C31与80C196之间通过双口RAM进行高速数据通信,之所以采用双口RAM是因为这种通信方式数据传输的速率很高,并且抗干扰性能较好。

1 系统构成

系统主要由两大模块组成:算法模块和输入输出控制模块。算法模块以TMS320C31为核心构成,是整个系统的计算中心,负责复杂算法的实现;输入输出控制模块以80196为中心构成,负责数据的采集处理、外部系统中执行机构的控制和驱动以及人机接口等功能。算法模块与输入输出控制模块之间通过双口RAM IDT7140进行高速数据通信。算法通过从输入输出控制模块处获得算法所需的输入数据(即实时采样到的数据),然后将计算结果送给输入输出控制模块,最后再由输入输出控制模块控制各执行机构。

2 TMS320C31、80C196与双口RAM IDT7140之间的接口电路

如图1所示,IDT7140有两组完全对称的地址线数据线和控制线,TMS320C31与左边这组线相连,80C196与右边的那组线相连。TMS320C31给IDT7140分配的地址空间为0x20000H~0x1003ffH。通过GAL16V8对A[20,23]和外部存取选通信号/STRB进行译码,给出IDT7140的片选信号/CEL。IDT7140通过/BUSYL和/BUSYR引脚接高电平,工作在中断方式。IDT7140的中断信号/INTL可以与TMS320C31的某个外部中断引脚直接相连(这里将外部中断1即INT1分配给双口RAM IDT7140),具体原因将在第3部分进行说明。80C196给IDT7140分配地地址空间为0xA000H~0xA3ffH。通过GAL16V8对AD[12,15]和外部存储器读信号/RD进行译码,给出IDT7140的片选信号/CER。80C196的/WE在写周期为低电平,读周期为高电平,与IDT7140的R/WR定义一致,所以/WE可直接与R/WE可直接与R/WR相连,作为IDT7140右边的读之所以控制信号。IDT7140的中断引脚/INTR接到80C196的外部中断。 [!--empirenews.page--]

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 /RR IRn IRn+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系统中的通信途径。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘 要 :当前的物流系统只关注物流智能化而忽略了环境监测,对物品的安全检测存在不足。为了对智能仓储系统进行实时监测,提高物品的安全性,设计了基于云平台的智能物流仓储系统,对底层数据进行采集与处理,对云平台数据进行接收与转...

关键字: STM32 智能仓储 实时控制 云平台 Web 前端 个性化

点击上方蓝字关注我们!C2000™ 是实时控制应用的理想平台,它的开发您掌握了吗?9月14日(周二)10:00-11:30TI在线直播将从信号链评测数据分析出发,为您讲解C2000™的价值优势,带您快速入门!查看下方图片...

关键字: 实时控制 控制应用

点击上方蓝字关注我们!去年,一项探讨已久的议题在上海付诸实践:电动汽车(EV)是否可以成为城市电网的一种灵活能源?电动汽车驾驶员从公用事业公司获得充电时间信号,从而在可再生能源最充足时加以利用,并充分利用资源,避免浪费。...

关键字: 太阳能 实时控制

点击上方蓝字关注我们!众所周知,无论是自动化工厂还是自动驾驶车辆领域,人们对自动化的需求已经在全球产生了深远的影响。鉴于工业4.0和工业自动化的大规模发展,现代智能工厂已经呈现出更快的分布式计算、更快的灵活联网以及边缘更...

关键字: 网络 实时控制 Sitara

点击上方蓝字关注我们!众所周知,无论是自动化工厂还是自动驾驶车辆领域,人们对自动化的需求已经在全球产生了深远的影响。鉴于工业4.0和工业自动化的大规模发展,现代智能工厂已经呈现出更快的分布式计算、更快的灵活联网以及边缘更...

关键字: 网络 实时控制 Sitara

本系列博文的第1部分介绍了用于C2000™微控制器(MCU)的EtherCAT从站堆栈解决方案的市场机遇,并介绍了从站堆栈开发快速入门的三个阶段指南。 除了这三方面的开发流程之外,TI还

关键字: MCU 实时控制 工业通信 工业驱动器

您无需使用EtherCAT从站堆栈来执行此验证。将此应用程序下载到设备上后,EtherCAT主站便可识别出网络上的EtherCAT从站控制器,从而确认物理接口是否正常工作。之后,您可以对EtherCAT从站的EEPROM...

关键字: 实时控制 工业通信 电源资讯

第二种软件解决方案让您从基于TI controlCARD工具,转变为帮助您自行开发硬件。EtherCAT社区将可编程控制器的接口称为处理器数据接口(PDI)。您可在适用于高性能MCU的EtherCAT接口参考设计找到并行...

关键字: 实时控制 工业通信 电源资讯

​本系列博文的第1部分介绍了用于C2000™微控制器(MCU)的EtherCAT从站堆栈解决方案的市场机遇,并介绍了从站堆栈开发快速入门的三个阶段指南。

关键字: MCU 实时控制 工业通信

通过纳入Echoback应用程序,TI展示了堆栈软件基本使用的示例,并为您提供了一个占位符,供您自行创建应用程序。遵循Echoback示例将更容易利用TI针对堆栈和HAL软件模块进行的许多优化,并提供EtherCAT从站...

关键字: 实时控制 工业通信 电源资讯

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭