《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的RS232異步串行口IP核設計
基于FPGA的RS232異步串行口IP核設計
摘要:  數據采集系統經常采用UART異步串行通信接口作為系統的短距離串行通信。相對于傳統的UART器件來說,把具有UART功能的IP核集成在FPGA中的更有利于提高數據采集系統的可靠性和穩定性,減小電路板面積。該系統設計的UART IP核通過仿真驗證,經綜合、編譯、嵌入FPGA,成功實現系統通信。
關鍵詞: FPGA RS232 IP核 UART XC18V01
Abstract:
Key words :

  1 引言

  數據采集系統常需要進行異步串行數據傳輸。目前廣泛使用的RS232異步串行接口,如8250、 NS16450等專用集成器件,雖然使用簡單,卻占用電路板面積、布線復雜等缺點。片上系統SoC(System on Chip)是以嵌入式系統為核心,以IP復用技術為基礎,集軟、硬件于一體的設計方法。使用IP復用技術,將UART集成到FPGA器件上,可增加系統的可靠性,縮小PCB板面積;其次由于IP核的特點,使用IP核可使整個系統更加靈活,還可根據需要實現功能升級、擴充和裁減。這里采用VHDL語言編寫 UART模塊,將其集成到FPGA上,與器件其他功能模塊構成片上系統SoC。

  2 異步串行口模塊設計與實現

  2.1 UART結構

  圖1為完整的UART接口,包括由發送鎖存器、發送移位寄存器和邏輯控制組成的發送模塊(txmit),以及由接收鎖存器、接收移位寄存器和邏輯控制組成的接收模塊(rxcver)。發送模塊和接收模塊除共用復位信號、時鐘信號和并行數據線外,各自分別有輸入輸出和邏輯控制單元。

完整的UART接口

  2.2 UART的幀格式

  圖2為UART的幀格式。該幀格式包括線路空閑狀態(idie,高電平)、起始位 (start bit,低電平)、5~8位數據位(databit)、校驗位(parity bit,可選)和停止位(stop bit,位數可為1、1.5、2位)。該格式是由起始位和停止位實現字符同步。UART內部一般有配置寄存器,可配置數據位數(5~8位)、是否有校驗位和校驗的類型、停止位的位數等設置。

UART的幀格式

  2.3 波特率時鐘的控制

  由于數字量接口、工作模式選擇、實時監測接口的波特率都不同,UART核包含一個可編程的波特率發生器,可靈活配置波特率。波特率發生器給發送模塊和接收模塊提供發送數據和接收數據的基準時鐘,波特率發生器產生的時鐘mclkx16是串行數據波特率的16倍。它對系統時鐘n分頻,n=系統時鐘/波特率×16,針對不同波特率設定相應數值可得到所期望的波特率時鐘。

  2.4 發送模塊設計

  發送模塊分為空閑、載入數據、移位等3種模式。如圖3所示。當并行8位數據從總線寫入發送模塊后,發送模塊將并行數據裝入鎖存器thr中,然后在移位寄存器tsr中將數據移位,產生完整的發送序列(包括起始位,數據位,奇偶校驗位和停止位),以相應波特率從tx發送。發送模塊的輸入時鐘mclkx16是串行數據波特率的16倍,模塊內部將其16分頻后得到波特率時鐘txclk。

發送狀態轉換

  發送模塊部分VHDL程序如下:

程序

 

 

  2.5 接收模塊設計

  接收模塊也分為空閑、檢測起始位、移位等3種模式。如圖4所示。首先捕捉起始位,在 mclkx16時鐘下不斷檢測從rx端輸入數據的起始位,當檢測到起始位后,接收模塊由空閑模式轉換為移位模式,并且16分頻mclkx16產生 rxclk波特率時鐘。此時rxclk時鐘的上升沿位于串行數據每一位的中間,這樣接下來的數據在每一位的中點采樣。然后由rxclk控制在上升沿將數據位寫入移位寄存器rgr的rsr[7]位,并且rsr右移1位,依次將8位數據全部寫入rsr,并且停止產生rxclk波特率時鐘。判斷奇偶校驗、幀結構和溢出標志正確后,rsr寄存器中的數據寫入rhr數據鎖存寄存器中,最后由8位數據總線輸出轉換完成的數據。

接收狀態轉換

  接收模塊部分VHDL程序如下:

程序

  3 硬件電路設計

  UART IP核設計完成后需要嵌入FPGA系統中才能運行,該系統選用Xilinx公司Spartan-IIE XC2S50型FPGA和與其配套的EPROM XC18V01組成,如圖5所示。該系統已實現設計要求的功能,實現IP核的驗證。

FPGA系統連接電路

  4 結果分析

  程序經仿真驗證后,須綜合生成IP核并嵌人FPGA中。使用Xilinx公司的Xilinx ISE工具綜合UART模塊,FPGA選用Xilinx公司Spartan-IIE XC2S50,系統時鐘40 MHz。經Xil-inx ISE后,資源使用結果如表1所示。表明使用少量FPGA的Slice和LUT單元就可生成UART核,節省資源UART核可靈活分成接收和發送兩部分,可根據需要選擇使用。節省系統資源;一些控制標志字也可根據需要自行刪減和擴充。最后將集成有UART核的FPGA數據采集系統與測試臺進行異步串行通信實驗,檢測通信數據表明使用UART核傳輸數據穩定可靠。

資源使用結果

  5 結束語

  數據采集系統經常采用UART異步串行通信接口作為系統的短距離串行通信。相對于傳統的UART器件來說,把具有UART功能的IP核集成在FPGA中的更有利于提高數據采集系統的可靠性和穩定性,減小電路板面積。該系統設計的UART IP核通過仿真驗證,經綜合、編譯、嵌入FPGA,成功實現系統通信。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 99视频精品全部在线播放 | 成人免费观看www在线 | 国产偷国产偷亚洲高清午夜 | 精品午夜国产在线观看不卡 | 91久久精品青青草原伊人 | 欧美日本一区视频免费 | 亚洲男人的天堂久久精品 | 国产成人精品视频在放 | 国产网红自拍 | 日本不卡一二三区 | 午夜视频在线观看一区 | 一级片aaaa | 玖玖在线免费视频 | 视频二区在线观看 | 日本a级毛片视频播放 | 亚洲精品久久久久久久777 | 国产精品欧美日韩一区二区 | 4455四色永久免费 | 精品在线看 | 亚洲欧美视频一区二区三区 | 天空在线观看免费完整 | 免费人成在线观看网站 | 亚洲一区二区视频 | 全部aⅴ极品视觉盛宴精品 全部免费a级毛片 | 欧美成人影院 在线播放 | 欧美一级毛片免费播放器 | 99这里只有精品66视频 | 国内久久久 | 国产亚洲欧美日韩国产片 | 亚洲国产一区二区三区综合片 | 在线观看亚洲精品国产 | 热伊人99re久久精品最新地 | 国产成人免费a在线资源 | 国产成人精品久久一区二区小说 | a级毛片毛片免费观看永久 a级毛片毛片免费很很综合 | 亚洲欧美综合国产不卡 | 国产精品久久免费视频 | 欧美久久久久欧美一区 | 欧美巨乳在线 | 欧美一区二区三区激情视频 | 免费播放美女一级毛片 |