?? tms320f240 mcs-51 通信 串口.txt
字號:
TMS320F240 MCS-51 通信 串口
TI公司的TMS320F240器件是基于TMS320C2 型16位定點數字信號處理器(DSP)的新型DSP控制器。由于F240器件片內集成了544字雙口RAM、雙10位模數轉換模塊、串行通信接口以及提供死區功能和12路比較/脈沖寬度調制通道的事件管理器模塊,并將存儲器和外設集成到控制器內部,使得F240在諸多微機控制系統中得到了廣泛的應用。
在F240芯片中,串口外設接口(SPI)模塊肩負著與上位機進行通信的任務。由于它高效、可靠、簡便、成本低、并遵循統一的標準,因而使用廣泛。本文重點介紹TMS320FS240串口通信的結構和特點,并設計了基于TMS320F240與MCS-51串口通信的液晶顯示系統。
通信方式
串行外設接口的特點與工作原理
為了使數字處理系統微型化,首先要設法減少芯片的引腳數。這樣過去常用的并行總線接口方案由于需要較多的引腳線而不得不舍棄。SPI就是這樣一種串行總線的外設接口,它只需3根引腳線就可以與外部設備相接。
SPI實際上是一種串行總線標準,與SCI串行異步通信有相似的地方也有不同之處。相同之處在于它們都是串行的信息交換,不同的是SCI是一種異步(準同步)方式,兩臺設備有各自的串行通信時鐘,在相同的波特率和數據格式下達到同步,而SPI是一種真正的同步方式,兩臺設備在同一個時鐘下工作。因此,SCI只需兩根引腳線(發送與接收)而SPI需要3根引腳線(發送、接收與時鐘)。由于SPI是同步方式工作,它的傳輸速率遠遠高于SCI。
采用SPI總線方式交換數據有主機、從機的概念。這里DSP 作為主機將數據送到從機MCS-51用于顯示。因此,只需要兩根引腳即可(SPISIMO、SPICLK),其中SPISIMO為發送數據口,SPICLK為串行外設接口時鐘。硬件接線圖如圖1所示。
由于SPI通過一根時鐘引線將主機和從機同步,因此它的串行數據交換不需要增加起始位、停止位等用于同步的格式位,直接將要傳送的信息(1位到8位的數據)寫入到主機的SPI發送數據寄存器SPIDAT。這個寫入自動啟動了主機的發送過程,即在同步時鐘SPICLK的節拍下把SPIDAT的內容一位一位地移到引腳RXD,當SPIDAT的內容移位完畢,將置一個中斷標志SPIINT FLAG,通知主機這個信息塊已發送完畢。
對于從機,同樣在同步時鐘SPICLK的節拍下將出現在引腳RXD上的數據一位一位地移到從機的移位寄存器SBUF,當一個完整的信息塊接受完成后,將置一個中斷標志,通知從機這個信息塊已接受完畢。
波特率設置
MCS-51單片機波特率設置
因SPI串行口只傳輸8位數據,所以MCS-51的串行接口設置為工作方式0,數據從RXD引腳上接收,一幀信息由8位數據組成,低位在前。波特率固定,為foso/12。同步移位脈沖從TXD引腳上輸出。
TMS320F240的波特率設置
時鐘SPICLK是時鐘源模塊產生的SYSCLK時鐘經SPI波特率寄存器SPIBRR規定的分頻系統分頻后得到的。因此,SPI的波特率為:
SYSCLK是CPU時鐘的2分頻或4分頻,而CPU時鐘(CPUCLK)可以是外部時鐘(CLKIN)的1、1.5、2、2.5、3、4、4.5、5、9倍,它由時鐘控制寄存器CKCRO決定。
在這里,選用foso=8M,波特率就為:2/3M。
TMS320F240的外部時鐘(CLKIN)選用16M的晶陣,CPUCLK直接使用外部頻率,SYSCLK為CPU時鐘的2分頻,經計算SPIBRR為11。
軟件實現
DSP采用查詢方式發送數據,MCS-51采用中斷方式接受數據。DSP程序流程見圖2。MCM-51程序流程見圖3。
結論
目前,采用SPI接口方式的A/D、I/O、RAM等芯片越來越多,傳輸速率高達幾十兆。正確認識和掌握SPI串口通訊的技術特點,對于設計高性能DSP應用系統是很重要的。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -