用CH365实现PCI息线与DSP的通信
关键词 PCI总线 CH365 双口RAM CPLD DSP
引 言
随着数控技术与装备的发展,特别是在通用微机数控领域,以PC+运动控制器模式的开放式运动控制系统,已经越来越引起人们的重视。这种开放式的数控系统能够在多种平台上运行,可以和其他系统交互操作,并能给用户提供一种统一风格的交互方式;具有可互操作性、可移植性、档次皆宜性和可互补性等特点。PC机技术引入运动控制领域,从软件和硬件方面为开放式运动控制技术提供了新的发展空间和前进方向。
DSP作为运动控制器件的技术目前已趋于成熟,并成功地应用于实际工业生产之中。TMS320C2407是美国TI(德州仪器)公司专为电机控制(DMC)应用而推出的一种低价格、高性能的16位定点运算DSP。该器件将高性能的DSP内核和丰富的微控制器外设功能集于一身,为控制系统应用提供了一种理想的解决方案。
1 硬件电路总体设计方案
PC机与DSP之间的通信目前比较常用的方法是通过RS232串行通信,但这种方式速度较慢,且无法实现实时控制,故考虑应用PC机的PCI接口来实施传输任务。PCI总线是一种高性能的32/64位地址、数据复用总线,它是一种独立处理器的同步总线,可支持碎发传送。其总线时钟频率为o~33MHz。在33MHz的工作频率下达到了132MB/s的传输速度。PCI总线与其他主流总线相比,速度更快,实时性更好,可控性更佳,适用于高速实时的I/O控制卡;但由于PCI总线协议比较复杂,因此其接口电路实现起来并不容易,而采用通用PCI接口芯片就能很好地解决这一问题。
目前市场上常见的PCI桥芯片主要有AMCC、PLX、CYPRESS以及南京沁恒电子公司的CH36X等系列产品。根据比较以及此系统的实际要求,选用南京沁恒电子公司的CH365。此芯片具有如下特点:支持I/O端口映射、存储器映射、扩展ROM以及中断。CH365将32位高速PCI总线转换为简便易用的类似于ISA总线的8位主动并行接口,用于制作低成本的基于PCI总线的计算机板卡,以及将原先基于ISA总线的板卡升级到PCI总线上。
对本系统来说,PC机要发送控制指令和进行大量的数据计算,数据交换应尽可能占用较短的机时和较少的内存空间。另外,PCI总线与DSP之间还要进行大量、可靠的数据传输,它们均过多地占用CPU时间,导致CPU效率降低。使用双口RAM交换信息,双方将其当作自己存储器的一部分,可保证高速、可靠的数据通信。本系统选用的CY7C133,完全能够满足数据传输的要求。CY7C133是一款高速2K16位的双口静态RAM,允许2个(左、右)端口同时读/写数据,每个端口具有独立的控制信号线、地址线和数据线。可高速存取数据,最短存取时间为25ns,可与大多数高速处理器配合使用,而无须插入等待状态。CY7C133除具有双端口存取功能外,还具有标识器功能,在数据传送时可构成多种接口形式。
2 接口电路的实现
2.1 双口只AM的逻辑判断
双口RAM允许2个CPU同时读取任何存储单元(包括同时读同一地址单元),但不允许同时写或一读一写同一地址单元,否则就会出现写入值和读出值不是期望值的混乱状态。虽然CY7C133硬件本身带有BUSY控制信号来协调两端的访问,但BUSY信号脚要求与两侧CPU的READY线相连,而CH365并不具有READY信号线,因此,需要引入仲裁逻辑控制模块。常用的双口RAM解决地址竞争的途径有:令牌传递法、基于邮箱机制的INT中断法以及插入等待周期的BUSY法等。在本系统中我们采用第2种方法。
基于邮箱机制的INT中断法的基本思想是:给每个端口分配一个地址作为邮箱,比如本系统可以令CH365使用00H,DSP使用8000H,这两个地址用来装载作为分配两端口RAM使用权的依据数据。具体约定为:当左端口CH365写地址单元00H时,通过逻辑器件可实现右中断DSP_TNT(DSP中断)为低,向DSP发出中断请求,DSP读地址单元00H时,DSP_INT为高,复位CH365发出的中断请求。同理,当右端口写地址单元8000H时,左中断INT_REQ(CH365中断)为低,可向左端口发出中断请求;而当左端口读地址8000H时,INT_REQ为高,复位DSP发出的中断请求。当信箱内容为00时,表示正在使用该方端口;当信箱内容为FFH时,表示结束使用该端口。因此,双方在对端口的其他单元进行读写操作开始时,需要向邮箱中写入00H;操作结束,写入FFH。如果没有发生争用,则直接进行读写操作;否则,慢的一方产生中断,并查询对方邮箱,直到对方邮箱内容为FFH。具体实现可借助CPLD来完成。
2.2 总线扩展的解决方案
CH365的地址总线宽度是16位,数据总线宽度为8位,TMS320C2407的数据总线和地址总线的宽度均为16位,而CY7C133的数据总线宽度是16位,地址总线宽度是11位,所以DSP与CY7C133的接口并无特别之处;但是CH365与CY7C133之间的接口电路就需要对双口RAM进行总线扩展了。基本思想是利用部分CPLD实现锁存器的功能,通过对使能信号的控制,把16位数据进行分时读写,实现数据总线的扩展,即利用锁存器作为虚拟总线。此处选用EPM7032的CPLD来解决总线扩展问题,其内部电路如图l所示。
- 无线通信领域中的模拟技术发展趋势(蜂窝基站)(09-22)
- 新一代移动通信系统及无线传输关键技术(06-19)
- 蜂窝移动通信基站电磁辐射对人体影响的探讨(04-10)
- 无线升级到802.11n 应考虑的因素有哪些?(10-30)
- 第四代移动通信系统中的多天线技术(08-05)
- 4G移动通信系统研究进展与关键技术(12-24)