資源描述:
《基于fpga的crc編碼器的實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、基于FPGA的CRC編碼器的實(shí)現(xiàn)金素梅等:基于FPGA的CRC纏器的基于FPGA的CRC編碼器的實(shí)現(xiàn)金素梅,王家禮(西安電子科技大學(xué)機(jī)電工程學(xué)院陜西西安710071)摘要:在數(shù)據(jù)通信中為了降低通信線路傳輸?shù)恼`碼率,需要采用高效能的差錯(cuò)控制方法,循環(huán)冗余校驗(yàn)CRC(CyclicRedundancyCheck)由于編碼簡(jiǎn)單且有效,是一種最常用的信道編碼方法.介紹了CRC編碼的原理算法和校驗(yàn)規(guī)則,以CRC一4為例,給出了CRC校驗(yàn)碼的具體計(jì)算過(guò)程和使用硬件描述語(yǔ)言VHDL來(lái)實(shí)現(xiàn)CRC編碼的流程圖,在程序中實(shí)現(xiàn)的是串行移位計(jì)算,并以Ahera公司開(kāi)發(fā)
2、的EDA工具QuartusII作為編譯,仿真平臺(tái),選用Cyclone系列屮的EP1C6T144C6器件,完成了CRC編碼器的FPGA實(shí)現(xiàn),其實(shí)現(xiàn)速度可達(dá)397MHz.關(guān)鍵詞:循環(huán)冗余校驗(yàn);差錯(cuò)控制;硬件描述語(yǔ)言;信道編碼;現(xiàn)場(chǎng)可編程門(mén)陣列中圖分類(lèi)號(hào):TN762文獻(xiàn)標(biāo)識(shí)碼:B文章編號(hào):1004—373X(2005)24—018—02ImplementationofCRCBasedonFPGAJINSumei,WANGJiali(SchoolofElectro—MechanicalEngineering.XidianUniversity.xian
3、.710071,China)Abstract:Indatacommunications,ahighefficienterrorcontrolmethodisneededtodecreasetherateO{errorcodesthroughtransmissionlines,CRC(CyclicRedundancyCheck)isawidelyusedchannelcodingmethodforitssimplecodingandhighefficiency.Thetheory.algorithmandcheckregulationsofCR
4、Careintroduced.TakingCRC一4asanexample,thecomputationprocedureandflowchartinVHDLofCRCaregiven.IntheVHDLprogram,thecomputationisserialshift.QuartuslI,anEDAtooldevelopedbytheAheraCompanyisusedasthecompilationandsimulationplatform.AnEPIC6T144C6belongtoCycloneischosentofinishthe
5、FPGArealization.Therealizationspeedisashighas397MHz.Keywords:CRC;errorcontrol;VHDL;channelcoding;FPGA數(shù)據(jù)在傳輸過(guò)程中,由于通道傳輸特性不理想,并且受到噪聲或干擾的影響,傳輸?shù)浇邮斩撕罂赡馨l(fā)生錯(cuò)謀判決,并且有時(shí)由于受到突發(fā)的脈沖干擾,錯(cuò)碼會(huì)成串出現(xiàn).因此為了降低通信中的誤碼率,提高數(shù)字通信的可靠性,通常采用信道編碼來(lái)檢錯(cuò)和糾錯(cuò),信道編碼也稱(chēng)差錯(cuò)控制編碼.差錯(cuò)控制編碼的基本思想是:發(fā)送端在傳輸?shù)男畔⒋a元序列屮附加一些冗余的監(jiān)督碼元(校驗(yàn)碼),這些
6、監(jiān)督碼和信息碼之間按編碼規(guī)則形成一定的關(guān)系,接收端則通過(guò)檢查這種關(guān)系來(lái)發(fā)現(xiàn)或糾正可能產(chǎn)牛的誤碼?循環(huán)冗余校驗(yàn)CRC(CyclicRedundancyCheck)方法是以數(shù)據(jù)塊為對(duì)象進(jìn)行校驗(yàn)的,是一種高效,可靠的檢錯(cuò)和糾錯(cuò)方法.CRC校驗(yàn)由于編碼簡(jiǎn)單,糾錯(cuò)能力強(qiáng)且誤判概率很低,所以在工業(yè)測(cè)控及通信系統(tǒng)中得到了廣泛的應(yīng)用.1CRC校驗(yàn)原理及算法1.1CRC校驗(yàn)原理CRC校驗(yàn)采用多項(xiàng)式編碼方法,被處理的數(shù)據(jù)塊可以收稿口期:2005—08—1318看作是一個(gè)階二進(jìn)制多項(xiàng)式,由a—x—+a—x一+…+alx+a.來(lái)表示,例如一個(gè)8位二進(jìn)制數(shù)101001
7、01可以表示為:l+0x+lx+0x'+0x+lx+0x+lx..多項(xiàng)式乘除法運(yùn)算過(guò)程與普通代數(shù)多項(xiàng)式的乘除法相同;多項(xiàng)式的加減法運(yùn)算以2為模,加減吋不進(jìn),錯(cuò)位,與邏輯異或運(yùn)算一致,即以2為模的加法和減法是等價(jià)的.CRC校驗(yàn)的基本思想是:利用線形編碼理論,在發(fā)送方根據(jù)要傳送的k位二進(jìn)制序列,以一定的規(guī)則產(chǎn)生「位校驗(yàn)用的監(jiān)督碼(即CRC碼),并附在信息后邊,構(gòu)成-個(gè)新的二進(jìn)制代碼序列共一k+r位,最后發(fā)送出去(其格式如圖1所示);在接收方,則根據(jù)信息碼和CRC碼之問(wèn)所遵循的規(guī)則進(jìn)行校驗(yàn),以確定傳送中是否出錯(cuò).圖1CRC碼格式1.2CRC編碼算法
8、釆用CRC校驗(yàn)時(shí),發(fā)送方和接收方使用同一個(gè)牛成多項(xiàng)式g()(生成多項(xiàng)式是標(biāo)準(zhǔn)化的,可以根據(jù)具體需要自行選擇),將最后的余數(shù)作為CRC校驗(yàn)碼?其實(shí)現(xiàn)步驟如下:(1)設(shè)