www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]本文設(shè)計了一種基于FPGA的UART核,該核符合串行通信協(xié)議,具有模塊化、兼容性和可配置性,適合于SoC應(yīng)用。

摘要:本文設(shè)計了一種基于FPGAUART核,該核符合串行通信協(xié)議,具有模塊化、兼容性和可配置性,適合于SoC應(yīng)用。設(shè)計中使用Verilog HDL硬件描述語言在Xilinx ISE環(huán)境下進行設(shè)計、仿真,最后在FPGA上嵌入UART IP核實現(xiàn)了電路的異步串行通信功能。 
關(guān)鍵詞:IP核;UART;Verilog HDL;FPGA 

Abstract:This article introduces the design of a UART core based on FPGA. According to the protocol of serial communication, this core has the characteristic of modularity and configurability, and is ideal for SoC(system on a chip). Verilog hardware description language (HDL) in the Xilinx ISE environment has been used for its design, compilation and simulation. The UART IP core has been implemented using FPGA technology.

Keywords:IP core;UART;Verilog HDL;FPGA

1 引言

在數(shù)據(jù)采集系統(tǒng)中, 常需要進行異步串行數(shù)據(jù)傳輸,目前廣泛使用的RS232異步串行接口,如8250、NS16450等專用集成芯片,雖然使用簡單,卻有占用電路體積、引腳連接復(fù)雜等缺點。SoC(System on Chip,片上系統(tǒng))是ASIC設(shè)計中的新技術(shù),是以嵌入式系統(tǒng)為核心,以IP 復(fù)用技術(shù)為基礎(chǔ),集軟、硬件于一體的設(shè)計方法。使用IP復(fù)用技術(shù),將UART集成到FPGA芯片上,可增加系統(tǒng)的可靠性,縮小PCB板體積;其次由于IP核的特點,使用IP核可使整個系統(tǒng)更加靈活,還可以根據(jù)需要進行功能的升級、擴充和裁減。

本文使用Verilog HDL語言編寫UART模塊,將其集成到FPGA芯片上,與芯片上的其它功能模塊構(gòu)成SoC片上系統(tǒng)。

2         UART模塊設(shè)計與實現(xiàn)

UART串行數(shù)據(jù)格式如圖1所示,串行數(shù)據(jù)包括8位數(shù)據(jù)(8 data bits)、1位起始位(start bit)、1位結(jié)束位(stop bit)、1位校驗位(parity bit),共11位。

圖1. UART數(shù)據(jù)格式

UART模塊結(jié)構(gòu)如圖2所示,左邊發(fā)送鎖存器、發(fā)送移位寄存器和邏輯控制組成發(fā)送模塊(txmit),右邊接收鎖存器、接收移位寄存器和邏輯控制組成接收模塊(rxcver)。發(fā)送模塊和接收模塊除了共用復(fù)位信號、時鐘信號和并行數(shù)據(jù)線外,分別有各自的輸入、輸出和控制邏輯單元。

 

圖2. UART模塊結(jié)構(gòu)

2.1 波特率時鐘的控制

UART核包含一個可編程的波特率發(fā)生器,它給發(fā)送模塊和接收模塊提供發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的基準時鐘,波特率發(fā)生器產(chǎn)生的時鐘mclkx16是串行數(shù)據(jù)波特率的16倍。它對系統(tǒng)時鐘進n分頻,計算公式為:mclkx16=系統(tǒng)時鐘/波特率*16,針對不同波特率設(shè)定相應(yīng)的數(shù)值就可以得到期望的內(nèi)部波特率時鐘。

2.2 發(fā)送模塊設(shè)計

       發(fā)送模塊分為三種模式:空閑模式、載入數(shù)據(jù)模式、移位模式。當并行8位數(shù)據(jù)從總線寫入發(fā)送模塊后,發(fā)送模塊將并行數(shù)據(jù)裝入鎖存器thr中,然后在移位寄存器tsr中將數(shù)據(jù)移位,產(chǎn)生完整的發(fā)送序列(包括起始位,數(shù)據(jù)位,奇偶校驗位和停止位),以相應(yīng)波特率從tx發(fā)送。發(fā)送模塊的輸入時鐘mclkx16是串行數(shù)據(jù)波特率的16倍,模塊內(nèi)部將其16分頻后得到波特率時鐘txclk。

在發(fā)送時序圖中我們看到輸入數(shù)據(jù)為8’b00001111,校驗位為奇校驗,產(chǎn)生校驗位為’1’。tx端依次輸出起始位’0’,8位數(shù)據(jù)’00001111’,校驗位’1’。tsr移位寄存器中數(shù)據(jù)依次右移,高位在前兩次右移中補’1’,之后8次移位中高位補’0’。

下面是發(fā)送模塊主要程序段,使用Verilog HDL語言編寫。由于初始和移位程序比較簡單,這里沒有給出。

always @(posedge txclk or posedge reset)

if (reset)

       idle_reset;                                          //初始程序

else

       begin

              if (txdone && txdatardy)

                     load_data;                            //將數(shù)據(jù)裝入tsr,并發(fā)送起始位

              else

            begin  

                     shift_data;                           // tsr8位數(shù)據(jù)移位,并產(chǎn)生校驗位          

                 if (txdone )              

                   tx <= 1'b1;                      // 輸出停止位

                  else if (paritycycle)

                   tx <= txparity;               // 輸出校驗位

                 else                      

                            tx <= tsr[0];       //輸出數(shù)據(jù)位

                  end

       end

