基于HPI的双处理器通信接口设计
1引言
许多嵌入式系统的设计不是靠单一的处理器完成所有的任务,而是采用ARM+DSP构成的双处理器结构。其中ARM作为主处理器完成整个系统的控制与网络数据的实时传输等功能;DSP作为协处理器,受ARM控制,完成媒体信号处理算法或自动控制算法等密集型计算的功能。ARM与DSP之间数据传输的速率与准确性决定整个嵌入式系统的性能。因此,双处理器之间的通信接口的设计是非常关键的问题。常用的接口主要有双端口RAM、基于FPGA的高速FIFO以及主机接口HPI。前两种接口都需要额外的硬件支持,占用了系统资源,而HPI是DSP芯片内部提供的主机接口,用以同主机构建主从式系统。主机通过HPI接口可以访问DSP的全部存储空间和地址空间映射的外设,从而减少了额外的硬件开销。
2系统结构
整个系统的基本单元为ARM处理器、DSP处理器以及外围的多媒体信号采集模块和网络接口模块,可作为视频监控系统和网络会议系统的平台。ARM芯片选用Intel公司的PXA255,该芯片适合处理控制代码,实现通话协议、网络数据交互等功能。DSP芯片选用TI公司的TMS320DM642,该芯片内部提供了32位并行主机接口HPI,具有高速实时数据处理的功能,适合于实现媒体信号处理的算法。系统结构图如图1。
3 HPI硬件平台设计
DSP芯片TMS320DM642的HPI接口信号线包括32位数据总线HD[31:0]、读写选择信号线HR/W、地址选通输入信号线HAS、就绪信号线HRDY、发送中断信号线HINT、2根访问模式选择信号线HCNTL[1:0]、3根片选信号线HCS、HDS[1:0]。硬件连接示意图如图2:
址寄存器HPIA以及数据寄存器HPID的分别访问。HCS、HDS1、HDS2共同构成片选信号,最终的HPI使能信号是HDS1与HDS2异或后再与HCS进行与非运算的结果,因为HDS1与HDS2分别连接了ARM端的读使能与写使能,读操作和写操作不能同时进行,因此必须对两个信号进行异或运算,只能是其中之一有效,并且片选HCS有效时,HPI才能使能。
4 ARM部分软件设计
ARM芯片PXA255内部软件开发基于Linux操作系统(2.4.19版本)。首先要创建一个新的HPI软件模块,在操作系统内核中注册,这样才能被操作系统内核调用。执行函数pxa2xx_hpi_init(),即可完成软件模块的注册与初始化,初始化主要的主要作用是为程序中的变量、结构体请求指定的I/O内存、对每个信号指定相应的GPIO管脚[2]。HPI驱动模型提供的接口函数如下:
static struct file_operations hpi_fops =
{
owner: THIS_MODULE,
read:pxa2xx_hpi_read, //读操作
write :pxa2xx_hpi_write, //写操作
open:pxa2xx_hpi_open, //打开设备
相关文章
- 2022-06-22基于智能天线技术的TD-SCDMA系统应用研究
- 2024-06-05符合新标准的医疗设备泄漏电流测试技术研究
- 2022-05-09负荷预估信号在机组协调控制系统中的应用
- 2024-05-22运用传播时间法的时差式超声流量计设计
- 2023-01-12基于DSP和CPLD的电机智能保护装置的设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。