www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]Nios SoC系統(tǒng)中的BCH編解碼IP核的設(shè)計(jì)

0引 言

循環(huán)碼是最重要的一類線性分組糾錯(cuò)碼,而B(niǎo)CH碼又是目前發(fā)現(xiàn)的性能很好且應(yīng)用廣泛的循環(huán)碼,它具有嚴(yán)格的代數(shù)理論,對(duì)它的理論研究也非常透徹。BCH碼的實(shí)現(xiàn)途徑有軟件和硬件兩種。軟件實(shí)現(xiàn)方法靈活性強(qiáng)且較易實(shí)現(xiàn),但硬件實(shí)現(xiàn)方法的工作速度快,在高數(shù)據(jù)速率和長(zhǎng)幀應(yīng)用場(chǎng)合時(shí)具有優(yōu)勢(shì)。FPGA(現(xiàn)場(chǎng)可編程門陣列)為DSP算法的硬件實(shí)現(xiàn)提供了很好的平臺(tái),但如果單獨(dú)使用一片F(xiàn)PGA實(shí)現(xiàn)BCH編解碼,對(duì)成本、功耗和交互速度都不利。最新的SoC(片上系統(tǒng))設(shè)計(jì)方法可以很好地解決這個(gè)問(wèn)題。

本文基于Altera公司的Nios軟核+可編程資源的SoC平臺(tái)設(shè)計(jì)了BCH編解碼IP核,這樣,在Nios系統(tǒng)中可以將BCH碼作為一種片內(nèi)資源進(jìn)行調(diào)用,在工程設(shè)計(jì)上具有積極的意義。

1 BCH碼

BCH碼于1960年前后發(fā)明,可以糾檢多個(gè)錯(cuò)誤。通常的二進(jìn)制BCH碼元是取自加羅瓦域GF(2m)。對(duì)于參數(shù)m和可糾錯(cuò)碼元數(shù)目t,BCH碼的碼長(zhǎng)為n=2m-1,對(duì)于m≥3,t<2m-1的BCH碼,監(jiān)督碼元數(shù)目n-k=mt;dmin≥2t+1。同時(shí),BCH碼元多項(xiàng)式的根為GF(2m)中的元素α,α3,…,α2t+1。例如一個(gè)m=6,t=3的BCH碼,其參數(shù)為:n=63,n-k=18,dmin=7。這就構(gòu)成了可以糾正3個(gè)錯(cuò)誤的(63,45)BCH碼。

BCH碼基于加羅瓦域,BCH編解碼的運(yùn)算也是域內(nèi)的閉合運(yùn)算。加羅瓦有限域產(chǎn)生于一個(gè)本原多項(xiàng)式,GF(2m)有限域內(nèi)有2m個(gè)元素。以GF(23)域?yàn)槔?,它的本原多?xiàng)式p(x)假定為p(x)=x3+x+1,基本元素α定義為p(x)=0的根,GF(23)中的元素可以計(jì)算如下:

BCH碼的編碼取決于其生成多項(xiàng)式,令φ2i-1(x)是加羅瓦域元素α2i-1的最小多項(xiàng)式,則可以糾正t個(gè)錯(cuò)誤的BCH碼的生成多項(xiàng)式為:



有了生成多項(xiàng)式,BCH編碼與普通的循環(huán)碼編碼相同,使用除法電路可以實(shí)現(xiàn)。
一個(gè)復(fù)雜度較低的BCH譯碼算法對(duì)于BCH碼的應(yīng)用有著重要的意義。BCH譯碼可以分為伴隨式計(jì)算和Berlekamp迭代譯碼兩部分。設(shè)接收碼元多項(xiàng)式為r(x),由于生成多項(xiàng)式的性質(zhì),如果傳輸過(guò)程中信道沒(méi)有引入錯(cuò)誤,α,α2,α3,…,α2t應(yīng)是r(x)的根。因此,伴隨式計(jì)算即將加羅瓦域中的元素代入接收碼元多項(xiàng)式,如果所有伴隨式結(jié)果都為0,則說(shuō)明沒(méi)有錯(cuò)誤,否則就有錯(cuò)誤。如果只使用BCH碼進(jìn)行檢錯(cuò),則譯碼過(guò)程就結(jié)束了。

