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

當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]介紹了應(yīng)用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)設(shè)計(jì)和實(shí)現(xiàn)通用異步收發(fā)器UART的方法。采用有限狀態(tài)機(jī)模型形式化描述了UART的功能,在此基礎(chǔ)上用硬件描述語(yǔ)言VHDL編程實(shí)現(xiàn)了UART,并使用QuartusⅡ軟件中的嵌入式邏輯分析儀SignalTapⅡ?qū)?shù)據(jù)傳輸進(jìn)行了檢測(cè),驗(yàn)證了設(shè)計(jì)的正確性。

0 引言
    通用異步收發(fā)器(Universal Asynchronous Receiver/Transmitter,UART)可以和各種標(biāo)準(zhǔn)串行接口,如RS 232和RS 485等進(jìn)行全雙工異步通信,具有傳輸距離遠(yuǎn)、成本低、可靠性高等優(yōu)點(diǎn)。一般UART由專用芯片如8250,16450來(lái)實(shí)現(xiàn),但專用芯片引腳都較多,內(nèi)含許多輔助功能,在實(shí)際使用時(shí)往往只需要用到UART的基本功能,使用專用芯片會(huì)造成資源浪費(fèi)和成本提高。
    一般而言UART和外界通信只需要兩條信號(hào)線RXD和TXD,其中RXD是UART的接收端,TXD是UART的發(fā)送端,接收與發(fā)送是全雙工形式。由于可編程邏輯器件技術(shù)的快速發(fā)展,FPGA的功能日益強(qiáng)大,其開(kāi)發(fā)周期短、可重復(fù)編程的優(yōu)點(diǎn)也越來(lái)越明顯,在FPGA芯片上集成UART功能模塊并和其他模塊組合可以很方便地實(shí)現(xiàn)一個(gè)能與其他設(shè)備進(jìn)行串行通信的片上系統(tǒng)。

1 UART功能設(shè)計(jì)
1.1 UART的工作原理

    異步通信時(shí),UART發(fā)送/接收數(shù)據(jù)的傳輸格式如圖1所示,一個(gè)字符單位由開(kāi)始位、數(shù)據(jù)位、停止位組成。


    異步通信的一幀傳輸經(jīng)歷以下步驟:
    (1)無(wú)傳輸。發(fā)送方連續(xù)發(fā)送信號(hào),處于信息“1”狀態(tài)。
    (2)起始傳輸。發(fā)送方在任何時(shí)刻將傳號(hào)變成空號(hào),即“1”跳變到“O”,并持續(xù)1位時(shí)間表明發(fā)送方開(kāi)始傳輸數(shù)據(jù)。而同時(shí),接收方收到空號(hào)后,開(kāi)始與發(fā)送方同步,并期望收到隨后的數(shù)據(jù)。
    (3)奇偶傳輸。數(shù)據(jù)傳輸之后是可供選擇的奇偶位發(fā)送或接收。
    (4)停止傳輸。最后是發(fā)送或接收的停止位,其狀態(tài)恒為“1”。
    發(fā)送或接收一個(gè)完整的字節(jié)信息,首先是一個(gè)作為起始位的邏輯“0”位,接著是8個(gè)數(shù)據(jù)位,然后是停止位邏輯“1”位,數(shù)據(jù)線空閑時(shí)為高或“1”狀態(tài)。起始位和停止位的作用是使接收器能把局部時(shí)鐘與每個(gè)新開(kāi)始接收的字符再同步。異步通信沒(méi)有可參照的時(shí)鐘信號(hào),發(fā)送器可以隨時(shí)發(fā)送數(shù)據(jù),任何時(shí)刻串行數(shù)據(jù)到來(lái)時(shí),接收器必須準(zhǔn)確地發(fā)現(xiàn)起始位下降沿的出現(xiàn)時(shí)間,從而正確采樣數(shù)據(jù)。
    設(shè)計(jì)時(shí)可參考由專用芯片實(shí)現(xiàn)的UART的功能并進(jìn)行一定精簡(jiǎn),如可以用FPGA的片內(nèi)RAM替代UART的FIFO,不用單獨(dú)在UART模塊中實(shí)現(xiàn)。設(shè)計(jì)的基本原則是保留最主要的功能,基于FPGA的UART系統(tǒng)由波特率時(shí)鐘發(fā)生器、接收器和發(fā)送器3個(gè)子模塊組成,如圖2所示。


