《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的串行通信控制系統的設計
基于FPGA的串行通信控制系統的設計
來源:微型機與應用2011年第5期
王媛媛,劉樹林,劉寧莊,童 軍
(西安科技大學 電氣與控制工程學院,陜西 西安 710054)
摘要: 在Altera Cyclone II平臺上采用“自頂向下”的模塊化設計思想及VHDL硬件描述語言,設計了串行通信控制系統。在Quartus II軟件上編譯、仿真后下載到FPGA芯片EP2C5Q208上,進行在線編程調試,實現了串行通信控制功能。基于FPGA的系統設計調試維護方便、可靠性高,而且設計具有靈活性,可以方便地進行擴展和移植。
Abstract:
Key words :

摘  要: 在Altera Cyclone II平臺上采用“自頂向下”的模塊化設計思想及VHDL硬件描述語言,設計了串行通信控制系統。在Quartus II軟件上編譯、仿真后下載到FPGA芯片EP2C5Q208上,進行在線編程調試,實現了串行通信控制功能?;贔PGA的系統設計調試維護方便、可靠性高,而且設計具有靈活性,可以方便地進行擴展和移植。
關鍵詞: FPGA;通信控制系統;模塊化;VHDL

 基于現場可編程門陣列FPGA的系統開發可以廣泛應用于各行各業,ASIC設計、通信、控制、電力電子等。其主要優點有:設計周期短、功耗低,可實現更高集成度的數字系統和嵌入式系統等。用戶可對FPGA內部的邏輯模塊和I/O模塊重新進行配置,以實現數字邏輯電路以及基于FPGA的SRAM、查找表(LUT)等。FPGA還具有靜態可重復編程和動態在系統重構的特性,使得硬件的功能可以像軟件一樣通過編程來修改,從而提高設計的可靠性、穩定性和靈活性。傳統的設計中,FPGA的功能僅局限于集成電路的應用和驗證,然而隨著電子技術的迅猛發展,集成度更高,功耗更低,基于FPGA的電路設計將發揮出更大的優勢,使得在一片FPGA中實現一個完備的數字處理系統成為可能[1-3]。本文提出的基于FPGA的串行通信控制系統的設計與實現,是在Altera公司的FPGA Cyclone II芯片EP2C5的基礎上實現的,運用VHDL語言編程,在Quartus II軟件上進行編譯、仿真,最終在FPGA開發板上成功實現下載和調試驗證。
1  串行通信控制系統的基本原理
 基本的通信方式可分為并行通信和串行通信兩種。并行通信就是數據以成組的方式在多個并行信道上同時傳輸;而串行通信則是在傳輸過程中,二進制數據一位一位的通過一條通信信道,并且按照規定的規程依次傳輸,實現計算機與計算機或計算機與外部設備之間的通信(數據交換)。由于串行通信的收發方都只需要一條數據線,比較容易實現,而且長距離傳輸時也更加可靠,因此其應用十分廣泛[4]。
 串行通信控制系統的模型如圖1所示,其基本原理是:信息源將待傳輸的消息轉換成原始電信號(如電話系統中的電話機就可看成是信息源);發送設備對原始電信號進行某種變換或處理,使電信號符合信道的傳輸特性要求;信道是信息傳輸的通道,在串行通信時,代表信息的數字信號序列按時間順序一個接一個地在信道中傳輸;接收端從收到的信號中恢復出相應的原始信號;受信者則將復原的原始信號轉變成相應的消息(如電話機將對方傳來的電信號還原成了聲音);噪聲源是信道中的所有噪聲及通信系統中噪聲的集合[5]。

2 系統整體設計方案
2.1 系統功能

 (1)通過4×4鍵盤輸入0~F數據,并將此輸入數據發送給上位機,上位機可以準確接收所發送的數據。
 (2)通過LED準確接收上位機串口調試助手發送的數據。
 (3)波特率可分為2 400 b/s、4 800 b/s、9 600 b/s、19 200 b/s、38 400 b/s,并且可以隨意修改。
2.2 設計方案
 整個設計在Altera Cyclone II平臺上采用了“自頂向下”的模塊化設計思想,并使用硬件描述語言VHDL對電路進行描述。
 根據功能要求,系統可分為4×4鍵盤掃描輸入模塊、LED顯示模塊、接收模塊、發送模塊和波特率產生模塊5個功能模塊,系統原理框圖如圖2所示。

 設計原理為:4×4鍵盤掃描輸入模塊將所輸入的數據轉換為二進制代碼傳輸給發送模塊,發送模塊再將此數據通過串口TXD發送到PC機;接收模塊通過串口RXD接收由上位機或串口調試助手發送的數據,并且顯示在數碼管上;數據傳輸速率由波特率產生模塊的輸出頻率決定,可以根據需要進行設置,如可設置為2 400 b/s、4 800 b/s等。