伴隨式計(jì)算結(jié)束后,如果有錯(cuò),首先需要計(jì)算錯(cuò)誤位置多項(xiàng)式δ(x),譯碼的核心主要集中在這一步上。Berlekamp迭代算法不僅求解了錯(cuò)誤位置多項(xiàng)式的關(guān)鍵方程,而且運(yùn)算速度快,可以說(shuō)它解決了BCH碼譯碼的工程實(shí)用問(wèn)題。其次,使用錢搜索找出δ(x)的根,即錯(cuò)誤位置。最后,由于是二進(jìn)制編碼,只需把相應(yīng)位置的碼元取反就完成了整個(gè)譯碼過(guò)程。

2 BCH編解碼IP核的設(shè)計(jì)

2.1 整體設(shè)計(jì)及CPU接口

在NiosⅡ系統(tǒng)中,平臺(tái)免費(fèi)提供了各種常用接口IP核以及對(duì)這些外設(shè)的驅(qū)動(dòng)程序包,例如UART接口、Flash接口等。作為一個(gè)自行設(shè)計(jì)的IP核,需要掛接在NiosⅡ系統(tǒng)的Avalon總線上。這個(gè)過(guò)程使用Sopc Builder工具中的Interface t0 user logic模塊可以方便地進(jìn)行設(shè)計(jì)。NiosⅡ處理器和BCH IP核之間通過(guò)Avalon總線使用寄存器映射方式進(jìn)行交互。圖1是整個(gè)IP核的實(shí)現(xiàn)方框圖。

其中與NiosⅡ的接口分為控制接口和數(shù)據(jù)接口兩部分??刂平涌诎◤?fù)位、編解碼控制、存儲(chǔ)器狀態(tài)報(bào)告和編解碼狀態(tài)報(bào)告等。數(shù)據(jù)接口為FPGA內(nèi)部的RAM,分為發(fā)送和接收兩部分,它在NiosⅡ中映射成存儲(chǔ)空間。在NiosⅡ和BCH碼IP核之間設(shè)置簡(jiǎn)單的數(shù)據(jù)協(xié)議,控制寄存器的起始控制位設(shè)置后,寫入數(shù)據(jù)緩存的第1個(gè)字節(jié)為編解碼輸入數(shù)據(jù)的長(zhǎng)度字節(jié)。BCH編解碼模塊從數(shù)據(jù)緩存中讀入數(shù)據(jù)進(jìn)行相應(yīng)處理。其中,加羅瓦域的運(yùn)算主要通過(guò)對(duì)域元素的查表得到。

2.2 BCH編碼

BCH碼屬于系統(tǒng)碼,其編碼與一般循環(huán)碼的編碼形式基本相同,即為信息碼元多項(xiàng)式與生成多項(xiàng)式之間的除法電路實(shí)現(xiàn)。除法電路采用帶反饋的移位寄存器完成。信息碼元發(fā)送完后,寄存器內(nèi)存儲(chǔ)的就是監(jiān)督碼元,再接著發(fā)送即可。其中反饋抽頭連接為生成多項(xiàng)式控制。其基本結(jié)構(gòu)見(jiàn)圖2。

信息碼元首先從數(shù)據(jù)緩存中被讀出,然后通過(guò)并/串變換進(jìn)入編碼器后,一方面直接輸出,同時(shí)送入除法電路,當(dāng)信息碼元輸入結(jié)束后,開(kāi)關(guān)進(jìn)行相應(yīng)的變換,存在寄存器中的監(jiān)督碼元輸出。圖3為(31,16)BCH編碼的RTL(寄存器傳輸級(jí))仿真結(jié)果。