1.2 接收器設(shè)計(jì)
    比較而言,UART發(fā)送器的設(shè)計(jì)相對(duì)容易,只要每隔一個(gè)發(fā)送周期并按照數(shù)據(jù)幀格式輸出數(shù)據(jù)即可,本文將對(duì)接收器的設(shè)計(jì)和實(shí)現(xiàn)做詳細(xì)說(shuō)明,發(fā)送器的設(shè)計(jì)方法基本相同。
    接收器的工作過(guò)程如下,在接收數(shù)據(jù)寄存器被讀出一幀數(shù)據(jù)或系統(tǒng)開(kāi)始工作以后,接收進(jìn)程被啟動(dòng)。接收進(jìn)程啟動(dòng)之后,檢測(cè)起始位,檢測(cè)到有效起始位后,以約定波特率的時(shí)鐘開(kāi)始接收數(shù)據(jù),根據(jù)數(shù)據(jù)位數(shù)的約定,計(jì)數(shù)器統(tǒng)計(jì)接收位數(shù)。一幀數(shù)據(jù)接收完畢之后,如果使用了奇偶校驗(yàn),則檢測(cè)校驗(yàn)位,如無(wú)誤則接收停止位。停止位接收完畢后,將接收數(shù)據(jù)轉(zhuǎn)存到數(shù)據(jù)寄存器中。
    為確保接收器可靠工作,在接收端開(kāi)始接收數(shù)據(jù)位之前,處于搜索狀態(tài),這時(shí)接收端以16倍波特率的速率讀取線路狀態(tài),檢測(cè)線路上出現(xiàn)低電平的時(shí)刻。因?yàn)楫惒絺鬏數(shù)奶攸c(diǎn)是以起始位為基準(zhǔn)同步的。然而,通信線上的噪音也極有可能使傳號(hào)“1”跳變到空號(hào)“0”。所以接收器以16倍的波特率對(duì)這種跳變進(jìn)行檢測(cè),直至在連續(xù)8個(gè)接收時(shí)鐘以后采樣值仍然是低電平,才認(rèn)為是一個(gè)真正的起始位,而不是噪音引起的,其中若有一次采樣得到的為高電平則認(rèn)為起始信號(hào)無(wú)效,返回初始狀態(tài)重新等待起始信號(hào)的到來(lái)。找到起始位以后,就開(kāi)始接收數(shù)據(jù),最可靠的接收應(yīng)該是接收時(shí)鐘的出現(xiàn)時(shí)刻正好對(duì)著數(shù)據(jù)位的中央。由于在起始位檢測(cè)時(shí),已使時(shí)鐘對(duì)準(zhǔn)了位中央,用16倍波特率的時(shí)鐘作為接收時(shí)鐘,就是為了確保在位寬的中心時(shí)間對(duì)接收的位序列進(jìn)行可靠采樣,當(dāng)采樣計(jì)數(shù)器計(jì)數(shù)結(jié)束后所有數(shù)據(jù)位都已經(jīng)輸入完成。最后對(duì)停止位的高電平進(jìn)行檢測(cè),若正確檢測(cè)到高電平,說(shuō)明本幀的各位正確接收完畢,將數(shù)據(jù)轉(zhuǎn)存到數(shù)據(jù)寄存器中,否則出錯(cuò)。


    采用有限狀態(tài)機(jī)模型可以更清晰明確地描述接收器的功能,便于代碼實(shí)現(xiàn)。接收器的狀態(tài)轉(zhuǎn)換圖如圖3所示,為突出主要過(guò)程,圖中省略了奇偶校驗(yàn)的情況。接收器狀態(tài)機(jī)由5個(gè)工作狀態(tài)組成,分別是空閑狀態(tài)、起始位確認(rèn)、采樣數(shù)據(jù)位、停止位確認(rèn)和數(shù)據(jù)正確,觸發(fā)狀態(tài)轉(zhuǎn)換的事件和在各個(gè)狀態(tài)執(zhí)行的動(dòng)作見(jiàn)圖中的文字說(shuō)明。
    在狀態(tài)機(jī)模型的基礎(chǔ)上,使用VHDL來(lái)描述接收器功能,其主要代碼如下:

    實(shí)現(xiàn)用16倍波特率時(shí)鐘確定起始位的具體方法是設(shè)計(jì)兩個(gè)輸入數(shù)據(jù)位寄存器rxd1和rxd2,使用語(yǔ)句“rxd1<=rxd;rxd2<=rxd1;”接收數(shù)據(jù)并進(jìn)行判斷。當(dāng)檢測(cè)到rxdl=O并且rxd2=1時(shí)可以確定下降沿發(fā)生,連續(xù)7個(gè)時(shí)鐘rxd2=0即確定檢測(cè)到起始位,之后為了確保在數(shù)據(jù)位中央接收數(shù)據(jù),同樣用16倍波特率時(shí)鐘對(duì)數(shù)據(jù)位進(jìn)行采樣。接收數(shù)據(jù)的方法是設(shè)計(jì)一個(gè)寄存器rxd_buf(7 downto 0),用語(yǔ)句“rxd_buf(7)<=rxd2;rxd_buf(6 DOWNTO 0)<=rxd_buf(7 DOWNTO 1);”實(shí)現(xiàn)移位寄存器右移操作,執(zhí)行8次后接收到一個(gè)完整數(shù)據(jù)。
