HDLC協(xié)議控制器的設(shè)計_第1頁
HDLC協(xié)議控制器的設(shè)計_第2頁
HDLC協(xié)議控制器的設(shè)計_第3頁
HDLC協(xié)議控制器的設(shè)計_第4頁
HDLC協(xié)議控制器的設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、目錄內(nèi)容摘要1關(guān) 鍵 詞1Abstract1 Key Words 11緒論 21.1研究的意義 21.2本設(shè)計的主要功能 22HDLC協(xié)議綜述 32.1 HDLC協(xié)議的產(chǎn)生背景 32.2 HDLC協(xié)議的幀結(jié)構(gòu) 42.3 HDLC協(xié)議的規(guī)程分析 73HDLC協(xié)議控制器的設(shè)計 83.1 HDLC協(xié)議控制器設(shè)計方案選擇83.2 FPGA的設(shè)計原則 93.3 HDLC協(xié)議控制器總框架103.4 HDLC幀發(fā)送器的設(shè)計113.5 HDLC幀接收器的設(shè)計15參考文獻 18致 謝19說明:在本頁中,“目錄”二字居中,宋體小二號,加黑,其它統(tǒng)一由宋體小四號,不加黑排版打印、行間距為1.522內(nèi)容摘要: HDL

2、C(高級數(shù)據(jù)鏈路控制)協(xié)議是一種面向比特的鏈路控制規(guī)程,廣泛的用作數(shù)據(jù)鏈路層的控制協(xié)議。論文在分析和研究HDLC協(xié)議的基礎(chǔ)上,提出了一種基于FPGA(現(xiàn)場可編程門陣列)的HDLC協(xié)議控制器的設(shè)計。對HDLC協(xié)議控制器的功能進行劃分,分別設(shè)計了標志位的檢測和生成、插零和刪零、FCS的校驗等控制模塊。采用VHDL硬件描述語言在FPGA內(nèi)部實現(xiàn)HDLC協(xié)議的各功能模塊,本設(shè)計使用Quartus II 9.1平臺實現(xiàn)代碼編寫、綜合、編譯、仿真。對HDLC鏈路控制規(guī)程功能,幀控制和FCS校驗功能進行了仿真實現(xiàn)。關(guān) 鍵 詞:HDLC;FPGA;幀收發(fā)器;Abstract:(宋體,小四號,加黑)×

3、××××××××××××××××××××××××××××××××××××××××××××××××××

4、×××××××××××。(宋體,小四號,不加黑)Key words:(宋體,小四號,加黑)××××××××× (宋體,小四號,不加黑)1 緒論1.1 研究的意義HDLC是一個在同步網(wǎng)上傳輸數(shù)據(jù)、面向位的數(shù)據(jù)鏈路層協(xié)議,它是由國際標準化組織(ISO)制訂的。該協(xié)議被廣泛的用作數(shù)據(jù)鏈路層的控制協(xié)議,HDLC控制器在網(wǎng)絡(luò)設(shè)備中得到大量的使用,如列車通信網(wǎng)絡(luò)技術(shù)、綜合業(yè)務(wù)數(shù)字網(wǎng)ISDN、X.25分組交換網(wǎng)

5、以及幀中繼網(wǎng)等。怎樣在產(chǎn)品中設(shè)計與實現(xiàn)HDLC網(wǎng)絡(luò)協(xié)議也是一個技術(shù)研究的熱點。HDLC的一般實現(xiàn)方法為采用 ASIC 器件和軟件編程等。ASIC的芯片有Motorola公司的MC92460,ST公司的MK5025等。應(yīng)用這些 ASIC 器件時設(shè)計簡單,功能針對性強,性能可靠,適用于特定用途的大批量產(chǎn)品中。但是這類ASIC芯片存在開發(fā)時間長,一旦芯片固有缺陷就不容易解決等問題,而且HDLC標準的文本較多,ASIC芯片出于專用性的目的難以通用于不同版本,缺乏靈活性。HDLC的軟件編程方法靈活,通過修改程序就可適用于不同的HDLC應(yīng)用,但程序運行占用處理器資源多,執(zhí)行速度慢,實時性不易預(yù)測。FPGA

