j基于双DSP电机控制数字平台设计
工作状态,如果依然象单片工作时那样,每块双口RAM都使用自己的仲裁逻辑,则很可能出现一种情况,即第一片仲裁使得BUSYL变低,而第二片仲裁使BUSYR变低,这样两边的CPU都会处于等待状态。为了避免这种情况的发生(BUSY信号死锁),可以使用主从模式,使得当多块芯片一起工作时,只使用主片的仲裁逻辑,并迫使从片跟随主片。主从模式的电路连接如图1所示。
图1 主从连接电路
主芯片的BUSY信号接上拉电阻作为输出,从芯片的BUSY信号作为写禁止输入,当主芯片处于BUSY状态时,从芯片接收这个状态,同样处于忙状态,从而避免了死锁的发生。
中断逻辑
另一个重要的内部电路结构,它允许双CPU通过端口直接进行通信。CY7C025最高位的存储单元1FFF作为右边端口的中断信箱,
次高位存储单元1FFE作为左边端口的中断信箱。各CPU可以读取双方的中断信箱,但只能写对方的中断信箱。当一端写入对方的中断信箱时,对方就会产生一个中断信号;读自己的中断信箱则清除自己的中断信号,读对方的中断信箱不会清除中断信号。
旗语通信逻辑可以使双口RAM暂时指定一块存储区,只供一端的CPU使用,称之为独占模式。CY7C025配置了独立于RAM阵列的8个旗语锁存器,用于标志双口RAM是否处于独占模式。独占模式也可以用来避免地址仲裁问题,因为,它是一种使两边不同时使用同一地址的方法,通常也叫做软件仲裁。
控制平台结构框图如图2所示。
图2 双DSP系统结构框图
电机由IPM来驱动,霍尔元件检测相关物理量,通过信号调理电路给A/D转换器,转换结果由LF2407A存储于双口RAM中,并由VC33读取用于计算。调理的同时保护电路也进行相应的检测,在意外状况发生时随时切断触发信号。VC33将获取的数据进行分析和计算,所有的数据处理都由VC33完成,只将计算结果反馈给LF2407A,并由此产生相应的控制信号,通过接口电路来控制IPM工作。同时预留了D/A及串口输出等相关外围电路,用于实现显示、检测、与其它系统通信等各项功能。LF2407A和VC33优势互补,并行工作,控制周期的长短主要取决于算法实现时间。原有的控制软件(以C32为控制平台)需要100μs左右,在采用了新的控制平台后,整个控制周期减小到20μs左右。
2 双端口RAM存储争用解决方案
在双机的数据交流过程中,存在存储空间争用问题,常见的解决方案有如下几种。
--硬件方案最简单的方法就是上面提到的使用双口RAM内部的仲裁逻辑,要求两边的CPU都具有RDY引脚,从而插入相应的等待周期。对于8098单片机,DSP都具有这样的资源,而且只需要硬件支持,相对简单。如果不具备RDY引脚,如8031单片机,则不能采用此种方法。
--中断方案需要硬件和软件的同时支持。将双口RAM的左右中断信号输出引脚和CPU的外部中断输入引脚相连,并编写相应的中断子程序。
--旗语方案同样需要硬件和软件的同时支持,我们也称之为软件仲裁。其步骤为申请独占区域、判断申请是否成功、释放独占区域。由于两边不同时使用同一地址,所以也可以避免争用的发生。
本系统设计时综合了各种情况最后选用了硬件方案。这是因为使用中断方案软件编写复杂,频繁中断跳转在算法和控制都较复杂的情况下,对于软件的可靠性和稳定性是不利的;采用旗语方案则控制相对复杂一些;硬件方案具有简单可靠的特点,存储空间的争用完全由硬件解决,即当发生存储空间争用的时候,决定先行稳定的端口优先进行访问,另一端口则插入等待周期。由于DSP的快速性,不同于以往的单片机将产生很长的等待周期。针对本系统考虑,即使是最坏的情况:每个控制周期内传递数据8个,LF2407A一次读/写周期50ns记,共需要0.4μs。当然这完全由硬件来实现,若考虑软件上共同配合,则可以更有效地减少等待时间。而且0.4μs和20μs的控制周期相比,所占的比重非常小,并不会给系统性能带来显著影响,系统可靠性和稳定性也能够得到保证。这也正是本系统的特点所在。
3 TMS320C2407A/TMS320VC33与CY7C025之间通信的实现
LF2407A的数据总线宽度和地址总线宽度都是16位,单片CY7C025就足够了。VC33的数据总线宽度是32位,可以采用两片CY7C025以主从模式进行宽度扩展(见图3),这样每次VC33读取数据时就能一次读入两个LF2407A的采样数据。也可以采用单片CY7C025,虽然没有完全利用VC33的数据宽度,但是,从电路设计上来讲相对简洁。由于本系统双口RAM的作用主要是起到数据传递的作用,不需要保存大量的中间结果以及已经使用过的数据,因此,需要的存储空间不是很大,单片双口RAM就已经足够。具体的接口电路见图3,片选等控制信号由
- 基于双DSP及VI技术的无线测控系统设计(08-21)
- 双DSP的多路视频监控系统设计(02-14)
- 基于多内核处理器ADSPBF561的高性能视频控制系统设计(02-16)
- 基于高速双DSP的柔性机载实时图像跟踪系统设计(03-01)
- 基于双DSP的电力系统谐波分析仪的设计方案(04-03)
- 无刷直流电机控制器硬件设计和实现(12-15)