1.3 波特率發(fā)生器設(shè)計(jì)
    波特率發(fā)生器實(shí)質(zhì)是設(shè)計(jì)一個(gè)分頻器,用于產(chǎn)生和RS 232通信同步的時(shí)鐘。在系統(tǒng)中用一個(gè)計(jì)數(shù)器來(lái)完成這個(gè)功能,分頻系數(shù)N決定了波特率的數(shù)值。該計(jì)數(shù)器一般工作在一個(gè)頻率較高的系統(tǒng)時(shí)鐘下,當(dāng)計(jì)數(shù)到N/2時(shí)將輸出置為高電平,再計(jì)數(shù)到N/2的數(shù)值后將輸出置為低電平,如此反復(fù)即可得到占空比50%的波特率時(shí)鐘,具體的波特率依賴于所使用的系統(tǒng)時(shí)鐘頻率和N的大小。如系統(tǒng)時(shí)鐘頻率是40 MHz,要求波特率是9 600,則16倍波特率時(shí)鐘的周期約等于260個(gè)系統(tǒng)時(shí)鐘周期,則計(jì)數(shù)器取260/2=130時(shí),當(dāng)計(jì)數(shù)溢出時(shí)輸出電平取反就可以得到16倍約定波特率的時(shí)鐘。
    使用VHDL來(lái)描述波特率發(fā)生器的完整代碼如下:
   

