当前位置:首页 > 电源 > 数字电源
[导读]本文基于Altera公司的Nios软核+可编程资源的SoC平台设计了BCH编解码IP核,这样,在Nios系统中可以将BCH码作为一种片内资源进行调用,在工程设计上具有积极的意义。

0引 言

循环码是最重要的一类线性分组纠错码,而BCH码又是目前发现的性能很好且应用广泛的循环码,它具有严格的代数理论,对它的理论研究也非常透彻。BCH码的实现途径有软件和硬件两种。软件实现方法灵活性强且较易实现,但硬件实现方法的工作速度快,在高数据速率和长帧应用场合时具有优势。FPGA(现场可编程门阵列)为DSP算法的硬件实现提供了很好的平台,但如果单独使用一片FPGA实现BCH编解码,对成本、功耗和交互速度都不利。最新的SoC(片上系统)设计方法可以很好地解决这个问题。

本文基于Altera公司的Nios软核+可编程资源的SoC平台设计了BCH编解码IP核,这样,在Nios系统中可以将BCH码作为一种片内资源进行调用,在工程设计上具有积极的意义。

1 BCH码

BCH码于1960年前后发明,可以纠检多个错误。通常的二进制BCH码元是取自加罗瓦域GF(2m)。对于参数m和可纠错码元数目t,BCH码的码长为n=2m-1,对于m≥3,t<2m-1的BCH码,监督码元数目n-k=mt;dmin≥2t+1。同时,BCH码元多项式的根为GF(2m)中的元素α,α3,…,α2t+1。例如一个m=6,t=3的BCH码,其参数为:n=63,n-k=18,dmin=7。这就构成了可以纠正3个错误的(63,45)BCH码。

BCH码基于加罗瓦域,BCH编解码的运算也是域内的闭合运算。加罗瓦有限域产生于一个本原多项式,GF(2m)有限域内有2m个元素。以GF(23)域为例,它的本原多项式p(x)假定为p(x)=x3+x+1,基本元素α定义为p(x)=0的根,GF(23)中的元素可以计算如下:

BCH码的编码取决于其生成多项式,令φ2i-1(x)是加罗瓦域元素α2i-1的最小多项式,则可以纠正t个错误的BCH码的生成多项式为:



有了生成多项式,BCH编码与普通的循环码编码相同,使用除法电路可以实现。
一个复杂度较低的BCH译码算法对于BCH码的应用有着重要的意义。BCH译码可以分为伴随式计算和Berlekamp迭代译码两部分。设接收码元多项式为r(x),由于生成多项式的性质,如果传输过程中信道没有引入错误,α,α2,α3,…,α2t应是r(x)的根。因此,伴随式计算即将加罗瓦域中的元素代入接收码元多项式,如果所有伴随式结果都为0,则说明没有错误,否则就有错误。如果只使用BCH码进行检错,则译码过程就结束了。

伴随式计算结束后,如果有错,首先需要计算错误位置多项式δ(x),译码的核心主要集中在这一步上。Berlekamp迭代算法不仅求解了错误位置多项式的关键方程,而且运算速度快,可以说它解决了BCH码译码的工程实用问题。其次,使用钱搜索找出δ(x)的根,即错误位置。最后,由于是二进制编码,只需把相应位置的码元取反就完成了整个译码过程。

2 BCH编解码IP核的设计

2.1 整体设计及CPU接口

在NiosⅡ系统中,平台免费提供了各种常用接口IP核以及对这些外设的驱动程序包,例如UART接口、Flash接口等。作为一个自行设计的IP核,需要挂接在NiosⅡ系统的Avalon总线上。这个过程使用Sopc Builder工具中的Interface t0 user logic模块可以方便地进行设计。NiosⅡ处理器和BCH IP核之间通过Avalon总线使用寄存器映射方式进行交互。图1是整个IP核的实现方框图。

其中与NiosⅡ的接口分为控制接口和数据接口两部分。控制接口包括复位、编解码控制、存储器状态报告和编解码状态报告等。数据接口为FPGA内部的RAM,分为发送和接收两部分,它在NiosⅡ中映射成存储空间。在NiosⅡ和BCH码IP核之间设置简单的数据协议,控制寄存器的起始控制位设置后,写入数据缓存的第1个字节为编解码输入数据的长度字节。BCH编解码模块从数据缓存中读入数据进行相应处理。其中,加罗瓦域的运算主要通过对域元素的查表得到。

2.2 BCH编码

BCH码属于系统码,其编码与一般循环码的编码形式基本相同,即为信息码元多项式与生成多项式之间的除法电路实现。除法电路采用带反馈的移位寄存器完成。信息码元发送完后,寄存器内存储的就是监督码元,再接着发送即可。其中反馈抽头连接为生成多项式控制。其基本结构见图2。

信息码元首先从数据缓存中被读出,然后通过并/串变换进入编码器后,一方面直接输出,同时送入除法电路,当信息码元输入结束后,开关进行相应的变换,存在寄存器中的监督码元输出。图3为(31,16)BCH编码的RTL(寄存器传输级)仿真结果。

