《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 用VHDL設計專用串行通信芯片

用VHDL設計專用串行通信芯片

2009-05-15
作者:付曉宇 吳詩其

??? 摘? 要: 一種專用串行同步通信芯片(該芯片內部結構和操作方式以INS8250為參考)的VHDL設計及CPLD實現,著重介紹了用VHDL及CPLD設計專用通信芯片的開發流程、實現難點及應注意的問題。?

??? 關鍵詞: VHDL? FPGA? CPLD? UART? 統計時分復用器

?

??? 在通信系統中,通信芯片是整個硬件平臺的基礎,它不僅完成OSI物理層中的數據發送和接收,還能根據傳輸方式和協議的不同實現不同的數據校驗方式及數據組幀格式。?

??? 目前,許多廠商都提供通用的串行通信芯片,其傳輸方式分為同步方式和異步方式。其中,異步芯片大多與INTEL的8250芯片兼容;而同步方式,由于一般涉及到所支持的傳輸協議(BSC、HDLC、SDLC等),所以當用戶要求應用特定的同步傳輸協議時,往往需要設計專用的SRT(同步收發器)。以前,大多采用通用的邏輯元器件進行設計,這導致了設計和調試過程冗長、系統穩定性不高,非常不便。如今,隨著以FPGA和CPLD為代表的可編程ASIC技術的日趨成熟和完善,用戶完全可以根據自己的需要,以EDA技術作為開發手段,用一塊FPGA或CPLD設計出符合自己需要的芯片。本文以開發統計時分復用器中的專用同步收發芯片為例,介紹整個芯片的開發流程。?

1 統計時分復用器系統功能及模塊組成?

??? 統計時分復用器完成7路異步數據和1路同步數據的復接工作,其功能框圖如圖1所示,同步串口傳輸協議如圖2所示。由于傳輸距離較近且路數不多,功能相對簡單。出于系統功耗和成本的考慮,將這個專用的SRT和整個接口控制單元集成到一塊CPLD(XC95144)中。?

?

?

?

2 CPLD內部功能框圖及設計?

??? CPLD內部結構主要由接口控制單元和SRT組成,這里主要介紹一下SRT的結構和功能模塊(見圖3)。由于選用的UART(通用異步收發器)與INS8250兼容,為簡化主控單元訪問外部通信芯片的程序的編寫,統一操作流程,在SRT的設計上盡量模仿INS8250的結構。?

?

?

??? 本設計采用模塊化設計。按功能將SRT內部結構分為5個模塊,每一個模塊對應一個VHDL的設計文件。這樣設計的好處是有利于各功能模塊的編寫和調試,從而降低了整個SRT的調試難度,提高了軟件的可維護性及可讀性。下面給出各個設計文件的外功能簡介(對于其中幾個重要的模塊還列出了端口描述和部分實現代碼):?

??? (1)SRTCRTL.VHD?

??? SRTCRTL.VHD作為SRT的控制模塊,負責地址譯碼,當片選信號有效時將數據線上的數據寫入相應的寄存器。SRT芯片內部共設有接收緩存器、發送保持器、線路控制寄存器、除數寄存器(高低8位各1個)、自環控制寄存器等6個控制寄存器,每個寄存器都被分配了1個地址,通過對相應地址進行讀寫,CPU可完成數據發送、接收、自環及芯片參數設置等操作。 ?

??? (2)LOOP.VHD?

??? 本模塊的功能是根據用戶的指令,對芯片本身功能進行測試。用戶首先將芯片設置為自環狀態,使芯片內部發送數據線與直接接收數據線短接;再通過向發送保持器寫入特定的數據,與接收緩存器中讀出的數據進行比較,看兩者是否相同,用戶即可判斷芯片是否工作正常。?

??? (3) CLKGEN.VHD?

??? CLKGEN.VHD是波特率發生器模塊,用來產生發送同步的時鐘信號doclk。它將除數寄存器高低各8位共16位數據作為除數,對外部2MHz的時鐘源進行分頻。用戶可通過修改除數寄存器的值動態地改變數據傳輸速率,因此操作方便、靈活。 ?

??? (4)RBR.VHD?