3 功能子模塊的設計與實現
3.1 接收模塊的設計

 接收模塊的主要功能為接收PC機發送8 bit二進制數。根據功能要求,采用VHDL硬件描述語言對其功能進行描述,模塊頂層設計文件如圖3所示,各端口分別為:bclkr(傳輸速率控制端,輸入波特率產生模塊的輸出頻率)、resetr(復位端)、rxd(接收端口,串行輸入)、r_ready(接收就緒)、rbuf(接收寄存器)。該模塊采用有限狀態機設計。

3.2 發送模塊的設計
 發送模塊的主要功能是將鍵盤按鍵值以給定的波特率發送給PC機。本文的設計思想是:當不發送數據時,數據信號線表現為高電平,即空閑位;當開始發送數據后,數據信號為低電平,也就是起始位,為了保證能夠在發送數據時準確采樣,采用頻率為波特率16倍的輸入時鐘。輸入時鐘信號由波特率產生模塊的輸出提供。該模塊采用VHDL硬件描述語言進行描述,頂層設計文件如圖4所示,各端口分別為:bclkt(輸入時鐘)、resett(復位)、xmit_cmd_p(發送命令端)、txdbuf[7...0](發送緩沖器輸入端)、txd(發送數據端)、txd_done(發送完畢)。該模塊采用有限狀態機設計,根據功能要求,電路包括空閑、起始、等待、移位、停止5個狀態。

3.3 波特率產生模塊的設計
 波特率產生模塊的主要功能:當輸入不同數據時,將對輸入的時鐘信號有不同的分頻比,從而產生不同的波特率。波特率發生器采用加法計數器來實現多種分頻。產生38 400 b/s的VHDL程序如下:
process(clk,bo)
begin
 case bo is
                     when "100"=>clkout<=clk38400;
                     when others=>clkout<=null;
                  end case;
end process;
process(clk,res)
variable cnt5:integer range 39 downto 0;
begin
if res=′1′ then cnt5:=0; clk38400<=′0′;  //復位
elsif rising_edge(clk) then
if cnt5>=39 then cnt5:=0;clk38400<=not clk38400;
//設置分頻系數38 400波特率
    else cnt5:=cnt5+1;
    end if;
end if;
end process;
 波特率為38 400 b/s的仿真波形如圖5所示。其中,bo為波特率選擇設置端口,將其分配給FPGA開發板的3個撥動開關,通過撥動開關輸入相應的數據實現波特率設置;clk為系統時鐘信號,頻率為24 MHz;res為復位端;clkout為輸出時鐘,提供給接收和發送模塊,實現不同波特率傳輸。

3.4 鍵盤模塊設計
 鍵盤模塊的主要功能是將按鍵轉換為8 bit二進制數,該功能的實現過程為:對于4×4鍵盤,通常連接為4行、4列,因此,要識別按鍵,只需要知道是哪一行和哪一列即可。為了完成這一按鍵識別過程,本設計首先確定行值,如果讀入的4行均為高電平,則肯定沒有鍵按下,如果讀入的4行有一位為低電平,則對應的該行肯定有一個鍵被按下,這樣便可以獲得按鍵的行值;然后通過加法計數器進行列掃描,獲得列值。將獲取到的行值和列值組合成一個8 bit的數據,根據實現不同的編碼對每個按鍵進行匹配。鍵盤模塊仿真波形如圖6所示。

3.5 數碼管顯示模塊設計
 數碼管顯示模塊的主要功能是將所接收到的數據在8 bit七段數碼管上進行顯示。本設計中使用的是兩個4 bit一體、共陰極型的七段數碼管。因此,數碼管中被輸入高電平的這一段將會被點亮,反之則不亮。應用數碼管的這一特點,給數碼管相應的段輸入高電平,從而實現相應數據的顯示。通過位選端口來控制,被選通的數碼管顯示數據,其余關閉。實現數碼管顯示的VHDL代碼如下[6]:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY led_display IS
        PORT
    (
        ledclk: IN STD_LOGIC;
        res: IN STD_LOGIC;
        data: IN STD_LOGIC_VECTOR(7 downto 0);
        ledout: OUT STD_LOGIC_VECTOR(7 downto 0);
        sel: OUT STD_LOGIC_VECTOR(2 downto 0)
    );    