6、(Field Programmable Gate Array, 現(xiàn)場可編程門陣列)器件采用硬件處理信號,可以反復(fù)編程,能夠兼顧速度和靈活性,并能多路并行處理。在中小批量通信產(chǎn)品的設(shè)計中,F(xiàn)PGA 是取代 ASIC 實現(xiàn) HDLC 功能的一種合適選擇。1.2 本設(shè)計的主要功能本文實現(xiàn)了一種采用FPGA的HDLC協(xié)議控制器的設(shè)計和功能仿真。首先綜述了HDLC協(xié)議的產(chǎn)生背景和幀結(jié)構(gòu),提出了基于FPGA設(shè)計模式的控制器。以HDLC協(xié)議幀的接收和發(fā)送為主體,在明確FPGA的設(shè)計原則的基礎(chǔ)上,對幀收發(fā)器進行分功能模塊設(shè)計,編寫代碼,時序分析。以發(fā)送器為例,其中包括了標志位的生成,插零,F(xiàn)CS校驗等模塊的設(shè)

7、計。接收器跟發(fā)送器設(shè)計思想類似。在完成各個模塊的設(shè)計后,使用了Quartus II 9.1自帶仿真器對各個模塊的功能一一進行了仿真,并對HDLC協(xié)議及其規(guī)程進行了驗證和分析。2 HDLC協(xié)議綜述2.1 HDLC 協(xié)議的產(chǎn)生背景計算機通信的早期,人們發(fā)現(xiàn)對于經(jīng)常發(fā)生誤碼的實際鏈路,只要加上了合適的控制規(guī)程,就可以是通信變得比較可靠。這些規(guī)程都是數(shù)據(jù)鏈路層的協(xié)議,都是面向字符的。所謂面向字符,就是說在鏈路上所傳送的數(shù)據(jù)都是由規(guī)定的字符集中的字符所組成的。而且,鏈路上傳送的控制信息也必須由同一個字符集中的若干指定的控制字符構(gòu)成。面向字符的鏈路控制規(guī)程曾在計算機網(wǎng)絡(luò)的發(fā)展過程中起了重要的作用,但隨著發(fā)

8、展,這種規(guī)程就逐漸暴露出其弱點。其主要限制是:1通信線路的利用率低,因為它采用的是停止等待協(xié)議,收發(fā)雙方交替地工作。2所有通信設(shè)備必須使用同樣字符的代碼,而不同版本的規(guī)程要求使用不同的代碼。3.只對數(shù)據(jù)部分進行差錯控制,若控制部分出錯就無法控制,因而可靠性差。4.不易擴展,每增加一種功能就需要設(shè)定一個新的控制字符。1974 年,IBM 公司推出了著名的體系結(jié)構(gòu) SNA。在 SNA 的數(shù)據(jù)鏈路層規(guī)程上采用了面向比特的規(guī)程 SDLC(Synchronous Data Link Control)。后來 IBM 將此規(guī)程提交美國國家標準協(xié)會 ANSI 和國際標準化組織 ISO,建議成為國家和國際標準。

9、ANSI 把 SDLC 修改為 ADCCP(Advanced Data Communication ControlProcedure)作為美國國家標準,而 ISO 把 SDLC 修改后稱為 HDLC(High-level DataLink Control),并作為國際標準 ISO3309。HDLC協(xié)議有兩種鏈路配置和三種數(shù)據(jù)傳送方式:1. 非平衡模式:a. 正常響應(yīng)方式NRM(Nomal Response Mode)b. 異步響應(yīng)方式ARM(Asynchronous Response Mode)2. 平衡模式:c. 異步平衡方式ABM (Asynchronous Balanced Mode)2

