接口技术-基于HPI的双处理器通信接口设计

文章描述:-2022年3月29日发(作者:严公弼)基于HPI的双处理器通信接口设计 李轶1,2,3, 张善从1,2,3 (1.中国科学院光电研究院,北京市海淀区 ) (2.中国科学院研究生院,北京市海淀区 ) (3.北京国科环宇空间技术有限公司,北京市海淀区 ) 摘 要:ARM+DSP的双处理器结构在许多嵌入式系统中得到了广泛的应用。针对双处理器之间的通信协议与数据传输

-

接口技术-基于HPI的双处理器通信接口设计2022年3月29日发(作者:严公弼)


基于HPI的双处理器通信接口设计

李轶
1,2,3
, 张善从
1,2,3
(1.中国科学院光电研究院,北京市海淀区 100190)
(2.中国科学院研究生院,北京市海淀区 100190)
(3.北京国科环宇空间技术有限公司,北京市海淀区 100190)
摘 要:ARM+DSP的双处理器结构在许多嵌入式系统中得到了广泛的应用。针对双处理器
之间的通信协议与数据传输效率问题,本文以Intel公司的ARM9芯片PXA255和TI公司的
DSP芯片TMS320DM642为例,设计了基于DSP内部主机接口HPI的ARM与DSP之间数
据交互的接口,并给出了硬件连接图和软件流程图。该设计方法实现了双处理器之间最高传
输速率10MBytes的无误码传输,在VoIP电话终端、视频监控系统和网络会议系统中具有
应用价值。
关键词:双处理器通信; HPI; 数据传输
文献标识码: A 中图分类号: TP 368.2
Design of Dual-Processor Communication Interface Based on HPI
Li Yi, Zhang Shan-cong
(Academy of Opt-Electronics, Chinese Academy of Sciences, Beijing, 100190, China)
Abstract:The dual-processor structure of ARM+DSP has been widely used in the embedded
systems. Aiming at the communication protocol and the efficiency of the data transfer, this paper
designed the communication interface between the ARM and DSP, based on the peripheral of
DSP—HPI, as the example of the ARM9 chip PXA255 produced by Intel and the DSP chip
TMS320DM642 produced by TI. The hardware connection and the software flow chart has been
showed. The system realized the data transfer between the dual-processor system at the velocity of
10MBytes, and it can be applied into the VoIP telephone terminals and the video monitor systems
and so on.
Key words:Dual-processor communication; HPI; Data transfer
1引言
许多嵌入式系统的设计不是靠单一的处理器完成所有的任务,而是采用ARM+DSP构
其中ARM作为主处理器完成整个系统的控制与网络数据的实时传输等
成的双处理器结构。
功能;DSP作为协处理器,受ARM控制,完成媒体信号处理算法或自动控制算法等密集型
计算的功能。ARM与DSP之间数据传输的速率与准确性决定整个嵌入式系统的性能。因此,
双处理器之间的通信接口的设计是非常关键的问题。常用的接口主要有双端口RAM、基于
FPGA的高速FIFO以及主机接口HPI。前两种接口都需要额外的硬件支持,占用了系统资
源,而HPI是DSP芯片内部提供的主机接口,用以同主机构建主从式系统。主机通过HPI
接口可以访问DSP的全部存储空间和地址空间映射的外设,从而减少了额外的硬件开销。
2系统结构

整个系统的基本单元为ARM处理器、DSP处理器以及外围的多媒体信号采集模块和网
络接口模块,可作为视频监控系统和网络会议系统的平台。ARM芯片选用Intel公司的




语音信号
采集和播放模块
HPI
TMS320DM642

视频信号
采集和播放模块
网络接口模块
LA91C111
PXA_255
数据总线
图1 系统结构图


PXA255,该芯片适合处理控制代码,实现通话协议、网络数据交互等功能。DSP芯片选用
TI公司的TMS320DM642,该芯片内部提供了32位并行主机接口HPI,具有高速实时数据
处理的功能,适合于实现媒体信号处理的算法。系统结构图如图1。
3 HPI硬件平台设计

