- 13
- 0
- 约1.01万字
- 约 4页
- 2017-06-13 发布于河南
- 举报
HPI讯协议
ARM和DSP间HPI通讯协议
拟定: 2007-7-19
此通信协议定义了ARM(AT91RM9200)与DSP(TMS320DM642)之间信息交换的规则。通信协议分为三个层次:
No
层 次
协议内容及作用
3
表示层
指定每条命令具体含义、参数、执行时限等参数。
2
传输层
规定数据传递流程、传送区域、数据格式、应答机制。
1
物理层
ARM与DSP机之间的通信介质及其连接,电气功能和规程,确保数据传输正确可靠。
一、物理层
由于DM642具备32位HPI接口,目前物理层采取32位并行通信方式,通过缓冲器将DM642的HPI接口相应的寄存器映射至ARM外部存储器空间,各寄存器映射在ARM端的具体地址如下表所示,ARM利用这些寄存器可访问DSP的指定存储区域。
名称
地址
寄存器功能描述
HPIC
0HPI控制寄存器
HPIA
0HPI地址寄存器,指定要访问的DSP端的存储器地址
HPIDF
0HPI固定地址访问数据寄存器
HPIDA
0x8000000C
HPI地址自增长访问数据寄存器
其中HPIC各位的定义如下表:
ARM可访问位操作功能如下表所示,其它位对ARM端为只读,且恒为0。
位名称
功能描述
HINT
DSP写此位向ARM发送中断,ARM写1清除中断
DSPINT
ARM写1向DSP发送中断
HWOB
16位HPI访问时表示高低半字。
ARM在每次数据交换时,先向HPIA写入要操作的目的地址,通过HPIDF可操作指定地址,而对HPIDA的访问,将会使地址自动加1。通过这四个寄存器,ARM可访问DSP端的所有存储空间,而我们指定一个区域用于双方通信。
有关HPI的详细说明请参见TM320C6000 DSP Host Port Interface(HPI) Reference Guide。
二、传输层
1.命令/应答包格式及存放地址约定
本协议规定ARM发给DSP的报文称为命令包,DSP反馈给ARM的报文称为应答包,这两种报文物理上都存放在DSP端的指定存储区域内,命令包存放的区域称为命令区,应答包存放的区域称为应答区。命令包须由ARM通过HPI寄存器写入,应答包虽由DSP产生并通知ARM,但仍然需要ARM主动地去读取,这是由HPI口的特性所决定的。
ARM和DSP间的通信流程为ARM先向命令区写入命令包,然后利用DSPINT位通知DSP;而DSP处理完命令后,如果表示层命令需要应答,则将应答命令包写入应答区域,尔后通过HINT位通知ARM(中断线IRQ4),ARM则到应答区读回应答包。
命令包格式及命令区划分
命令包格式:
命令字
命令参数长度
校验和
命令参数
命令包详细定义表:
名称
长度
功能说明
命令字
1字
标识命令含义
命令参数长度
1字
所带参数长度(0-256)
校验和
1字
命令字、参数长度、以及命令参数之累加和。
命令参数
0-256字
命令所带参数
其中命令字长度为4字节,前三字节固定为“WIS”,最后一字节为命令号,如下表所示。
名称
长度
内容
固定前导
3字节
字符串“WIS”
命令号
1字节
命令序号,0~255
命令区地址如下表所示,ARM将这些地址写入HIPA后,通过HIPDF或HPIDA写入命令包。
名称
DSP端地址
命令字
0命令参数长度
0校验和
0命令参数
0x8200000C~0x8
应答包格式及应答区地址
应答包格式:
应答字
应答参数长度
校验和
应答参数起始地址
应答包详细定义表:
名称
长度
功能说明
应答字
1字
标识应答含义
应答参数长度
1字
应答参数长度
校验和
1字
应答字、参数长度、以及应答参数起始地址之累加和。
应答参数起始地址
1字
存放应答参数的起始地址
其中应答字长度为4字节,格式如下表所示。
名称
长度
内容
固定前导
2字节
字符串“AC”
应答命令号
1字节
应答命令号,0~255
执行结果
1字节
表示DSP对收到的命令包的结果
执行结果用来表示命令的处理结果,包括命令包校验是否正确,执行是否成功,出错原理等内容,目前先定义几种结果,其他未用值以后可做为扩充。
执行结果值
含义
00
命令包校验错
01
命令执行失败
02
命令执行成功
03-FF
暂保留为错误号
应答区地址如下表所示,ARM将这些地址写入HIPA后,通过HIPDF或HPIDA读回应答包,而应答参数需要根据包中给出的参数起始地址和长度重新进行读取,考虑到视频图像等大数据量的传输,应答参数未固定在应答区内,其存放地址是动态变化的。
名称
DSP端地址
应答字
0x8
应答参数长度
0校验和
0x82000414
原创力文档

文档评论(0)