10、.2 HDLC 協(xié)議的幀結(jié)構(gòu)HDLC的幀格式由六個字段組成,這六個字段可以分為五種類型,即標志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、幀校驗字段(FCS)。在幀結(jié)構(gòu)中允許不包含信息字段I。標志地址控制信息幀校驗序列標志FACIFCSF0111111016/8位16/8位N位16/32位01111110圖1 HDLC幀結(jié)構(gòu)l 標志序列(F)HDLC指定采用01111110為標志序列,稱為F標志。要求所有的幀必須以F標志開始和結(jié)束。接收設(shè)備不斷地搜尋F標志,以實現(xiàn)幀同步,從而保證接收部分對后續(xù)字段的正確識別。另外,在幀與幀的空載期間,可以連續(xù)發(fā)送F,用來作時間填充。在一串數(shù)據(jù)比

11、特中,有可能產(chǎn)生與標志字段的碼型相同的比特組合。為了防止這種情況產(chǎn)生,保證對數(shù)據(jù)的透明傳輸,采取了比特填充技術(shù)。當采用比特填充技術(shù)時,在信碼中連續(xù)5個“1”以后插入一個“0”;而在接收端,則去除5個“1”以后的“0”,恢復(fù)原來的數(shù)據(jù)序列,如圖4所示。比特填充技術(shù)的采用排除了在信息流中出現(xiàn)的標志字段的可能性,保證了對數(shù)據(jù)信息的透明傳輸。數(shù)據(jù)中某一段比特組合恰好 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 出現(xiàn)和F字段一樣的情況 會誤認為是F字段 發(fā)送端在5個連1之后 0 0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0 填入0比特再發(fā)送出去 填入

12、0比特在接收端將5個連1之后 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0圖2 比特填充當連續(xù)傳輸兩幀時,前一個幀的結(jié)束標志字段F可以兼作后一個幀的起始標志字段。當暫時沒有信息傳送時,可以連續(xù)發(fā)送標志字段,使接收端可以一直保持與發(fā)送端同步。l 地址字段(A)地址字段表示鏈路上站的地址。使用平衡方式(采用ABM),地址字段寫入應(yīng)答站的地址。HDLC協(xié)議沒有給出地址字段的具體格式,只對其擴充方法及全站地址、無站地址給出了定義??紤]到實際的需要與實現(xiàn)上的方便,定義地址字面結(jié)構(gòu)如下:0 12345671C/RXXXXXXX 未使用Bit0 置“1”,表示地址字段只有一個字節(jié)C

13、/R 置“1”表示命令幀,置“0”表示響應(yīng)幀圖3 地址字段定義地址字段的長度采用8bit時,最多可以表示64個站的地址。地址字段bit2bit7為“111111”時,定義為全站地址,即通知所有的接收站接收有關(guān)的命令幀并按其動作;bit2bit7為全“0”比特為無站地址,用于測試數(shù)據(jù)鏈路的狀態(tài)。因此有效地址共有62個。l 控制字段(C)控制字段用來表示幀類型、幀編號以及命令、響應(yīng)等。由于C字段的構(gòu)成不同,可以把HDLC幀分為三種類型:信息幀、監(jiān)控幀、無編號幀,分別簡稱I幀(Information)、S幀(Supervisory)、U幀(Unnumbered)。在控制字段中,第1位是“0”為I幀,

14、第1、2位是“10”為S幀,第1、2位是“11”為U幀。比特12345678I幀0N(S)P/FN(R)S幀10S1S2P/FXXXU幀11M1M2P/FM3M4M5圖4 基本模式控制字段比特12345678910111213141516I幀0N(S)P/FN(R)S幀10S1S2XXXXP/FN(R)U幀11M1M2UM3M4M5P/FXXXXXXX注:X-未使用,置0U-未定義,置1。圖5 擴充模式控制字段l 信息字段(I)信息字段內(nèi)包含了用戶的數(shù)據(jù)信息和來自上層的各種控制信息。長度小于58Bytes。l 幀校驗序列字段(FCS)幀校驗序列用于對幀進行循環(huán)冗余校驗,其校驗范圍從地址字段的第

