AVR和TMS320VC5402 的HPI 接口通信设计

作者: 周国辉,,王晓东1,刘金国1,郝志航   发布日期:2006-06-25 19:26   查看数:0
中文摘要:

  TMS320VC5402 ( VC5402) 不具有可编程的非易失片内 存储器, 必须外扩存储程序代码和参数的存储器, 在多数场 合仅仅简单的扩充此类存储器会造成系统设计的繁琐。利 用AVR 单片机片内大容量的flash 存储器来存储DSP 的程 序和参数, 使系统的整体设计更加紧凑, 并弥补了VC5402 控制和通用通信功能的不足, 这不失为一种有效的解决办 法。文中详细分析了AVR 单片机( ATMEL64L) 同VC5402 的 HPI 接口通信硬件设计和DSP 程序代码的加载方法。在通信 软件的设计方面着重阐述了通信协议和DSPbootloader 实 现方法。

英文摘要:

  TMS320VC5402 (VC5402) doesn ' t have programmable non - volatile memory, so it is necessary to expand non - volatile memory for saving program codes and parameters. In many applications, this architecture makes design complex. It is a good way that DSP program codes and parameters are saved in on- chip flash memory of AVR. So, the compacted design is achieved and the disadvantages of VC5402 on control and general communication functions are compensated. On the basis of analysis on VC5402 HPI interface, hardware design of communication between ATMEL64L AVR and VC5402 HPI is provided. In the aspect of communication software design, communication protocol and DSP HPI bootloader are discussed in particular.


1 引言
     TMS320VC5402(简称VC5402)是TI 公司的DSP 处理器,具有高级的数据处理结构和丰富的片内资 源。但是VC5402 DSP 内部不具有可编程的非易失片 内存储器,所以为了保存程序代码和参数表,一般情 况下要外扩一片存储器。VC5402 可用的通用输入输 出口(I/O port)少,软件上对I/O 口的控制不灵活,没有 对I/O 口按位控制的指令,且具有流水线延迟。多不具 有通用的通信接口如UART 接口,CAN 总线接口等, 对控制的支持功能较少。AVR (Advanced RISC Architecture) 单片机是ATMEL 公司的flash 型单片机,广 泛应用于数据处理和控制领域,具有丰富的片内资源 和灵活的接口形式。片内往往集成了几十kB 乃至几 百kB 的flash 存储器,每个端口几乎都可以通过软件 设置为通用的I/O 口和具有特殊功能的端口。将AVR 单片机和VC5402 处理器相结合,发挥各自的优点将 是一个很好的设计方案。本文详细描述了AVR 型单 片机ATMEL64L 和VC5402 的HPI 接口的硬件设计 原理和软件设计构架,同时详细阐述了VC5402 HPI 形式的bootloader 方法及AVR 实现方法。
2.1. VC5402 的HPI 接口
     VC5402 的HPI 接口是一个增强版的8 位并行的 HPI 接口简称为HPI-8。在HPI-8 接口中VC5402 是 从机。主机可以访问VC5402 中位于0x60~0x3FFF 存 储器空间的片内存储器,这一区域是VC5402 用户可 用的所有的片内存储器资源。主机通过两个寄存器: 地址寄存器(HPIA)和数据寄存器(HPID)访问 VC5402 内部的存储器。还有一个控制寄存器(HPIC) 包含有控制和状态信息。HCNTL[0..1]是HPIA、HPID 和HPIC 的选址信号。同时,VC5402 对HCNTL[0..1]= “01”设置了特殊的访问模式以加快主机访问片内存 储器的速度。此时主机读写HPID 的内容不用每次设 置HPIA,当主机读HPID 时VC5402 将当前HPIA 所 指出的片内存储器的数据传送到HPID 寄存器,同时 HPIA 的内容减1,当主机写HPID 时DSP 先将当前 HPIA 的内容加1,然后由此时HPIA 所指出的片内存 储器的数据传送到HPID 寄存器。由此可见此种方式 比较适合于主机访问DSP 内部的连续存储器空间。由 于DSP 内部是按着16 位的数据进行组织,所以主机 通过8 位的HPI 口进行读写操作都必须由两次操作 组成,在两次操作中由HBIL 信号标明高低位字节。
2.3. 硬件设计实现
     ATMEL64L 和TMS320VC5402 的HPI-8 接口的 硬件设计关键在于实现HPI-8 接口的逻辑时序。我们 研究ATMEL64L 外部数据空间的读写时序和HPI-8 接口时序发现:AVR 的ALE 信号在下降沿锁存低8 位地址信号(DA7:0),而HAS 信号也是在下降沿锁存 HCNTL[0..1]、HBIL 和HRW信号。在AVR 的WR 信号 的上升沿数据总线上的数据DA7:0 已处于有效状态, 在RD 信号的上升沿来临时数据总线的数据DA7:0 必 须处于有效状态,同时HPI- 8 的两个数据存储信号 HDS1 和HDS2 均是在上升沿将相应的寄存器内容设 置到HD[7..0]上或是将HD[7..0]的数据锁存到相应的 寄存器。由此可见HPI- 8 的重要控制线均可以和AVR 相应的控制线直接相连而不需要其他逻辑电路。设计 的电路原理图见图1。 当DSP 退出复位状态后,30 个有效时钟周期内触 发了一个有效的DSP 中断2,则DSP 将仅进入HPIbootloader 加载方式。原理图中将HINT 引脚和DSP INT2 引脚直接相连就是为了DSP 复位后实时的触发 DSP INT2 中断。VC5402 通过ATMEL64L 的INT2 中 断申请加载DSP 程序
5 结论
     1)本文详细分析了AVR 和TMS320VC5402 HPI 接口通信软硬件设计,给出了硬件设计原理图和软件 设计框架。实际测试表明该系统设计方案运行可靠。 2)利用AVR 控制功能强、集成flash 存储器和 DSP 运算功能强、程序代码配置灵活的特点,形成 AVRDSP 之间优势互补,是一个可以选择的合理的 系统设计方案。 3)有些DSP 芯片内部集成的bootloader 程序通过 HPI 口只能配置内部存储器,对于DSP 程序比较大的 系统仅仅利用集成的bootloader 程序不能完成全部加 载工作。此时用户可以自行设计一个bootloader 程序, 将大的DSP 程序加载到外部存储器空间。