圖3. 發(fā)送時序

2.3    接收模塊設(shè)計

接收模塊也分為三種模式:空閑模式、檢測起始位模式、移位模式。首先捕捉起始位,

在mclkx16時鐘下不斷檢測從rx端輸入數(shù)據(jù)的起始位,當檢測到起始位后,接收模塊由空閑模式轉(zhuǎn)換為移位模式,并且16分頻mclkx16產(chǎn)生rxclk波特率時鐘。此時rxclk時鐘的上升沿位于串行數(shù)據(jù)每一位的中間,這樣接下來的數(shù)據(jù)在每一位的中點采樣,能有效濾除噪聲影響。然后由rxclk控制在上升沿將數(shù)據(jù)位寫入移位寄存器rsr的rsr[7]位,并且rsr右移1位,照此過程8位數(shù)據(jù)全部寫入rsr,并且停止產(chǎn)生rxclk波特率時鐘。判斷奇偶校驗、幀結(jié)構(gòu)和溢出標志正確后,rsr寄存器中的數(shù)據(jù)寫入rhr數(shù)據(jù)鎖存寄存器中,最后由8位數(shù)據(jù)總線輸出轉(zhuǎn)換完成的數(shù)據(jù)。

    rxclk時鐘的產(chǎn)生依靠判斷起始位,在起始位’0’的中點產(chǎn)生,并且在檢測到結(jié)束位后停止,如圖4所示。

                          圖4. 接收模塊波特率時鐘產(chǎn)生時序

接收移位程序段如下:

task shift_data;

       begin                                                                                             

       rsr         <= rsr >> 1;            // 寄存器右移一位 

      rsr[7]      <= rxparity;             // 數(shù)據(jù)裝入rsr[7]

      rxparity    <= rxstop;             

      rxstop      <= rx;                

      paritygen   <= paritygen ^ rxstop;     // 產(chǎn)生奇偶比較標志

       end

endtask

由時序圖可以看到一個完整的數(shù)據(jù)幀的接收過程,hunt和idle標志捕捉到起始位后,產(chǎn)生rxclk波特率時鐘,串行數(shù)據(jù)在rsr中移位,rsr中數(shù)據(jù)右移高位補零。當起始位’0’移位到rsr[0]后,接收模塊在下一個clk上升沿返回空閑狀態(tài),返回空閑狀態(tài)后產(chǎn)生數(shù)據(jù)移位完成中斷rxrdy,數(shù)據(jù)可從8位數(shù)據(jù)總線讀出。

圖5. 接收時序

3  UART綜合

程序經(jīng)仿真驗證后,須綜合生成IP核并嵌入FPGA中。使用Xilinx公司的Xilinx ISE工具綜合UART模塊,F(xiàn)PGA選用Xilinx公司的Spartan-IIE xc2s50E,系統(tǒng)時鐘40Mhz。經(jīng)Xilinx ISE綜合后,資源使用結(jié)果如下所示,表明使用少量FPGA的Slice和LUT單元就可生成UART核。

表1. 資源使用情況

Number of Slices     

108  out of    768

14%

Number of Slice Flip Flops 

90   out of   1536

5% 

Number of 4 input LUTs 

195  out of   1536

12% 

Number of bonded IOBs     

25   out of    102

24% 

Number of GCLKs 

1    out of      4

25% 

UART核可靈活分成接收和發(fā)送兩部分,可根據(jù)需要選擇使用,節(jié)省系統(tǒng)資源;一些控制標志字也可根據(jù)需要自行刪減和擴充。最后將集成有UART核的FPGA數(shù)據(jù)采集系統(tǒng)與測試臺進行異步串行通信實驗,通信數(shù)據(jù)經(jīng)檢測表明使用UART核傳輸數(shù)據(jù)穩(wěn)定可靠。

4  結(jié)束語

    在數(shù)據(jù)采集系統(tǒng)中經(jīng)常采用UART異步串行通信接口作為數(shù)據(jù)采集系統(tǒng)的短距離串行通信。相對于傳統(tǒng)的UART芯片來說,集成在FPGA中的具有UART功能的IP核更有利于提高數(shù)據(jù)采集系統(tǒng)的可靠性和穩(wěn)定性,縮小電路體積。本文設(shè)計的UART IP核通過仿真驗證,經(jīng)綜合、編譯、嵌入FPGA,成功應(yīng)用于數(shù)據(jù)采集系統(tǒng)的端口通信中。

參考文獻

[1] 侯伯亨, 顧新. VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計[M]. 西安: 西安電子科技大學(xué)出版社, 19991

[2] 張莉, 楊永明. 基于CPLD的UART設(shè)計[J]. 微計算機信息. 2002. 2(18): 60-61

[3] Xilinx, Inc. Spartan-IIE 1.8V FPGA Functional Description , 2003, 9

[4] 劉 達, 龔建榮. 系統(tǒng)級可編程芯片(SOPC)設(shè)計思想與開發(fā)策略[J]. 現(xiàn)代電子技術(shù), 2002, (11): 124

[5] 周恒, 羅斯青. 基于FPGA的SOC設(shè)計策略[J]. 山西電子技術(shù), 2002, (11): 629

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機 CAN

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關(guān)鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢依然嚴峻的當下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關(guān)鍵字: LINK AI BSP 智能家電

電子設(shè)計自動化

21168 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