15、1比特到信息字段的最后一比特的序列,并且規(guī)定為了透明傳輸而插入的“0”不在校驗范圍內(nèi),長度定義由于單板中有部分HDLC鏈路采用HDLC控制器實現(xiàn),而HDLC控制器只能支持16bits的CRC 2.3 HDLC協(xié)議的規(guī)程分析1使用統(tǒng)一的幀格式:實現(xiàn)數(shù)據(jù)、命令和響應(yīng)的傳輸,實施起來方便;2采用0位插入法:使得規(guī)程可以支持任意的位流傳輸,保證了信息傳輸?shù)耐该餍裕?采用窗口機制和捎帶應(yīng)答機制:全雙工工作方式,允許在未收到確認的情況下,連續(xù)發(fā)送多個幀,提高了信息傳輸?shù)男剩?采用幀校驗序列,并設(shè)置窗口序號,可以提高信息傳輸?shù)恼_性和可靠性??傊?,面向二進制位的控制規(guī)程比面向字符型的控制規(guī)程具有較高的優(yōu)越

16、性。3 HDLC協(xié)議控制器的設(shè)計3.1 HDLC協(xié)議控制器設(shè)計方案選擇HDLC協(xié)議控制器實現(xiàn)方法有三種:ASIC器件、軟件編程以及FPGA器件。實現(xiàn)HDLC協(xié)議的ASIC芯片有Motorola 公司的 MC92460、ZILOG 公司的Z80230/85230、ST 公司的 MK5025等。這些集成電路使用簡易,功能針對性強,適用于特定用途的大批量產(chǎn)品中。但HDLC標準的文本較多,ASIC芯片出于專用性的目的難于通用于不同版本,缺乏靈活性。而且,專用于 HDLC 的 ASIC 芯片其片內(nèi)數(shù)據(jù)存儲器容量有限,通常只有不多字節(jié)的 FIFO(先進先出存儲器)可用,存儲深度較淺,對于某些應(yīng)用來說,當需

17、要擴大數(shù)據(jù)緩存的容量時,只能對 ASIC 芯片再外接存儲器或其它電路,這樣,ASIC 芯片在使用中就會有一定的限制。HDLC的軟件編程實現(xiàn),包括PC機和單片機,方法靈活,具有成本低、硬件結(jié)構(gòu)簡單、軟件編程容易等特點。通過修改程序就可以適用于不同的HDLC協(xié)議要求的應(yīng)用。但是程序運行占用處理器資源多,執(zhí)行速度慢,對信號的時延和同步性不易預(yù)測。使用FPGA (Field Programmable GateArray,現(xiàn)場可編程門陣列),能夠有效的綜合前兩種方法的優(yōu)點。FPGA采用硬件技術(shù)處理信號,可以通過軟件反復(fù)編程使用,能兼顧速度和靈活性,可以實時預(yù)測和仿真。VHDL語言設(shè)計靈活,可以用模擬器來

18、驗證程序的功能和時序的正確;不要求設(shè)計者非常熟悉器件的內(nèi)部結(jié)構(gòu),使得設(shè)計者可以集中精力從事設(shè)計構(gòu)思,可以在各EDA平臺上運行。在中小批量通信產(chǎn)品的設(shè)計生產(chǎn)中,用FPGA實現(xiàn)HDLC功能是一種較好的實現(xiàn)途徑。3.2 FPGA的設(shè)計原則完整的FPGA設(shè)計流程分為電路設(shè)計與輸入、功能仿真、綜合、綜合后仿真、實現(xiàn)、布局布線后仿真、配置下載與調(diào)試等主要步驟。在設(shè)計FPGA系統(tǒng)時,主要考慮以下幾個原則:面積和速度的平衡原則與互換原則、硬件原則、系統(tǒng)原則和同步設(shè)計原則。1)面積和速度的平衡原則與互換原則:這里的“面積”是指一個設(shè)計所消耗的FPGA的邏輯資源數(shù)量?!八俣取笔侵冈O(shè)計在芯片上穩(wěn)定運行時所能夠達到的

