TMS320F240與外圍器件的SPI接口方案
1 前言
數(shù)字信號(hào)處理器的誕生,揭開(kāi)了PC通信與消費(fèi)電子市場(chǎng)的新紀(jì)元。筆者這次重點(diǎn)介紹在研發(fā)過(guò)程中涉及到的TMS320F240與外圍器件的SPI接口設(shè)計(jì)。
2 結(jié)構(gòu)和特點(diǎn)
TMS320F240是TI公司在單一芯片上集成一個(gè)DSP內(nèi)核和各種外設(shè)器件,從而制造出面向各種工程應(yīng)用的DSP方案。
TMS320C240和TMS320F240作為第一個(gè)數(shù)字電機(jī)控制器的專用DSP,TMS320C240和TMS320F240確立了單片數(shù)字電機(jī)控制器的標(biāo)準(zhǔn),可支持電機(jī)的轉(zhuǎn)向、指令的產(chǎn)生、控制算法的處理、數(shù)據(jù)的交流和系統(tǒng)控制監(jiān)控等功能。特性如下:
●采用TMS320C2XX CPU內(nèi)核:
有32位中央邏輯運(yùn)算單元;
內(nèi)含32位累加器;
16位×16位并行乘法器;
8個(gè)16位輔助寄存器;
●具有50ns指令周期;
●含544字節(jié)16位在片數(shù)據(jù)/程序雙向RAM;
●帶有16k字節(jié)Flash EEPROM:
●雙向10位串行數(shù)模轉(zhuǎn)換器的采樣速率可達(dá)166kHz;
●具有28個(gè)獨(dú)立可編程、復(fù)用I/O腳;
●有串行外設(shè)接口和SCI接口;
●自帶強(qiáng)大的事件管理器;
●帶有實(shí)時(shí)中斷的看門狗電路;
●支持硬件JTAG硬件仿真。
3 SPI接口
SPI主要用于與各種外圍器件進(jìn)行通訊,這些外圍器件可以是簡(jiǎn)單的TTL移位寄存器或是復(fù)雜的LCD顯示驅(qū)動(dòng)器或A/D轉(zhuǎn)換子系統(tǒng)。SPI接口很容易與許多廠家的各種外圍器件直接相連。在多主機(jī)系統(tǒng)時(shí),SPI也可用于同MCU之間的通訊。
當(dāng)MCU片內(nèi)I/O功能或存儲(chǔ)器不能滿足需要時(shí),可用SPI與各種外圍器件相連以擴(kuò)展I/O功能。SPI子系統(tǒng)可以在軟件控制下構(gòu)成簡(jiǎn)單或復(fù)雜的系統(tǒng),如下所示:
●一個(gè)主MCU和幾個(gè)從MCU;
●幾個(gè)MCU互連,構(gòu)成多主機(jī)系統(tǒng);
●一個(gè)主MCU和一個(gè)或多個(gè)從外圍器件。
多數(shù)應(yīng)用場(chǎng)合用一個(gè)MCU作為主機(jī)。這些外圍器件用來(lái)接收或提供傳輸數(shù)據(jù),只有主機(jī)發(fā)出命令后,它們才能從主機(jī)接收數(shù)據(jù)或向主機(jī)發(fā)送數(shù)據(jù)。但要注意兩點(diǎn):第一,SPI與串行外圍器件相連時(shí),SPI必須置為主機(jī);第二,在使用SPI傳送數(shù)據(jù)之前必須進(jìn)行初始化。
4 接口設(shè)計(jì)
TMS320F240的SPI接口是一個(gè)高速的同步串行I/O口,它允許1~8位的串行比特流以特定的傳輸速率移進(jìn)移出芯片。通常情況下,它主要用于DSP控制器和外圍設(shè)備之間的通信或兩個(gè)DSP之間的通信。其典型應(yīng)用包括通過(guò)移位寄存器、ADC等進(jìn)行外部I/O或外圍設(shè)備擴(kuò)展。
該SPI接口有主、從兩種工作模式,125個(gè)可編程的波特率,接收或發(fā)送操作通過(guò)中斷或查詢方式來(lái)完成。整個(gè)工作狀態(tài)通過(guò)設(shè)置10個(gè)控制寄存器來(lái)完成。
首先應(yīng)設(shè)置相應(yīng)的控制寄存器,并分別將這四個(gè)管腳設(shè)置為串行時(shí)鐘、使能、接收和發(fā)送腳。而后將SPISTE腳置為高。最后,通過(guò)控制寄存器依次設(shè)置SPI的工作模式、傳輸速率、數(shù)據(jù)位數(shù)和中斷標(biāo)志位,并將其發(fā)送、接收管腳與相應(yīng)外圍設(shè)備的輸入、輸出腳相連。
在設(shè)計(jì)過(guò)程中應(yīng)注意,TMS320F240的一個(gè)主要特點(diǎn)就是通過(guò)各種各樣的控制寄存器來(lái)實(shí)現(xiàn)對(duì)各管腳、各單元工作模式和工作過(guò)程的控制,所以設(shè)計(jì)的每一步都要充分考慮對(duì)其相應(yīng)控制寄存器的設(shè)置和對(duì)寄存器狀態(tài)的影響。否則,整個(gè)系統(tǒng)很難進(jìn)行正常的工作或按設(shè)計(jì)的要求來(lái)工作。
5 應(yīng)用舉例
應(yīng)用SPI口實(shí)現(xiàn)對(duì)外部串行A/D的控制,其中的串行A/D采用MAX186,它是一個(gè)包含有8個(gè)通道模擬開(kāi)關(guān)、寬帶采樣/保持器和串行接口的具有較高轉(zhuǎn)換速度和極低功耗的12位數(shù)據(jù)采集芯片。其4線串行接口可直接連接SPI、QSPI、MicroWire等器件而無(wú)需外部邏輯,串行輸出允許直接接TMS320系旬的數(shù)字信號(hào)處理器。在自動(dòng)監(jiān)測(cè)、醫(yī)療儀器和高精度控制過(guò)程中有較為廣泛的應(yīng)用。MAX186與TMS320F240的接口設(shè)計(jì)如圖2所示,流程為:
?。?)設(shè)置F240的SPI口為工作狀態(tài),并將串行時(shí)鐘信號(hào)SPICLK與MAX186的SCLK腳相連。
?。?)由F240置MAX186的片選端為低。
?。?)F240通過(guò)SPISOMI發(fā)送控制字初始化MAX186,并設(shè)置轉(zhuǎn)換模式,開(kāi)始數(shù)據(jù)轉(zhuǎn)換。
(4)數(shù)據(jù)轉(zhuǎn)換完成,MAX186通過(guò)SSTRB通知F240準(zhǔn)備接收數(shù)據(jù)。
(5)F240通過(guò)SPISIMO在SCLK的上跳沿依次接收12位轉(zhuǎn)換結(jié)果。
(6)接收完畢,置MAX186片選端為高,等下一次轉(zhuǎn)換。
6 結(jié)束語(yǔ)
同步串行外圍接口SPI使得DSP可方便地與各種外圍設(shè)備進(jìn)行通信,從而使DSP在更多領(lǐng)域得到更廣泛的應(yīng)用,相信DSP在未來(lái)必將踏入更多領(lǐng)域。
評(píng)論