電源:大功率UPS中DSP與單片機的串行通訊設計
3.3 SCI收發(fā)數(shù)據(jù)時管腳時序圖
在利用SPI接口實現(xiàn)DSP與單片機進行串口通訊的時候,由于DSP需要通過一根時鐘引線連接主機從機使其同步,而MCS51單片機串行通訊只有RXD和TXD,TXD產(chǎn)生系鐘,RXD則既接收數(shù)據(jù)又發(fā)送數(shù)據(jù),這里我們選用兩片74LS645(同步收發(fā)器)來區(qū)分收發(fā)數(shù)據(jù)。硬件電路圖如下:
圖5 SPI接口實現(xiàn)DSP與單片機的串口通訊
74LS645功能表如表1:
MCS51采用方式0,同步串行通訊時鐘為0.5MHZ,單片機做主機,DSP做從機。當系統(tǒng)開始工作時,DSP的SPISTE(SPI從動發(fā)送使能腳)作為普通I/O口發(fā)送DSP的選通信號(初始化SPISTE=1),當單片機的P1.0口檢測到SPISTE的下降沿時,開始由TXD口輸出同步時鐘脈沖并通過RXD接收數(shù)據(jù)。同理當DSP檢測到單片機由P1.3(初始化為1)的下降沿后,即接收到網(wǎng)絡主控制器送出的SPICLK信號,開始接收由主機發(fā)送的數(shù)據(jù),然后將SPISIMO引腳上的數(shù)據(jù)移入到SPIDAT寄存器。如果從DSP同時也發(fā)送數(shù)據(jù),則必須在SPICLK信號開始之前把數(shù)據(jù)寫入到SPIRXBUF或SPIDAT寄存器中去。
SPI的接口有四種不同的波特率設置,時鐘可以進行極性的選擇,有效沿選擇和相位選擇等等。在這里由于DSP的SPICLK使用MCS51單片機的時鐘頻率,故在這里可以不設置SPICLK,只需保證DSP的工作頻率不低于單片機通過TXD口轉(zhuǎn)換的時鐘頻率即可。需要注意的是,DSP在通過SPI進行數(shù)據(jù)傳輸時,是先傳送高8位在傳送低8位,這就需要在單片機中斷服務子程序中設定字符反轉(zhuǎn)程序。DSP和單片機均采用中斷方式發(fā)送并且接收數(shù)據(jù),下面給出DSP作為從機發(fā)送數(shù)據(jù),單片機作為主機接收數(shù)據(jù)的軟件流程圖:
5 結(jié) 論
在設計DSP與單片機通訊接口時,由于一般情況下對傳輸速率以及傳輸距離沒有太多要求,所以僅利用SCI基本可以滿足設計要求,但在較為復雜的數(shù)字化UPS系統(tǒng)之中通常需要兩片或者多片DSP共同控制,在DSP與另外一塊DSP通訊之中需要利用剩余的SPI口,在主從雙DSP通訊設計中更為簡單易行。當另外一塊DSP與單片機進行通訊時,由于單片機的串口已經(jīng)被占用,故可以考慮通過SCI口與單片機的外圍中斷 來實現(xiàn),當 接收到一個下降沿的中斷,就認為是串行數(shù)據(jù)的起始位到達了,而后利用設定好的波特率進行各位數(shù)據(jù)讀取即可。
參考文獻:
[1] 劉和平,嚴利平,張學鋒,卓清鋒,TMS320LF240XDSP結(jié)構(gòu)、原理及應用,北京:北京航空航天大學出版社,2002
[2] 尹熙鵬,段哲民,基于DSP的PWM型開關電源的設計,自動化與儀器儀表,2005,4
評論