19、最高頻率,與設(shè)計時眾多時序特征量密切相關(guān)。一般來說,速度的優(yōu)先級要高于資源耗費。當兩者沖突時,采用速度優(yōu)先的準則。2)硬件原則對HDL代碼編寫而言,它的本質(zhì)作用在于描述硬件。所以評判一段HDL代碼的優(yōu)劣的最終標準是其描述并實現(xiàn)的硬件電路的性能(包括速度和面積兩個方面的指標)。3)系統(tǒng)原則系統(tǒng)原要求設(shè)計者能夠通過全局、整體上把握設(shè)計,從而提高設(shè)計質(zhì)量,優(yōu)化設(shè)計效果。4)同步設(shè)計原則同步時序設(shè)計是FPGA設(shè)計的最重要原則之一。異步電路容易產(chǎn)生毛刺和競爭冒險;同步時序電路主要信號和輸出信號都由時鐘驅(qū)動觸發(fā)器產(chǎn)生,能夠避免毛刺,信號穩(wěn)定。從資源使用方面考慮,在FPGA中,同步設(shè)計并不比異步設(shè)計浪費資源

20、。特別需要注意的是,不同的時鐘域的接口需要進行同步。還要考慮全局時鐘布線資源的利用。全局時鐘資源由特殊的工藝實現(xiàn),具有很高的扇出性能,且到達芯片內(nèi)部的所有可配置單元、FO單元和選擇性塊RAM的時延和抖動都為最小。邏輯設(shè)計中使用非常頻繁的時鐘信號、預(yù)設(shè)置信號、復(fù)位信號和使能信號均應(yīng)從全局腳引入。3.3 HDLC協(xié)議控制器總框架幀發(fā)送器幀接收器 總控制端local if由結(jié)構(gòu)圖可以看出,HDLC協(xié)議控制器分為總控制模塊、幀發(fā)送器、幀接收器,按具體功能模塊劃分,每個幀控制器又劃分為控制、數(shù)據(jù)緩沖、插零、刪零、標志位等模塊。各個模塊之間的連接時依靠控制信號和寄存器的配置實現(xiàn)的,通過配置好總控制模塊的各

21、個控制信號,從而組成整體的HDLC幀的收發(fā)功能。具體電路如下圖所示:3.4 HDLC幀發(fā)送器的設(shè)計幀發(fā)送器是將信息按照HDLC協(xié)議的格式封裝成幀并發(fā)送出去,其中包括了幀頭幀尾標志位的插入、插零、FCS校驗和發(fā)送模塊。通過配置功能選擇寄存器addr選擇發(fā)送功能,并設(shè)置好時鐘、復(fù)位等控制信號即可實現(xiàn)幀發(fā)送器的功能。3.4 .1 幀發(fā)送器的主要功能1)插零發(fā)送器接收到數(shù)據(jù)時,首先檢測是否數(shù)據(jù)中有5個連續(xù)的1,如若有就在其后面插入一個0。2)標志位生成當接收到信號開始發(fā)送數(shù)據(jù)時,將“7E”加在幀頭和幀尾,并發(fā)送出去。3)CRC校驗幀校驗序列用于對幀進行循環(huán)冗余校驗,其校驗范圍從地址字段的第1比特到信息

