MCU与DSP的SPI通信技术详解[4]

互联网技术 责任编辑:nyquist 2012-03-22

摘要:2.4DSP接收数据DSP接收单片机发送过来的数据是通过中断方式实现的,每传输一个数据就发生一次中断。主程序完成对DSP的初始化后进入等待状态,一旦接收到单片机的中断信号,DSP就进入中断服务子程序,将接收到的数据存放在70H开始的存储单元中。当所有数据传输完成后,将这些数据赋给相应的变量。这里要注意的是,DSP的SPIRXBUF是16

2.4 DSP接收数据

DSP接收单片机发送过来的数据是通过中断方式实现的,每传输一个数据就发生一次中断。主程序完成对DSP的初始化后进入等待状态,一旦接收到单片机的中断信号,DSP就进入中断服务子程序,将接收 到的数据存放在70H开始的存储单元中。当所有数据传输完成后,将这些数据赋给相应的变量。这里要注意的是,DSP的SPIRXBUF是16位,而单片机发送的数据是8位,所以在DSP接收到数据以后需要做处 理,把高8位屏蔽掉。可以通过与00FF相与来达到这个目的。

中断程序如下:

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]  [2]  [3]  [4]  

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

通信工程师备考资料免费领取

去领取

距离2025 通信工程师考试

还有
  • 0
  • 3
  • 7
专注在线职业教育24年

信息系统项目管理师

信息系统项目管理师

!
咨询在线老师!