色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MCU與DSP的SPI通信設計

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-07-23 17:11 ? 次閱讀

引言

現今的工控系統中,為了提高系統的實時性和適用性,一般采用DSP來完成核心算法與控制,而使用MCU來實現人機對話,以實現實時控制功能。這樣,DSP和MCU需要一種高效的數據總線來完成它們之間的大量數據傳送。SPI總線由于占用的接口線少,通信效率高,并且大部分處理器芯片都支持,因而是一種理想的設計方案。

針對交流伺服系統實際使用的要求,采用TI公司的高性能DSP控制器TMS320LF2407A(簡稱“2407A”)作為控制核心;選用TI公司生產的MSP430系列單片機中的MSP430F149作為人機界面的控制芯片,來實現按鍵和數據采集以及顯示的功能;采用SPI串口通信實現單片機與DSP之間的數據傳輸。

1 系統硬件的構成

1.1 MSP430


MSP430系列單片機是TI公司近幾年開發的新一代單片機。該單片機在設計上打破常規采用了全新的概念,其突出的優點是低電源電壓、超低功耗、多種功能。由于其功能遠遠超過其他系列單片機的功能,因而又稱為“混合型單片機”。MSP430具有非常高的集成度,單片集成了多通道的12位A/D轉換、片內精密比較器、多個具有PWM功能的定時器、片內USART、看門狗定時器、片內數控振蕩器、大量的I/O端口以及大容量的片內存儲器。同時,MSP430F149是Flash存儲器型單片機,具有良好的仿真開發技術,設置有JTAG仿真接口和高級語言編譯器。在系統支持軟件下,在線實現對目標系統的硬件調試及軟件開發,包括匯編語言、C語言、連接及動態調試,具有單步、多斷點和跟蹤,并且開放全部存儲器、寄存器,可以方便、可靠地對系統進行軟硬件開發[12]。

基于以上特點,該系列單片機在便攜式儀表、智能傳感器、實用檢測儀器、電機控制、家庭自動化等領域的應用較為普遍。

1.2 TMS320LF2407A

2407A是TI公司為滿足工業控制應用,尤其是電機控制而設計的。把一個高性能的 DSP核和許多外圍設備集成到單片內。2407A的40 MIPS的處理速度可以滿足快速地處理大量數據和算法的需要。

2407A具有豐富的外設模塊: 3K字的Flash程序存儲器、1.5K字的數據/程序RAM、544字雙口RAM(DARAM)和2K字的單口RAM(SARAM)、2個事件管理器EVA和EVB、16通道輸入的A/D轉換器,具有看門狗定時器模塊(WDT)、串行通信接口(SCI)、16位的串行外設接口模塊(SPI)、控制器局域網絡(CAN)2.0B模塊、基于鎖相環的時鐘發生器、高達40個可單獨編程或復用的通用輸入/輸出引腳、5個外部中斷。由此可以看出,2407A確實有著很強的實時處理能力,不失為高性能伺服驅動控制的理想器件之一[3]。

1.3 硬件接口設計與SPI通信的實現

SPI通信設備在硬件連接上只需要將主機的發送與從機的接收相連,將主機的接收與從機的發送相連,將主機產生的時鐘信號輸出至從機的時鐘引腳上。單片機與外設的硬件連接如圖1所示。

image.png
圖1 MSP430F149與DSP的接口連接電路

單片機MSP430F149作為串行通信的主機, DSP 2407A則作為從機(slave)。其中,SPICLK為SPI時鐘引腳, SPISIMO為SPI從動輸入/主動輸出,SPISOMI為從動輸出/主動輸入,SPISTE為從動發送使能。

從圖1可以看出,SPI通過一根時鐘引線將主機和從機同步,因此,它的串行數據交換不需要增加起始位、停止位等用于同步的格式位,直接將要傳送的數據寫入主機的SPI發送數據寄存器。這個寫入過程自動啟動主機的發送過程,即在同步時鐘SPICLK的節拍下把SPITXBUF的內容一位一位地移到引腳SPISIMO;對于從機,同樣在SPICLK的節拍下將出現在引腳SPISIMO上的數據一位一位地移到從機的移位寄存器,當接收完一個完整的數據塊后,設置中斷標志通知從機這個數據塊已接收完畢,并同時將移位寄存器接收到的內容復制到從機的SPI接收數據寄存器SPIRXBUF。可以看出,用戶編程只需在發送數據時寫數據到SPI發送數據寄存器,在接收數據時讀SPI接收數據寄存器,其余的工作都由SPI模塊自動完成[4]。