??? RBR.VHD作為整個芯片的接收模塊,其中包括接收緩存器、接收數據同步、串/并轉換。?

??? 端口描述如下:?

entity rbr is?

port (diclk: in STD_LOGIC; --接收數據同步時鐘,由發方提供?

rrbr: in STD_LOGIC;???? ?? --讀接收緩存器信號?

rsrbr: in STD_LOGIC;?????? --接收緩存器清零信號?

dbus: out STD_LOGIC_VECTOR (7 downto 0);?--8位數據線,單向,輸出?

dr: out STD_LOGIC;???????? --接收緩存器數據有效信號?

ren: out STD_LOGIC;??????? --接收使能信號,通知發方接收方準備好可發送數據?

di: in STD_LOGIC);???????? --串行接收數據線?

end rbr;?

??? 當接收緩存器中無數據時,ren信號有效,通知發送方傳數據。然后根據dilck對di信號采樣,一旦緩存器滿,ren無效,dr 有效,通知CPU讀數。?

??? 仿真波形如圖4所示。部分代碼如下:?

?

?

process (rsrbr,diclk)?? --serial data to parallel data?

variable l,m: integer range 0 to 8 ;?

begin?

??? if rsrbr='1' then?

??????? s_p<=″00000000″;?

??????? m:=0;?

??????? ef<='1';?

??? elsif diclk'event and diclk='1' then?

??????? l:=7-m;?

??????? s_p(l)<=di;?

??????? m:=m+1;?

??????? If m=8 then?

??????????? m:=0;?

??????????? ef<='0';?

??? end if;?

end if;?

if rrbr='1'? then?

??? dbus<=s_p;?

??????? ef<='1';?

??????? else dbus<=″ZZZZZZZZ″;?

??? end if;?

end process;?

??? (5)WTHR.VHD?

??? WTHR.VHD作為整個芯片的發送模塊,其中包括發送保持器、并/串轉換。?

??? 端口描述如下:?

entity wthr is?

port (sen: in STD_LOGIC; ?? ???--發送使能信號?

??? wthr: in STD_LOGIC;?? ? ???--寫發送保持器信號 ?

??? dbus: in STD_LOGIC_VECTOR (7 downto 0);--8位數據線,單向?

??? rsthr: in STD_LOGIC;? ? ???--清發送保持器 ?

??? thre: out STD_LOGIC; ?? ???--發送保持器數據空?

??? dout: out STD_LOGIC;? ? ???--發送串行數據線?

??? clkout: out STD_LOGIC; ??? --發送數據同步時鐘信號?

??? sclk: in STD_LOGIC); ?? ???--波特率發生器產生的分頻信號?

??? end wthr;?

??? 當發送保持器無數據時,thre信號有效,通知CPU可寫。一旦CPU寫入數據且sen 有效,便根據波特率發生器產生的sclk信號將數據并/串轉換,并通過dout和clkout將串行數據和同步時鐘發送。?

??? 仿真波形如圖5。部分實現代碼如下:?

?

?

process (rsthr,sclk,sen,sef)? --parallel data to serial data?

variable l:integer range 0 to 7;?

begin?

??? if rsthr='1' then?

??????? m<=0;?

??????? l:=7;?

??????? sef<='1';?

??? elsif wthr='1' then?

????? ??? sef<='0';?

??? elsif sen='1'and sef='0' then?

??????? if sclk'event and sclk='1' then?

??????????? dout<=w_p(l);?

??????????? m<=m+1;?

??????????? l:=l-1;?

??????????? if m=7 then?

??????????????? m<=0;?

??????????????? l:=7;?

??????????????? sef<='1';?

??????? end if;?

????? end if;?

??? end if;?

end process;?

3 實現難點及使用VHDL應注意的一些問題?

??? 由于VHDL語言是描述硬件行為的,相對其它開發軟件的高級語言而言,在編程過程中有一些特殊性,所以經常會出現語法正確但無法綜合的問題。其原因多半因為編程者對硬件內部的工作原理了解不夠,寫出的代碼硬件無法實現。通過這塊芯片的設計,在此總結出一些應注意的問題,供大家參考:?

??? (1)在一個進程中只允許一個信號上升沿作為觸發條件。?