2 數(shù)據(jù)傳輸測(cè)試
    隨著邏輯設(shè)計(jì)復(fù)雜性的不斷增加,僅依賴于軟件方式的仿真測(cè)試來(lái)了解系統(tǒng)的硬件功能有很多的局限性,應(yīng)用QuartusⅡ集成開(kāi)發(fā)環(huán)境中提供的SignalTapⅡ嵌入式邏輯分析儀,可以將測(cè)試信息隨設(shè)計(jì)文件下載于目標(biāo)芯片中,用以捕獲目標(biāo)芯片內(nèi)部系統(tǒng)信號(hào)節(jié)點(diǎn)處的信息或總線上的數(shù)據(jù)流,而又不影響原硬件系統(tǒng)的正常工作。測(cè)試信息通過(guò)器件的JTAG端口傳出,并送入計(jì)算機(jī)進(jìn)行顯示和分析,這是一種高效的硬件測(cè)試手段,并很好地結(jié)合了傳統(tǒng)的系統(tǒng)測(cè)試方法。
    本設(shè)計(jì)在Altera Cyclone系列的EPlC6Q240C8芯片上進(jìn)行了驗(yàn)證,使用QuarltusⅡ軟件將編譯好的.pof格式文件以AS模式下載到配置芯片EPCS1中。在計(jì)算機(jī)端運(yùn)行串口調(diào)試助手軟件,將數(shù)據(jù)從計(jì)算機(jī)送出,并利用FPGA上的UART模塊進(jìn)行接收,將發(fā)送數(shù)據(jù)與SignalTapⅡ獲取的波形進(jìn)行對(duì)比,經(jīng)多次測(cè)試表明收發(fā)數(shù)據(jù)完全相同。


    以其中一次的測(cè)試為例進(jìn)行說(shuō)明,從PC上輸入ASCII碼的“6”,設(shè)定波特率發(fā)生器時(shí)鐘作為SignalTapⅡ的采樣時(shí)鐘,采樣波形如圖4所示,其中“recstart”表示開(kāi)始接收數(shù)據(jù)幀標(biāo)志;“divl6”表示16倍波特率時(shí)鐘;“cnt_rxd”表示數(shù)據(jù)位采樣計(jì)數(shù)器,一次完整的采樣計(jì)數(shù)從Oh~9h共10次采樣(1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位);“rxd”表示串口的接收端;“rxd_buf”表示移位寄存器,當(dāng)數(shù)據(jù)停止位確認(rèn)后,移位寄存器輸出收到的數(shù)據(jù)“36h”,表明了該UART工作穩(wěn)定可靠。
    應(yīng)特別注意的是當(dāng)利用SignalTapⅡ進(jìn)行測(cè)試工作結(jié)束后,在生成最終產(chǎn)品前,應(yīng)將SignalTapⅡ從芯片中除去,以免占用額外的資源,然后再重新編譯下載。全程編譯后報(bào)告消耗邏輯單元142個(gè),只占芯片總資源的2%,沒(méi)有占用芯片的存儲(chǔ)單元和PLL單元,對(duì)于一個(gè)中大規(guī)模的FPGA芯片而言這是非常少的資源消耗。

3 結(jié)語(yǔ)
    基于FPGA設(shè)計(jì)和實(shí)現(xiàn)UART,可以用片上很少的邏輯單元實(shí)現(xiàn)UART的基本功能。與傳統(tǒng)設(shè)計(jì)相比,能有效減少系統(tǒng)的PCB面積,降低系統(tǒng)的功耗,提高設(shè)計(jì)的穩(wěn)定性和可靠性,并可方便地進(jìn)行系統(tǒng)升級(jí)和移植。
    本設(shè)計(jì)具有較大的靈活性,通過(guò)調(diào)整波特率發(fā)生器的分頻參數(shù),就可以使其工作在不同的頻率。采用16倍波特率的采樣時(shí)鐘,可以實(shí)時(shí)有效探測(cè)數(shù)據(jù)的起始位,并可對(duì)數(shù)據(jù)位進(jìn)行“對(duì)準(zhǔn)”中央采樣,保證了所采樣數(shù)據(jù)的正確性。該模塊可以作為一個(gè)完整的IP核移植進(jìn)各種FPGA中,在實(shí)際應(yīng)用時(shí)可嵌入到其他系統(tǒng)中,很容易實(shí)現(xiàn)和遠(yuǎn)端上位機(jī)的異步通信。

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

美國(guó)紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績(jī)報(bào)告。 IBM 董事長(zhǎng)兼首席執(zhí)行官 Arvind Kri...

關(guān)鍵字: IBM 軟件 BSP 云平臺(tái)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

電子設(shè)計(jì)自動(dòng)化

21168 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