END led_display;
ARCHITECTURE led_architecture OF led_display IS
BEGIN
process(ledclk,res,data)
      begin
        if ledclk′event and ledclk=′1′ then
            if res=′1′ then ledout<="00000000";
        end if;
        case data is
            when "00000000" =>ledout<="00111111";
//顯示數據0
            when "00000001" =>ledout<="00000110";
//顯示數據1
            when "00000010" =>ledout<="01011011";
//顯示數據2
                                :             :
                                :             :
            when "00001111" =>ledout<="01110001";
 //顯示數據F
            when others =>null;
         end case;
       end if;
   sel<="000"; end process;
END led_architecture;
4 系統下載與調試結果
 在Quartus II 7.2中建立項目后,輸入頂層設計文件及各個模塊的VHDL程序代碼,編譯、仿真、管腳分配之后產生編程文件,將編程文件下載到FPGA芯片EP2C5Q208上,通過串口線連接實驗箱與PC機進行調試及驗證。通過FPGA的4×4鍵盤輸入0~F數據,并發送給PC機,PC機可以正確接收到所發送的數據;同時,通過PC機串口調試助手發送數據給FPGA時,FPGA也可以準確接收到相應數據,并且將接收到的數據在數碼管上顯示;改變波特率時也可以實現上述功能。實驗結果表明,本設計滿足設計要求。
 本設計運用FPGA開發平臺將串行通信控制系統集成在一片Altera EP2C5芯片中,提高了系統的質量和可靠性。同時,由于基于FPGA的系統設計能夠在現場進行編程及調試,具有很大的靈活性,可以方便地進行修改完善,用戶可以在不改變電路系統的情況下,進行反復編程和隨意修改。一旦設計成熟,也可以制成ASIC芯片,不但大大降低了設計風險,也可以節約成本。