2 軟件設計

MSP430F149和DSP都允許用戶用C語言和匯編語言進行編程。系統中DSP對電機實現實時控制,對運行速度要求嚴格,所以程序采用匯編語言實現。MSP430實現按鍵顯示、數據管理和指令傳輸等功能,對運行速度要求不高,所以采用C語言實現。

軟件設計的主要任務是:初始化相應的寄存器;單片機在相應的界面發送數據;DSP及時接收到達串口的數據,識別并保存數據。

2.1 通信協議的設置

兩個設備之間要實現相互通信,首先必須規定用以傳輸數據的協議。一般來說,主機發送命令和配置信息給從機,而從機則向主機發送反饋信息。系統主要實現的是單片機向DSP發送數據信息,單片機首先發送指令數據表示主機發送數據的過程開始。如果發送的是0,則標志著該過程的開始。為了避免誤操作指令數據發送兩次,DSP接收的兩個數據都是0時進行相應的操作,否則重新傳輸指令數據。然后把單片機需要傳輸的數據存放在一個數組里面依次傳送,比如要傳輸3個數據,則定義數組a[0]和a[1]存放指令數據,a[2]到a[4]存放需要傳送的數組。

2.2 串行口的初始化

單片機的SPI初始化包括:把相應的I/O口配置成具有SPI特殊功能的接口,時鐘模式的選定,波特率的選擇,發送接收數據長度的選擇,內部相對應的時鐘使能。所有設置都是通過設計相對應的SPI控制寄存器實現的[5]。

初始化程序如下:

WDTCTL=WDTPW+WDTHOLD;//關閉看門狗
BCSCTL1 = RSEL0 + RSEL1 + RSEL2; // XT2on
BCSCTL2 = SELM1 + SELS;//選擇高速晶體振蕩器作為時鐘源
UCTL1=CHAR + SYNC + MM + SWRST;//SPIZ主模式8位數據,單片機作為主動模式
UTCTL1=STC+SSEL1+CKPL ;//數據在下降沿輸出,系統主時鐘,三線模式
UBR01=0x02;
UBR11=0x00;//波特率設為fclk/2
UMCTL1=0x00;
ME2=USPIE1;//模塊使能2
P5SEL|=0x0F;//低4位為模塊端口功能
P5OUT|=0xf0;
UCTL1&= ~SWRST;//復位結束

2407A的SPI初始化與單片機的初始化相類似,但是DSP作為從器件,所以其波特率由主器件決定不需要再進行設計。

2.3 MSP430發送數據

系統具有薄膜按鍵和液晶顯示,可以方便地在需要的時候發送數據。比如,在設計完參數后就會出現一個選擇界面,讓操作者選擇是進行參數保存、參數備份還是傳遞參數給DSP,操作者可以根據自己不同的需要選擇相應的功能。如果選擇參數傳遞功能,則單片機會跳到相應的程序段執行參數傳遞的任務。發送數據程序如下:

P5OUT &= 0x1f;//片選DSP芯片
while((U1IFG & UTXIFG1) != UTXIFG1);
for(k=0;k<6;k++) {//傳輸的數據個數
P5OUT &= 0x1f;
while((U1IFG & UTXIFG1) != UTXIFG1);
TXBUF1=a[k];//發送數據
while((UTCTL1&0x01)==0);//發送完成
delay(10);
P5OUT &= 0x2f;
}

2.4 DSP接收數據

DSP接收單片機發送過來的數據是通過中斷方式實現的,每傳輸一個數據就發生一次中斷。主程序完成對DSP的初始化后進入等待狀態,一旦接收到單片機的中斷信號,DSP就進入中斷服務子程序,將接收到的數據存放在70H開始的存儲單元中。當所有數據傳輸完成后,將這些數據賦給相應的變量。這里要注意的是,DSP的SPIRXBUF是16位,而單片機發送的數據是8位,所以在DSP接收到數據以后需要做處理,把高8位屏蔽掉。可以通過與00FF相與來達到這個目的。中斷程序流程如圖2所示。

image.png

中斷程序如下:

LDP#6
LACCK;K=K+1
ADD#1
SACLK
MAR*,AR2;AR2為存儲單元地址指針
LDP#DP_PF1
LACCSPIRXBUF
AND#00FFH;高位屏蔽掉
SACL*+
LDP#6
LACCK
SUB#1;判斷是否為指令數據
BCNDL1,NEQ
LDP#0
LACC#70H
SUB#0
BCNDL3,NEQ;不是0則跳到L3
BL2;是0則跳到L2
L1: …;判斷是否是第2個數據
L4: LACCK;判斷數據是否傳送完畢
SUB#05H
BCNDL5,EQ
BL2
L5:LDP#0;數據全部發送完畢
LACC72H
LDP#6
SACLSPEED;賦值給相應變量
……?T
L3: SPLKK,0;K=0
LDP#0
LARAR2,#70H;地址指針指回70H
L2: CLRCINTM;開中斷
RET

3 結論

實驗證明,應用SPI通信進行MSP430單片機與DSP之間的串口通信完全滿足伺服系統實時性的要求。同時,由于SPI接口功能比較完善,通信協議清晰,時序簡單,無須外加其他元器件即可方便地實現DSP與主機之間數據的串行通信,簡化了系統設計,增強系統的實時處理能力和應用范圍。結構靈活性強,便于擴展,同時減輕了主CPU負擔,提高了系統的可靠性。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dsp
    dsp
    +關注

    關注

    553

    文章

    7987

    瀏覽量

    348759
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17123

    瀏覽量

    350994
  • 控制器
    +關注

    關注

    112

    文章

    16332

    瀏覽量

    177812
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1706

    瀏覽量

    91508