2.3 BCH译码
前面已经介绍了BCH迭代译码的基本步骤。译码过程中的运算都为有限域运算,在运算过程中经常计算加罗瓦域的元素是不明智的,查表实现是通用的方法。例如GF(23)中,可以设计表1所示的表格来实现域元素的查找,同时,运算中还经常需要通过元素值反查元素类型,因此需要设计两张表格来正向和反向查找。图1中的GF域查表RAM模块就完成了这个功能。通过以上查表方法可以轻松实现有限域的加、减和乘运算。


首先进行伴随式计算,在设计中利用片内较高的工作频率和FPGA的并发实现优势,同时完成所有伴随式的计算。图4为伴随式计算的RTL仿真结果,当传输引入错误后,伴随式相或的结果Data_Out输出高电平,表示需要进行纠错。

然后进行迭代译码,迭代过程可以通过表2表示。其中μ为算法迭代的次数,第1次为了表示方便,可以认为初始值是0。δμ(x)就是错误位置多项式。dμ是一种差值,用于运算。ιμ是第μ次运算时δμ(x)的多项式阶数,2μ-ιμ是运算中应用的变量。

算法流程步骤如下:
a) 按如上μ为0和-1/2时初始化各个变量。

b) 如果dμ=0,此时,则往下进行。

c) 如果dμ≠0,则寻找以前运算的某一行ρ,其具有2μ-ιμ最大(正值),且dρ≠0。

此时,



如果μ=t-1,则算法结束。
d)ιμ+1=deg(δμ+1(x)),即δμ+1(x)的多项式阶数。
e) dμ+1 =s2μ+3+δ1μ+1s2μ+2+δ2μ+1s2μ+1+…+δLμ+1s2μ+3-L,其中,L为ιμ+1,δu(x)的第i阶系数。

f) 增加μ,从步骤b开始。

得到错误多项式后,通过钱搜索和取反即可完成整个译码工作。

3 结束语

SoC技术以其低成本、低功耗和小体积已经成为电子设计领域的一个重要发展方向。BCH码是一种经典的分组纠错码,在通信系统中应用较为广泛。通过这两者的结合,本文设计的BCH码IP核嵌入NiosSoC中,使得BCH编解码在单片系统中可以自由调用,对SoC中的应用软件而言,调用接口简单,IP核屏蔽了所有算法细节。同时,由于采用硬件实现,具有高速、稳定的特点。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

IP核,也被称为知识产权核或知识产权模块,是经过反复验证的、可以重复使用的集成电路设计宏模块,主要应用于专用集成电路(ASIC)或者可编辑逻辑器件(FPGA)。IP核主要分为软IP核和硬IP核。

关键字: MCU器件 IP核

领先的半导体IP核提供商Arasan Chip Systems今天宣布,其MIPI DSI-2、CSI-2和C-PHY/D-PHY Combo IP已在Testmetrix...

关键字: STM TEST AN IP核

深圳2022年10月8日 /美通社/ -- 日前,TUV南德受邀参与亚马逊全球个人防护设备(PPE)合规管理线上峰会,为企业分享欧盟、英国、美国及日本的个人防护设备...

关键字: 亚马逊 防护 BSP NIOS

(全球TMT2022年4月27日讯)新思科技(Synopsys, Inc)近日宣布推出全新神经处理单元(NPU)IP核和工具链,可提供业界领先的性能并支持新兴的复杂神经网络模型。新思科技DesignWare® ARC®...

关键字: IP核 新思科技 NPU RC

新款DesignWare ARC NPX6 NPU IP核能够为汽车、消费类和数据中心芯片设计提供高达3500 TOPS的性能  摘要 DesignWare ARC NPX6 NPU IP核可提供业界...

关键字: IP核 处理器 新思科技 TOP

摘 要:为了更好地实现物联网或工业控制领域中传感器网络设备的远程监控功能,本文设计了一种基于FPGA的嵌入式网关系统的随机方法。该设计通过构建可编程片上系统 (SOPC),并利用Nios II嵌入式系统通过串口通信来实现...

关键字: 嵌入式网关 FPGA NIOS II COS-II操作系统 SOPC

摘要:针对工业控制领域中对多串口通信的需求,采用SOPC技术并利用FPGA的可编程性,给出了一个基于NiosII的30路串口数据转发通信处理机的设计方法,同时定义了相应的数据通信协议,从而实现了30路下位机与上位机的串口...

关键字: 多串口通信 SOPC FPGA NIOS

近些年来,云计算、大数据、物联网、超高清视频、人工智能、5G、区块链等电子信息技术接踵而至,几乎让人应接不暇。这些技术交叉关联,互相促进,加快信息技术发展速度。由于大多数信息最终会通过图像视频向人们传递,因此超高清视频技...

关键字: 4K产业链 芯片 编解码

无线局域网被认为是下一代IT产业发展的是大推动之一,被IT业赋予了极大的希望。无线局域网802.11系列标准的MAC协议是一样的,只是在物理层上有差异,因此对802.11MAC协议的开发,不论是在802.11b流行的今天...

关键字: ARM IEEE802 11MAC协议 IP核

1月8日,在与中科院计算所和中科院计算所南研院的通力合作基础上,北京中科睿芯科技集团有限公司(简称中科睿芯)正式发布了一款图神经网络加速芯片的IP核(即制备芯片的知识产权核),并宣布面向全球开展商用授权。

关键字: 图神经网络 芯片 IP核
关闭
关闭