ARMCPUS3C44B0X与C54XDSP的接口设计._第1页
ARMCPUS3C44B0X与C54XDSP的接口设计._第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ARMCPUS3C44B 与 XC54XDSP 勺接口设计ARM CPU S3C44B0X C54X DSP 勺接口设计预览:摘要: 以 SAMSUN 公司的 ARMSO 芯片 S3C44B0 帶口 TI 公司的 TMS320C5416DSP为例,讲述了 ARM 与 DSP 的数据接口技术,并结出了硬件连接图和软件代码。关键词:ARMS3C44B0X 机接口( HPI)TMS320C541 后 PC 时代,嵌入式产品逐 渐占领市场。而这些嵌入式产品的核心ARM CPU S3C44B0 与 C54X DSP 勺接口设计正文:摘要:以 SAMSUN 公司的 ARM SO(芯片 S3C44B0X 和

2、 TI 公司的 TMS320C5416DSP 为例,讲述了 ARMf DSP 的数据接口技术,并结出了硬件连接图和软件代 码。关键词:ARM S3C44B0Xt 机接口( HPI) TMS320C5416后 PC 时代,嵌入式产品逐渐占领市场。而这些嵌入式产品的核心一一处理 器决定了产品的市场和性能。高性能、低功耗、低成本是嵌入式处理器的主要 特点。在 32位嵌入式处理器市场中,ARM 占有 78.6%的份额。而 TI 而占有 DSP 市场的绝大部分份额。通常的嵌入式系统设计中,由微控制器实现整个系统的 控制,由 DSP 来执行计算密集型操作,然后通过一定的手段实现微控制器与 DSP 之间的通

3、信和数据交换。因此,如何高效地设计控制器(ARM 与 DSP 之间的接口以满足嵌入式系统的实时性要求,在嵌入式系统设计中显得尤为重要。1 ARM CPU S3C44B0 的 特点ARM 是一款 32 位的精简指令集(RISC)处理器架构,以其高性能、低功 耗、低成本占有市场。由于 ARM 公司采用 IP 授权的方式经营,全球几乎所有的 大半导体公司都有基于 ARM 勺 SOCS片。S3C44B0X 是 SAMSUN(三星)公司一款基于 ARM7TDM 的 SOC 芯片。它 一方面具有 ARM 处理器的所有优点:低功耗、高性能;同时又具有非常丰富的 片上资源,非常适合嵌入式产品的开发。其特点如下

4、:采用 ARM7TDM 内核,I/O 电压 3.3V,内核电压 2.5V;内置锁相环(PLL),系统主频最高达 66MHz4种工作模式,可以实现电源管理以降低系统功耗; 8KB 的系统高速缓存(CACHE,极大地提高了系统运行速度;支持 8 个 MEMORY BAJN 最大外部存储空间达 256MB 并支持 SDRAM-内置彩色 LCD 控制器;2路异步串口( UART ; 71 个通用 I/O 口;8通路模/数转换器(ADC ;实时时钟(RTC 和看门狗电路(WATCHDOG2 C54X DSP 及其 HPI 接口2.1 C54X DSP 的特点以高速、低功耗为特征的 C54X 系列 DSP

5、 采用先进的改进型哈佛结构,具有 分离的数据总线和程序总线,片内集成了ROM RAM 和多个外设,如通用 I/O口、定时器、时钟发生器、软件可编程等待状态发生器、可编程块切换逻辑、 串行口、直接存储器存取控制器(DMA 和与外部处理器通信用的主机接口(HPI)。2.2 C54X 的主机接口( HPI)C54X 中的主机接口( HPI)主要有三种:标准 8 位 HPI8 接口、增强型 8 位 HPI8接口和 16 位 HPI16 接口。其中 C542C549 内含标准型 HPI8; C5402 C5410 内含增强型 HPI8; C5410 以上为 HPI16; C5409 C5416 的 HP

6、I 可以由用 户设置为增强型HPI8 或 HPI16。增强型比标准型更优越之处主要在于:增强型 允许主机访问 DSP 内部的所有片内 RAM 而标准只能访问 RAM 区中指定的 2K 字。以 TMS320C541Q简称 C5416 包含的增强型 HPI8 接口为例,它与外部主 机或微处理器的连接具有单独的 8 根数据线 HDHD7 和 10 根控制器。主机主 动通过 HPI口访问 DSP 的内部 RAM 以及其它资源。除了对主机发中断(通过置 HPIC 寄存器的HINT 位, 可以使 HINT 线有效) 或清除主机发来的中断 (通过清 HPIC 寄存器的 DSPINT标志)需要 DSP 干涉外

7、,C541234下一页ARM CPU S3C44B(与 C54X DSP 的接口设计预览:摘要: 以 SAMSUN 公司的 ARMSO 芯片 S3C44B0 冷口 TI 公司的 TMS320C5416DSP为例,讲述了 ARM 与 DSP 的数据接口技术,并结出了硬件连接图和软件代码。关键词:ARMS3C44B0X 机接口( HPI)TMS320C541 后 PC 时代,嵌入式产品逐 渐占领市场。而这些嵌入式产品的核心ARM CPU S3C44B(与 C54X DSP 的接口设计正文:16 几乎不用进行其他操作,片内的 DMAS道会自动辅助完成 RAM 区与 HPI 数据 寄存器的数据传输。主

8、机由 HCNTL0/1 线来选择 HPI 的某个控制寄存器,如表 1 所列。通过对这 4 个寄存器的访问,就可以在所设安全机制的允许范围下读 /写DSP 的所有或部分片内 RAM表 1 HCNTL0/1 的选择功能描述HCNTL1HCNTL0明 00 主机读/写 HPI 控制寄存器-HPIC。01主机以地址自动增的模式读 /写 HPI 数据锁存器 -HPID 。若为读操作,则 HPI 地 址寄存器 HPIA 自动读后增 1;若为写操作,则 HPIA 自动写后增 1。10 主机读/ 写 HPI 地址寄存器-HPIA, 该地址指向 C54X 的片内 RAM 11 主机读/写 HPI 数 据锁存器-

9、HPID,HPIA 不变。由于 DSP 最小的存储单位是字(16bit ),因此对于 HPI8,每个传递必须 要有 2个传递周期才能完成。HBIL 信号用于区分传递的字节是当前字的第一字 节还是第二字节。通过设置 HPIC 寄存器的 BOB 位,可以决定第一字节是这个字 的高字节还是低字节。2.3 时序图C54X HPI8 的时序如图 1 所示, 该时序可满足市场上大多数微控制器的时 序特片。因此,C54X 可以通过 HPI8 很方便地与微控制器接口, S3C44B0X&不 例外。3 S3C44B0X 与 C54X DSP 的接口设计3.1 硬件连线TMS320C541 与 S3C44

10、B0X 连接的接口电路如图 2 所示。由图 2 可见,C54X 通过 HPI8 与主机设备相连时,除了 8 位 HPI 数据总线及控制信号线外,不需要 附加其它的逻辑电路,非常方便。从 HPI 寄存器的编址方式可以看出,主机只需两根地址线( A3 A2)便可 寻址到HPI 接口的所有控制寄存器、地址寄存器和数据寄存器。同时,将 HPI8 接口安排在S3C44B0X 的 BANK2(即地址范围 0X04000000 0X05FFFFFF,而且 S3C44B0X有内部译码器,直接产生片选信号 nGCS2 由于 C54X HPI8 是一个 8 位的并行端口,而 C5416 的内部结构为 16 位,因

11、而主机必须读/写两个连续 的 8 位字节,而且主机还应该提供 HBIL 信号指示当然传输的是第一字节还是第 二字节。在 S3C44B0X 中,可以直接使用址线 A1 来完成此功能:当向 A1=0 的地 址写入数据时,表示为第一字节;向 A1=1 的地址写入数据表示第二字节。另外,还有几个关键的控制信号线需要连接。一个就是HR/W 信号,由于S3C44B0XS 有此信号,使用地址线 A4 来代替。当 A4=1 时,代表读操作,反之 为写操作。在 HPI8 的操作中,所有的地址线和控制线在 HDS1/2 的下降沿采 样,用S3C44B0X 勺读/写信号 nOE 和 nWE 来完成此功能。由于 S3

12、C44B0)和 C5416 HPI 接口的控制逻辑不尽相同,需要使用其它的一 些信号线来进行模拟,此时要严格遵循 HPI 的读写时序(如图 1 所示)。3.2 软件设计由于主机接口( HPI)传送 8 位数据字节,而 HPIC 寄存器(通常是S3C44B0X 首先要寻址的寄存器)是一个 16 位寄存器,在 S3C44B0)这一边可以 相同内容的高字节与低字节来管理 HPIC 寄存器(尽管某些位的寻址受到一定的 限制),在 C54X 这一边高位不用。当主机开始存取 DSP 的数据时,首先要执行以下两步操作: HPIC 寄存器的 BOB 位置 1 (高字节与低字节必须相同)。BOB 位为字节 选择

13、位。BOB 位置 1,表示第一字节为低字节。BOB 位影响数据和地址的传送。 只有主机可以修改这一位,C54X 寸它既不能读也不能写。将起始地址写入 HPIA 寄存器。此后可正常存取 DSP 内部 RAM 勺数据了。上一页 1234下一页ARM CPU S3C44B(与 C54X DSP 的接口设计预览:摘要: 以 SAMSUN 公司的 ARMSO 芯片 S3C44B0 冷口 TI 公司的 TMS320C5416DSP为例,讲述了 ARM 与 DSP 的数据接口技术,并结出了硬件连接图和软件代码。关键词:ARMS3C44B0X 机接口( HPI)TMS320C541 后 PC 时代,嵌入式产品

14、逐 渐占领市场。而这些嵌入式产品的核心ARM CPU S3C44B(与 C54X DSP 的接口设计正文:结合硬件设计和 HPI 的操作步骤,便可以在 S3C44B0XE 编写程序实现 C5416 的数据通信。程序主要分为两个部分:一部分是地址及数据的定义;一部分是实现代 码。具体程序如下:#define HPI_BASE 0 x4000000/* HPIC reg */#defi ne HPIC_W_F *(UINT8*)(HPI_BASE+0 x0) 000 0 0#defi ne HPIC_W_S *(UINR8 *)(HPI_BASE +0 x2) /000 1 0#defi ne H

15、PIC_R_F *(UINT8 *) (HPI_BASE + 0 x10) /110 0 0#define HPIC_R_S *(UNIT8 *)(HPI_BASE+0 x12) /110 1 0/*define HPID_W_A_F *(UINT8 *)(HPI_BASE +0 x4) /001 0 0#define HPID_W_A_S * (UINT8 * )(HPI_BASE + 0 x6) /001 1 0#define HPID_R_A_F *(UINT8 *) (HPI_BASE+0 x14) /101 0 0#define HPID_R_A_S *(UINT8 *)(HPI_B

16、ASE + 0 x16) /101 1 0/* HPIA reg */#define HPIA_W_F *(UINT8 *)(HPI_BASE + 0 x8) /010 0 0#define HPIA_W_S *(UINT8 *)(HPI_BASE +0 xA) /010 1 0#define HPIA_R_F *(UINT8 *)(HPI_BASE +0 x18) /110 0 0#define HPIA_R_S *(UINT8 *)(HPI_BASE + 0 x1A) /110 1 0上述这些宏定义了 HPI8 接口寄存器的地址。对 S3C44B0X 来说,HPI8 占用其内存的 BANK2 即起始地址为 0X04000000 又由于 HPI8 的 HR/W 和 HBIL 信号 用S3C44B0X 勺地址线实现,因此对同一个寄存器而言,其读写地址不同。以下代码从 DSP 读出数据:UINT16 read_dsp (U I NT16 addr)INT16 i;INT8 j;set_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论