新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MCU與DSP的SPI通信設(shè)計(jì)

MCU與DSP的SPI通信設(shè)計(jì)

作者: 時(shí)間:2012-04-13 來(lái)源:網(wǎng)絡(luò) 收藏

引言

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

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

1 系統(tǒng)硬件的構(gòu)成

1.1 MSP430

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

基于以上特點(diǎn),該系列單片機(jī)在便攜式儀表、智能傳感器、實(shí)用檢測(cè)儀器、電機(jī)控制、家庭自動(dòng)化等領(lǐng)域的應(yīng)用較為普遍。

1.2 TMS320LF2407A

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

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

1.3 硬件接口設(shè)計(jì)與SPI通信的實(shí)現(xiàn)

SPI通信設(shè)備在硬件連接上只需要將主機(jī)的發(fā)送與從機(jī)的接收相連,將主機(jī)的接收與從機(jī)的發(fā)送相連,將主機(jī)產(chǎn)生的時(shí)鐘信號(hào)輸出至從機(jī)的時(shí)鐘引腳上。單片機(jī)與外設(shè)的硬件連接如圖1所示。

MCU與DSP的SPI通信設(shè)計(jì)

圖1 MSP430F149與DSP的接口連接電路

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

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


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: MCU DSP

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