- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UART控制器设计-国立中央大学
陳慶瀚 MIAT嵌入式系統實驗室 國立中央大學資工系 2009年11月12日 ESD-07 UART控制器設計 Synchronous Serial Standard Asynchronous Serial Standard Universal Synchronous/Asynchronous Receiver Transmitter (USART or UART) Universal Asynchronous Receive Transmit Asynchronous Serial Standard RS-232 The UART input/output uses 0V for logic 0 and 5V for logic 1. The RS-232 standard (and the COM port) use +12V for logic 0 and –12V for logic 1. To convert between these voltages levels we need an additional integrated circuit (such as Maxim’s MAX232). EIA Terminology ?? DTE – Data terminal equipment(computer) ?? DCE – Data communication equipment(modem) ?? RxD – Receiver data ?? TxD – Transmitter data ?? DCD – Data carrier detect (valid modem connection) ?? DTR – Data terminal ready (Computer on and software is ready) ?? DSR -- Data set ready (Modem on and software ready) ?? RTS – Request to send (DTE wants to send character) ?? CTS – Clear to send (DCE acknowledge to RTS from DTE) ?? RI – Ring indicator from telephone UART Communication Protocol 在UART的傳輸協定中,起始位元固定為LOW,停止位元固定為HI,所以接收端的動作是一直不斷的檢查傳輸線的狀態。當傳輸線上的信號一直為HI就表示沒有資料傳送;當傳輸線上的信號由HI變為LOW,即表示有資料將傳送,接收端就會開始準備接收8個位元資料,直到傳送完8個位元資料,傳送端最後會送出停止位元,並使傳輸線的信號保持為HI,以等待下一次的資料傳輸。 UART控制器架構 UART控制器I/O 訊號定義 Baud Rate for UART Baud rate的產生是由系統時脈(System Clock)除頻得到,系統時脈越高,可產生較為精確的baud rate,若以150Mhz為系統主要頻率,要產生115200的baud rate ,必須將150Mhz除以1302約為115207,其誤差率為0.006%,是相當的小的誤差。 Baud Rate for UART 在接收端的部分,為了防止雜訊干擾取到錯誤的訊號,通常會將單一資料連續取樣16次,在由所得的樣本中間第8次來判斷此筆資料是HI或LOW,因此接收端的取樣速度必須16倍於傳送端,若傳送端是115200 baud rate ,則接收取樣率為1843200(150M/82)。 Baud Rate Generator Select Bits BAUD Rate 000 38,462 001 19,231 010 9615 011 4808 100 2404 101 1202 110 601 111 300.5 UART控制器功能模組 Transmit 模組GRAFCET 建模 Receive模組GRAFCET 建模 UART Entity ENTITY UART IS PORT ( CLK : IN STD_LOGIC; RST : IN STD_LOGIC; RXD : IN STD_LOGIC; SET_RATE : IN STD_LOGIC; HIGH_RATE : IN STD_LOGIC_VECTOR(7 DOWNTO 0); LOW_RATE : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
文档评论(0)