2.3 BCH譯碼
前面已經(jīng)介紹了BCH迭代譯碼的基本步驟。譯碼過(guò)程中的運(yùn)算都為有限域運(yùn)算,在運(yùn)算過(guò)程中經(jīng)常計(jì)算加羅瓦域的元素是不明智的,查表實(shí)現(xiàn)是通用的方法。例如GF(23)中,可以設(shè)計(jì)表1所示的表格來(lái)實(shí)現(xiàn)域元素的查找,同時(shí),運(yùn)算中還經(jīng)常需要通過(guò)元素值反查元素類型,因此需要設(shè)計(jì)兩張表格來(lái)正向和反向查找。圖1中的GF域查表RAM模塊就完成了這個(gè)功能。通過(guò)以上查表方法可以輕松實(shí)現(xiàn)有限域的加、減和乘運(yùn)算。


首先進(jìn)行伴隨式計(jì)算,在設(shè)計(jì)中利用片內(nèi)較高的工作頻率和FPGA的并發(fā)實(shí)現(xiàn)優(yōu)勢(shì),同時(shí)完成所有伴隨式的計(jì)算。圖4為伴隨式計(jì)算的RTL仿真結(jié)果,當(dāng)傳輸引入錯(cuò)誤后,伴隨式相或的結(jié)果Data_Out輸出高電平,表示需要進(jìn)行糾錯(cuò)。

然后進(jìn)行迭代譯碼,迭代過(guò)程可以通過(guò)表2表示。其中μ為算法迭代的次數(shù),第1次為了表示方便,可以認(rèn)為初始值是0。δμ(x)就是錯(cuò)誤位置多項(xiàng)式。dμ是一種差值,用于運(yùn)算。ιμ是第μ次運(yùn)算時(shí)δμ(x)的多項(xiàng)式階數(shù),2μ-ιμ是運(yùn)算中應(yīng)用的變量。

算法流程步驟如下:
a) 按如上μ為0和-1/2時(shí)初始化各個(gè)變量。

b) 如果dμ=0,此時(shí),則往下進(jìn)行。

c) 如果dμ≠0,則尋找以前運(yùn)算的某一行ρ,其具有2μ-ιμ最大(正值),且dρ≠0。

此時(shí),



如果μ=t-1,則算法結(jié)束。
d)ιμ+1=deg(δμ+1(x)),即δμ+1(x)的多項(xiàng)式階數(shù)。
e) dμ+1 =s2μ+3+δ1μ+1s2μ+2+δ2μ+1s2μ+1+…+δLμ+1s2μ+3-L,其中,L為ιμ+1,δu(x)的第i階系數(shù)。

f) 增加μ,從步驟b開(kāi)始。

得到錯(cuò)誤多項(xiàng)式后,通過(guò)錢搜索和取反即可完成整個(gè)譯碼工作。

3 結(jié)束語(yǔ)

SoC技術(shù)以其低成本、低功耗和小體積已經(jīng)成為電子設(shè)計(jì)領(lǐng)域的一個(gè)重要發(fā)展方向。BCH碼是一種經(jīng)典的分組糾錯(cuò)碼,在通信系統(tǒng)中應(yīng)用較為廣泛。通過(guò)這兩者的結(jié)合,本文設(shè)計(jì)的BCH碼IP核嵌入NiosSoC中,使得BCH編解碼在單片系統(tǒng)中可以自由調(diào)用,對(duì)SoC中的應(yīng)用軟件而言,調(diào)用接口簡(jiǎn)單,IP核屏蔽了所有算法細(xì)節(jié)。同時(shí),由于采用硬件實(shí)現(xiàn),具有高速、穩(wěn)定的特點(diǎn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

深圳2022年10月8日 /美通社/ -- 日前,TUV南德受邀參與亞馬遜全球個(gè)人防護(hù)設(shè)備(PPE)合規(guī)管理線上峰會(huì),為企業(yè)分享歐盟、英國(guó)、美國(guó)及日本的個(gè)人防護(hù)設(shè)備...

關(guān)鍵字: 亞馬遜 防護(hù) BSP NIOS

(全球TMT2022年4月27日訊)新思科技(Synopsys, Inc)近日宣布推出全新神經(jīng)處理單元(NPU)IP核和工具鏈,可提供業(yè)界領(lǐng)先的性能并支持新興的復(fù)雜神經(jīng)網(wǎng)絡(luò)模型。新思科技DesignWare? ARC?...

關(guān)鍵字: IP核 新思科技 NPU RC

新款DesignWare ARC NPX6 NPU IP核能夠?yàn)槠嚒⑾M(fèi)類和數(shù)據(jù)中心芯片設(shè)計(jì)提供高達(dá)3500 TOPS的性能  摘要 DesignWare ARC NPX6 NPU IP核可提供業(yè)界...

