曼彻斯特编码的FPGA设计方案Word文档下载推荐.docx
《曼彻斯特编码的FPGA设计方案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《曼彻斯特编码的FPGA设计方案Word文档下载推荐.docx(50页珍藏版)》请在冰豆网上搜索。
所以曼彻斯特码在许多领域得到广泛的应用,如电信业,工业控制,车辆总线,石油勘测探井等[1]。
1.2.1在电信业的应用
在电信领域,曼彻斯特码是一种数据通讯线性码,它的每一个数据比特都是由至少一次电压转换的形式所表示的,曼彻斯特编码因此被认为是一种自定时码。
自定时意味着数据流的精确同步是可行的。
每一个比特都准确的在一预先定义时间时期的时间中被传送。
曼彻斯特编码已经被许多高效率且被广泛使用的电信标准所采用[2]。
曼彻斯特码的一个最常见的使用是在Xerox、DEC和Intel公司共同开发的“以太”本地数据传输网络(Ethernet)中采用数字双向码作为线路传输码型。
以太网的数据传输,IEEE802.3规定必须用曼彻斯特编码进行[3]。
1.2.2在工业控制中的应用
在工业现场控制网络中,曼彻斯特码由于编码方式简单易行、无直流分量,且含有丰富的时钟信息,常被用作高速基带数据传输。
曼彻斯特编码已经广泛应用在数控测井和无线监控等领域[4]。
1.2.3在车辆总线中的应用
随着嵌入式微机控制技术和现场总线技术的飞速发展,线代列车的运转过程控制已从过去的集中数字控制系统发展成为先进的基于网络的分布式控制系统[4]。
基于分布式控制系统的MV(多功能车辆控制总线)是IEC61375-1(1999)TCN(列车数据通信网络国际标准)的推荐方案,它与WTB(绞线式列车控制总线)构成的列车总线具有可靠性高、实时性强的特点。
而其数据传输过程就是采用的曼彻斯特码进行编解码[5]。
1.2.4在石油勘测探井中的应用
在油田测井中,井下仪在井下采集大量信息,并传送给地面测井系统[6];
但井下仪到地面这段信道的传输性能并不好,常用的NRZ码不适合在这样的信道里传输,而且NRZ码含有丰富的直流分量,容易引起滚筒的磁化,因而选用了另外一种编码--曼彻斯特码。
曼彻斯特编码是串行数据传输的一种重要的编码方式和最常用的NRZ码相比,曼彻斯特码具有很多优点。
例如:
消除了NRZ码的直流成分,具有时钟恢复和更好的抗干扰性能,这使它更适合于信道传输。
目前,在实际的工程测井中,常采用曼彻斯特编译码器(6408、6904)把测井数据转换为曼彻斯特码及把曼彻斯特码解码为数据[7]。
1.3项目研究内容及组织结构
本项目主要研究曼彻斯特码编码器的FPGA设计和实现。
在本次设计中,为了验证电路系统能否顺利完成曼彻斯特码的编解码功能,采取了比软件仿真的验证方式。
在该方式中需要使用VerilogHDL语言对系统编译并使用Modelsim进行仿真。
第二章详细介绍了本文所采用的编程语言及仿真软件,介绍了FPGA的原理及开发工具,QuartusⅡ的特点及软件开发流程,Modelsim的应用优点。
第三章介绍了曼彻斯特码原理以及编码规则,并详细说明了曼彻斯特编解码系统的总体结构。
论述了曼彻斯特编解码实现的系统方案。
第四章介绍了利用VerilogHDL语言对系统的功能的实现。
第五章论述了利用QuartusⅡ对系统软件的调试和编译以及Modelsim软件对系统的仿真。
第六章是对本次设计的小结和展望。
2.开发工具及仿真软件
2.1FPGA原理
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点[8]。
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分,如图2.1。
FPGA的基本特点主要有:
1.采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2.FPGA可做其它全定制或半定制ASIC电路的中试样片。
3.FPGA内部有丰富的触发器和I/O引脚。
4.FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5.FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
目前FPGA的品种很多,有XILINX公司的Virtex系列、TI公司的TPC系列、ALTERA公司的Stratix系列等。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
FPGA提供了一种“自顶向下"
的全新的设计方法。
这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计,在图表级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统级进行验证。
然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。
由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利予早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率[9]。
2.2QuartusⅡ
2.2.1QuartusⅡ系统的特点
Alter推出的QuartusⅡ软件为用户提供完整的多平台设计环境,不但能够直接满足特定设计的需要,而且为可编程芯片系统提供全面的设计环境。
QuartusⅡ软件提供CPLD和FPGA设计所有阶段的解决方案[10]。
QuartusⅡ系统的特点:
·
基于模块的设计方法。
Alter专门为QuartusⅡ软件提供了LogicLock基于模块的设计方法,这有利于用户独立完成设计以及实施各种设计模块,而且在不改变各个模块的性能前提下可以将模块集成到顶层工程。
因为每一个模块仅需要一次优化,所以设计流程可以显著缩短,大大提高设计效率。
更快集成IP。
QuartusⅡ软件里包含了SOPCBuilder工具。
SOPCBuilder工具针对可编程系统可以自动完成IP核的添加和参数设置,以及连接等操作。
这里IP核包括嵌入式处理器、存储器、外设以及协处理器等。
这样就把原先系统集成工作中的时间节省出来,设计人员就能在短时间内将概念转化为运行的系统。
在设计周期的早期对1/0引脚进行分配以及确认。
无论顶层设计是否完成,QuartusⅡ软件都可以进行1/0引脚的分配和验证操作,这样印刷电路板的布线设计工作就可以尽早进行。
同时,设计人员可以随时根据修改引脚的分配,不需要进行专门的设计编译。
存储器编译器。
QuartusⅡ软件有存储器编译器功能,这样用户就可以对FPGA中的嵌入式存储器进行有效管理。
支持FPGA、CPLD以及基于HardCopy的ASIC。
2.2.2QuartusII下的FPGA设计
QuartusII为硬件电路的设计提供了很大的方便。
FPGA之所以能够广泛应用于电路设计中,就是因为它们有使用相当方便的开发软件工具包,通过编程工具和软件的配合使用,对器件芯片可以进行流畅的开发、校验。
FPGA特别适用于正向设计,即从电路原理图或各种硬件描述语言到芯片成品的设计,在这些设计流程中,设计人员对特别底层的硬件知识并不需要特别的了解和掌握,完全可以从功能应用出发,根据任务需求,自顶向下地进行电路设计。
下面我们来看看FPGA的设计流程,QuartusII环境下的FPGA设计过程主要包括5个步骤[11]:
●设计输入
运用电路原理图输入、HDL文本输入等方式,表达设计思想,指定所用HIGA器件的型号,分配其外部管脚。
●综合
将原理图、HDL语言等设计输入翻译成由基本电路逻辑单元组成的连接网表,供布局布线器进行实现。
●布局布线
根据连接网表文件,进行布局布线的分析和优化,完成FPGA器件内、外的虚拟连接。
●仿真
仿真分为功能仿真和时序仿真。
功能仿真验证电路功能是否符合设计要求;
时序仿真包含了延时信息,能较好反映芯片的工作情况。
●编程和配置
成功编译后,将生成的编程文件下载到目标FPGA系统中调试;
调试成功后,烧写到FPGA的配置芯片中。
图2.2为软件开发流程。
图2.2软件开发流程
2.2.3QuartusⅡ的仿真
通常,功能仿真用于验证电路的功能是否正确。
本次设计主要是在quartusⅡ软件中进行功能仿真验证。
仿真的一般步骤如下:
●新建波形编辑文件;
●设置仿真时间区域;
●保存文件;
●导入欲观察的信号节点;
●编辑激励信号;
●设置数据格式;
●设置仿真器参数;
●启动仿真和观察仿真结果。
2.3Modelsim
Modelsim软件是Mentor公司推出的一款仿真软件,到目前为止,被认为是比较优秀的语言仿真器之一[12]。
Modelsim软件提供最友好的仿真环境,是FPGA设计的门级以及RTL级电路仿真的首选。
Modelsim软件支持UNUX、UNIX和PC平台,是唯一的一个单一内核支持Verilog和VHDL混合仿真的仿真器[18]。
它采用直接优化的Tcl/Tk技术、编译技术和单一内核仿真技术,不但编译仿真速度是业界最快的,而且编译的代码与平台无关,这样有利于保护IP核,Medelsim软件还拥有用户接口和个性化的图形界面,这为用户加快调试提供强有力的保证。
此款软件不但支持Verilog和VHDL语言的IEEE标准,以及IEEEVITAL1076.4一95标准,而且对于基于SWIF丁的SmartModel逻辑模型和硬件模型也支持,并且支持C语言功能调用和C的模型。
ModelSim软件的主要特点:
直接编译,仿真速度快;
不但完全支持Verilog国际标准,而且支持Verilog2001和SystemC
与机器没有关联的编译代码有利于保护IP;
进行VHDL和Verilog混合仿真;
与机器和版本无关,便于数据移植和库维护;
Tcl/Tk用户可定制仿真器;
简单易用、丰富的图形界面以及快速全面的调试;
拥有加强代码覆盖率功能Codecoverage,可以分析出每个分支的执行情况,提高了测试的完整性;
先进的SignalSpy功能,可以方便地访问VHDL或者VHDL和Verilog混合设计中的下层模块的信号,便于设计调试;
集成的pe而rmanCeanalyzer帮助分析性能瓶颈,加速仿真;
支持众多的ASIC和FPGA厂家库;
同一波形窗口可以显示多组波形,并且能进行多种模式的波形比较;
集成的C调试器,支持用C语言完成测试平台和模块;
支持加密lP;
支持64位的OS;
3曼彻斯特码
曼彻斯特码(Manchester)又称数字双向码(DigitalDiphase)或分相码(BiphaseSplit-phase),是常用的二元码的一种,也是常见线路编码中的一种。
3.1数字通信中位同步与线路编码
数字通信在近几十年来得到了迅速的发展,其原因是数字通信系统具有许多模拟通信系统不能达到或不容易达到的优越性。
数字通信的这些优越性体现在诸多方面,以下是一些容易理解的数字通信的优点[13]:
1.抗干扰能力强;
2.便于灵活进行各种处理,可以硬件实现,也可以计算机程序实现;
3.易于实现集成化、小型化;
4.易于加密;
5.容易存储;
6.各种业务可以结合起来,有利于实现宽带多媒体通信。
数字通信系统虽然优点众多,但是仍然有其固有的缺点,主要体现在同步和误码上面。
这些方面的指标是通信系统性能的关键,但同时,这方面的理论和技术也是通信领域研究的重点和难点。
数字通信系统中,有异步通信系统和同步通信系统。
在同步通信系统中,数字信号序列是按节拍一步一步工作,因此收发两端的节拍一定要相同。
否则将出现混乱。
另外,发送的数字信号序列常常是编组的,收端必须知道这些编组的头尾,否则无法恢复原始信息。
要保证收发两端的节拍一致,必须有同步系统的控制。
同步是数字通信系统以及某些采用相干解调的模拟通信系统中的一个重要问题。
由于收发双方不在一地,要使它们能步调一致协调工作,必须要有同步系统来保证。
在数字通信中,按照同步的功用分为:
载波同步、位同步、群同步和网同步。
位同步是指在接收端的基带信号中提取码元定时的过程,是正确取样判决的基础,只有数字通信才需要,并且不论是基带传输还是频带传输都需要位同步;
所提取的位同步信息是频率等于码速率的定时脉冲,相位则根据判决时信号波形决定,可能在码元中间,也可能在码元中止时刻或其他时刻。
位同步又称同步传输,它是使接收端对每一位数据都要和发送端保持同步。
如果基带信号为随机的二进制不归零脉冲序列,那么这种信号本身不包含位同步信号。
为了获得位同步信号,就应在基带信号中插入位同步导频信号,或者对该基带信号进行某种变换。
这两种方法称为插入导频法和直接法。
还有一种方式,将基带信号通过线路编码的方式,使其包含定时信号。
在实现位同步时,具体实现可分为外同步法和自同步法两种。
在外同步法中,接收端的同步信号事先由发送端送来,而不是自己产生也不是从信号中提取出来。
即在发送数据之前,发送端先向接收端发出一串同步时钟脉冲,接收端按照这一时钟脉冲频率和时序锁定接收端的接收频率,以便在接收数据的过程中始终与发送端保持同步。
自同步法是指能从数据信号波形中提取同步信号的方法。
自同步法也就是通过编码(线路编码)令数据信号波形的功率谱中包含表达定时分量的线谱的方式达到的。
线路码又称为传输码,它的的结构将取决于实际信道特性和系统工作条件。
在实际的传输系统中,并不是所用的码型都适合在信道中传输,原始消息必须编成适合于传输的码型。
不同的信道及传输方式对线路码的要求不同。
但是总体的特性如下。
1.相应的基带信号无直流分量,且低频分量少;
2.便于从信号中提取定时信息;
3.信号中高频分量尽量少,以节省传输频带并减少码间串扰;
4.不受信息源统计特性的影响,即能适应于信息源的变化;
5.具有内在的检错能力,传输码型应具有一定的规律性,以便利用这一规律进行宏观观测。
6.译码设备要尽可能简单。
线路码中的一种——曼彻斯特编码,常用于局域网传输。
曼彻斯特码是一种典型使用自同步法保持位同步的线路码型。
3.2曼彻斯特码及几种相关的二元码码型介绍
3.2.1曼彻斯特码
Manchester(曼彻斯特码)又称双相码。
是一种超越传统数字传输极限的编码/解码方式。
常规码型的缺点缺少定位时钟信息。
没有定位时钟信息,也就无法识别受到数据位的开始与结束的宽度等,在通信中需要其他方式解决位同步问题。
曼彻斯特编码解决了传输数据没有时钟的问题。
它对每个二进制代码分别利用两个具有不同相位的二进制新码去取代。
与用高、低电平表示的非归零二进制码相比,在连“0”或连“1”的情况下更易于提取同步时钟信息,又无直流漂移,且有强的抗干扰能力,编、译码过程比较简单[14]。
图3.1曼彻斯特码
由图3.1可知,曼彻斯特码是将NRZ普通二进制数据与其位率时钟相异或而得,解决了传输数据没有时钟的问题。
当传送信息为“1”,曼彻斯特编码由高电平跳变为低电平;
若传送的信息为“0”,曼彻斯特编码有低电平变为高电平;
如果有连续的“1”或“0”信息出现时,则曼彻斯特编码保持“1”或“0”的跳变,即编码后,信息“0”与时钟一致,信息“1”与时钟反相(相位相差180)。
曼彻斯特编码是一种相位调制,有时钟的180相位代表NRZ信号的逻辑“1”电平。
3.2.2单极性非归零波形
曼彻斯特码通常由NRZ码与NRZ码的时钟异或得到。
NRZ码这种二元码中低电平及高电平分别与二进制符号“0”及“1”一一对应,在整个码元期间内电平保持不变,电脉冲之间无间隔,即脉冲的宽度等于码元宽度,极性单一。
这种信号比较适合于数字电路处理。
一般用于近距离的电传机之间的信号传输。
3.2.3密勒码――曼彻斯特码的一种变形码
密勒码又称延迟调制,它是数字双向码(曼彻斯特码)的一种变形。
在密勒码中,“1”用码元周期中点处出现的跳变来表示,而对“0”则有两种情况:
当出现单个“0”时,在码元周期内不出现跳变;
但当遇到连“0”时,则在前一个“0”结束(也就是后一个“0”开始)时出现电平跳变。
由上述编码规则可知,当两个“1”之间有一个“0”时,则在第一个“1”的码元周期中点与第二个“1”的码元周期中点之间无跳变,此时密勒码中出现的最大宽度,即两个码元周期[15]。
密勒码实际上是数字双相码经过一级触发器后得到的波形。
因此密勒码是数字双相码的差分形式,它能克服数字双相码中存在的相位不确定问题。
3.3曼彻斯特码及几种常见二元码的包含定时信息的讨论
曼彻斯特码的目的是为了解决通信的基带信号处理中线路编码的问题,在这样的背景下,对曼彻斯特码及几种常见的二元码的定时分量的的讨论显得非常必要。
首先,讨论一般线路传输码的功率谱计算。
一般情况下,数字基带信号所包含的多元信号可能波形各异。
此时,数字基带信号可用随机序列
(1)
表示。
假设每次发送的Sn=(t-nTs)有N种不同的信号元可供选择,即:
(2)
若这一离散信源为马尔可夫源,则可以用稳定概率和转移概率来描述它。
稳态概率是gi(t)的概率为Pi,转移概率Pij是在发送gi(t)之后再任一给定码元间隔内发送gj(t)的功率,当gi(t)与gj(t)之间间隔n个码元间隔时转移概率记为Pij(n),离散信源相邻码元的转移概率可以用一次转移矩阵来表示:
(3)
显然有,Pij≥0,且
;
i=1,2,3,…,N,j=1,2,3,…,N(4)
对于相隔n个码元间隔的转移概率可以用n步转移概率P(n)表示,其转移矩阵可以表达为:
(5)
若由gi(t)转移到gj(t)的概率与gi(t)所在的码元间隔序号无关而只与gi(t)与gj(t)之间相距的码元间隔数有关,则称这种马尔可夫源为时齐性马尔可夫元源。
对于时齐性马尔可夫源来说。
可以证明:
n步转移概率矩阵可以由一次转移概率矩阵自乘n次得到,即:
P(n)=Pn。
因此,Pij(n)是Pn矩阵中的第ij项元素。
根据以上的描述,一般情况下的随机序列功率谱密度:
(6)
其中,Pij定义为:
(7)
式(6)的第一项为线谱,但当
(8)
时,此项消失。
此时应有:
(9)
对线路码的功率谱分析可知,只有当线路码的功率谱中存在线谱时,线路码中才包含定时信息。
也就是在狄拉克函数为1,即频率为k/Ts时,表示每一位有位定时信息来源。
以下使用以上的公式,对NRZ码,曼彻斯特码及密勒码的功率谱做计算分析,分析几种码型中的线谱成份,从而对其提供定时信息的能力作出判断。
以下的功率谱的仿真图,为归一化功率谱T为码元周期。
●NRZ码的功率谱计算如下:
单极性二元谱的功率谱的连续部分为:
(10)
离散线谱是否存在取决于单极性基带信号矩形脉冲的占空比。
对于非归零信号来说,脉宽等于周期,k不为零时,G(k/Ts)恒等于零,因此除了直流分量外不存在离散线谱。
P=1/2时,NRZ的功率谱图在matlab中仿真如图3.2所示:
图3.2单极性不归零码的功率谱
●数字双向码的功率谱计算如下:
数字双向码中两种信号元分别为
(11)
和
(12)
代入式6,可求得
(13)
如果P=1/2,则线谱消失,上式简化为:
(14)
除此情况外,曼彻斯特码具有丰富的位定时信息。
以下是在不同P值情况下的功率谱仿真图。
图3.3为P=0.5时的功率谱图。
这样的情况出现在“0”和“1”的概率比为1:
1的情况,比如编码前二进制随机码为全“0”或全“1”的情况。
图3.3P=0.5时曼彻斯特码功率谱图
图3.4为P=0.4时的曼彻斯特码的功率谱图,图3.5为P=0.4时曼彻斯特码的功率谱中的线谱图。
从图中可以看到有线谱资源,表明有可提取的位定时信息。
当P=0.4时,编码前二进制随机序列中的“1”的概率为0.4。
图3.4P=0.4时的曼彻斯特码的功率谱图
图3.5P=0.4时的曼彻斯特码的功率谱中的线谱图
●密勒码的功率谱计算如下:
密勒码中4种信号元分别为:
(15)
它们出现概率均为1/4。
图3.6密勒码功率谱图
密勒码是典型的时齐性马尔可夫源,套用以上的推导过程,得到密勒码的功率谱密度为:
(16)
图3.7为三种码型功率谱的对比图.
图3.7三种码型功率谱对比图
对上述的三种线路编码的功率谱图对比分析可以知[16]:
1.除NRZ码外,密勒码及曼彻斯特码的功率谱中都不存在直流分量;
2.密勒码