??? (2)信號值改變后要經過一個小的延時才能生效,同個信號不能在多個進程中賦值(因為多個信號源不能同時對同一個信號驅動)。?

??? (3)時序電路和組合電路最好不要在同一個進程中,以免費資源。?

??? (4)一個功能模塊最好按上升沿信號分多個進程完成,各進程間用信號聯系。?

??? (5)同一個信號在進程中的值改變后,要注意該值改變前后該進程中其它變量的變化,避免邏輯死鎖。?

??? (6)在順序語句中,注意信號因賦值后需延時改變而與變量的不同。?

??? (7)設計雙向三態數據線時,內部數據線最好讀寫分開。與外部結合時,不同讀數據線之間,讀寫數據線之間應使用三態門,且由讀信號控制。?

??? 本設計由于采用了VHDL語言作為輸入方式并結合可編程邏輯門陣列CPLD,大大縮短了設計周期,提高了設計的可靠性、靈活性,使用戶可根據自己的需求,方便、高效地設計出合適的串行通信芯片。?

參考文獻?

1 潘名蓮,馬 爭.微計算機原理.北京:電子工業出版社,1994?

2 候伯亨,顧 新.VHDL硬件描述語言與數字邏輯電路設計.西安:西安電子科技大學出版社,1999?

3 李廣軍,孟憲元.可編程ASIC設計及應用.成都:電子科技大學出版社,1999?

