新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 電源:大功率UPS中DSP與單片機的串行通訊設計

        電源:大功率UPS中DSP與單片機的串行通訊設計

        作者: 時間:2012-08-07 來源:網絡 收藏

        3.3 SCI收發數據時管腳時序圖

        電源:大功率UPS中DSP與單片機的串行通訊設計

        4 SPI接口實現的串口

        在利用SPI接口實現進行串口的時候,由于需要通過一根時鐘引線連接主機從機使其同步,而MCS51只有RXD和TXD,TXD產生系鐘,RXD則既接收數據又發送數據,這里我們選用兩片74LS645(同步收發器)來區分收發數據。硬件電路圖如下:

        電源:大功率UPS中DSP與單片機的串行通訊設計

        圖5 SPI接口實現DSP與單片機的串口通訊

        74LS645功能表如表1:

        電源:大功率UPS中DSP與單片機的串行通訊設計

        MCS51采用方式0,同步通訊時鐘為0.5MHZ,單片機做主機,DSP做從機。當系統開始工作時,DSP的SPISTE(SPI從動發送使能腳)作為普通I/O口發送DSP的選通信號(初始化SPISTE=1),當單片機的P1.0口檢測到SPISTE的下降沿時,開始由TXD口輸出同步時鐘脈沖并通過RXD接收數據。同理當DSP檢測到單片機由P1.3(初始化為1)的下降沿后,即接收到網絡主控制器送出的SPICLK信號,開始接收由主機發送的數據,然后將SPISIMO引腳上的數據移入到SPIDAT寄存器。如果從DSP同時也發送數據,則必須在SPICLK信號開始之前把數據寫入到SPIRXBUF或SPIDAT寄存器中去。

        SPI的接口有四種不同的波特率設置,時鐘可以進行極性的選擇,有效沿選擇和相位選擇等等。在這里由于DSP的SPICLK使用MCS51單片機的時鐘頻率,故在這里可以不設置SPICLK,只需保證DSP的工作頻率不低于單片機通過TXD口轉換的時鐘頻率即可。需要注意的是,DSP在通過SPI進行數據傳輸時,是先傳送高8位在傳送低8位,這就需要在單片機中斷服務子程序中設定字符反轉程序。DSP和單片機均采用中斷方式發送并且接收數據,下面給出DSP作為從機發送數據,單片機作為主機接收數據的軟件流程圖:

        電源:大功率UPS中DSP與單片機的串行通訊設計

        5 結 論

        DSP與單片機通訊接口時,由于一般情況下對傳輸速率以及傳輸距離沒有太多要求,所以僅利用SCI基本可以滿足要求,但在較為復雜的數字化系統之中通常需要兩片或者多片DSP共同控制,在DSP與另外一塊DSP通訊之中需要利用剩余的SPI口,在主從雙DSP通訊中更為簡單易行。當另外一塊DSP與單片機進行通訊時,由于單片機的串口已經被占用,故可以考慮通過SCI口與單片機的外圍中斷 來實現,當 接收到一個下降沿的中斷,就認為是數據的起始位到達了,而后利用設定好的波特率進行各位數據讀取即可。

        參考文獻:

        [1] 劉和平,嚴利平,張學鋒,卓清鋒,TMS320LF240XDSP結構、原理及應用,北京:北京航空航天大學出版社,2002

        [2] 尹熙鵬,段哲民,基于DSP的PWM型開關的設計,自動化與儀器儀表,2005,4


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 孝感市| 布拖县| 杭锦后旗| 磐安县| 阿克陶县| 确山县| 吉木乃县| 东丰县| 铁力市| 建瓯市| 全南县| 仪征市| 新晃| 潼南县| 邳州市| 乌鲁木齐市| 林甸县| 黔东| 桂平市| 武川县| 阳信县| 赤城县| 卫辉市| 中西区| 海林市| 秦安县| 成安县| 象州县| 江孜县| 正镶白旗| 嵩明县| 迭部县| 南涧| 临泽县| 徐水县| 马边| 永平县| 眉山市| 昆山市| 正定县| 剑川县|