DSP芯片TMS320DM642的HPI接口信号线包括32位数据总线HD[31:0]、读写选择信
号线HRW、地址选通输入信号线HAS、就绪信号线HRDY、发送中断信号线HIT、2根
访问模式选择信号线HCTL[1:0]、3根片选信号线HCS、HDS[1:0]。硬件连接示意图如图
2:
上拉3.3V
PXA255
ARM_GPIO2
SA_A2
SA_A3
SA_A4
SA_nCS1
SA_nOE
SA_nWE
SA_RDY
SA_D[31:0]

HIT





DM642
nHAS
HCTL0

HCTL1
HRnW
nHCS
nHDS1
nHDS2
nHRDY
HD[31:0]
图2 硬件连接图
HCTL0 与HCTL1用于选择主机的访问模式,实现对HPI的控制寄存器HPIC、地
址寄存器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(),即可完成软件模块的注册与初始化,初始化主要的主要作用是为程序中
的变量、结构体请求指定的IO内存、对每个信号指定相应的GPIO管脚[2]。HPI驱动模型
提供的接口函数如下:
static struct file_operati hpi_fops =
{
owner: THIS_MODULE,
read:pxa2xx_hpi_read,
write :pxa2xx_hpi_write,
读操作
写操作
open:pxa2xx_hpi_open, 打开设备
release:pxa2xx_hpi_release, 关闭设备
fasync:pxa2xx_hpi_fasync, 异步通知
}; 接口函数
其中pxa2xx_hpi_open()函数完成内存空间初始化、HPI中断使能、中断处理程序的初始
化,将初始化的值传递给内核。相反pxa2xx_hpi_release()函数中释放内核中初始化的内容,
关闭中断处理程序。下面将详细介绍异步通知模块pxa2xx_hpi_fasync()、接收模块
pxa2xx_hpi_read()、发送模块pxa2xx_hpi_write()。
4.1异步通知模块
pxa2xx_hpi_fasync()

异步通知机制用在数据接收的过程。当接收进程执行长的循环计算,但同时又需要尽可
能快的处理输入数据,则应该在新数据可用时立即知晓并处理。通过异步通知,应用程序可


以在数据可用时收到一个异步信号,而不需要不停的使用轮询方式。类似信号量的作用[2]。
Linux对于异步通知有通用的方法,基于两个函数。函数原型如下:
Int fasync_helper( int fd, struct file *filp, int mode, struct fasync_struct **fa );
Void kill_fasync( struct fasync_struct **fa, int sig, int band );
模块被OPE时,file结构体中的FASYC标志位默认是清空的,当该文件的FASYC
被修改时,调用fasync_helper函数便从相关的进程中增加该文件。接着,当数据输入时,
使用kill_fasync函数通知相关的进程,完成接收操作[2]。
4.2 数据接收模块与发送模块

数据接收和发送模块分别由函数pxa2xx_hpi_read()和pxa2xx_hpi_write()执行。
数据接收模块负责响应DSP发给ARM的中断信号,接收DSP发送到ARM的数据。程

序模块分为上半部和底半部,上半部为中断处理程序,以异步通知的方式响应HIT中断信

号,同时激活底半部程序。底半部程序以Tasklet机制完成数据搬移的操作。将程序分为上

半部和底半部,可以减小中断处理程序的工作量,将数据搬移这种耗时的操作交给底半部完
成,保证中断处理程序尽可能快的返回,大大提高了程序运行效率。具体过程为首先接受数
据包头并校验,如果校验有效则根据包头中的长度信息从HPIA的地址中读取相应长度的数
据,同时清除标志位并清中断。
数据发送模块负责将数据送入DSP,并向DSP发出中断信号。具体过程为首先判断标
志位是否清空,若清空则向发送缓冲区写入数据,同时向DSP发送中断信号。
接收与发送模块的程序流程图如图3:


