久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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



評論


相關推薦

技術專區

關閉