22、字段的最后一比特的序列,并且規(guī)定為了透明傳輸而插入的“0”不在校驗范圍內(nèi)。4)數(shù)據(jù)緩沖3.4 .2 幀發(fā)送器的組成 控制模塊txbuff txsynchtxchannel txfcs 幀發(fā)送器功能組成模塊 數(shù)據(jù)緩沖模塊( txbuff):數(shù)據(jù)緩沖模塊負責將接收到的數(shù)據(jù)緩存起來,然后供后續(xù)模塊調(diào)用數(shù)據(jù)。其端口定義如下圖: 數(shù)據(jù)緩沖模塊管腳定義圖 初始化之后,當控制端收到發(fā)送數(shù)據(jù)的信號時,將txenable和wr端口置1,數(shù)據(jù)由txdatainbuff輸入,txbuff開始緩沖數(shù)據(jù),當數(shù)據(jù)緩沖滿了將full置1或達到了預(yù)定的數(shù)值時會將txdone置1。數(shù)據(jù)緩沖完后,txdataavail置1表示此

23、時緩沖器內(nèi)數(shù)據(jù)可以供調(diào)用,數(shù)據(jù)由txdataoutbuff輸出。txbuff模塊對幀的數(shù)據(jù)量根據(jù)存儲模塊的大小和后面數(shù)據(jù)處理能力來決定,模塊輸出的8比特并行數(shù)據(jù)。 CRC校驗?zāi)K(txfcs):在通信系統(tǒng)中傳輸數(shù)據(jù)的可靠性即誤碼率是非常重要的,因此在傳輸?shù)臄?shù)據(jù)中需要插入一定的校驗信息。根據(jù)HDLC協(xié)議的要求,數(shù)據(jù)發(fā)送前要對幀內(nèi)所有的數(shù)據(jù)進行CRC多項式的計算,并將結(jié)果一起發(fā)送出去,CRC校驗的模塊引腳圖如下圖: 發(fā)送器CRC校驗?zāi)K系統(tǒng)初始處于idle_st狀態(tài),當收到讀數(shù)據(jù)信號時(rdy置1),進入read_st狀態(tài),如果txdataavail有效txfcs將rdbuff置“1”開始從txb

24、uff中讀取數(shù)據(jù),然后將數(shù)據(jù)一一進行CRC多項式運算,并將數(shù)據(jù)一起封裝在幀里面發(fā)送出去。 txsynch模塊:txsynch模塊的功能是將總控制模塊、txbuff模塊、txfcs模塊和txchannel模塊連接,模塊引腳圖如下: txsynch模塊引腳圖 txchannel模塊:txchannel模塊又由zeroins、txcont、flag_ins3個模塊構(gòu)成,分別負責標志位的生成和插零功能的實現(xiàn),其模塊引腳圖如下: txchannel模塊引腳圖1)標志位生成模塊flag_ins:標志位生成模塊負責對待發(fā)送的數(shù)據(jù)進行幀頭尾的添加,其端口定義圖如下圖: flag_ins模塊引腳圖當該模塊接收到

25、控制使能信號時(TXEN置”1”),串行數(shù)據(jù)由TXD端口輸入,TX端口輸出已加好標志位的串行數(shù)據(jù)流。標志位的仿真時序圖如下圖: 發(fā)送端標志位仿真時序圖設(shè)定發(fā)送數(shù)據(jù)為“10101010”,由圖可知數(shù)據(jù)流中已加入“0x7E”的標志位,這是構(gòu)建HDLC幀的第一步。2)插零模塊zeroins:為了保證數(shù)據(jù)鏈路的透明傳輸(即可以傳輸任意組合的比特流),HDLC發(fā)送器在遇到5個連“1”的情況下,為了防止接收端誤判幀頭或幀尾,必須在其后填充一個“0”比特。其模塊引腳圖如下:當data7.0端口接收到數(shù)據(jù)時,在時鐘上升沿來到時利用移位寄存器,進行8位數(shù)據(jù)并串轉(zhuǎn)換,在模塊內(nèi)定義一個5位的寄存器,對轉(zhuǎn)換后的連續(xù)的