????
?????
HIT??DSP??
????
?????
?????

??????

???????
Hpi_tasklet_func()





???
?????
Y

??????
????
?????
Y

???????
Y
??????
????
?????
Y





?DSP??
?DSPIT
?????
?????
??????kill_fasync()
???????

3 ARM部分数据接收与发送模块的程序流程图
5 DSP部分软件设计
DSP芯片TMS320DM642内部软件开发基于DSPBIOS操作系统,用于完成任务调度
管理、硬件中断管理等功能。DSP的功能模块也分为数据接收和数据发送两个模块,两个
模块以任务的方式运行,事先要在BIOS操作系统中注册,同时还要在BIOS中注册一段HPI
中断服务程序ISR,用以触发数据接收模块[1]。
5.1 HPI中断服务程序HWI_HPI()

该模块用于响应ARM向DSP发送的中断信号DSPIT,在程序中释放信号量
SEM_recv,以此来触发数据接收模块。程序代码如下:
void HWI_HPI(Uint32 Data, Uint32 ID)
{
SEM_ipost(&SEM_recv); 释放信号量


IRQ_clear(ID); 清空中断向量表中对应的标志位
}
5.2 数据接收模块与发送模块
数据接收模块以任务的方式运行,由中断服务程序触发,负责接收ARM送往DSP的
数据。首先判读信号量,如果大于0 ,则读取数据包头并进行包头校验;如果校验正确,
说明是有效数据,从接收缓冲区读取相应长度的数据到接收缓冲区,同时清空接收缓冲区标
志位,准备接收下一帧数据,清除中断位。
数据发送模块也以任务的方式运行。首先读取发送缓冲区标志位;如果标志位为0,则
说明ARM完成了上一帧数据的接收,可以发送新一帧数据;将有效数据打包,拷贝至发送
缓冲区;向ARM发送中断信号HIT。
6 测试结果与应用

6.1 测试环境
7和CCS2.20,分别运行ARM软件和DSP软件。 测试环境为虚拟机 Fedora
双方同时运行接收与发送模块,每帧数据量为10KByte,同时向对方周期性的发送有规
律的数据,并同时实时检测接收的数据,结果显示在在周期高于1ms的前提下,可以保证
双方数据传输准确无误。
根据以上测试结果,HPI接口的传输速率可达到10MBytes。
6.2 应用模型
现有的多媒体系统中,语音信号的数据传输率在
8K-48K之间不等,经过H.264或
MPEG4等算法压缩过的视频信号传输率也只有1M左右。根据以上的测试结果,10MBytes
的数据率完全可以满足多媒体系统中的媒体信号传输指标。用PXA255完成网络数据传输、
VOIP通话协议(如SIP)以及媒体数据实时传输协议等功能,DM642完成音频视频采集和
播放以及音频视频的多媒体信号处理压缩算法的实现。这样的双处理器通信系统可以用于
网络视频会议功能。
定义数据帧结构体如下:
typedef struct MSG_TYPE_Tag 消息结构体
{
Uint8 byType;
Uint8 byCh;


数据类型
通道号
命令类型
按键键值
消息数据长度
Uint8 byCmd;
Uint8 byKey;
Uint16 wLen;
Uint8 byData[MSG_DATABUF_LE]; 消息数据
}MSG_ TYPE, *pMSG_TYPE;
数据帧结构体MSG_TYPE结构体表示了数据帧的信息,byType表示一帧数据的类型如
音频、视频、控制信令等;byLen表示有效数据长度;byCh表示数据通道号,用以区分多
方会议时不同参与方的媒体信号;byData[MSG_DATABUF_LE]为有效的语音或视频信号;
byCmd表示具体的命令,如振铃、来电显示、摘机、挂机、忙音、按键等,这样就可实现
网络电话会议的各种信令。
7 结束语