4 DATABOOK.XILINX 公司,1999

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热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>
          欧美日韩综合视频网址| 国产精品久久久久999| 久久精品国产一区二区电影| 9l国产精品久久久久麻豆| 亚洲一区二区三区精品在线观看| 亚洲欧美一区二区三区极速播放| 亚洲美女色禁图| 猛男gaygay欧美视频| 欧美国产欧美综合| 99精品视频一区二区三区| 99国产精品久久久久久久久久| 亚洲深夜激情| 欧美日本久久| 欧美激情精品久久久久久变态| 在线日韩av永久免费观看| 国模精品一区二区三区| 99精品国产在热久久下载| 亚洲精品美女在线观看播放| 国产亚洲成av人片在线观看桃| 伊人久久久大香线蕉综合直播| 午夜精品久久久久久久久久久| 午夜国产不卡在线观看视频| 欧美一区二区免费视频| 欧美日韩一区二区三区四区在线观看| 国产拍揄自揄精品视频麻豆| 免费试看一区| 久久久国产精品一区| 激情视频一区二区三区| 亚洲国产精品一区二区第一页| 99伊人成综合| 99精品国产在热久久婷婷| 欧美日韩在线播放三区四区| 免费高清在线视频一区·| 国产日韩欧美在线播放| 黄色一区二区在线| 久久久久久久久久久成人| 亚洲美女视频在线免费观看| 国产一区二区三区无遮挡| 欧美精品九九| 亚洲午夜av电影| 亚洲人体影院| 亚洲国产另类精品专区| 久久激情五月丁香伊人| 久久这里有精品视频| 一区二区三区欧美在线观看| 性一交一乱一区二区洋洋av| 欧美视频成人| 久久久夜夜夜| 亚洲国产精品成人va在线观看| 亚洲视频一区在线观看| 久久婷婷麻豆| 欧美日韩中文在线| 女同性一区二区三区人了人一| 狠狠色丁香婷婷综合影院| 亚洲第一免费播放区| 永久91嫩草亚洲精品人人| 午夜精品区一区二区三| 91久久精品日日躁夜夜躁国产| 亚洲欧洲美洲综合色网| 亚洲免费播放| 亚洲欧美中文日韩v在线观看| 日韩午夜在线| 欧美日韩无遮挡| 欧美一区二区高清在线观看| 国产日本欧美一区二区三区在线| 国产亚洲人成a一在线v站| 国产午夜精品理论片a级探花| 久久免费视频一区| 欧美日韩精品一区二区天天拍小说| 一区二区在线观看视频| 一区二区三区导航| 国产精品日韩欧美一区| 国产精品一区视频网站| 久久9热精品视频| 亚洲在线视频观看| 亚洲一区二区三区在线播放| 激情欧美日韩| 一区二区激情| 欧美 日韩 国产在线| 亚洲美女精品一区| 99www免费人成精品| 亚洲麻豆一区| 在线观看欧美一区| 蜜桃av一区二区三区| 亚洲人成77777在线观看网| 欧美成人第一页| 一区二区三区四区在线| 国内精品一区二区三区| 国产午夜精品理论片a级探花| 国产永久精品大片wwwapp| 亚洲六月丁香色婷婷综合久久| 韩国一区二区三区在线观看| 欧美精品xxxxbbbb| 久久精品国产一区二区电影| 欧美午夜电影在线观看| 国产麻豆日韩欧美久久| 欧美黑人国产人伦爽爽爽| 亚洲美女少妇无套啪啪呻吟| 在线视频精品| 另类酷文…触手系列精品集v1小说| 欧美人牲a欧美精品| 午夜精品国产精品大乳美女| 欧美一区二区三区免费观看| 亚洲欧美国产三级| 欧美少妇一区二区| 国产一在线精品一区在线观看| 国产欧美精品日韩区二区麻豆天美| 国产综合色在线| 国产午夜精品久久久久久免费视| 免费视频最近日韩| 久久精品一本| 久久久久网站| 欧美日韩亚洲高清一区二区| 亚洲欧洲一区二区三区久久| 亚洲欧美在线免费观看| 国产主播喷水一区二区| 99精品国产一区二区青青牛奶| 性欧美videos另类喷潮| 在线免费观看日韩欧美| 国产人久久人人人人爽| 欧美在线视频不卡| 欧美一激情一区二区三区| 久久国产一区| 猛男gaygay欧美视频| 欧美日韩日日骚| 欧美与黑人午夜性猛交久久久| 国产精品久久一区二区三区| 国产精品大片wwwwww| 国产无遮挡一区二区三区毛片日本| 美女诱惑黄网站一区| 国产精品久久久久久久久久妞妞| 欧美亚洲网站| 久久亚洲国产精品日日av夜夜| 欧美第一黄网免费网站| 国产精品国产三级国产aⅴ入口| 欧美日韩免费观看一区二区三区| 国产精品二区影院| 国产精品欧美精品| 久久成人免费日本黄色| 怡红院av一区二区三区| 欧美精品福利视频| 国产精品国产三级国产a| 亚洲大胆视频| 欧美欧美天天天天操| 国产综合久久| 欧美激情免费在线| 亚洲欧美日韩成人| 国内精品美女在线观看| 久久午夜羞羞影院免费观看| 免播放器亚洲一区| 欧美激情亚洲精品| 好吊日精品视频| 亚洲精品日韩激情在线电影| 国产精品九色蝌蚪自拍| 一本色道久久综合狠狠躁的推荐| 亚洲欧美日韩精品| 香蕉久久夜色精品国产| 国产精品国产三级国产aⅴ无密码| 国产精品大全| 亚洲男人影院| 欧美成va人片在线观看| 国产欧美日韩高清| 麻豆成人精品| 欧美日韩伦理在线| 欧美日韩福利视频| 国产精品一区二区三区久久| 免费日韩视频| 一区二区动漫| 黄网站色欧美视频| 国产美女在线精品免费观看| 欧美 亚欧 日韩视频在线| 欧美色图麻豆| 欧美激情在线有限公司| 久久资源av| 欧美成人自拍| 免费一级欧美片在线播放| 亚洲第一伊人| 可以免费看不卡的av网站| 久久久99国产精品免费| 久久精品国产精品亚洲综合| 久久亚洲综合色| 久久精品国产亚洲一区二区| 亚洲欧美国产va在线影院| 日韩午夜精品视频| 国产在线精品二区| 国产自产在线视频一区| 另类酷文…触手系列精品集v1小说| 国产精品欧美日韩一区二区| 在线色欧美三级视频| 另类天堂视频在线观看| 欧美中文字幕在线观看| 国产日韩欧美综合一区| 亚洲精品四区| 亚洲视频在线观看一区| 久久久久在线| 韩日欧美一区二区| 欧美成人69| 亚洲欧美制服另类日韩| 欧美日韩成人一区二区三区| 亚洲第一在线综合在线| 国产视频一区二区在线观看| 欧美亚洲尤物久久| 欧美另类一区二区三区| 亚洲男人的天堂在线观看| 国产在线精品成人一区二区三区| 欧美午夜视频一区二区| 午夜精彩国产免费不卡不顿大片| 精品999网站| 日韩一区二区精品葵司在线| 欧美日韩第一区日日骚| 亚洲欧美国产精品va在线观看| 久久精品国产综合精品| 国产精品中文字幕在线观看| 亚洲高清久久| 国模精品一区二区三区色天香| 亚洲丶国产丶欧美一区二区三区| 午夜久久美女| 亚洲人成在线播放网站岛国| 国产一区视频网站| 在线亚洲成人| 欧美三级乱码| 国产区在线观看成人精品| 亚洲国产欧美久久| 亚洲第一伊人| 欧美视频不卡| 亚洲欧美国产高清| 在线观看91久久久久久| 老司机久久99久久精品播放免费| 国产精品日韩在线观看| 伊人婷婷欧美激情| 亚洲天堂网在线观看| 尤物在线观看一区| 亚洲一区二区动漫| 欧美日韩中文精品| 国产精品你懂的在线欣赏| 亚洲国产一二三| 两个人的视频www国产精品| 老司机午夜精品| 欧美一级欧美一级在线播放| 国产精品成人一区二区网站软件| 国产尤物精品| 久久一区二区三区国产精品| 韩国女主播一区| 国产精品中文在线| 国产精品狼人久久影院观看方式| 欧美大片网址| 欧美成人免费小视频| 欧美精品在线免费| 欧美大片一区二区| 猫咪成人在线观看| 亚洲黄色尤物视频| 国产精品你懂的| 亚洲激情婷婷| 曰本成人黄色| 久热re这里精品视频在线6| 欧美日韩一区成人| 日韩视频精品| 国产一区91| 国产精品国产三级国产| 韩国av一区二区三区| 欧美国产日韩精品免费观看| 午夜在线a亚洲v天堂网2018| 久久久精品一品道一区| 欧美精品在欧美一区二区少妇| 久久精品人人做人人综合| 国产精品综合久久久| 亚洲欧美日韩在线一区| 国产欧美在线观看| 精品动漫3d一区二区三区免费| 久久精视频免费在线久久完整在线看| 久久激情五月婷婷| 久久久久久久网| 欧美一区影院| 久久久国产精品一区| 亚洲免费人成在线视频观看| 欧美日韩在线大尺度| 国产综合精品| 亚洲美女中出| 亚洲人成网站在线播| 久久久av毛片精品| 国产亚洲欧美一区二区三区| 国产欧美日韩中文字幕在线| 久久这里有精品视频| 欧美视频在线观看一区二区| 国产精品日韩精品| 国产精品一区二区在线| 香蕉乱码成人久久天堂爱免费| 欧美精品久久久久久久久久| 午夜精品国产更新| 欧美一区二区在线播放| 国产精品国产| 国产精品一区久久| 另类综合日韩欧美亚洲| 国产精品爱啪在线线免费观看| 国产精品久久久久久久7电影| 久久影院亚洲| 欧美高清一区二区| 国内久久婷婷综合| 亚洲国产成人精品久久久国产成人一区| 亚洲国产精品www| 午夜宅男久久久| 影视先锋久久| 美女啪啪无遮挡免费久久网站| 国产精品成人观看视频免费| 亚洲欧美三级伦理| 欧美高清不卡| 亚洲久久在线| 国产精品永久入口久久久| 91久久精品日日躁夜夜躁国产| 欧美日韩成人激情| 国产一区二区三区免费观看| 欧美午夜视频| 99re6这里只有精品视频在线观看| 亚洲黄色小视频| 美女诱惑黄网站一区| 久久精品国产综合| 一本久道久久综合中文字幕| 99精品国产99久久久久久福利| 久久久亚洲成人| 欧美激情中文字幕一区二区| 国产精品成人一区二区网站软件| 欧美日韩在线直播| 午夜精品视频在线观看一区二区| 国产精品videosex极品| 国产精品亚发布| 久久久久国产精品人| 亚洲婷婷综合色高清在线| 亚洲一级黄色片|