參考文獻
[1] 李迎九,肖柳明.基于FPGA的數字通信系統同步電路的設計[J].湘潭師范學院學報(自然科學版),2005,27(1).
[2] KUNG Yingshieh, Chen Chiasheng, Wong Kiinging, et al. Development of a FPGA-based control IC for PMSM drive with adaptive fuzzy control[C]. Proceeding of IEEE Industial Electronics Society, IEOON 2005, 2005: 1544-1545.
[3] 潘松,黃繼業.EDA技術與VHDL[M].北京:清華大學出版社,2009.
[4] 宋兵躍,吳軍輝,黃斌.單片機的高效串行通信研究[J].單片機與嵌入式系統應用,2010(1):27-29.
[5] 王興亮.通信系統原理教程[M].西安:西安電子科技大學出版社,2007.
[6] 李晶皎,李景宏,曹陽.邏輯與數字系統設計[M].北京:清華大學出版社,2008.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美精品一级| 久久久久久一区二区三区| 国产精品夜夜夜一区二区三区尤| 亚洲一区二区欧美日韩| 亚洲香蕉伊综合在人在线视看| ●精品国产综合乱码久久久久| 欧美日本视频在线| 亚洲精品欧美精品| 狠狠干综合网| 国内精品伊人久久久久av一坑| 亚洲色图在线视频| 亚洲欧美日韩高清| 鲁大师影院一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 亚洲黄色av一区| 久久一区视频| 亚洲欧洲视频在线| 久久久水蜜桃| 国产在线日韩| 日韩视频免费观看高清完整版| 你懂的亚洲视频| 久久综合久久综合久久综合| 欧美天天综合网| 国内精品伊人久久久久av影院| 一区精品在线播放| 欧美韩国一区| 欧美jizzhd精品欧美巨大免费| 国产一区二区欧美| 亚洲综合999| 亚洲欧洲在线看| 亚洲国产精品美女| 欧美精品午夜| 欧美电影打屁股sp| 亚洲电影av在线| 午夜精品久久久99热福利| 欧美中文在线字幕| 国产精品成人一区二区艾草| 亚洲午夜激情免费视频| 亚洲开发第一视频在线播放| 在线国产精品播放| 久久午夜电影| 久久婷婷国产麻豆91天堂| 亚洲网站在线观看| 欧美**字幕| 国产精品拍天天在线| 亚洲国产欧美一区| 欧美私人啪啪vps| 亚洲精品乱码视频| 欧美日韩免费观看一区三区| 欧美日韩成人一区二区| 亚洲欧美日韩综合| 国产精品国产亚洲精品看不卡15| 欧美日韩在线观看一区二区| 亚洲欧美在线磁力| 久久九九国产| 国产日韩成人精品| 国产精品久久久久久模特| 国产精品日韩| 欧美日韩mv| 亚洲三级电影在线观看| 国产精品久久久久9999吃药| 亚洲成色www久久网站| 国产精品美女诱惑| 亚洲欧美区自拍先锋| 另类酷文…触手系列精品集v1小说| 西西人体一区二区| 久热精品视频在线观看一区| 欧美精品尤物在线| 亚洲欧美成人一区二区三区| 国产精品九九久久久久久久| 影音先锋成人资源站| 久久久久www| 亚洲另类一区二区| 欧美日韩国产精品一区二区亚洲| 国产人妖伪娘一区91| 夜夜嗨av一区二区三区| 欧美精品一区视频| 欧美电影免费| 欧美日韩中文字幕在线| 亚洲美女精品成人在线视频| 国产一区二区视频在线观看| 久久av老司机精品网站导航| 久久影音先锋| 一区二区高清| 国产一区二区三区在线观看网站| 国产精品久久久久9999高清| 亚洲激情精品| 在线日韩成人| 亚洲午夜激情免费视频| 欧美激情一区二区三区成人| 亚洲尤物视频在线| 亚洲国产精品精华液2区45| 欧美激情一区二区三区全黄| 欧美伦理一区二区| 蜜桃久久精品乱码一区二区| 亚洲国产精品尤物yw在线观看| 亚洲六月丁香色婷婷综合久久| 亚洲精品国产精品国产自| 久久综合网hezyo| 欧美日本不卡| 亚洲黄色在线视频| 狠狠色狠狠色综合日日tαg| 国产欧美日韩三区| 久久女同精品一区二区| 中文网丁香综合网| 99xxxx成人网| 国产精品视频yy9099| 亚洲精品中文字幕在线观看| 国产美女一区二区| 夜夜爽av福利精品导航| 宅男噜噜噜66国产日韩在线观看| 亚洲天堂av高清| 亚洲国产一区在线| 最新国产成人在线观看| 国产精品乱码人人做人人爱| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美高清在线一区| 国产精品性做久久久久久| 国产精品av久久久久久麻豆网| 欧美日韩精品一二三区| 国产精品一区二区视频| 老鸭窝91久久精品色噜噜导演| 午夜性色一区二区三区免费视频| 国产精品久久久| 国产欧美日韩视频在线观看| 久久不射中文字幕| 亚洲国产成人av| 麻豆久久婷婷| 国产欧亚日韩视频| 狠狠色综合色综合网络| 亚洲一区国产| 欧美视频二区36p| 99精品视频免费观看| 亚洲欧美怡红院| 久久漫画官网| 久久手机免费观看| 一区二区三区视频在线播放| 午夜精品福利一区二区三区av| 欧美日韩成人| 国产午夜精品理论片a级大结局| 免费看的黄色欧美网站| 亚洲一区二区精品在线观看| 国产精品视频大全| 亚洲激情一区二区三区| 欧美日韩伦理在线免费| 校园春色国产精品| 欧美日韩国产精品专区| 欧美成人精精品一区二区频| 亚洲一区国产精品| 精品福利免费观看| 国产精品高清免费在线观看| 最近中文字幕mv在线一区二区三区四区| 亚洲欧美激情精品一区二区| 国产精品swag| 久久精品国产99国产精品澳门| 亚洲理论在线| 亚洲高清视频一区二区| 韩日精品中文字幕| 国产精品日日摸夜夜摸av| 国产色综合天天综合网| 老牛影视一区二区三区| 亚洲自拍偷拍福利| 欧美日韩国产经典色站一区二区三区| 亚洲桃色在线一区| 亚洲精选国产| 亚洲毛片播放| 久久久久成人网| 在线午夜精品自拍| 欧美性久久久| 久久久噜噜噜久久久| 欧美日韩久久| 欧美性事免费在线观看| 国产精品毛片| 欧美日韩mv| 亚洲乱码日产精品bd| 国产欧亚日韩视频| 午夜在线视频观看日韩17c| 国产精品日韩精品欧美精品| 国产精品日本欧美一区二区三区| 欧美日韩在线观看一区二区三区| 久久久精品久久久久| 国产日韩视频一区二区三区| 亚洲欧美成人综合| av成人免费观看| 国产欧美精品日韩精品| 狠狠色综合日日| 久热国产精品视频| 裸体女人亚洲精品一区| 国产一区二区三区四区hd| 欧美精品国产精品日韩精品| 亚洲日本视频| 欧美一区二区在线免费观看| 欧美在线免费一级片| 国产精品久久99| 亚洲国产精品视频| 国产精品99久久99久久久二8| 欧美精品在线一区二区三区| 99在线精品免费视频九九视| 欧美日韩国产麻豆| 欧美成人免费在线| 久久亚洲捆绑美女| 麻豆91精品| 欧美午夜理伦三级在线观看| 国产精品入口麻豆原神| 黄页网站一区| 欧美人在线视频| 欧美极品在线视频| 亚洲一二三区在线观看| 久久综合久久88| 亚洲全黄一级网站| 欧美理论片在线观看| 欧美色图天堂网| 国产一区二区三区在线观看免费视频| 欧美日韩成人一区二区三区| 国产精品裸体一区二区三区| 欧美日韩在线不卡一区| 欧美专区在线播放| 免费日本视频一区| 国产日韩成人精品| 国产精品白丝黑袜喷水久久久| 午夜精品福利在线观看| 欧美小视频在线观看| 欧美日韩另类国产亚洲欧美一级| 久久精品免费| 亚洲在线观看| 欧美日韩视频不卡| 欧美日精品一区视频| 影音先锋中文字幕一区| 亚洲三级免费电影| 欧美成人综合| 日韩视频永久免费| 久久精品亚洲乱码伦伦中文| 国产区亚洲区欧美区| 国产亚洲精品bt天堂精选| 一本色道久久88综合亚洲精品ⅰ| 国产一区二区三区高清| 亚洲自拍都市欧美小说| 蜜臀91精品一区二区三区| 免费成人激情视频| 亚洲欧美久久久久一区二区三区| 久久久久久久网| 国内一区二区在线视频观看| 国产有码在线一区二区视频| 国产免费亚洲高清| 亚洲欧美自拍偷拍| 国产一区三区三区| 欧美理论在线播放| 国产一区二区三区的电影| 欧美理论片在线观看| 国内精品久久久久久影视8| 欧美日韩中文字幕综合视频| 国产精品一区免费在线观看| 国产亚洲精品资源在线26u| 久久一区二区三区四区| 亚洲经典三级| 精品盗摄一区二区三区| 亚洲欧洲日夜超级视频| 久久er精品视频| 国产日韩视频一区二区三区| 一区电影在线观看| 国产精品一区在线播放| 亚洲制服少妇| 欧美日本一道本在线视频| 欧美色图一区二区三区| 国产精品乱人伦中文| 亚洲国产美女精品久久久久∴| 欧美区视频在线观看| 午夜精品一区二区三区在线视| 一本大道久久a久久精品综合| 亚洲欧美日韩天堂一区二区| 影音先锋亚洲视频| 一区二区三区 在线观看视频| 亚洲人成在线观看| 亚洲日韩欧美视频| 在线看无码的免费网站| 午夜精品一区二区三区电影天堂| 欧美一区二区三区视频免费播放| 国产亚洲欧美一区二区| 国产精品一区二区在线观看网站| 欧美成人免费在线| 亚洲——在线| 激情成人综合| 亚洲美女av在线播放| 精品不卡在线| 另类激情亚洲| 欧美三级网址| 亚洲在线第一页| 欧美一区二区三区在线| 国产欧美视频在线观看| 亚洲免费视频一区二区| 欧美黄色网络| 久久成人免费电影| 久久久天天操| 好吊妞这里只有精品| 韩国成人福利片在线播放| 欧美一区二区三区免费大片| 欧美视频成人| 久久精品视频在线观看| 亚洲综合二区| 久久久久久有精品国产| 欧美视频中文字幕| 久久精品久久综合| 久久久噜噜噜久噜久久| 亚洲桃花岛网站| 久久九九有精品国产23| 欧美韩国在线| 欧美国产极速在线| 亚洲欧美日韩国产精品| 欧美激情第10页| 亚洲一级片在线观看| 一区二区毛片| 久久美女性网| 美女日韩欧美| 欧美三级免费| 一区二区三区免费看| 亚洲欧洲在线视频| 国产欧美精品va在线观看| 欧美日韩国产成人| 欧美香蕉大胸在线视频观看| 国产精品每日更新| 国产精品日韩电影| 国产精品99久久久久久人| 欧美成人精品一区二区| 欧美精品色网| 国内成人自拍视频| 亚洲日本中文字幕区| 午夜精品成人在线| 夜夜嗨av一区二区三区四区|