26、5比特數(shù)據(jù)進行求與運算,若是連續(xù)的5個“1”比特,則在后面插入一個“0”比特。插零功能仿真時序圖如下:發(fā)送端插零模塊仿真時序圖由圖可以看出,輸入數(shù)據(jù)值為“11111000”時,由于數(shù)據(jù)的高5位均為“1”,根據(jù)每逢5個連續(xù)的“1”插一個“0”,所以輸出的數(shù)據(jù)流中變成了“111110000”3.5 HDLC幀接收器設(shè)計幀接收器設(shè)計的模塊與幀發(fā)送器的設(shè)計過程類似,接收器負責標志位檢測、CRC生成、刪零模塊,基本與幀發(fā)送器相逆。同樣幀接收器的數(shù)據(jù)緩沖模塊也與幀發(fā)送器的設(shè)計過程相似。通過配置addr寄存器即可實現(xiàn)HDLC幀接收器的整體功能。3.5 .1 幀發(fā)送器的主要功能1)標志檢測:此模塊檢測比特流中

27、的“7E”,作為數(shù)據(jù)幀開始和結(jié)束的標志。2)刪零:接收數(shù)據(jù)時,每遇到連續(xù)的5個“1”,就將其后面的一個“0”刪掉。3)CRC檢測:采用CRC-12,也可以不進行檢測。3.5 .2 幀發(fā)送器的組成 控制模塊rxbuff rxsynchrxchannel rxfcs 數(shù)據(jù)緩沖模塊( rxbuff):幀接收器的數(shù)據(jù)緩沖模塊,跟發(fā)送器的緩沖模塊功能相似,但是邏輯相逆。這里是將從txchannel中收到的數(shù)據(jù)緩存起來,等到緩沖滿了,供用戶調(diào)用數(shù)據(jù)。數(shù)據(jù)緩沖模塊引腳圖如下: rxchannel模塊:rxchannel也包含了rxcont、flagdetect、zerodetect這3個模塊。Rxchann

28、el模塊引腳圖如下:Rxchannel模塊引腳圖1)標志位檢測功能模塊引腳圖: 接收器標志位檢測引腳圖標志位檢測的主要功能是檢測接收到數(shù)據(jù)流的幀頭,確定幀的邊界。幀頭判別式如下:FlagVar := not ShiftReg(0) and ShiftReg(1) and ShiftReg(2) and ShiftReg(3) and ShiftReg(4) and ShiftReg(5) and ShiftReg(6) and not ShiftReg(7);FlagDetect <= FlagVar;如果檢測到FlagDetect其值為高,則表明檢測到幀頭的出現(xiàn),這樣就可將為下個模塊提

29、高控制信號,提示可以開始接收數(shù)據(jù)。若為零,則表示幀頭還未到來。標志位檢測功能模塊仿真時序圖如下:標志位檢測功能模塊仿真時序圖1由圖可知,輸入標志位“0x7E”之后緊跟著的是“1111000000001111”數(shù)據(jù)流。輸出數(shù)據(jù)data如下圖所示:標志位檢測功能模塊仿真時序圖2這是輸出的8比特并行數(shù)據(jù),兩組數(shù)據(jù)分別是“11110000”和“00001111”,可見幀接收器正確的接收到了發(fā)出的數(shù)據(jù)。2)零檢測功能模塊引腳圖: 零檢測功能模塊引腳圖零檢測功能模塊是檢測比特流中連續(xù)“1”的個數(shù),向后面的提供控制信號,以完成刪零判斷,檢測幀結(jié)束標志的功能。模塊內(nèi)設(shè)置一個計數(shù)器,用來計算連續(xù)“1”的個數(shù)。若是計數(shù)值為6且下一接收比特為“0”,表明檢測到結(jié)束標志。當計數(shù)器值為5且下一比特為“0”,則表明該“0”比特應(yīng)該刪去。零檢

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論