MCU与DSP的SPI通信设计
中断程序如下:
LDP #6
LACC K;K=K+1
ADD #1
SACL K
MAR *,AR2;AR2为存储单元地址指针
LDP #DP_PF1
LACC SPIRXBUF
AND #00FFH;高位屏蔽掉
SACL *+
LDP #6
LACC K
SUB #1;判断是否为指令数据
BCND L1,NEQ
LDP #0
LACC #70H
SUB #0
BCND L3,NEQ;不是0则跳到L3
BL2;是0则跳到L2
L1: …;判断是否是第2个数据
L4: LACCK;判断数据是否传送完毕
SUB #05H
BCND L5,EQ
BL2
L5:LDP #0;数据全部发送完毕
LACC 72H
LDP #6
SACL SPEED;赋值给相应变量
……
L3: SPLK K,0;K=0
LDP #0
LAR AR2,#70H;地址指针指回70H
L2: CLRC INTM;开中断
RET
3 结论
实验证明,应用SPI通信进行MSP430单片机与DSP之间的串口通信完全满足伺服系统实时性的要求。同时,由于SPI接口功能比较完善,通信协议清晰,时序简单,无须外加其他元器件即可方便地实现DSP与主机之间数据的串行通信,简化了系统设计,增强系统的实时处理能力和应用范围。结构灵活性强,便于扩展,同时减轻了主CPU负担,提高了系统的可靠性。
参考文献
[1] 胡大可.MSP430系列超低功耗16位单片机原理与应用[M].北京:北京航空航天大学出版社,2000.
[2] Texas Instruments.MSP430x1xx Family Users Guide (SLAU049B.pdf),2002.
[3] 刘和平,严利平,张学锋,等.TMS320LF240X DSP结构、原理及应用[M].北京:北京航空航天大学出版社,2002.
[4] 任志斌,车长征.串行外设接口SPI的应用[J] .电子技术应用,2002,29(10):2022.
[5] 魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002.
评论