ARM+DSP的双处理器结构已经广泛的应用到了通信终端、网络电话、视频传输、视频
会议、高速图像采集与处理等领域中。双方之间通信机制的设计对传输效率有着至关重要的
影响。HPI接口的并行性及其内部时序逻辑的严密性使得双处理器之间的通信可以在保证传


输速率的前提下不影响传输的准确性。随着ARM处理器指令集的日益完善、控制功能的逐
步增强以及DSP处理器指令周期的减小、密集型计算能力的增强,基于HPI的双处理器通
信机制将得到更为广泛的应用。
本文作者创新点:利用DSP内部主机接口HPI实现了ARM与DSP之间的高速通信,
设计了一套通信协议并基于Linux与DSPBIOS操作系统用软件实现了协议,将这种平台成
功的运用到了网络电话、视频会议等多媒体系统中。
参考文献:
[1]李方慧,王飞,何佩琨. TMS320C6000系列DSPs原理与应用[M].4版.北京.电子工业出
版社,2003:436-443。
[2]魏永明,耿岳,钟书毅(译).JOATHA CORBET,ALESSADRO RUBII & GREG
KROAH-HARTMA(著). LIUX设备驱动程序[M].3版.北京.中国电力出版社,2006:
163-172。
[3]Taxas Instruments 320DM642 Host Port Interface Reference Guide[EBOL].
[2006-1].http:。
[4]谭树人,陈建民,徐伟.ARM9 CPU与C6000 DSP的接口设计[J].机电工程技术,2006,
35(4):49-51。
[5]刘妮,王金刚.DSP主机接口与ARM的互连设计[J].电子测量技术,2006,29(3):47-48。
[6]崔丽珍,李伟.

基于DSP的HPI与主机通信的实现[J].微计算机信息,2008,8-3:67-69。

作者简介:李轶(1984-),男(汉族),山西人,中国科学院研究生院硕士研究生,研究方
向为嵌入式系统的设计与开发;张善从(1976-),男(汉族),福建人,中国科学院光电研
究院研究员,研究方向为空间探测技术。
Biography: Li Yi(1984-), Male(Han), Shan xi, postgraduate of GUCAS, majors in R&D of
embedded system; Zhang Shan-cong(1976-), Male(Han), Fujian, supervisor of GUCAS, majors
in Space detection.


基于HPI的双处理器通信接口设计

李轶
1,2,3
, 张善从
1,2,3
(1.中国科学院光电研究院,北京市海淀区 100190)
(2.中国科学院研究生院,北京市海淀区 100190)
(3.北京国科环宇空间技术有限公司,北京市海淀区 100190)
摘 要:ARM+DSP的双处理器结构在许多嵌入式系统中得到了广泛的应用。针对双处理器
之间的通信协议与数据传输效率问题,本文以Intel公司的ARM9芯片PXA255和TI公司的
DSP芯片TMS320DM642为例,设计了基于DSP内部主机接口HPI的ARM与DSP之间数
据交互的接口,并给出了硬件连接图和软件流程图。该设计方法实现了双处理器之间最高传
输速率10MBytes的无误码传输,在VoIP电话终端、视频监控系统和网络会议系统中具有
应用价值。
关键词:双处理器通信; HPI; 数据传输
文献标识码: A 中图分类号: TP 368.2
Design of Dual-Processor Communication Interface Based on HPI
Li Yi, Zhang Shan-cong
(Academy of Opt-Electronics, Chinese Academy of Sciences, Beijing, 100190, China)
Abstract:The dual-processor structure of ARM+DSP has been widely used in the embedded
systems. Aiming at the communication protocol and the efficiency of the data transfer, this paper
designed the communication interface between the ARM and DSP, based on the peripheral of
DSP—HPI, as the example of the ARM9 chip PXA255 produced by Intel and the DSP chip
TMS320DM642 produced by TI. The hardware connection and the software flow chart has been
showed. The system realized the data transfer between the dual-processor system at the velocity of
10MBytes, and it can be applied into the VoIP telephone terminals and the video monitor systems
and so on.
Key words:Dual-processor communication; HPI; Data transfer
1引言
许多嵌入式系统的设计不是靠单一的处理器完成所有的任务,而是采用ARM+DSP构
其中ARM作为主处理器完成整个系统的控制与网络数据的实时传输等
成的双处理器结构。
功能;DSP作为协处理器,受ARM控制,完成媒体信号处理算法或自动控制算法等密集型
计算的功能。ARM与DSP之间数据传输的速率与准确性决定整个嵌入式系统的性能。因此,
双处理器之间的通信接口的设计是非常关键的问题。常用的接口主要有双端口RAM、基于
FPGA的高速FIFO以及主机接口HPI。前两种接口都需要额外的硬件支持,占用了系统资
源,而HPI是DSP芯片内部提供的主机接口,用以同主机构建主从式系统。主机通过HPI
接口可以访问DSP的全部存储空间和地址空间映射的外设,从而减少了额外的硬件开销。
2系统结构

