>
首页 » 技术文章 » CS89712与TMS320VC5510的接口设计

CS89712与TMS320VC5510的接口设计

作者:赵爱萍,胡永辉  时间:2006-12-05 10:39  来源:电子设计信息网-www.edires.net
摘要:本文以Cirrus Logic公司的ARM芯片和TI公司的TMS320V DSP 为例,研究了ARM处理器与DSP的数据接—HPI接口的相关技术,并给出了在HPI接口非复用模式下,CS89712 与C5510 的信号连接图和嵌入式实时操作系统uCOS - II下驱动程序的部分关键源代码。
 
关键词:ARM CS89712;主机接口(HPI);TMS320VC5510

引 言

目前嵌入式系统已被广泛地应用到电子产品领域和无线通信、网络通信等高端设备领域。32位ARM嵌入式处理器具有高性能、低功耗的特性,DSP芯片由于功能强大,加上接口方便、软件可用资源丰富、编程方便、稳定性好、精度高等优点,应用也越来越广泛。通常在嵌入式系统的设计中,由ARM嵌入式处理器实现整个系统的协调控制和网络功能,由DSP芯片来执行复杂计算,因此需要实现ARM处理器和DSP之间的数据交换。从某种程度上来说,ARM嵌入式处理器和DSP之间数据交换的速度决定了整个系统的运行速度和性能。

ARM CPU CS89712 的特点

CS89712是Cirrus Logic公司一款基于ARM7TDMI的SOC芯片。它一方面具有ARM处理器的所有优点:低功耗、高性能;同时又具有非常丰富的片上资源,非常适合嵌入式产品的开发。其特点如下:
采用ARM7TDMI内核,I/O电压3. 3 V,内核电压2. 5V;
内置锁相环(PLL),系统主频最高达74 MHz ;
3 种工作模式,可以实现电源管理以降低系统功耗;
8KB的系统高速缓存(CACHE),极大地提高了系统运行速度;
支持8个MEMORYBANK,最大外部存储空间达256MB,并支持SDRAM;
内置单色LCD控制器;
2 路异步串口(UART) ;
27 个通用I/O口;
实时时钟(RTC) 和看门狗电路(WATCHDOG) 。

C55X DSP 及其EHPI 接口


C5510 DSP的特点
以高速、低功耗为特征的VC55X 系列DSP采用先进的改进型哈佛结构,具有分离的数据总线和程序总线,片内集成了ROM、RAM和多个外设,如通用I/O口、定时器、时钟发生器、软件可编程等待状态发生器、可编程块切换逻辑、串行口、直接存储器存取控制器(DMA)和与外部处理器通信用的主机接口(HPI)。

C55X的增强型主机接口( EHPI)
TI 的C5510之前的DSP系列(C54X系列)中的主机接口(HPI) 主要有三种:标准8 位HPI8接口、增强型8位HPI8接口和16位HPI16接口。其中C542~C549 内含标准型HPI8;C5402、C5410内含增强型HPI8;C5410以上为HPI16;C5409、C5416的HPI可以由用户设置为增强型HPI8或HPI16。C5510其内部使用的是增强型主机接口,增强型比标准型更优越之处主要在于:增强型允许主机访问DSP内部的所有片内RAM,而标准只能访问RAM区中指定的2K字。C55X为主机提供增强型的16 位并行接口( EHPI) 具有以下特点:
20 位主机地址总线
16 位主机数据总线
复用和非复用两种总线模式
主机可以访问C5510的片内SARAM、片内DARAM和片外存储器
在高速传输数据时可以自增的20位的地址寄存器(在复用模式下)
多地址、数据探头为各种主机提供紧密接口
HRDY信号用来与主机进行握手

C5510与外部主机或微处理器的连接具有单独的16根数据线HD0 ~HD15、20根地址线HA0 ~HA19 和10根控制线。主机主动通过EHPI口能够直接访问DSP 的存储区。在图1所示的HPI 能访问的地址范围内,主机和DSP 可以通过DSP 的内部和外部存储区来交换信息。

图1  通过HPI 可以访问的DSP存储区图

除了对主机发中断(通过置HPIC寄存器的HINT位,可以使HINT线有效)或清除主机发来的中断(通过清HPIC寄存器的DSPINT标志) 需要DSP干涉外,C5510几乎不用进行其他操作。片内的DMA通道会自动辅助完成RAM区与HPI数据寄存器的数据传输。主机由HCNTL0/1线来选择HPI的某个控制寄存器,如表1 所列。通过对这4个寄存器的访问,就可以在所设安全机制的允许范围下读/ 写DSP的所有或部分片内RAM。主机由HCNTL0/1线来选择HPI的某个控制寄存器。在非复用模式下,HCNTL0决定HPI是否访问控制其(HPIC)寄存器或数据寄存器(HPID) ,如表1 所示(0 —低电平,1 —高电平) ,此时HCNTL1未被使用。


