亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于FPGA的HDLC收發(fā)控制器的制作方法

文檔序號(hào):11929561閱讀:330來(lái)源:國(guó)知局
基于FPGA的HDLC收發(fā)控制器的制作方法與工藝

本發(fā)明涉及通信技術(shù)領(lǐng)域和軌道交通領(lǐng)域,尤其涉及一種基于FPGA的HDLC收發(fā)控制器。



背景技術(shù):

高級(jí)數(shù)據(jù)鏈路控制(High-Level Data Control,以下簡(jiǎn)稱(chēng):HDLC)是一種同步數(shù)據(jù)傳輸、面向比特的數(shù)據(jù)鏈路層協(xié)議,具有差錯(cuò)檢測(cè)功能強(qiáng)大、高效和同步傳輸?shù)奶攸c(diǎn),目前HDLC協(xié)議已成為是通信領(lǐng)域中應(yīng)用最廣泛的協(xié)議之一。HDLC收發(fā)控制器完成了HDLC幀的編碼和解碼功能,負(fù)責(zé)HDLC協(xié)議幀數(shù)據(jù)的發(fā)送和接收。

現(xiàn)有的HDLC收發(fā)控制器主要是通過(guò)使用HDLC專(zhuān)用芯片和軟件編程的方式來(lái)實(shí)現(xiàn)。HDLC專(zhuān)用芯片有很多資源使用不上,造成了資源浪費(fèi),而且在電路設(shè)計(jì)時(shí)不得不考慮其復(fù)雜的布局布線,此外,HDLC專(zhuān)用芯片升級(jí)速度太快,通用性差。軟件編程實(shí)現(xiàn)方式是通過(guò)處理器的應(yīng)用程序?qū)崿F(xiàn)HDLC收發(fā)控制,但是使用該方法會(huì)占用處理器的資源從而降低處理器的執(zhí)行速度,其次不易預(yù)測(cè)信號(hào)的時(shí)延和同步性,針對(duì)不同時(shí)序的處理器,需要重新修改程序和調(diào)試。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種基于FPGA的HDLC收發(fā)控制器,可兼容不同時(shí)序的處理器進(jìn)行HDLC幀收發(fā)控制,兼?zhèn)滠浖幊毯虷DLC專(zhuān)用芯片的優(yōu)點(diǎn),不占用處理器的資源,通用性好。

本發(fā)明提供的基于FPGA的HDLC收發(fā)控制器,所述HDLC收發(fā)控制器在FPGA上實(shí)現(xiàn)HDLC的收發(fā)控制功能,所述HDLC收發(fā)控制器包括:

處理器接口模塊、HDLC發(fā)送模塊和HDLC接收模塊;

所述處理器接口模塊用于:為處理器提供接口,與所述處理器進(jìn)行數(shù)據(jù) 交換,控制所述HDLC發(fā)送模塊和HDLC接收模塊,若所述處理器的處理周期小于所述HDLC收發(fā)控制器的處理周期,在所述處理器執(zhí)行完一次讀/寫(xiě)操作后所述處理器接口模塊即回歸空閑狀態(tài),若所述處理器的處理周期大于或等于所述HDLC收發(fā)控制器的處理周期,在所述處理器執(zhí)行一次讀/寫(xiě)操作時(shí)所述處理器接口模塊進(jìn)入寫(xiě)等待狀態(tài),直至所述讀/寫(xiě)操作結(jié)束才回歸空閑狀態(tài);

所述HDLC發(fā)送模塊用于:接收所述處理器寫(xiě)入的數(shù)據(jù)并編碼成HDLC幀,向與所述處理器通信的裝置發(fā)送編碼后的HDLC幀;

所述HDLC接收模塊用于:接收與所述處理器通信的裝置發(fā)送的HDLC幀并進(jìn)行解碼,存儲(chǔ)解碼后的數(shù)據(jù),并向所述處理器發(fā)送中斷信號(hào)以使所述處理器讀取所述解碼后的數(shù)據(jù)。

進(jìn)一步地,所述HDLC發(fā)送模塊包括:

HDLC發(fā)送狀態(tài)寄存器,用于標(biāo)識(shí)所述HDLC發(fā)送模塊的狀態(tài);

第一數(shù)據(jù)緩存器,用于接收并存儲(chǔ)所述處理器寫(xiě)入的數(shù)據(jù);

校驗(yàn)碼生成單元,用于將所述第一數(shù)據(jù)緩存器中存儲(chǔ)的數(shù)據(jù)生成循環(huán)冗余檢查CRC-16校驗(yàn)碼;