整个系统的基本单元为ARM处理器、DSP处理器以及外围的多媒体信号采集模块和网
络接口模块,可作为视频监控系统和网络会议系统的平台。ARM芯片选用Intel公司的




语音信号
采集和播放模块
HPI
TMS320DM642

视频信号
采集和播放模块
网络接口模块
LA91C111
PXA_255
数据总线
图1 系统结构图


PXA255,该芯片适合处理控制代码,实现通话协议、网络数据交互等功能。DSP芯片选用
TI公司的TMS320DM642,该芯片内部提供了32位并行主机接口HPI,具有高速实时数据
处理的功能,适合于实现媒体信号处理的算法。系统结构图如图1。
3 HPI硬件平台设计

DSP芯片TMS320DM642的HPI接口信号线包括32位数据总线HD[31:0]、读写选择信
号线HRW、地址选通输入信号线HAS、就绪信号线HRDY、发送中断信号线HIT、2根
访问模式选择信号线HCTL[1:0]、3根片选信号线HCS、HDS[1:0]。硬件连接示意图如图
2:
上拉3.3V
PXA255
ARM_GPIO2
SA_A2
SA_A3
SA_A4
SA_nCS1
SA_nOE
SA_nWE
SA_RDY
SA_D[31:0]

HIT





DM642
nHAS
HCTL0

HCTL1
HRnW
nHCS
nHDS1
nHDS2
nHRDY
HD[31:0]
图2 硬件连接图
HCTL0 与HCTL1用于选择主机的访问模式,实现对HPI的控制寄存器HPIC、地
址寄存器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(),即可完成软件模块的注册与初始化,初始化主要的主要作用是为程序中
的变量、结构体请求指定的IO内存、对每个信号指定相应的GPIO管脚[2]。HPI驱动模型
提供的接口函数如下:
static struct file_operati hpi_fops =
{
owner: THIS_MODULE,
read:pxa2xx_hpi_read,
write :pxa2xx_hpi_write,
读操作
写操作
open:pxa2xx_hpi_open, 打开设备
release:pxa2xx_hpi_release, 关闭设备
fasync:pxa2xx_hpi_fasync, 异步通知
}; 接口函数
其中pxa2xx_hpi_open()函数完成内存空间初始化、HPI中断使能、中断处理程序的初始
化,将初始化的值传递给内核。相反pxa2xx_hpi_release()函数中释放内核中初始化的内容,
关闭中断处理程序。下面将详细介绍异步通知模块pxa2xx_hpi_fasync()、接收模块
pxa2xx_hpi_read()、发送模块pxa2xx_hpi_write()。
4.1异步通知模块
pxa2xx_hpi_fasync()

异步通知机制用在数据接收的过程。当接收进程执行长的循环计算,但同时又需要尽可
能快的处理输入数据,则应该在新数据可用时立即知晓并处理。通过异步通知,应用程序可


