新聞中心

        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 狀態機嵌套模型



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临湘市| 辰溪县| 田林县| 珲春市| 安阳市| 慈溪市| 尉氏县| 政和县| 海林市| 饶河县| 长海县| 鄂温| 通河县| 准格尔旗| 新宾| 连城县| 道孚县| 拉孜县| 奉新县| 雷山县| 晋中市| 潜江市| 彭阳县| 栾城县| 辽中县| 三门峡市| 崇信县| 永宁县| 裕民县| 昌平区| 东乡族自治县| 东丽区| 乡城县| 威信县| 会理县| 长汀县| 宁城县| 宽甸| 扶沟县| 岳西县| 榆树市|