時(shí)鐘同步單元,用于對(duì)所述校驗(yàn)碼進(jìn)行時(shí)鐘同步;

數(shù)據(jù)插0單元,用于對(duì)時(shí)鐘同步后的校驗(yàn)碼進(jìn)行并/串轉(zhuǎn)換和插0處理;

標(biāo)志位插入單元,用于對(duì)進(jìn)行并/串轉(zhuǎn)換和插0操作后的數(shù)據(jù)插上幀頭幀尾,得到編碼后的HDLC幀;

發(fā)送單元,用于向與所述處理器通信的裝置發(fā)送編碼后的HDLC幀。

進(jìn)一步地,所述HDLC接收模塊包括:

接收單元,用于接收與所述處理器通信的裝置發(fā)送的HDLC幀;

幀識(shí)別單元,用于對(duì)接收到的HDLC幀進(jìn)行幀識(shí)別并去掉幀頭幀尾;

去除零碼單元,用于對(duì)幀識(shí)別后的HDLC幀數(shù)據(jù)進(jìn)行去除零碼處理和串/并轉(zhuǎn)換;

時(shí)鐘同步單元,用于對(duì)去除零碼處理和串/并轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行時(shí)鐘同步;

校驗(yàn)單元,用于對(duì)時(shí)鐘同步后的數(shù)據(jù)進(jìn)行CRC校驗(yàn);

第二數(shù)據(jù)緩存器,用于存儲(chǔ)進(jìn)行CRC校驗(yàn)后的數(shù)據(jù),并在滿(mǎn)足預(yù)設(shè)條件 時(shí)向所述處理器發(fā)送中斷信號(hào)以使所述處理器讀取所述解碼后的數(shù)據(jù);

HDLC接收狀態(tài)寄存器,用于標(biāo)識(shí)所述HDLC接收模塊的狀態(tài)。

進(jìn)一步地,所述處理器接口模塊包括:地址線、數(shù)據(jù)線、片選信號(hào)、寫(xiě)信號(hào)、讀信號(hào)和中斷信號(hào)。

本發(fā)明提供的基于FPGA的HDLC收發(fā)控制器,通過(guò)處理器接口模塊的特殊處理,可兼容不同時(shí)序的處理器進(jìn)行HDLC幀收發(fā)控制,具備軟件編程和HDLC專(zhuān)用芯片的優(yōu)點(diǎn),由于HDLC收發(fā)控制器是通過(guò)FPGA實(shí)現(xiàn)的,因此不占用處理器的資源,且可以在不同型號(hào)的FPGA芯片移植代碼,從而能夠適應(yīng)在不同場(chǎng)景的HDLC幀收發(fā)控制,通用性好。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明基于FPGA的HDLC收發(fā)控制器實(shí)施例一的結(jié)構(gòu)示意圖;

圖2為本發(fā)明基于FPGA的HDLC收發(fā)控制器實(shí)施例一中處理器接口模塊的工作狀態(tài)示意圖;

圖3為本發(fā)明基于FPGA的HDLC收發(fā)控制器實(shí)施例二的結(jié)構(gòu)示意圖;

圖4為本發(fā)明硬件系統(tǒng)結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明中的附圖,對(duì)本發(fā)明中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明提供一種基于FPGA的HDLC收發(fā)控制器,通過(guò)FPGA實(shí)現(xiàn)HDLC幀收發(fā)控制功能。對(duì)不同工作時(shí)序的處理器能夠很好地適應(yīng),不需要修改FPGA代碼就可直接使用,作為一獨(dú)立硬件模塊,不存在占用處理器資源的 情況,且硬件電路設(shè)計(jì)基本不用更改,可以在不同型號(hào)的FPGA芯片移植代碼,能夠適應(yīng)不同場(chǎng)景的HDLC幀收發(fā)控制,通用性好,同時(shí)具備軟件編程和HDLC專(zhuān)用芯片的優(yōu)點(diǎn)。下面結(jié)合附圖詳細(xì)進(jìn)行說(shuō)明。

