亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的串口通信控制器設(shè)計

        2016-02-23 03:40:46亮,冀
        關(guān)鍵詞:信號系統(tǒng)設(shè)計

        賈 亮,冀 源

        (1.沈陽航空航天大學(xué) 遼寧省通用航空重點實驗室, 遼寧 沈陽 110136;2.沈陽航空航天大學(xué) 電子信息工程學(xué)院, 遼寧 沈陽 110136)

        基于FPGA的串口通信控制器設(shè)計

        賈 亮1,2,冀 源2

        (1.沈陽航空航天大學(xué) 遼寧省通用航空重點實驗室, 遼寧 沈陽 110136;2.沈陽航空航天大學(xué) 電子信息工程學(xué)院, 遼寧 沈陽 110136)

        UART串行接口是各類芯片中最常用的異步通信接口,UART作為RS232協(xié)議的控制接口得到廣泛應(yīng)用。介紹了一種基于FPGA的固定波特率串口通信控制器的多模塊設(shè)計方法,采用Altera公司的EP4CE10F17C8NFPGA芯片,用VHDL程序語言編程,經(jīng)過ModelSim軟件仿真,最后將程序燒寫到芯片,經(jīng)過串口助手測試驗證。實驗結(jié)果表明,數(shù)據(jù)傳輸快速、準(zhǔn)確,可用于低速率異步通信。

        UART串口通信;FPGA;VHDL;RS232

        0 引言

        在計算機系統(tǒng)和網(wǎng)絡(luò)高速發(fā)展的時代,通信技術(shù)發(fā)揮著越來越重要的作用,UART[1-2]串口通信由于其傳輸線少、成本低、配置靈活、適合廣泛傳輸而備受大眾青睞,得到廣泛應(yīng)用。本控制器采用FPGA作為核心模塊,通過自帶RS232接口及USB轉(zhuǎn)串口與計算機進行通信,經(jīng)試驗調(diào)試,可以實現(xiàn)串口通信。

        現(xiàn)場可編程門陣列(FieldProgrammableGateArray,F(xiàn)PGA)具有集成度高、速度快、可靠性高、開發(fā)周期短、修改方便、可移植性強[3]等優(yōu)點,利用FPGA進行系統(tǒng)功能設(shè)計是當(dāng)今電子設(shè)計的一種趨勢。

        1 控制器工作原理

        UART時序如 圖1所示。

        圖1 UART時序圖

        在UART接收時,采集一幀數(shù)據(jù)的中間8位有效位,忽略開始位與停止位;在UART發(fā)送時,將發(fā)送的8位數(shù)據(jù)轉(zhuǎn)為串行數(shù)據(jù)添加開始位、停止位。

        UART協(xié)議中一幀數(shù)據(jù)共10bit,空閑時均處于高電平,當(dāng)檢測到低電平時開始采集8bit有效數(shù)據(jù)位并將停止位置為高電平。

        波特率:波特率表示每秒傳輸?shù)亩M制位數(shù),在本實驗中波特率設(shè)為9 600b/s。

        2 主要硬件芯片介紹

        電平轉(zhuǎn)換芯片MAX232:要實現(xiàn)串口通信,需要使用電平轉(zhuǎn)換芯片MAX232,配置電路如圖2所示。

        MAX232芯片主要有以下特點[4]:

        (1)符合所有RS_232技術(shù)標(biāo)準(zhǔn);

        (2)只需要單一+5V電源供電;

        (3)片載電荷泵具有升壓、電源極性翻轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓;

        (4)功耗低,典型供電電流5mA;

        (5)內(nèi)部集成2個RS_232驅(qū)動器;

        圖2 配置電路

        (6)高集成度,片外最低只需4個電容即可工作。

        3 功能設(shè)計

        UART控制器設(shè)計按照功能劃分可分為3個模塊:波特率發(fā)生模塊,數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊。

        3.1 波特率發(fā)生模塊

        FPGA系統(tǒng)提供50MHz的時鐘頻率,當(dāng)波特率為9 600b/s時,發(fā)送一位數(shù)據(jù)需5 208個時鐘周期。在第2 604個時鐘周期時發(fā)出數(shù)據(jù)采樣脈沖信號sel,同時采樣數(shù)據(jù)位數(shù)信號num加1,采集完10個數(shù)據(jù)之后,num清零。

        代碼如下:

        entitybps_rxis

        port(

        clk:instd_logic; ——系統(tǒng)時鐘50MHz

        en:instd_logic; ——使能端

        rst_n:instd_logic;——系統(tǒng)復(fù)位端

        sel_data:outstd_logic;——數(shù)據(jù)采集脈沖信號

        num:outstd_logic_vector(3downto0) ——采集數(shù)據(jù)位數(shù)計數(shù)

        );

        endbps_rx;

        architecturebehaveofbps_rxis

        signalflag:std_logic; ——開始標(biāo)志信號

        signalnumber:std_logic_vector(3downto0);

        signalsel:std_logic;

        signalcnt:std_logic_vector(12downto0); ——時鐘計數(shù)信號

        begin

        process(clk,rst_n)

        begin

        else

        if(number="1010")then

        endif;

        endif;

        endif;

        endprocess;

        process(clk,rst_n)

        begin

        cnt<= "0000000000000";

        ifcnt< "1010001011000"then

        cnt<=cnt+ 1 ;

        elsecnt<= "0000000000000";

        endif;

        elsecnt<= "0000000000000";

        endif;

        endif;

        endprocess;

        process(clk,rst_n)

        begin

        if(cnt= "101000101100")then

        else

        endif;

        endif;

        endprocess;

        process(clk,rst_n)

        Begin

        number<= "0000";

        number<=number+1;——采集一位數(shù)計數(shù)信號加1

        elseif(number= "1010")then

        number<= "0000";

        endif;

        endif;

        endif;

        endprocess;

        num<=number;

        sel_data<=sel;

        3.2 數(shù)據(jù)接收模塊

        根據(jù)UART協(xié)議接收時序,采集一幀數(shù)據(jù)的中間8位[5]。數(shù)據(jù)接收端初始電平為高,當(dāng)檢測到低電平開始位時,使能波特率發(fā)生器,開始數(shù)據(jù)采集,進行串并轉(zhuǎn)換,轉(zhuǎn)換完成之后,按照時序進行輸出。

        代碼如下:

        entityuart_rxis

        port(

        clk,rst_n:instd_logic;

        rx_data:instd_logic;——數(shù)據(jù)接收端

        sel_data:instd_logic;——采樣脈沖

        num:instd_logic_vector(3downto0);——數(shù)據(jù)位數(shù)計數(shù)

        en:outstd_logic;——對波特率發(fā)生器使能端

        tx_en:outstd_logic;——數(shù)據(jù)發(fā)送使能

        rx_d:outstd_logic_vector(7downto0)——數(shù)據(jù)發(fā)送端

        );

        enduart_rx;

        architecturebehaveofuart_rxis

        signalin_1,in_2:std_logic; ——數(shù)據(jù)傳輸開始檢測信號

        Signald_in:std_logic_vector(7downto0); ——并行數(shù)據(jù)寄存器

        begin

        process(clk,rst_n)

        begin

        in_1 <=rx_data;——初始狀態(tài)接收端為高電平

        in_2 <=in_1;

        endif;

        endprocess;

        en<=in_2and(notin_1);——當(dāng)檢測到信號由高變低時啟動使能信號

        process(rst_n,clk)

        begin

        rx_d<="00000000";

        d_in<= "00000000";

        casenumis

        when"0000"=>null;——開始接收數(shù)據(jù)

        when"0001"=>d_in(0)<=rx_data;

        when"0010"=>d_in(1)<=rx_data;

        when"0011"=>d_in(2)<=rx_data;

        when"0100"=>d_in(3)<=rx_data;

        when"0101"=>d_in(4)<=rx_data;

        when"0110"=>d_in(5)<=rx_data;

        when"0111"=>d_in(6)<=rx_data;

        when"1000"=>d_in(7)<=rx_data;

        when"1001"=>rx_d<=d_in;

        whenothers=>null;

        endcase;

        endif;

        endif;

        endprocess;

        process(clk,rst_n)

        begin

        else

        endif;

        endif;

        endprocess;

        3.3 數(shù)據(jù)發(fā)送模塊

        發(fā)送模塊的作用是將8bit并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)[4],并按照每幀10bit數(shù)據(jù)進行輸出,其工作過程與接收方式相反,此外有起始結(jié)束位的添加。

        3.4 系統(tǒng)功能圖

        系統(tǒng)功能圖如圖3所示。

        圖3 系統(tǒng)功能圖

        4 實驗結(jié)果

        系統(tǒng)仿真圖如圖4所示。

        圖4 系統(tǒng)仿真圖

        串口測試結(jié)果:將經(jīng)過編譯仿真無誤后的VHDl程序下載到FPGA中[6],用串口進行收發(fā)數(shù)據(jù),選用COM7口,9 600b/s波特率,當(dāng)發(fā)送數(shù)據(jù)145789658742 時,接收端收到與發(fā)送端一致的數(shù)據(jù),如圖5所示。

        圖5 串口測試結(jié)果

        5 結(jié)論

        用FPGA實現(xiàn)串口通信功能,可以將串口功能與其他系統(tǒng)功能整合進一個FPGA,從而減小系統(tǒng)面積,降低功耗,具有更高的穩(wěn)定性,提高數(shù)據(jù)采集系統(tǒng)的速度,增強系統(tǒng)的抗干擾能力及數(shù)據(jù)傳輸?shù)目煽啃訹7]。這種設(shè)計方法已經(jīng)成為當(dāng)今電子設(shè)計領(lǐng)域的一種趨勢,在實際應(yīng)用中,將文中設(shè)計的UART電路作為一個模塊嵌入到一個FPGA實現(xiàn)的數(shù)據(jù)采集與處理系統(tǒng)中,實現(xiàn)串口通信功能,證明該電路設(shè)計可靠,工作穩(wěn)定。

        [1] 楊英強.一種基于FPGA的UART電路實現(xiàn)[J].現(xiàn)代電子技術(shù),2005,28(12):82-84.

        [2] 于斌,謝龍漢.ModelSim電子系統(tǒng)分析及仿真這[M].北京:電子工業(yè)出版社,2014.

        [3] 陳忠平,高金定,高見芳.基于QuartusⅡ的FPGA/CPLD設(shè)計與實現(xiàn)[M].北京:電子工業(yè)出社,2010.

        [4] 韓德紅,張顯才,李向東.基于FPGA的串口控制器設(shè)計與實現(xiàn)[J].空軍雷達學(xué)院學(xué)報,2008,22(2):113-116.

        [5] 雷伏容.VHDL電路設(shè)計[M].北京:清華大學(xué)出版社,2006.

        [6] 任愛峰,初秀琴.基于FPGA的嵌入式系統(tǒng)設(shè)計[M].西安:西安電子科技大學(xué)出版社,2005.

        [7] 吳繼華,王誠.AlteraFPGA/CPLD設(shè)計[M].北京:人民郵電出版社,2005.

        Design of serial communication controller based on FPGA

        JiaLiang1,2,JiYuan2

        (1.LiaoningKeyLaboratoryofGeneralAviation,ShenyangAerospaceUniversity(SAU),Shenyang110136,China;2.ElectronicandInformationEngineering,ShenyangAerospaceUniversity,Shenyang110136,China)

        UARTserialinterfaceisthemostcommonlyusedinterfaceinvarioustypesofasynchronouscommunicationinterface,RS232asthecontrolinterfaceUARTprotocolhasbeenwidelyused.Inthispaper,weintroduceamulti-moduledesignmethodbasedonFPGAwithafixedbaudrateserialcommunicationcontrollerusingAltera’sEP4CE10F17C8NFPGAchip,andusingtheVHDLasprogramminglanguage.ItwassimulatedbyModelsimsoftware.Finally,theprogramwasburntandwrittenonchip.Aftertestingandverifingbyserialportassistant,theexperimentalresultsshowthatdatatransmissionisquicklyandaccurately.

        UARTserialcommunication;FPGA;VHDL;RS232

        TN

        ADOI: 10.19358/j.issn.1674- 7720.2016.22.009

        賈亮,冀源. 基于FPGA的串口通信控制器設(shè)計[J].微型機與應(yīng)用,2016,35(22):33-35,39.

        2016-05-19)

        賈亮(1971—),男,在讀博士研究生,副教授,碩士生導(dǎo)師,主要研究方向:信息獲取與處理。

        冀源(1990—),男,在讀碩士研究生,主要研究方向:信息獲取與處理。

        猜你喜歡
        信號系統(tǒng)設(shè)計
        Smartflower POP 一體式光伏系統(tǒng)
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        完形填空二則
        瞞天過?!律O(shè)計萌到家
        基于FPGA的多功能信號發(fā)生器的設(shè)計
        電子制作(2018年11期)2018-08-04 03:25:42
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        亚洲av无码成人精品区在线观看| 国产91色综合久久高清| 国产成人精品久久亚洲高清不卡 | 亚洲乱码av中文一区二区| 综合色天天久久| 日本人妻系列一区二区| 91超精品碰国产在线观看| 欧洲熟妇色xxxxx欧美老妇伦| 丝袜国产高跟亚洲精品91| 久久这里只精品国产免费10| 亚洲乱码视频在线观看| 免费看奶头视频的网站| 国内精品久久人妻性色av| 国产精品一区二区夜色不卡| 刺激一区仑乱| 越南女子杂交内射bbwbbw| 91久久国产情侣真实对白| 中文字幕亚洲精品一二三区| 日本免费大片一区二区| 人人人妻人人澡人人爽欧美一区| 九九九精品成人免费视频小说| 青榴社区国产精品| 亚洲激情视频在线观看a五月| 亚洲a无码综合a国产av中文| 欧美人与动牲猛交xxxxbbbb| 成年女人在线观看毛片| 国产自产在线视频一区| 尤物在线观看一区蜜桃| 午夜成人无码福利免费视频| 亚洲一区二区三区在线观看播放 | 亚洲饱满人妻视频| 国产激情一区二区三区成人免费| 大香蕉青青草视频在线| 精品国产精品国产偷麻豆| 免费无码又爽又刺激聊天app| 国产精品美女黄色av| 久久精品国产亚洲av网站| 日本肥老妇色xxxxx日本老妇| 国产在线一91区免费国产91| 一级黄色一区二区三区视频| 免费a级毛片无码a∨蜜芽试看|