引 言
1 硬件电路总体设计
系统硬件总体设计功能框图如图1所示。
2.1 双口RAM与DSP和CH365的连接
本系统选用双口RAM芯片IDT7025作为DSP与CH365双向通信的缓冲芯片。IDT7025芯片是一款高速的8K×16位双口静态RAM,它提供2个独立的端口,允许两个(左、右)端口同时读/写数据,每个端口具有自己独立的控制信号线、地址线和数据线,可高速存取数据,可与大多数高速处理器配合使用,而无需插入等待状态。
双口RAM允许2个CPU同时读取任何存储单元(包括同时读同一地址单元),但不允许同时写或一读一写同一地址单元。本系统采用基于邮箱机制的INT中断法处理双口RAMD地址竞争冲突现象,避免由此而产生的读/写错误。
下面简要介绍一下IDT7025中断的原理:当用户要用到中断功能时,内存中的1FFE和1FFF单元将作为中断标志邮箱传递命令信息。当左端口定义为写状态(CEL=R/WL=VIL),且在内存1FFF中进行写操作时,右端口的中断标志INTR为低电平,可以向右端口发出中断请求;当右端口对地址1FFF进行访问时(CER=OER=VIL),无论读写都可以清除右端口中断标志INTR。相反也是一样的,当右端口对内存1FFE进行写操作时,左端口可以发出中断请求;当左端口访问地址1FFE时,清除左端口中断标志。使用中断时,向1FFF和1FFE写的内容由用户自行定义,本系统中设定:申请中断时向邮箱写入1或其他大于0的整数,清除中断时向邮箱写入0。
2.2 数据总线扩展电路设计
系统采用了双口RAM作为DSP和CH365之间数据传输的缓冲芯片,而TMS320F2812的地址总线为19位,IDT7025为13位,CH365为16位,因此,把IDT7025的13位地址线A[O..12]分别与DSP的地址线XA[O..12]和CH365的地址线A[O..12]相连,并将CH365的地址线A0用作数据总线扩展的使能信号。
CPLD芯片选用A1tera公司生产的EPM7064,通过CH365地址线A0的使能对16位数据进行分时读/写,从而解决了数据总线的扩展问题。其内部逻辑电路如图3所示,其中主要包括2个锁存器(74373b),和2个三态门缓冲器(74541b)。
在本系统中,CH365向双口RAM写入数据时,首先CH365_A0为低电平,锁存器U1使能信号G高电平有效,三态门U2无效(GN2为高电平),低8位写入锁存器;然后偏移地址加1,CH365_A0为高电平,三态门U2使能信号有效,高8位数据直接写入双口RAM,同时低8位数据通过锁存器U1写入双口RAM(OEN为低电平)。CH365读取双口RAM数据时,首先CH365_A0为低电平,低8位数据通过三态门U3直接读入到CH365中,高8位数据锁存到锁存器U4中;然后偏移地址自动加1,CH365_A0为高电平,高8位数据由锁存器U4读入CH365。
对上述逻辑关系用“MAX+PLUS”进行仿真后,得到图4所示的时序。图中RAM_DD和CH365_DD表示仿真结果,从图中可知仿真结果完全符合设计要求。
3 上/下位机通信软件设计
在硬件电路实现之后,把完成的板卡插于PC机的PCI插槽,上电后根据系统提示安装CH365驱动程序,在正确安装好硬件之后,利用API函数,就可以在VC环境下编写和调试PCI和DSP的通信软件了。
由上述可知,双口RAM的高4 KB空间用于PC机向DSP数据,如果数据大于4 KB,则存在着不能够把全部数据到DSP中的问题。因此,采取了向双口RAM中循环写入数据的办法,即PC机向双口RAM只写入4 KB数据,接着向DSP申请中断。DSP响应中断性将4 KB数据复制到DSP其他大容量存储空间(如扩展SRAM)中,然后释放双口RAM空间。此时PC机便可再写入4 KB数据,如此循环往复,直到将所有数据都写入DSP中。部分代码如下:
数据反馈功能主要是通过CH365响应DSP中断来实现的。DSP程序将数据写入双口RAM低4 KB空间后向CH365申请中断,CH365响应中断将数据反馈到PC并显示到人机界面。中断函数部分代码如下:
结 语
随着计算机技术和电子技术的发展,将运算高速、功能强大的数字信号处理器应用于运动控制,可以实现复杂的控制算法和实现高、高速度、多轴联动,在数控应用中,将会占据越来越重要的地位。而快速准确的通信又是这种运动控制器的基础。本文介绍的通信方式,具有性能可靠,硬件结构简单,价格便宜的优点,具有较好的应用前景。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。