③ 注意设置HPIC中的XHPIA位。XHPIA=1时,表示对DSP的7位扩展地址进行操作;XHPIA=0时,表示对DSP的低16位地址进行操作。由于DSP复位后,XHIPA的状态是不确定的,所以必须首先对XHPIA进行设置。
④ 主机和DSP可以互相中断。主机通过向HPIC中的位DSPINT写入1来中断DSP。该位总是被读出为0,而且DSP对该位的写操作是无用的。而DSP 要中断主机时,向HPIC中的位HINT写入1,这时HPI的接口引脚被置低,从而使主机产生中断。该位总是读出为1,主机可以对该位写1来清除中断,这时引脚就恢复高电平。
下面给出一段程序实例:单片机将DSP内部RAM 1000H单元的内容读出。硬件按照图1所示连接。
;设置HPIC, XHPIA=1
SETB P1.1
MOV DPTR, #0000H
MOV A, #18H
MOVX @DPTR, A
MOV DPTR, #0004H
MOV A, #18H
MOVX @DPTR, A ;完成初始化
MOV DPTR, #0002H
MOV A, #00H
MOVX @DTPR, A MOV DPTR, #0006H
MOV A, #00H
MOVX @DPTR, A ;置扩展地址为0
;设置HPIC,XHIPA=0
MOV DPTR, #0000H
MOV A, #08H
MOVX @DPTR, A
MOV DPTR, #0004H
MOV A, #08H
MOVX @DPTR, A
MOV DPTR, #0002H
MOV A, #10H
MOVX @DTPR, A ;写地址高8位 MOV DPTR, #0006H
MOV A, #00H
MOVX @DPTR, A ;写地址低8位
WAIT: JNB P1.0, WAIT ;判断内部传输是否完成
CLRB P1.1
MOV DPTR, #000BH
MOVX A, @DPTR ;读高8位
MOV B, A
MOV DPTR, #000FH
MOVX A, @DPTR ;读低8位
;读操作完成
3 总 结 当然DSP与单片机之间还有许多其它的连接方式,例如利用双口RAM,或者是通过串口,但是它们都占用DSP的处理时间,在要求苛刻的场合可能会影响到系统的实时性。而HPI接口是通过DSP片内的DMA控制器来访问片内存储器的,不需要DSP的干预。可以说,HPI接口是DSP的一个“后门”,单片机通过这个“后门”可以访问到DSP的片内存储器。只有当HPI接口和DSP同时对同一地址进行访问时,由于HPI具有访问优先权,这时DSP的执行会被延迟一个周期,而这种情况对系统实时性的影响是非常小的。
参考文献1 Texas Instruments. TMS320C54x DSP Reference Set Volume 5: Enhanced Peripherals
2 Texas Instruments. SN74LVC16245A 16-Bit Bus Transceiver With 3-State Outputs
汤华庚:硕士研究生,主要研究方向为智能仪器、单片机及DSP应用技术。
本文关键字:技术 单片机 接口 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术