MCU與DSP的SPI通信技術詳解[4]

互聯(lián)網(wǎng)技術 責任編輯:nyquist 2012-03-22

摘要:2.4DSP接收數(shù)據(jù)DSP接收單片機發(fā)送過來的數(shù)據(jù)是通過中斷方式實現(xiàn)的,每傳輸一個數(shù)據(jù)就發(fā)生一次中斷。主程序完成對DSP的初始化后進入等待狀態(tài),一旦接收到單片機的中斷信號,DSP就進入中斷服務子程序,將接收到的數(shù)據(jù)存放在70H開始的存儲單元中。當所有數(shù)據(jù)傳輸完成后,將這些數(shù)據(jù)賦給相應的變量。這里要注意的是,DSP的SPIRXBUF是16

2.4 DSP接收數(shù)據(jù)

DSP接收單片機發(fā)送過來的數(shù)據(jù)是通過中斷方式實現(xiàn)的,每傳輸一個數(shù)據(jù)就發(fā)生一次中斷。主程序完成對DSP的初始化后進入等待狀態(tài),一旦接收到單片機的中斷信號,DSP就進入中斷服務子程序,將接收 到的數(shù)據(jù)存放在70H開始的存儲單元中。當所有數(shù)據(jù)傳輸完成后,將這些數(shù)據(jù)賦給相應的變量。這里要注意的是,DSP的SPIRXBUF是16位,而單片機發(fā)送的數(shù)據(jù)是8位,所以在DSP接收到數(shù)據(jù)以后需要做處 理,把高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;判斷是否為指令數(shù)據(jù)

BCND L1,NEQ

LDP #0

LACC #70H

SUB #0

BCND L3,NEQ;不是0則跳到L3

BL2;是0則跳到L2

L1: …;判斷是否是第2個數(shù)據(jù)

L4: LACCK;判斷數(shù)據(jù)是否傳送完畢

SUB #05H

BCND L5,EQ

BL2

L5:LDP #0;數(shù)據(jù)全部發(fā)送完畢

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之間的串口通信完全滿足伺服系統(tǒng)實時性的要求。同時,由于SPI接口功能比較完善,通信協(xié)議清晰,時序簡單,無須外加其他元器件即可方便地實現(xiàn)DSP 與主機之間數(shù)據(jù)的串行通信,簡化了系統(tǒng)設計,增強系統(tǒng)的實時處理能力和應用范圍。結構靈活性強,便于擴展,同時減輕了主CPU負擔,提高了系統(tǒng)的可靠性。

[1]  [2]  [3]  [4]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

通信工程師備考資料免費領取

去領取

距離2025 通信工程師考試

還有
  • 3
  • 1
  • 2
專注在線職業(yè)教育23年

項目管理

信息系統(tǒng)項目管理師

廠商認證

信息系統(tǒng)項目管理師

信息系統(tǒng)項目管理師

!
咨詢在線老師!