圖1為本發(fā)明基于FPGA的HDLC收發(fā)控制器實(shí)施例一的結(jié)構(gòu)示意圖,如圖1所示,本實(shí)施例的HDLC收發(fā)控制器可以包括:處理器接口模塊10、HDLC發(fā)送模塊11和HDLC接收模塊12,其中,處理器接口模塊10用于:為處理器提供接口,與處理器進(jìn)行數(shù)據(jù)交換,控制HDLC發(fā)送模塊11和HDLC接收模塊12,圖2為本發(fā)明基于FPGA的HDLC收發(fā)控制器實(shí)施例一中處理器接口模塊的工作狀態(tài)示意圖,圖2中以HDLC收發(fā)控制器的處理周期為8個(gè)時(shí)鐘周期為例,如圖2所示,若處理器的處理周期小于HDLC收發(fā)控制器的處理周期,在處理器執(zhí)行完一次讀/寫(xiě)操作后處理器接口模塊10即回歸空閑狀態(tài);若處理器的處理周期大于或等于HDLC收發(fā)控制器的處理周期,在處理器執(zhí)行一次讀/寫(xiě)操作時(shí)處理器接口模塊10進(jìn)入寫(xiě)等待狀態(tài),直至讀/寫(xiě)操作結(jié)束才回歸空閑狀態(tài),這樣做保證了處理器讀/寫(xiě)HDLC收發(fā)控制器的唯一、準(zhǔn)確。如此以來(lái),對(duì)于不同時(shí)序的處理器,本發(fā)明的HDLC收發(fā)控制器都可以正常工作,因此可兼容不同時(shí)序的處理器進(jìn)行HDLC幀收發(fā)控制。

HDLC發(fā)送模塊11用于:接收處理器寫(xiě)入的數(shù)據(jù)并編碼成HDLC幀,向與處理器通信的裝置發(fā)送編碼后的HDLC幀。

具體地,當(dāng)處理器需要向HDLC收發(fā)控制器發(fā)送數(shù)據(jù)時(shí),通過(guò)讀HDLC發(fā)送模塊11以判斷HDLC發(fā)送模塊的狀態(tài),判斷其是否空閑,在判斷HDLC發(fā)送模塊11空閑時(shí),處理器可發(fā)送數(shù)據(jù)。

HDLC接收模塊12用于:接收與處理器通信的裝置發(fā)送的HDLC幀并進(jìn)行解碼,存儲(chǔ)解碼后的數(shù)據(jù),并向處理器發(fā)送中斷信號(hào)以使處理器讀取解碼后的數(shù)據(jù)。

具體地,當(dāng)HDLC接收模塊有供處理器讀取的數(shù)據(jù)時(shí),就會(huì)向處理器發(fā)出中斷信號(hào),然后處理器通過(guò)讀HDLC接收模塊12以判斷HDLC接收模塊的狀態(tài),確定HDLC接收模塊有多少數(shù)據(jù)可以讀取,最后讀取該數(shù)據(jù)。

本實(shí)施例提供的基于FPGA的HDLC收發(fā)控制器,通過(guò)處理器接口模塊的特殊處理,可兼容不同時(shí)序的處理器進(jìn)行HDLC幀收發(fā)控制,具備軟件編程和HDLC專(zhuān)用芯片的優(yōu)點(diǎn),由于HDLC收發(fā)控制器是通過(guò)FPGA實(shí)現(xiàn)的, 因此不占用處理器的資源,且可以在不同型號(hào)的FPGA芯片移植代碼,從而能夠適應(yīng)在不同場(chǎng)景的HDLC幀收發(fā)控制,通用性好。

圖3為本發(fā)明基于FPGA的HDLC收發(fā)控制器實(shí)施例二的結(jié)構(gòu)示意圖,如圖3所示,本實(shí)施例在圖1所示實(shí)施例的基礎(chǔ)上,HDLC發(fā)送模塊11具體可以包括:HDLC發(fā)送狀態(tài)寄存器110,用于標(biāo)識(shí)HDLC發(fā)送模塊的狀態(tài)。第一數(shù)據(jù)緩存器111,用于接收并存儲(chǔ)處理器寫(xiě)入的數(shù)據(jù)。校驗(yàn)碼生成單元112,用于將第一數(shù)據(jù)緩存器中存儲(chǔ)的數(shù)據(jù)生成循環(huán)冗余檢查CRC-16校驗(yàn)碼。時(shí)鐘同步單元113,用于對(duì)校驗(yàn)碼進(jìn)行時(shí)鐘同步。數(shù)據(jù)插0單元114,用于對(duì)時(shí)鐘同步后的校驗(yàn)碼進(jìn)行并/串轉(zhuǎn)換和插0處理。標(biāo)志位插入單元115,用于對(duì)進(jìn)行并/串轉(zhuǎn)換和插0操作后的數(shù)據(jù)插上幀頭幀尾,得到編碼后的HDLC幀。發(fā)送單元116,用于向與處理器通信的裝置發(fā)送編碼后的HDLC幀。

HDLC接收模塊12可以包括:接收單元120,用于接收與處理器通信的裝置發(fā)送的HDLC幀。幀識(shí)別單元121,用于對(duì)接收到的HDLC幀進(jìn)行幀識(shí)別。去除零碼單元122,用于對(duì)幀識(shí)別后的HDLC幀進(jìn)行去除零碼處理和串/并轉(zhuǎn)換。時(shí)鐘同步單元123,用于對(duì)去除零碼處理和串/并轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行時(shí)鐘同步。校驗(yàn)單元124,用于對(duì)時(shí)鐘同步后的數(shù)據(jù)進(jìn)行CRC校驗(yàn)。第二數(shù)據(jù)緩存器125,用于存儲(chǔ)進(jìn)行CRC校驗(yàn)后的數(shù)據(jù),并在滿(mǎn)足預(yù)設(shè)條件時(shí)向處理器發(fā)送中斷信號(hào)。HDLC接收狀態(tài)寄存器126,用于標(biāo)識(shí)HDLC接收模塊的狀態(tài)。

其中,具體地,處理器接口模塊10包括:地址線、數(shù)據(jù)線、片選信號(hào)、寫(xiě)信號(hào)、讀信號(hào)和中斷信號(hào)。

本實(shí)施例提供的基于FPGA的HDLC收發(fā)控制器,通過(guò)處理器接口模塊的特殊處理,可兼容不同時(shí)序的處理器進(jìn)行HDLC幀收發(fā)控制,具備軟件編程和HDLC專(zhuān)用芯片的優(yōu)點(diǎn),由于HDLC收發(fā)控制器是通過(guò)FPGA實(shí)現(xiàn)的,因此不占用處理器的資源,且可以在不同型號(hào)的FPGA芯片移植代碼,從而能夠適應(yīng)在不同場(chǎng)景的HDLC幀收發(fā)控制,通用性好。

下面采用一個(gè)具體的實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明提供的基于FPGA的HDLC收發(fā)控制器的工作過(guò)程。

本實(shí)施例中采用AT91處理器作為系統(tǒng)的CPU,AT91處理器的讀寫(xiě)測(cè)試程序使用C語(yǔ)言編程,控制數(shù)據(jù)的發(fā)送與接收,使用VHDL語(yǔ)言實(shí)現(xiàn)HDLC 收發(fā)控制器,下載到FPGA芯片,實(shí)現(xiàn)HDLC幀收發(fā)控制。圖4為本發(fā)明硬件系統(tǒng)結(jié)構(gòu)示意圖,如圖4所示。在FPGA內(nèi)部把HDLC發(fā)送模塊和HDLC接收模塊相連接,AT91處理器通過(guò)預(yù)留的地址總線、數(shù)據(jù)總線和I/O接口訪問(wèn)FPGA,應(yīng)用層測(cè)試HDLC收發(fā)控制器的各項(xiàng)功能。測(cè)試過(guò)程如下:

AT91處理器通過(guò)讀HDLC發(fā)送模塊11中的HDLC發(fā)送狀態(tài)寄存器以判斷HDLC發(fā)送模塊11的狀態(tài),在判斷HDLC發(fā)送模塊11空閑時(shí),向FPGA寫(xiě)數(shù)據(jù),F(xiàn)PGA的HDLC收發(fā)控制器把AT91處理器寫(xiě)入的數(shù)據(jù)編碼成HDLC幀,HDLC接收模塊12接收到該幀后進(jìn)行解碼,并存儲(chǔ)解碼后的數(shù)據(jù),然后向AT91處理器發(fā)送中斷信號(hào),收到中斷信號(hào)后AT91處理器對(duì)HDLC接收狀態(tài)寄存器發(fā)起讀操作判斷HDLC接收模塊12狀態(tài)并讀取HDLC接收模塊12的數(shù)據(jù)。最后AT91處理器會(huì)把接收到的數(shù)據(jù)與發(fā)送的數(shù)據(jù)進(jìn)行比較,以確定數(shù)據(jù)是否錯(cuò)幀丟幀。調(diào)試成功后,在FPGA內(nèi)部把HDLC發(fā)送模塊和HDLC接收模塊斷開(kāi),就可以正常使用了。

本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。

最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1