關(guān)鍵字: IP核 處理器 新思科技 TOP

摘 要:為了更好地實(shí)現(xiàn)物聯(lián)網(wǎng)或工業(yè)控制領(lǐng)域中傳感器網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程監(jiān)控功能,本文設(shè)計(jì)了一種基于FPGA的嵌入式網(wǎng)關(guān)系統(tǒng)的隨機(jī)方法。該設(shè)計(jì)通過(guò)構(gòu)建可編程片上系統(tǒng) (SOPC),并利用Nios II嵌入式系統(tǒng)通過(guò)串口通信來(lái)實(shí)現(xiàn)...

關(guān)鍵字: 嵌入式網(wǎng)關(guān) FPGA NIOS II COS-II操作系統(tǒng) SOPC

摘要:針對(duì)工業(yè)控制領(lǐng)域中對(duì)多串口通信的需求,采用SOPC技術(shù)并利用FPGA的可編程性,給出了一個(gè)基于NiosII的30路串口數(shù)據(jù)轉(zhuǎn)發(fā)通信處理機(jī)的設(shè)計(jì)方法,同時(shí)定義了相應(yīng)的數(shù)據(jù)通信協(xié)議,從而實(shí)現(xiàn)了30路下位機(jī)與上位機(jī)的串口...

關(guān)鍵字: 多串口通信 SOPC FPGA NIOS

近些年來(lái),云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)、超高清視頻、人工智能、5G、區(qū)塊鏈等電子信息技術(shù)接踵而至,幾乎讓人應(yīng)接不暇。這些技術(shù)交叉關(guān)聯(lián),互相促進(jìn),加快信息技術(shù)發(fā)展速度。由于大多數(shù)信息最終會(huì)通過(guò)圖像視頻向人們傳遞,因此超高清視頻技...

關(guān)鍵字: 4K產(chǎn)業(yè)鏈 芯片 編解碼

無(wú)線局域網(wǎng)被認(rèn)為是下一代IT產(chǎn)業(yè)發(fā)展的是大推動(dòng)之一,被IT業(yè)賦予了極大的希望。無(wú)線局域網(wǎng)802.11系列標(biāo)準(zhǔn)的MAC協(xié)議是一樣的,只是在物理層上有差異,因此對(duì)802.11MAC協(xié)議的開(kāi)發(fā),不論是在802.11b流行的今天...

關(guān)鍵字: ARM IEEE802 11MAC協(xié)議 IP核

1月8日,在與中科院計(jì)算所和中科院計(jì)算所南研院的通力合作基礎(chǔ)上,北京中科睿芯科技集團(tuán)有限公司(簡(jiǎn)稱中科睿芯)正式發(fā)布了一款圖神經(jīng)網(wǎng)絡(luò)加速芯片的IP核(即制備芯片的知識(shí)產(chǎn)權(quán)核),并宣布面向全球開(kāi)展商用授權(quán)。

關(guān)鍵字: 圖神經(jīng)網(wǎng)絡(luò) 芯片 IP核

  本文主要搭建一個(gè)多生理參數(shù)測(cè)量系統(tǒng)的數(shù)據(jù)處理平臺(tái),在FPGA中嵌入一個(gè)32位Nios II軟核處理器,用于控制數(shù)據(jù)的傳輸、存儲(chǔ)及顯示。主要完成了此數(shù)據(jù)處理平臺(tái)硬件系統(tǒng)的定制及編寫相應(yīng)程序,以控制數(shù)

關(guān)鍵字: NIOS ii 生理

   ADI公司的JPEG2000解決方案無(wú)需作進(jìn)一步信號(hào)處理就能夠以可變的分辨率進(jìn)行視頻圖像的提取、壓縮和傳輸。    &n

關(guān)鍵字: adi 編解碼 jpeg2000

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