新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > MVBC的帧收发器设计

MVBC的帧收发器设计

作者:时间:2013-02-17来源:网络收藏


(1)曼彻斯特编码器

根据曼彻斯特码的编码要求,曼彻斯特编码器其电路实现如图2-5所示:

串行数据在1.5M时钟的上升沿处从上一级的移位寄存器输出,在高、低电平时与1.5M时钟相异或,结果得到与上面编码规则相符的曼彻斯特码。

(2)曼彻斯特译码器

曼彻斯特译码过程主要是将串行曼彻斯特码转变成串行的电平信号,并把串行电平信号组合成并行信号输出,以便进一步处理。如果输入的码字不符合曼彻斯特码编码规则(由冲突或其它原因引起),译码器将报告错误信息。

曼彻斯特译码器设计电路如图3-3:

曼彻斯特码输入后经过三级寄存器同步,消除亚稳态。如果总线在空闲状态之后出现下降沿,则被认为帧的开始位,总线上再出现高电平时使能16位计数器计数。如果把曼彻斯特码每个bit周期分为16个部分,如图3-4:

则在数据采样1处得到的采样值即为曼彻斯特编码前的原数据,数据采样2是用来帧头帧尾检测;总线冲突检测的原则为:总线上曼彻斯特码的半个bit周期之内的电平应一致,前后半个周期电平应相异,否则被认为码错。

3.2 CRC校验

CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验。它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制。在各种通信系统中,CRC有bit型算法、字节型算法以及基于查找表的算法。前者适合串行数据通信的校验,后两者常用于高速并行通讯领域。

MVBC可以独立的完成CRC校验码的产生与数据的校验而无需软件参与。其中:

G(x) = x7+x6+x5+x2+1

电路实现方法上我们选择bit型算法,CRC发生电路采用LFSR,主体由一组移位寄存器和模2加法器(异或单元)组成即在数据串行发出的同时,数据经过带有异或单元的移位寄存器产生CRC校验码,实际电路图如图3-5:

串行数据的CRC校验电路也与CRC发生电路一样,不同的是前者CRC电路在移位寄存器之前,而后者在后。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