關 閉

        新聞中心

        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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 建湖县| 九寨沟县| 高要市| 西乌珠穆沁旗| 雅江县| 遂川县| 靖安县| 扎囊县| 南涧| 华坪县| 伊川县| 平昌县| 富裕县| 卫辉市| 增城市| 织金县| 舟曲县| 吴桥县| 楚雄市| 鹤峰县| 抚顺县| 瑞安市| 永德县| 龙门县| 寿阳县| 峨眉山市| 铜鼓县| 祥云县| 额济纳旗| 留坝县| 凌源市| 沈丘县| 泽普县| 铁岭市| 万安县| 天长市| 从江县| 墨玉县| 贺兰县| 册亨县| 平武县|