本文根據(jù)筆者在工程應用和調(diào)試TIDSPTMS320C5402與NECuPD780308單片機通信的經(jīng)驗,,著重介紹并討論通過將C5402 DSP的多通道緩沖串行口McBSP(Multi-channel Buffered Serial Port)配置為SPI模式(即時鐘停止模式),,實現(xiàn)DSP與其它單片處理器通信,并給出部分程序代碼,,供讀者們參考,。
2 多通道緩沖串行口McBSP
多通道緩沖串行口McBSP的功能是提供器件內(nèi)外數(shù)據(jù)串行交換。同以前的串口相比,,McBSP串口具有相當大的靈活性,。表1給出了有關VC5402的McBSP管腳的說明。其中串口接收,、發(fā)送時鐘和同步幀信號,,既可由外部設備提供,又可由內(nèi)部時鐘發(fā)生器提供,,大大地提高了通信的靈活性,。
3 SPI協(xié)議:McBSP時鐘停止模式
SPI協(xié)議是以主從方式工作的,,有一個主設備和一個或多個從設備,,接口包括以下4個信號:串行數(shù)據(jù)輸入(也稱為主進從出,或MISO),;串行數(shù)據(jù)輸出(也稱為主出從進,,或MOSI);串行移位時鐘(也稱為SCK),;從使能信號(也稱為SS),。
圖1為設備接口示意圖。
主設備通過提供移位時鐘和從使能信號來控制信息的流動,,從使能信號是一個可選的高低電平,,它激活從設備(在沒有時鐘提供的情況下)的串行輸入和輸出。在沒有專門的從使能信號的情況下,,主從設備之間的通信則由移位時鐘的有無來決定,在這種連接方式下,,從設備必須自始至終保持激活狀態(tài),,而且從設備只能是一個,不能為多個,。
DSPVC5402提供的時鐘停止模式則可用于SPI協(xié)議通信中,,當McBSP被配置為時鐘停止模式時,發(fā)送器和接收器是內(nèi)部同步的,,即可將McBSP配置為一個SPI主或從設備。其中,,可將發(fā)送數(shù)據(jù)幀時鐘(FSX)用作從使能(即SS),,而發(fā)送數(shù)據(jù)位時鐘(CLKX)則用作SPI協(xié)議中的SCK,由于接收數(shù)據(jù)位時鐘(CLKR)和接收數(shù)據(jù)幀時鐘(FSR)在內(nèi)部與FSX和CLKX是相連的,,所以該管腳不用于SPI模式,。
當McBSP被配置作為一個主設備,傳送輸出信號(BDX)被用作SPI協(xié)議的MOSI信號,,接收輸入信號(BDR)就被用作MISO信號,。圖2所示為McBSP用作主設備的SPI接口。
同樣地,,當McBSP被配置作為一個從設備,,BDX就被用作了MISO信號,BDR就被用作了MOSI信號,。圖3所示為McBSP用作從設備的SPI接口,。
DSPVC5402的McBSP被用于時鐘停止模式時,寄存器SPCR1的CLKSTP位域和引腳配置寄存器的CLKXP位的配置見表2,。
4 McBSP作為SPI設備時的其它有關寄存器的配置
為了能使讀者更好地掌握和了解當McBSP作為SPI設備時的有關寄存器配置,,筆者將以McBSP作為SPI從設備運行為例,給讀者介紹有關McBSP的其它有關寄存器的配置,,若McBSP作為SPI主設備,,則相關配置相反即可。
當McBSP作為SPI從設備時,,主設備外部產(chǎn)生主時鐘,。CLKX引腳和FSX引腳必須被設置為輸入。CLKX引腳和CLKR信號內(nèi)部連接,從而傳送和接收回路均由外部主時鐘計時(CLKX),。同時,,F(xiàn)SX引腳和FSR信號內(nèi)部連接,CLKR引腳和FSR引腳不再需要外部信號連接,。將McBSP用作從設備的SPI接口的例子如圖3所示,。
盡管CLKX信號由主設備外部產(chǎn)生且與McBSP同步,,McBSP的采樣率發(fā)生器必須可以啟動正確的SPI從設備運行,。采樣率發(fā)生器應被編為它的最大速率(CPU時鐘速率的一半),。內(nèi)部采樣率時鐘被用來同步McBSP邏輯和外部主時鐘及從使能信號。每次傳送,,McBSP需要FSX輸入的從使能信號的上升沿,。這就是說,在每次傳送的開始,,主設備必須維護從使能信號,,在每次傳送完成后,消除從使能信號,。在兩次傳送之間,,從使能信號不能一直保持為高電平。對正確的SPI從設備運行而言,,McBSP的數(shù)據(jù)延遲參數(shù)必須設置為0,,在這種運行模式中,值1或2沒有定義,。配置McBSP為從設備所需的寄存器位值列在表3中,。
5 程序設計
下面是有關C5402的McBSP各個控制寄存器的配置,筆者在實踐中已經(jīng)測試過了,,并且運用在了工程中,,供讀者們參考。
6 結(jié)束語
文中所介紹的串行SPI通信協(xié)議,,是一種標準的通信協(xié)議,,在很多場合下,很多芯片采用的正是這種機制,,文中舉例將DSP作為從設備,,目的是時鐘可由主設備來提供,不用再專門去調(diào)試時鐘,,這為開發(fā)提供了很大的方便,。