为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > FPGA解码曼彻斯特

FPGA解码曼彻斯特

2010-09-25 6页 pdf 175KB 23阅读

用户头像

is_481261

暂无简介

举报
FPGA解码曼彻斯特 2OO4年5月 May 2004 汕头大学学报 (自然科学版) 第l9卷 第2期 V01.19 No.2 用FPGA实现曼彻斯特编解码 林艺文,方展伟 ( iJ头火 。r乜r ‘ 自、 稃系、 『J头 515063) 摘 要:使用MAXPLUSII和FP(;A CompilerII软件及 VHDL硬件描述语言,采用自顶向下 设计方法设计曼彻斯特编解码器,每帧数据包括同步字、有效数据和冗余校验位三部分, 最终在Altem公司的FPGA芯片 10K10I C84—4进行验证.实验结果表明,FPGA能很好...
FPGA解码曼彻斯特
2OO4年5月 May 2004 汕头大学学报 (自然科学版) 第l9卷 第2期 V01.19 No.2 用FPGA实现曼彻斯特编解码 林艺文,方展伟 ( iJ头火 。r乜r ‘ 自、 稃系、 『J头 515063) 摘 要:使用MAXPLUSII和FP(;A CompilerII软件及 VHDL硬件描述语言,采用自顶向下 设计设计曼彻斯特编解码器,每帧数据包括同步字、有效数据和冗余校验位三部分, 最终在Altem公司的FPGA芯片 10K10I C84—4进行验证.实验结果表明,FPGA能很好地 实现曼彻斯特编解码器,而且该编解码方式具有抗干扰能力强,传输速率高等优点. 关键词:n A;曼彻斯特码;VHDI ;CItC 中图分类号:TN915.05 文献标识码:A 文章编号:1001.4217(2004)02—0063.06 0 引 言 由于曼彻斯特编码的每个码元的巾心部分都存在电平跳变,而且方波周期内正、负 电平各占一半,因此在频谱中存在很强的定刚分量,不存在直流分量,在 “以太网”和 短距离无线通信等数据传输系统中碍到广泛的应用.通常采用的办法是用单片机的串行 I/O口或者专用的曼彻斯特编码译码器HD15530来完成曼彻斯特的编解码,但这两种方 法都有许多不足之处:第一、在利f日单片机或专用芯片进行编解码时,对传输的数据只 能进行奇偶校验,在条件比较恶劣的场合,特别是在无线通信,数据极易出错,奇偶校 验不能检测出这类突发性错误;第 二、单片机的串口通信和专用芯片在传输速率和每帧 的有效数据位数等方面都作了严格的限制;第三、在要求高速的传输速率的场合,单片 机和专业芯片都难以实现 。 . 在现代电子设计领域,VHDL和现场可编程逻辑器件的广泛应用使数字系统设计更 为灵活,大大缩短了开发周期 .本文用VH1)L实现曼彻斯特编解码.设计中使用Al— tera公司开发的MAXPLUSⅡ进行仿真和布线,而使用Synopsys公司的FPGA—CompilerⅡ 进行综合. 1 编译码设计思想 本文的设计即采用的编译码规则是根据 HD一15530曼彻斯特编解码器进行改进的 . 假设传输的数据精度为l2位,以98BH为例,其码型结构如图1所示,数据0用0l(零 相位的一个周期的方波)表示,1则用10(7c相位的一个周期的方波). 收稿日期:2003.104)7 作者简介:林艺文(1979~),男,福建东山人.硕,}1研究生 基金项目:汕头大学基金会课题(NO.140—934046) 维普资讯 http://www.cqvip.com 汕头大学学报 (自然科学版) 第 19卷 同步字 I 有效数据 I CRC检验 图 1 曼彻斯特编码的码型结构图 其中,同步字有两种类型:低电平在先高电平在后为命令同步;高电平在先低电平 在后为数据同步.高低电平的宽度均为1.5位,因此同步字宽度为3位 由于每个数据位的中点都存在跳变,编码器需要大于或等于二倍频于所传数据速率 的系统时钟.为了减少功耗和提高电路的可实现性,本文采用二倍频的时钟和单极性曼 彻斯特编码.由图1可看到每帧的最后四位为校验位.为了提高系统的检错/纠错能力本 文采用循环冗余校验.循环冗余码(cac)是在严密的代数学理论基础上建立的,它特别 适合于检测和纠错错误,一则因为它有很强的检测能力,二则是因为编码器及错误检测 纠错电路都很容易实现.根据CRC的编码思想 J,对于(16,12)码,可由 +1确定 生成多项式为 G( )= +1. 2 编码器时序及结构 当系统时钟(CLK)的上升沿到来时,如果编码使能(ENABLE)为高,编码周期将开 始并持续一个帧长或20个编码时钟(即40个系统时钟)周期.同时,如果同步选择(SYN — SELECr)为高时,产生一个数据同步字;为低时,产生一个命令同步字.当编码器准 备好接收数据时,发送数据(SEND — DATA)变为高电平,并保持l2个编码时钟周期.在 编码时钟的上升沿对串行数据输入(DATAIN)进行抽样和编码. 根据上面的编码规则和时序说明,电路设计使用硬件描述语言(VHDL)来实现,并 用Altera公司的 芯片进行验证.设计中采用自顶向下的设计方法,将整个编码系 统分成各个模块,编码总体模块框图如图2所示. 图2 曼彻斯特编码总体框图 维普资讯 http://www.cqvip.com 第2期 林艺文等:用FPGA实现曼彻斯特编解码 65 由于数据是串行输入的,因此上图中的CRCC采用串行CRC编码方法.通常,串行 CRC的编码可由线性反馈移位寄存器(LFSR)来实现.I.,FSR使用异或运算及移位除法运 算来产生 CRC校验码.现以本文所用到的CRC码为例来说明串行 CRCC的VI-IDL的实 现.主要程序节录如下: BEGⅡ、『 PROCESS(c~) BEGⅡ Ⅱ’rst= 1 THEN reg_crc~= 000/I; ELSIF elk event AND clk= 1 THEN IF enable= 1 THEN reg_crc(0)~=temp_x; reg_crc(1)~=reg_crc(0); reg_crc(2)~reg cm(1); reg_crc(3)~=reg_cm(2); ELSE reg_crc~ t EDN IF; END IF; END PROCESS; temp_x~reg__crc(3)XOR datain; creout~reg_crc(3); END behave; 3 解码器时序及结构 解码器不停地检测输入信号.当检测到同步字,开始解码周期并判断是数据同步字 (COM—DATA为1)还是命令同步字(COM—DATA为0).随后输出数据(DATAOUT),同时 使接收数据(TAKE—DATA)为高电平,并持续12个解码时钟(111196个系统时钟)周期.在 接收数据和进行CRC时,有效字(vAT,m—wOfu))保持低电平,如果传输无出错,有效 字(V 6 皿一W0fu))变为高电平. 检测输入信号值的方法:根据曼彻斯特编码的原理,也需要大于或等于二倍频于所 传数据速率的解码时钟.为了提高解码的准确性,本文采用八倍频于数据速率的时钟, 因此可以采用 “测四取三”的方法,即对每个编码的前半部分进行四次采样,取其大于 等于三的相同值作为测量值.如果没有三个相同的值,解码器不作响应,如表 1所示 (其中 “ ”表示 “0”或 “1”).这种判定方法具有一定的滤波功能,提高了准确度. 1)同步字的判定 检测同步字是解码的关键.只有检测到同步字,才开始解码周期,因此解码器要不 停地监视是否有同步字出现. 维普资讯 http://www.cqvip.com 汕头大学学报 2)解码 在同步字出现后,采用上面 “测四取 三”的判定方法进行解码,获得有效数据 和冗余码. 3)循环冗余码校验 将解码得到的有效数据和冗余码(共l6 位)进行循环冗余校验.如果余数为零,则 认为传输中无数据出错,否则输出出错信 号,以便进行出错处理. “测四取三”和同步字判定各自采用一 组移位寄存器来实现.在每个系统时钟的 上升沿进行采样,并放入移位寄存器再根 据表 1判定信号值.将使用 “测四取蔓” 方法检测到的信号值放人另一组寄存器. 由寄存器的前9位判定同步字,如表2所示. 0(x)111O0lD 0oOl11XXX 数据同步字 命令同步字(】。。(不全为零) 表 1和表2的VHDL描述是比较容易的.本文采用Case一 en语句实现.解码器的 总体模块框图如图3所示. 4 仿真及FPGA实现 图3 曼彻斯特解码总体框图 为了优化结果,在进行复杂HDL设汁时,基本上都会使用专业的逻辑综合软件, 而不使用PLD/FPOA厂家的集成开发软件中自带的逻辑综合功能.这里使用 FPOA CompilerII进行综合,输出edf文件,导往MAXPLUSⅡ进行仿真和布线.并在 FPGA芯片 EPF10K10LC84-4上实现,其时序仿真波形如图4和图5. 图4是编码仿真.由于syn select为高表示数据同步字(即ll1000),如果syn s 为 _ elect 低则为命令同步字(1~0000111).此时输入数据为98BH.图5是解码仿真.由于采用 “测 四取三”的方法,可以看到即使输入信号有小的毛刺也能正确解码,得到的数据也为 98BH,而且valid word变为高表示传输不出错. 维普资讯 http://www.cqvip.com 第2期 林艺文等:用FPGA实现曼彻斯特编解码 67 ilk"syn selecI 1 . — J \ B'-rat 0 B'-enable 1 — ■ 。 l ilk"clk 1 ]几几几n n几几几n n几几几几门几n r]n n几n几n nnn几几几n n几n n n 门n几几八n几n nn ilk"datain 0 r] 厂-] r_] 厂_] —i send data 0 / / 3:ullmo2:u2.1n D18 . X X .X.!X!X X!X!X.!.X .X X !.X 堕X! .X !.X ! X望)( 0 —i dataout 1 几 厂]厂_]几 I-]厂],厂_] 厂_]⋯ ] r_] n R 匣 二] 皿 Time.匝匾二] inte rval匝亘[] iD--syn select 0 嗣 rst 0 嗣 enable 1 一 / | 。 I iD-clk 1 iP-datain 0 send data 1 \ \- - _ 3:ul o2: In D6 . .匹 砭 回匝 题延施 。 I dat80u1 1 厂] n厂_]几 n n厂] n nj1 n 图4 编码仿真图 Ref.匝亟二二二]团 Time匝 [] Inle~aI匝亟 二] 5 结束语 图5 解码仿真图 对于数字处理技术来讲,软件和硬件各有特点,比如硬件在实时性要求很高的场合 就比软件要好.本文的设计能很好地解决单片机编解码系统和专用芯片的问题,使传输 速率和数据的灵活性得到提高.随着可编程器件和EDA工具的发展,相信采用硬 件描述语言设计硬件系统将会越来越方便,愈来愈受到广大电子设计人员的喜欢. 参考文献: [1]何立民.单片机高级教程[M].北京:北京航空大学出版社,2000. [2] HD15530 Datasheet[DB/0L].h郇://www.21ic.corn. [3] 卢毅,赖杰.VHDL与数字电路设计[M].北京:科学出版社。2001.4 一一一一一一一一 一 咖 墨l 啊_啊 维普资讯 http://www.cqvip.com 68 汕头大学学报 (自然科学版) 第 19卷 [4] 王耿,姜智忠.用HDL语言实现循环兀余校验[J].微电子学与计算机,2002,5:4~6 [5] 曹志刚,钱亚生.现代通信原理[M].北京:清华大学出版社,1992. The Implementation of Manchester Encoder and Decoder Utilizing FPGA uN Y/一wen FANG Zhan-wei (Department of Electronic Engineering,Shantou University,Shantou 515063,China) Abstract:A Manchester Coder-Decoder is designed using the software MAXPLUS U, FPGA _ Compiler 1I and the hard 旧托descriptive language VHDL in line with the top—down method, to be implemented in an EPF10K10LC84—4 chip of PFGA type manufactured by Ahera Co..De— co,tile p~ ess included synchronous head,data bits determination and CRC checking.The experi— ment results have proved that FPGA Can implement Manchester Coding—Decoding and this kind of Coding-Decoding method has many advantages such as strong anti—interference ability and the high data transmission rate.etc. Key words:FPGA;Manchester;VHDL;CRC 维普资讯 http://www.cqvip.com
/
本文档为【FPGA解码曼彻斯特】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索