[發明專利]基于UARTIP核的SCI通訊方法在審
| 申請號: | 201710088385.5 | 申請日: | 2017-02-17 |
| 公開(公告)號: | CN106933772A | 公開(公告)日: | 2017-07-07 |
| 發明(設計)人: | 孫倩;孫舟;劉文亮;谷鳴;王紅玲 | 申請(專利權)人: | 西安航空制動科技有限公司 |
| 主分類號: | G06F13/42 | 分類號: | G06F13/42;G06F9/44;G06F15/78 |
| 代理公司: | 中國航空專利中心11008 | 代理人: | 杜永保 |
| 地址: | 710075 陜*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 uartip sci 通訊 方法 | ||
技術領域
本發明涉及一種基于UART IP核的SCI通訊方法。
背景技術
在許多工程系統應用中,UART(通用異步接收發送裝置)以低成本、高可靠性等優點被人們青睞。目前廣泛使用的RS232異步串行接口,如8250、NS16450等專用集成芯片,雖然使用簡單,卻有占用電路體積、引腳連接復雜等缺點。
文獻“《基于TL16C752B的DSP通用異步串行接口設計》電子測量技術論文2009.7”介紹了一種基于DSP和異步串行接口協議芯片TL16C752B之間的接口電路設計方法,雖應用簡單但其硬件電路復雜。
而當前通訊的發展趨勢,對設計提出了系統集成,高可靠性的要求。為滿足這些要求,不僅要求采用數字化,而且要求采用集成化更高,模塊化,可靠性更強的產品。
發明內容
發明目的是:
為了克服傳統的SCI通訊芯片體積大占用管腳多等不足,本發明提供一種基于UART IP核的SCI通訊技術。使用IP復用技術,將UART IP軟核集成到FPGA芯片上,可增加系統的可靠性,縮小PCB板體積;其次由IP核的特點,可使整個系統更加靈活,還可以根據需要進行功能的升級、擴充和裁減,實現了SCI通訊的集成化和模塊化,可作為一個獨立的模塊集成到控制器中。
本發明解決其技術問題所采用的技術方案是:
在本設計中使用自頂向下的設計方法對UART進行分析設計。首先把該設計劃分成幾個可操作的子模塊,編制出相應的模型(RTL級)。然后再將每個子模塊看成一個獨立的單元,組合在一起完成整個設計。UART IP核主要是包含接收器模塊、發送器模塊、波特率產生模塊、中斷控制模塊和FIFO模塊組成五部分,見附圖1。
UART IP核包含一個可編程的波特率發生器:它是給發送器和接收器提供發送數據和接收數據的比特時鐘;包括提供標準波特率和各種非標準波特率的比特時鐘:標準波特率作為通信雙方進行異步串行通信。而非標準波特率作高速同步通信;它可以對系統時鐘進行2n分頻(n最大為16),輸出的頻率Baudrate_clk=系統時鐘/(波特率×16×除數);這樣通過設置除數的值。就可以得到期望的內部波特率;
發送FIFO和接收FIFO在UART中的作用是實現對收發數據的緩沖,減少串口和CPU的交互時間,提高CPU和UART的傳輸效率。由于數據總線的讀寫時鐘與UART的工作時鐘不一樣,所以所設計的UART采用的是異步FlF0的方式。異步FIFO主要由4部分組成:寫時鐘域模塊、讀時鐘域模塊、異步比較模塊以及雙端口RAM模塊。其中讀/寫時鐘域模塊中包含了讀/寫指針和空/滿標志產生邏輯。異步比較模塊是用來產生空/滿判斷信號。當讀寫指針在同一時刻指向同一個內存位置時,FIFO處于空或滿的狀態。判斷此時狀態是空還是滿,就要通過對讀寫指針進行判斷。
中斷處理模塊:發送數據時,防止數據丟失,以及和CPU交聯數據過多,將多個SCI的中斷信號相與,減少了中斷信號和控制芯片間的信號交聯,當控制器接收到中斷信號后,去查對應FIFO中的滿標志位,再去FIFO取數;從而防止數據丟失;
發送模塊的邏輯是從發送FIF0中讀取數據,將讀到的并行數據轉換成串行數據,并送往外設。接受采用狀態機來設計,一共有5個狀態機,分別為:CHECK等待、CHECK開始、接收開始、數據讀取、中斷CHECK;
CHECK等待:復位的時候狀態機進入的狀態;UART在沒有數據的時候,其數據線一直保持高位;當檢測到數據線出現下降沿的時候,即CHECK開始狀態;
CHECK開始:在CHECK等待狀態時檢測到數據線出現下降沿時進入CHECK開始狀態,通過CHECK開始狀態確定這個下降沿是否由于毛刺引起;在該狀態中對第一位數據進行采樣并且判斷,如果得到的數據是起始位0的話,狀態機會跳轉到接收開始狀態;如果發現是誤判,即判斷出現毛刺,狀態機會重新進入CHECK等待狀態;
發送開始:完成起始位的發送后,就要發送由CPU傳過來的有效數據;首先把數據存入一個移位寄存器中,利用移位寄存器實現并行輸入到串行輸出的轉換;當計數器顯示數據傳輸完畢后,狀態機跳入數據讀取狀態;
數據讀?。焊鶕褌鬏數挠行祿?,獲得數據并且在本狀態傳輸出去;
中斷CHECK:對停止位進行采樣,并且判斷停止位是否為1;若停止位不正確,那么數據也不傳入CPU;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安航空制動科技有限公司,未經西安航空制動科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710088385.5/2.html,轉載請聲明來源鉆瓜專利網。





