關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > Freescale同步串行傳輸SPI優化設計

        Freescale同步串行傳輸SPI優化設計

        ——
        作者: 時間:2007-11-14 來源:單片機及嵌入式系統應用 收藏

          系列的大部分都存在一個模塊,它是一個同步串行外圍接口,允許與各種外周設備以串行方式進行通信。

          目前,系列的大多數總線不能外部加以擴展,當片內I/O或者存儲器不能滿足需求時,可以使用來擴展各種接口芯片。這是一種最方便的Free-scale系列系統擴展方法。

          系統主機最高頻率=主機總線頻率/2,從機最高頻率=從機總線頻率,即硬件體系決定了SPI的最高工作頻率。如何在硬件體系結構已定的情況下,使I/O或存儲器數據傳輸效率最高,成為SPI使用的一個關鍵問題。

          1 同步串行傳輸SPI結構及常規操作

          圖1為同步串行傳輸SPI的體系結構圖。

          對Freescale同步串行傳輸體系來說,一般有兩種操作模式:

          ①利用中斷通知已經傳輸結束,或者接收完成;

          ②采用輪詢方式,讀取相應寄存器位置,判斷傳輸是否完成。

          無論是哪種模式,其常規操作流程(無配置過程)均如圖2所示。

          

        Freescale同步串行傳輸SPI的體系結構圖

          2 常規操作中的時間浪費

          從圖2中可以看出,當CPU向SPI數據寄存器中寫入1字節數據后,必須等待,直至SPI模塊通知傳輸結束,才能寫入下一個字節。這是由于SPI數據模塊由兩部分構成:一部分是數據寄存器;另一部分是移位寄存器。當CPU向SPI數據寄存器寫入1字節后,SPI模塊需要將8位數據傳入移位寄存器,在每個SPI時鐘周期內傳出1位數據。由于采樣的原因,SPI的最大速率=BUS_CLK/2,所以當CPU向SPI寫入一個8位數據后,必須等待8



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 井冈山市| 双江| 江永县| 汉寿县| 龙门县| 同江市| 弋阳县| 仲巴县| 白水县| 积石山| 滦南县| 泗洪县| 长兴县| 靖安县| 铁岭县| 象山县| 凌海市| 库车县| 射洪县| 兰溪市| 建德市| 麻栗坡县| 钟山县| 萍乡市| 波密县| 鹤壁市| 福清市| 金阳县| 绥中县| 开平市| 塔城市| 龙江县| 内黄县| 瓮安县| 佛学| 夏津县| 拉孜县| 吴旗县| 印江| 麦盖提县| 罗甸县|