CS89712 与C5510 DSP 的接口设计

硬件连线
TMS320VC5510 与CS89712 连接的接口电路如图2所示。由图2 可见,C5510通过EHPI与主机设备相连时,除了EHPI 数据总线及控制信号线外,不需要附加其它的逻辑电路,非常方便。

图2  EHPI接口非复用模式下的连接图

从EHPI寄存器的编址方式可以看出,将HPI16接口安排在CS89712的BANK3(即地址范围0X03000000~0X03FFFFFF) ,而且CS89712具有内部译码器,直接产生片选信号CS3。 由于C55X HPI16是一个16 位的并行端口,而C5510的内部结构为16位,所以在非复用模式下,只需将数据和地址总线分别连接即可。另外,还有几个关键的控制信号需要连接。一个就是HR/W信号,由于CS89712没有此信号,使用端口A 的PA3来代替。当PA3 =1时,代表读操作,反之为写操作。由于CS89712和C5510 EHPI接口的控制逻辑不尽相同,需要使用其它的一些信号线来进行模拟,此时要严格遵循EHPI的读写时序。

软件设计
在硬件连接设计好的基础上,我们还需要通过正确的编程才能实现我们预想的时序。因为我们在ARM CS89712上运行嵌入式操作系统uCOS -II,所以在写程序对HPI接口进行读/ 写操作时将HPI接口看作一个外部设备,将完成读/ 写操作的程序看成在uCOS -II下面的一个字符型驱动。这样软件的设计就变成了在uCOS -II下面驱动程序的开发。考虑到CS89712不光要将DSP的数据取过来,而且还要将这些数据处理后再发送出去,这就需要这两者之间有很好的配合。CS89712与DSP5510之间的EHPI 接口读/ 写程序主要由两个部分组成:ARM自身的初始化;HPI接口读写程序。

ARM 处理器自身的初始化
ARM处理器首先要完成自身工作模式等一系列的初始化,才能正常进行EHPI 接口的读/ 写,源代码如下所示。
/ / 为了配合EHPI 口的时序,关掉MMU 页表中
bank3 的Cache
Xcount SETA 0x30000c1e
 WHILE Xcount < 0x31000000
DCD Xcount
Xcount SETA Xcount + 0x00100000
 WEND
rMEMCFG1 &= 0x00ffffff ; / / 设置与DSP 连接的
nCS3 :16 位总线宽度、8 个随机状态
rMEMCFG1 | = 0x01000000 ; / / 3 个顺序等待状态、禁止顺序访问、禁止扩展时钟

上面这段代码主要是对几个寄存器进行配置。在配置好ARM 处理器的工作模式后,对外部I/O接口BANK3的对应地址进行读/ 写操作,就可以完成对HPI接口的相应操作了。

HPI接口读写程序
以下的第一句代码是宏定义,定义了C5510的EHPI 接口寄存器的地址。在本设计中,已经将HPI口与外部I/O接口的BANK3相接,这样HPI口将占用外部I/O接口BANK3的地址。由于是使用PA3来模拟HPI16接口的HR/W,所以对DSP进行读/ 写操作时,应先将该信号置为相应的读/写有效状态。
/ / ARM向DSP 写数据时
# define EHPI-BASE 0x3208000
int t ;
rPADDR = 0x08 ; / / PA3 方向定义为输出
rPADR = 0x00 ; / / PA3 为低电平
t = 3 (volatile U16 3 ) ( EHPI-BASE + Add-off2
set) ;
/ / ARM从DSP 读取数据时
rPADDR = 0x08 ; / / PA3 方向定义为输出
rPADR = 0x08 ; / / PA3 为高电平
(volatile U16 3 ) ( EHPI-BASE + Add-offset) = t

结束语

以ARM芯片作为主控制器,用DSP芯片进行运算,然后通过HPI接口进行通信和交换数据的嵌入式系统设计应用模式的得到越来越广泛的应用,而这两者之间能够高效、快速并且稳定的进行数据交换将是影响系统性能的关键部分之一。文中给出的CS89712和C5510之间的硬件连接方法和软件设计经过实践的验证,是可行的和满足要求的。


相关推荐

ARM收购Geomerics 强化行动装置游戏视觉

ARM  游戏视觉  2013-12-18

ARM:2013年Mail芯片出货量将超三亿片

ARM  芯片  2013-12-06

ARM控制智能机及平板芯片市场趋势将持续

ARM  控制智能机  2013-11-28

推动连网与行动创新 ARM聚焦物联网商机

ARM  物联网  2013-11-26

全球75%企业高管关注物联网新机遇

ARM  物联网  2013-11-08

英特尔将代工ARM芯片 或引发芯片价格下跌

英特尔  ARM  2013-10-31
在线研讨会
焦点