以在数据可用时收到一个异步信号,而不需要不停的使用轮询方式。类似信号量的作用[2]。
Linux对于异步通知有通用的方法,基于两个函数。函数原型如下:
Int fasync_helper( int fd, struct file *filp, int mode, struct fasync_struct **fa );
Void kill_fasync( struct fasync_struct **fa, int sig, int band );
模块被OPE时,file结构体中的FASYC标志位默认是清空的,当该文件的FASYC
被修改时,调用fasync_helper函数便从相关的进程中增加该文件。接着,当数据输入时,
使用kill_fasync函数通知相关的进程,完成接收操作[2]。
4.2 数据接收模块与发送模块

数据接收和发送模块分别由函数pxa2xx_hpi_read()和pxa2xx_hpi_write()执行。
数据接收模块负责响应DSP发给ARM的中断信号,接收DSP发送到ARM的数据。程

序模块分为上半部和底半部,上半部为中断处理程序,以异步通知的方式响应HIT中断信

号,同时激活底半部程序。底半部程序以Tasklet机制完成数据搬移的操作。将程序分为上

半部和底半部,可以减小中断处理程序的工作量,将数据搬移这种耗时的操作交给底半部完
成,保证中断处理程序尽可能快的返回,大大提高了程序运行效率。具体过程为首先接受数
据包头并校验,如果校验有效则根据包头中的长度信息从HPIA的地址中读取相应长度的数
据,同时清除标志位并清中断。
数据发送模块负责将数据送入DSP,并向DSP发出中断信号。具体过程为首先判断标
志位是否清空,若清空则向发送缓冲区写入数据,同时向DSP发送中断信号。
接收与发送模块的程序流程图如图3:


????
?????
HIT??DSP??
????
?????
?????

??????

???????
Hpi_tasklet_func()





???
?????
Y

??????
????
?????
Y

???????
Y
??????
????
?????
Y





?DSP??
?DSPIT
?????
?????
??????kill_fasync()
???????

3 ARM部分数据接收与发送模块的程序流程图
5 DSP部分软件设计
DSP芯片TMS320DM642内部软件开发基于DSPBIOS操作系统,用于完成任务调度
管理、硬件中断管理等功能。DSP的功能模块也分为数据接收和数据发送两个模块,两个
模块以任务的方式运行,事先要在BIOS操作系统中注册,同时还要在BIOS中注册一段HPI
中断服务程序ISR,用以触发数据接收模块[1]。
5.1 HPI中断服务程序HWI_HPI()

该模块用于响应ARM向DSP发送的中断信号DSPIT,在程序中释放信号量
SEM_recv,以此来触发数据接收模块。程序代码如下:
void HWI_HPI(Uint32 Data, Uint32 ID)
{
SEM_ipost(&SEM_recv); 释放信号量


IRQ_clear(ID); 清空中断向量表中对应的标志位
}
5.2 数据接收模块与发送模块
数据接收模块以任务的方式运行,由中断服务程序触发,负责接收ARM送往DSP的
数据。首先判读信号量,如果大于0 ,则读取数据包头并进行包头校验;如果校验正确,
说明是有效数据,从接收缓冲区读取相应长度的数据到接收缓冲区,同时清空接收缓冲区标
志位,准备接收下一帧数据,清除中断位。
数据发送模块也以任务的方式运行。首先读取发送缓冲区标志位;如果标志位为0,则
说明ARM完成了上一帧数据的接收,可以发送新一帧数据;将有效数据打包,拷贝至发送
缓冲区;向ARM发送中断信号HIT。
6 测试结果与应用