收藏 人收藏

    評論

    相關推薦

    SPI總線實現DSPMCU之間的高速通信

    簡述了SPI總線協議工作時序和配置要求,通過一個成功的實例詳細介紹了使用SPI總線實現DSPMCU之間的高速通信方法,并參考實例給出了
    發表于 11-27 15:10 ?58次下載

    一種通過SPI接口協議實現DSP與其它設備通信的方法

    介紹了SPI通信協議,并著重介紹了TI公司生產的TMS320C5402 DSP用于SPI協議通信時的串口配置方法和接口電路設計實例,最后給出
    發表于 05-06 20:17 ?2463次閱讀
    一種通過<b class='flag-5'>SPI</b>接口協議實現<b class='flag-5'>DSP</b>與其它設備<b class='flag-5'>通信</b>的方法

    CPLD的DSPSPI端口通信設計

    本文給出了DSPSPI端口通信的設計與實現過程,討論了其中的關鍵技術問題。SPI多端口通信方法基于CPLD實現,易移植,易于實現功能擴展,
    發表于 05-30 11:22 ?3850次閱讀
    CPLD的<b class='flag-5'>DSP</b>多<b class='flag-5'>SPI</b>端口<b class='flag-5'>通信</b>設計

    ARM與DSPSPI通信設計實現

    提出一種測量儀器的多處理機分布式控制方案, 并對DSP 與移植了Linux 操作系統的ARM之間SPI 通信設計進行了著重闡述。對于這樣的特定系統, 首先要完成Linux 下的SPI
    發表于 06-14 17:25 ?127次下載
    ARM與<b class='flag-5'>DSP</b>的<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>設計實現

    關于DSPSPI端口通信設計的探究

    。本文以一種超聲波電機運動控制裝置為應用背景,討論了基于CPLD的DSP控制芯片多SPI端口通信技術。 串行同步外設端口(SPI)通常也稱為同步外設端口,具有信號線少、協議簡單、傳輸速
    發表于 10-24 10:57 ?2次下載
    關于<b class='flag-5'>DSP</b>多<b class='flag-5'>SPI</b>端口<b class='flag-5'>通信</b>設計的探究

    基于SPI通信接口的兩片DSP的雙向通信和任務同步

    數據雙向通信,TMS320F2812 DSP芯片內部集成了一個SPI模塊,方案提出了一種基于SPI通信接口的兩片
    發表于 10-30 15:00 ?10次下載
    基于<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>接口的兩片<b class='flag-5'>DSP</b>的雙向<b class='flag-5'>通信</b>和任務同步

    DSP參考程序spi

    DSP參考程序spi
    發表于 04-10 15:46 ?11次下載

    如何利用SPI模塊進行雙DSP同步串行通信設計

    隨著數字信號處理器(DSP)在系統控制領域中的廣泛應用,控制各系統的DSP 之間 通信問題也越來越突出。利用DSP 本身的高速同步串行接口(SPI
    的頭像 發表于 02-06 08:56 ?7625次閱讀
    如何利用<b class='flag-5'>SPI</b>模塊進行雙<b class='flag-5'>DSP</b>同步串行<b class='flag-5'>通信</b>設計

    基于FPGA與MCU通信SPI協議設計

    typora-copy-images-to: typora_picture基于FPGA與MCU通信SPI協議設計1. SPI總線協議介紹及硬件設計1.1
    發表于 11-05 15:35 ?16次下載
    基于FPGA與<b class='flag-5'>MCU</b><b class='flag-5'>通信</b>的<b class='flag-5'>SPI</b>協議設計

    DSP與FPGA間SPI通信(DSP為主、FPGA為從)

    DSP芯片(master):TMS320F28069FPGA芯片(slave):Spartan-xc6slx25-2ftg256SPI協議:SCK:5MHz數據長度:8ByteFalling
    發表于 12-05 17:21 ?42次下載
    <b class='flag-5'>DSP</b>與FPGA間<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>(<b class='flag-5'>DSP</b>為主、FPGA為從)

    SPI通信筆記

    ,I輸入)片選線CS(主機用于選擇參與通信的從機)2、通信特點: 同步、串行、全雙工一般情況下,MCU與某個功能模塊之間用SPI通信時,
    發表于 12-09 17:21 ?5次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>通信</b>筆記

    基于DSP28035的模擬SPI

    基于DSP28035的模擬SPI————你真的理解SPI通信嗎?? 你真的理解SPI是怎么通信
    發表于 12-22 19:16 ?8次下載
    基于<b class='flag-5'>DSP</b>28035的模擬<b class='flag-5'>SPI</b>

    MCU SPI接口訪問非標準SPI ADC的方法

    當前許多精密模數轉換器(ADC)具有串行外設接口(SPI)或某種串行接口,用以與包括微控制器單元(MCU)、DSP和FPGA在內的控制器進行通信。控制器寫入或讀取ADC內部寄存器并讀取
    發表于 02-09 11:28 ?5次下載
    <b class='flag-5'>MCU</b> <b class='flag-5'>SPI</b>接口訪問非標準<b class='flag-5'>SPI</b> ADC的方法

    車載T-BOX中MCU和SoC通信方案(SPI通信方式)

    在車載T-BOX中,MCU和SoC之間必然存在數據通信,本篇博文將分享一種基于SPI方式的通信方案。
    的頭像 發表于 01-03 11:26 ?3901次閱讀
    車載T-BOX中<b class='flag-5'>MCU</b>和SoC<b class='flag-5'>通信</b>方案(<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>方式)

    基于MSP430單片機MCUDSPSPI通信設計

    電子發燒友網站提供《基于MSP430單片機MCUDSPSPI通信設計.pdf》資料免費下載
    發表于 10-30 10:14 ?6次下載
    基于MSP430單片機<b class='flag-5'>MCU</b>與<b class='flag-5'>DSP</b>的<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>設計
    主站蜘蛛池模板: 67194成网页发布在线观看| 玩高中女同桌肉色短丝袜脚文| 日本人六九视频| 亚洲精品中文字幕无码A片蜜桃| 医生含着我的奶边摸边做| 白嫩美女直冒白浆| 寂寞夜晚视频在线观看| 欧美精品高清在线观看| 亚洲精品久久国产高清| av天堂网站avtt2017| 国产香蕉视频在线播放| 欧美69xxx| 亚洲免费三区| 白丝制服被啪到喷水很黄很暴力| 國產日韓亞洲精品AV| 日本xxxx96| 与子敌伦刺激对白亂輪亂性| 俄罗斯爱爱| 蜜柚视频在线观看全集免费观看| 午夜AV国产欧美亚洲高清在线| 91久久偷偷做嫩草影院免| 国产午夜精品理论片| 欧美人与动交zOZ0| 伊人久久大香线蕉综合电影| 广西美女色炮150p图| 免费伦理片网站| 亚洲色综合狠狠综合区| 高h 纯肉文| 女人被弄到高潮叫床免| 亚洲嫩草影院久久精品| 古代荡女丫鬟高H辣文纯肉| 美女张开腿让男生桶动态图 | 让男人玩尿道的女人| 夜夜澡人人爽人人喊_欧美| 国产成人免费不卡在线观看| 男生插曲女生身全过程| 伊人久久精品午夜| 国产网站免费观看| 色欲国产麻豆精品AV免费| ae58老司机福利| 美美哒免费影视8|