新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA實現的SCI接口電路IP核的設計

        基于FPGA實現的SCI接口電路IP核的設計

        作者: 時間:2010-09-07 來源:網絡 收藏

          工作原理

          數據傳輸格式

          為簡化設計,SCI以固定的串行數據格式傳送數據,采用NRZ幀格式對數據進行編碼,一個數據由1bit起始位、8bit數據位和一個停止bit共10bit組成。為確保采樣到的數據位可靠,選取每位數據包含8個SCICLK周期。

          波特率的產生      

          SCI內部的串行時鐘(SCICLK)由系統時鐘SCLK與波特率寄存器共同決定。通過16bit波特率選擇寄存器,可以為內部串行時鐘提供64k種不同的傳輸速率,其計算公式為:

          Baud=SCLK/[(BRR+1)*8]其中BRR為16bit波特率選擇寄存器的值。

          SCI異步通信

          如前所述,在異步通信模式下一幀數據包含一個起始bit、8個數據bit、一個停止bit。每個數據位占用8個SCICLK周期。

          接收數據時序

          接收器在收到有效的起始位后開始操作,有效的起始位由連續的0電平組成,長度為4個連續的內部SCICLK周期。對于起始位后的各位,接收器通過對該位的中間進行3次采樣來決定位值,采用在第4、第5、第6個SCICLK周期,位值取決于多數采樣點的值。數據從SCIRXD進入RXSHF,移位進入RXBUF寄存器,并產生中斷請求,RXDRDY置1,表示已經接收到新字符]。接收一幀數據的時序如圖3所示。

        接收一幀數據時序

        圖3 接收一幀數據時序

          發送數據時序

          發送器與接收器工作原理基本相同,在TXDRDY為低時,向發送數據緩沖寄存器寫入一個數據后啟動發送;然后數據進入TXSHF,同時TXDRDY為高,表示TXBUF可以寫入新值,并產生一個中斷請求。數據發送時序如圖4所示。

        發送一幀數據時序

        圖4 發送一幀數據時序

          VerilogHDL實現

          狀態機嵌套模型

          由于SCI接口牽涉到復雜的狀態機描述,需要采用有限狀態機的嵌套,形成樹狀的控制邏輯。這一點和所提倡的層次化、結構化的自頂向下的設計方法相吻合[3]。圖5是一種簡單的狀態機嵌套模型。

        狀態機嵌套模型

        圖5 狀態機嵌套模型



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沾益县| 盐源县| 朝阳县| 丘北县| 旬邑县| 双柏县| 岢岚县| 乳山市| 阳原县| 长岛县| 固始县| 邵阳市| 灵台县| 察哈| 奇台县| 湘西| 祁连县| 龙陵县| 樟树市| 梨树县| 连南| 安溪县| 新巴尔虎左旗| 杭锦旗| 中宁县| 龙海市| 青海省| 阿尔山市| 长顺县| 郓城县| 乌兰县| 交城县| 衡阳县| 汶川县| 大荔县| 英吉沙县| 永济市| 桓台县| 美姑县| 普宁市| 民乐县|