TMS320F240型DSP的SPI口的擴展

發(fā)布時(shí)間:2010-10-13 11:47    發(fā)布者:techshare
關(guān)鍵詞: dsp , spi , TMS320F240 , 擴展
1 引言

DSP芯片,也稱(chēng)數字信號處理器,是一種特殊結構的微處理器。DSP芯片內部采用程序和數據分開(kāi)的哈佛結構,具有專(zhuān)門(mén)的硬件乘法器,廣泛采用流水線(xiàn)操作,提供特殊的DSP指令,可以用來(lái)快速實(shí)現各種數字信號處理算法。因此,DSP在計算密集的實(shí)時(shí)控制領(lǐng)域得到了日益廣泛的應用。TMS320F240是目前應用比較廣泛的一款定點(diǎn)DSP,它具有20MIPS的指令執行速度,強大的內部事件管理器、I/O端口和其他外圍設備。其中,串行外設接口(SPI)是一個(gè)高速同步串行輸入/輸出(I/O)端口,它允許一個(gè)具有可編程長(cháng)度(1到8位)的串行位流,以可編程的位傳送速率從設備移入或移出。SPI通常用于DSP控制器和外部設備或其它控制器間的通訊。典型的應用包括通過(guò)EEPROM、移位寄存器、顯示驅動(dòng)器和模數轉換器(ADC)等設備進(jìn)行外設擴展。

對于某一控制任務(wù)需要多個(gè)DSP協(xié)同完成時(shí),DSP之間的數據交換將會(huì )很頻繁,此時(shí),我們就可以通過(guò)SPI口進(jìn)行DSP之間的高速數據交換,實(shí)現相互間的功能擴展。這種模式的DSP之間的通訊,較通過(guò)串行通訊接口(SCI)進(jìn)行通訊時(shí),速率提高近一倍,而且它還可以通過(guò)控制寄存器的TALK位實(shí)現多個(gè)DSP之間的數據交換。當系統需要預先從EEPROM讀出定值時(shí),也可以通過(guò)TMS320F240的SPI口進(jìn)行外設擴展。

2 DSP之間的擴展

在多個(gè)DSP構成的串行通訊網(wǎng)絡(luò )中,DSP分為主模式DSP和從模式DSP。主模式DSP的數據在SPISIMO引腳上輸出并從SPISOMI上鎖存,從模式DSP的數據在SPISOMI引腳上輸出并從SPISIMO上鎖存。主模式SPI為整個(gè)網(wǎng)絡(luò )提供串行時(shí)鐘SPICLK,并通過(guò)寫(xiě)入SPIDAT寄存器的數據啟動(dòng)SPICLK信號從而啟動(dòng)數據傳送,當預先設定的1到8位串行位流傳送完畢后,SPICLK信號中止,傳送結束。對于從控制器和主控制器,數據在SPICLK的一個(gè)沿從移位寄存器移出,在負跳沿鎖存到移位寄存器?梢酝ㄟ^(guò)SPI的兩個(gè)時(shí)鐘模式位選擇四種不同的時(shí)鐘模式,使得兩個(gè)控制器的發(fā)送和接收同時(shí)進(jìn)行,由軟件決定數據是有意義的還是啞數據。當清除從設備控制寄存器的TALK位時(shí),數據發(fā)送被禁止并且輸出線(xiàn)(SPISOMI)處于高阻態(tài)。這種情況下允許許多從設備在網(wǎng)絡(luò )上連在一起,但每次只有一個(gè)從設備被允許講。圖1是SPI用于兩個(gè)控制器(一個(gè)主控制器和一個(gè)從控制器)之間通訊的典型連接方式。




splk#0h,SPIPRI

;設置SPI中斷為高優(yōu)先級

splk#07h,SPICCR

;上升沿發(fā)送,有時(shí)延,字符長(cháng)度為8

在程序初始化控制寄存器后,就可以按設定值進(jìn)行DSP之間的發(fā)送和接收,下面是主模式和從模式的SPI子程序代碼。









為了節省中斷資源,SPI一般采用查詢(xún)方式進(jìn)行數據收發(fā)。

3 擴展EEPROM

在開(kāi)發(fā)DSP系統時(shí),某些情況下會(huì )讀取或者存儲一些定值,這時(shí)我們就需要通過(guò)SPI接口擴展EEPROM。具有SPI接口的串行EEPROM均可被TMS320F240直接邏輯擴展,方便易行。

X5043是Xicor公司的最高時(shí)鐘速率為3.3MHz的4Kbits串行EEPROM,它與TMS320F240型DSP的連接如圖2所示。


其軟件設置如下:

設置各控制寄存器:



TMS320F240的SPI接口有可選擇的四種不同的時(shí)鐘模式,如何選擇時(shí)鐘模式是它與各種擴展SPI接口器件實(shí)現時(shí)鐘同步的關(guān)鍵。X5043的數據在時(shí)鐘下降沿從SO引腳上輸出并在時(shí)鐘上升沿從SI引腳上鎖存。讀操作時(shí),在其從SI引腳輸入的最低位地址所對應的時(shí)鐘下降沿,其SO引腳開(kāi)始輸出數據。因此,作為主器件的DSP就選擇‘下降沿、無(wú)時(shí)延’的時(shí)鐘模式。在這種模式下,無(wú)操作時(shí)鐘時(shí),DSP的SPICLK引腳位高,當該引腳由高變低時(shí),啟動(dòng)發(fā)送。

寫(xiě)子程序如下:




















由于X5043是一個(gè)半雙工器件,故,在WRITE子程序中從SPIBUF中讀出來(lái)的數據是無(wú)效的,同時(shí),在READ子程序中寫(xiě)向SPIDAT的數據也是無(wú)效的,只起啟動(dòng)發(fā)送時(shí)鐘的作用。這一點(diǎn)不同于SPI,SPI之間的發(fā)送和接收是全雙工的,可以同時(shí)進(jìn)行。

4 SPI擴展在功角測量系統中的應用

發(fā)電機功角是電力系統運行的關(guān)鍵狀態(tài)量,是電力系統能否穩定運行的重要標志。功角測量系統就是將機端電壓整型后的方波信號前沿,減去代替空載電勢的轉子位置脈沖信號前沿,以獲得負載時(shí)的上述兩種信號的相位差值,再用空載時(shí)兩種信號的相位差減去負載時(shí)兩種信號的相位差,即得發(fā)電機的功角值。該系統具有很強的現實(shí)意義,其原理圖如圖3所示。


上述系統中,空載相位差是定值,一旦裝置安裝完畢,其值不變。而在實(shí)際的電力系統中,轉子的極對數比較多,這些空載相位差值就需要存在相應的EEPROM里,以便讀取。所以,該系統就通過(guò)主芯片的SPI口進(jìn)行串行EEPROM的擴展。在系統上電時(shí),DSP將初始的相位差值從EEPROM導入內存,進(jìn)行相應的計算后通過(guò)ISA總線(xiàn)將所得的功角值送入主控器。這里的EEPROM仍然采用的是X5043,其具體操作在上面第3節中已作過(guò)詳細的說(shuō)明。

5 結束語(yǔ)

本文介紹了TMS320F240型定點(diǎn)DSP的SPI接口的功能擴展,其一般方法同樣適用于其它具有SPI接口的DSP。多個(gè)DSP通過(guò)SPI口的相互擴展可實(shí)現DSP之間的高速數據交換,通過(guò)SPI口擴展EEPROM可實(shí)現DSP對定值的存取。某些其它的串行設備,比如高精度的串行A/D,串行數字電位器等,也可通過(guò)類(lèi)似方法進(jìn)行擴展。通過(guò)這些擴展可以使DSP的功能變得更加強大,同時(shí),深入了解這些擴展方法對于開(kāi)發(fā)DSP控制裝置有著(zhù)重要的意義。
本文地址:http://selenalain.com/thread-32028-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页