6.1 测试环境
7和CCS2.20,分别运行ARM软件和DSP软件。 测试环境为虚拟机 Fedora
双方同时运行接收与发送模块,每帧数据量为10KByte,同时向对方周期性的发送有规
律的数据,并同时实时检测接收的数据,结果显示在在周期高于1ms的前提下,可以保证
双方数据传输准确无误。
根据以上测试结果,HPI接口的传输速率可达到10MBytes。
6.2 应用模型
现有的多媒体系统中,语音信号的数据传输率在
8K-48K之间不等,经过H.264或
MPEG4等算法压缩过的视频信号传输率也只有1M左右。根据以上的测试结果,10MBytes
的数据率完全可以满足多媒体系统中的媒体信号传输指标。用PXA255完成网络数据传输、
VOIP通话协议(如SIP)以及媒体数据实时传输协议等功能,DM642完成音频视频采集和
播放以及音频视频的多媒体信号处理压缩算法的实现。这样的双处理器通信系统可以用于
网络视频会议功能。
定义数据帧结构体如下:
typedef struct MSG_TYPE_Tag 消息结构体
{
Uint8 byType;
Uint8 byCh;


数据类型
通道号
命令类型
按键键值
消息数据长度
Uint8 byCmd;
Uint8 byKey;
Uint16 wLen;
Uint8 byData[MSG_DATABUF_LE]; 消息数据
}MSG_ TYPE, *pMSG_TYPE;
数据帧结构体MSG_TYPE结构体表示了数据帧的信息,byType表示一帧数据的类型如
音频、视频、控制信令等;byLen表示有效数据长度;byCh表示数据通道号,用以区分多
方会议时不同参与方的媒体信号;byData[MSG_DATABUF_LE]为有效的语音或视频信号;
byCmd表示具体的命令,如振铃、来电显示、摘机、挂机、忙音、按键等,这样就可实现
网络电话会议的各种信令。
7 结束语

ARM+DSP的双处理器结构已经广泛的应用到了通信终端、网络电话、视频传输、视频
会议、高速图像采集与处理等领域中。双方之间通信机制的设计对传输效率有着至关重要的
影响。HPI接口的并行性及其内部时序逻辑的严密性使得双处理器之间的通信可以在保证传


输速率的前提下不影响传输的准确性。随着ARM处理器指令集的日益完善、控制功能的逐
步增强以及DSP处理器指令周期的减小、密集型计算能力的增强,基于HPI的双处理器通
信机制将得到更为广泛的应用。
本文作者创新点:利用DSP内部主机接口HPI实现了ARM与DSP之间的高速通信,
设计了一套通信协议并基于Linux与DSPBIOS操作系统用软件实现了协议,将这种平台成
功的运用到了网络电话、视频会议等多媒体系统中。
参考文献:
[1]李方慧,王飞,何佩琨. TMS320C6000系列DSPs原理与应用[M].4版.北京.电子工业出
版社,2003:436-443。
[2]魏永明,耿岳,钟书毅(译).JOATHA CORBET,ALESSADRO RUBII & GREG
KROAH-HARTMA(著). LIUX设备驱动程序[M].3版.北京.中国电力出版社,2006:
163-172。
[3]Taxas Instruments 320DM642 Host Port Interface Reference Guide[EBOL].
[2006-1].http:。
[4]谭树人,陈建民,徐伟.ARM9 CPU与C6000 DSP的接口设计[J].机电工程技术,2006,
35(4):49-51。
[5]刘妮,王金刚.DSP主机接口与ARM的互连设计[J].电子测量技术,2006,29(3):47-48。
[6]崔丽珍,李伟.

基于DSP的HPI与主机通信的实现[J].微计算机信息,2008,8-3:67-69。

作者简介:李轶(1984-),男(汉族),山西人,中国科学院研究生院硕士研究生,研究方
向为嵌入式系统的设计与开发;张善从(1976-),男(汉族),福建人,中国科学院光电研
究院研究员,研究方向为空间探测技术。
Biography: Li Yi(1984-), Male(Han), Shan xi, postgraduate of GUCAS, majors in R&D of
embedded system; Zhang Shan-cong(1976-), Male(Han), Fujian, supervisor of GUCAS, majors
in Space detection.

-

接口技术-基于HPI的双处理器通信接口设计

发布时间:2022-03-29 20:10:43
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 17 条评论,322人围观)

最近发表

随便看看

热门文章

标签列表