新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 全功能SPI接口的設計與實現

        全功能SPI接口的設計與實現

        作者: 時間:2013-05-16 來源:網絡 收藏

        寫入SPICRR寄存器里的Char0~Char3位將會配置SPI狀態控制模塊里的計數器。狀態控制是系統的核心部分,為了使系統結構化,設計了狀態機,如圖3所示,分為3種狀態,分別是空閑狀態、發送命令狀態(配置SPI各個寄存器)、數據狀態。其中數據狀態包括數據的傳送和讀取。

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

        i.JPG


        作為接口,在設計時加入了測試模塊。使能相關地址譯碼,將使系統內部關鍵節點通過輸出控制模塊傳送到數據總線。
        2.3 控制器的時鐘設計
        SPI控制器為了和外部數據進行交換,根據外設工作要求,其輸出串行同步時鐘極性和時鐘相位可以進行匹配。但時鐘極性對傳輸協議沒有重大影響。如圖4所示,控制器包括4種不同的時鐘模式:

        j.JPG


        無延時的上升沿:SPI在SPICLK信號上升沿發送數據,在SPICLK信號下降沿接收數據;
        無延時的下降沿:SPI在SPICLK信號下降沿發送數據,在SPICLK信號上升沿接收數據;
        有延時的上升沿:SPI在SPICLK信號上升沿之前的半個周期發送數據,在SPICLK信號下降沿接收數據;
        有延時的下降沿:SPI在SPICLK信號下降沿之前的半個周期發送數據,在SPICLK信號上升沿接收數據;
        對于SPI控制器內部時鐘的產生,在對系統時鐘進行分頻之后,還要對生成的時鐘進行一定處理,因為分頻后的時鐘其高電平時間是幾個系統時鐘周期的和,控制移位寄存器的時鐘采用的是系統時鐘,為了在SPICLK的一個時鐘周期內只移位一位數據,必須要求內部時鐘的高電平時間為一個系統時鐘的周期,才能保證在SPICLK的一個時鐘周期內,只有一位數據的接收和發送。

        d.JPG


        圖5為實現上述功能的具體電路,即SPI控制器時鐘產生的電路結構。在圖5中,分頻后的時鐘為DICLK,作為與門的一個輸入端進入模塊后對其進行處理。節點Y1和Y2的輸出方程為:
        a.JPG
        分頻時鐘DICLK通過節點Y1和Y2后,其高電平時間僅為一個系統時鐘周期,且Y1較Y2延遲半個周期。MUX1的選擇端S來自配置寄存器的Phase端,選擇有延遲的Y1還是無延遲的Y2通過。分頻后的時鐘將被用于兩個用途,一是產生SPICLK作為從控制器的輸入時鐘。二是作為主控制器的內部時鐘,被用于計數器的計數脈沖和用于控制串行移位寄存器SPIDAT。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 外汇| 卢湾区| 长岛县| 临夏市| 凤冈县| 湟源县| 三亚市| 承德县| 遂溪县| 科技| 吉安县| 平凉市| 敖汉旗| 东宁县| 遂宁市| 桂平市| 罗平县| 江川县| 南平市| 林甸县| 康乐县| 临武县| 汤原县| 卓尼县| 广水市| 伊吾县| 峡江县| 昭苏县| 兰西县| 年辖:市辖区| 银川市| 大丰市| 纳雍县| 准格尔旗| 临城县| 蒲江县| 洛浦县| 尖扎县| 宁波市| 太仆寺旗| 漳浦县|