新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CPLD的DSP多SPI端口通信設計

        基于CPLD的DSP多SPI端口通信設計

        作者: 時間:2012-06-05 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257461.htm

        2.3 與LTC6903的接口配置

        由于LTC6903芯片本身具有接口,需要在的程序中設置相應的寄存器。LTC6903采用上升沿接收,且接收時高位在前,所以需要設置為下降沿傳輸,傳輸時高位在前。在傳輸的過程中,在脈沖信號的下降沿數據發生變化,傳輸數據;在脈沖信號的上升沿數據穩定,便于LTC26903鎖存數據,傳輸時序如圖6 所示。從圖中可以看出,所要傳輸的數據是十六進制數019A,下降沿數據發生變化,上升沿數據穩定,傳輸16位數據,有16個脈沖。實驗結果表明,DSP 配置是與LTC26903的接口工作時序相匹配的。

        3 DSP中SPl的開發過程

        SPI端口數據傳輸的特點是:主設備的時鐘信號出現與否決定數據傳輸的開始,一旦檢測到時鐘信號即開始傳輸,時鐘信號無效后傳輸結束。這期間,從設備使能時鐘信號的起停狀態很重要[2]。 DSP56F801的SPI端口的時鐘信號起停狀態如表1所列。在設計中設置的SPI控制寄存器的CPOL和CPLA位是“11”。ScLK空閑時為高電平,傳輸中數據變化發生在下降沿,穩定在上升沿。從圖2可看出實現了與中的移位鎖存電路的匹配,傳輸正確。SPI端口協議要求系統上電復位后,從機先于主機開始工作。如果從機在主機之后開始工作,就有可能丟掉部分時鐘信號,使得從機并不是從數據的第一位開始接收,造成數據流的不同步。可通過硬件延時或軟件延時的方法,來確保從機先于主機工作口[2]。本設計采用軟件延時的辦法來實現數據流的同步。這個延時由兩部分組成,一部分是DSP串行輸出數據的時間延時,另外一部分就是后續數字電路中的延時。延時的具體計算過程如下:數據傳輸時使用的時鐘信號是對總線時鐘的2分頻,當DSP的主頻是60 MHz時,總線時鐘頻率是30MHz,對它進行2分頻,可以計算出SCLK的周期是66.6ns(實際所測出的周期是78.2 ns)。另外通過測試得到PwM電路的延時最長時間是23.6 ns,鎖存器的最大延時是7.6 ns,移位寄存器的最大延時是3.0 ns。由上述對數字電路的延時和對SCLK周期的測試,就可以得到這樣一個結論:設PwM電路的延時時間為t1、鎖存器的延時時間為t2、移位寄存器的延時時間為t3,SCLK的時鐘周期是Tc,在SPI傳輸的過程中,整個電路的延時t可以這樣計算:

        由于數字電路傳輸中存在這樣的延時,所以在寫DSP程序時,需要加入一定的延時。此實驗中加入的延時是2μs,可以實現可靠傳輸。

        4 實驗結果

        本設計采用全數字結構,易于用實現。以 EPM7256為目標芯片,設計并實現了正確的數據傳輸。當DSP56F801輸出的十六進制參數分別為頻率字DBOE,相位字0403,A相的占空比字 04CE,B相的占空比字04CD時,波形輸出如圖7、圖8所示。圖7給出了信號發生器A相輸出信號的實測波形,信號占空比調節為20%;圖8給出了A相輸出信號1和B相輸出信號1的實測波形,兩相信號相位差調節為常用的90。。該實驗結果表明,參數傳輸正確,波形輸出良好。



        結語

        SPI通信方法具有硬件連接簡單、使用方便等優點,應用廣泛。采取硬件和軟件相結合的措施,可以確保SPI通信中數據的同步,實現可靠通信。本文給出了DSP多SPI的實際與實現過程,討論了其中的關鍵技術問題。SPI多方法基于CPLD實現,易移植,易于實現功能擴展,可廣泛應用于各種采用SPI通信方式的自動化裝置。


        上一頁 1 2 下一頁

        關鍵詞: SPI DSP CPLD 端口通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 蕲春县| 望奎县| 巴林右旗| 杭州市| 武隆县| 玛多县| 嘉峪关市| 雷山县| 紫金县| 山东省| 襄垣县| 陇西县| 武穴市| 关岭| 巫溪县| 怀安县| 通许县| 措美县| 颍上县| 元朗区| 桓台县| 凌云县| 正定县| 蚌埠市| 成都市| 金昌市| 化隆| 左云县| 太仓市| 东平县| 奉新县| 沾益县| 开阳县| 昭觉县| 汉源县| 安化县| 五原县| 叶城县| 孝昌县| 凉城县| 南华县|