1 引言
现场可编程门阵列FPGA是一种由用户实现芯片功能的器件,用户在设计完成之后可以进行功能仿真,也可以现场编程进行验证,有利于及早发现问题,完善设计,具有极大的灵活性和通用性。可编程器件在电子系统设计中的应用日益增多,地位也越来越重要。随着规模的不断扩大,速度和性能不断提高,一个电子系统的大部分电路,如:控制电路、逻辑电路、接口电路、运算电路等都可以由一片可编程器件实现。
在日常生活生产中,经常需要传输低速的数据信号,供现场监测、实施控制等需要信息传输的环境使用。由于可使用的无线频率资源有限,通常需要采用有线方式传输数字信号。因此有必要研究数字信号在基带系统中远程传输的问题。在参考文献中,作者通过仿真,探讨了数字信号通过基带系统远程传输的可行性,提出在发送端和接收端对信号进行滤波和放大的解决方案。在信号实际传输过程中,还受许多条件的约束,如:为了方便接收端提取位定时信息,需要对基带信号编码,选择合适的传输码型;受有线信道传输特性的影响,基带信号不应含有较多的高频和低频成分;为了减小噪声对有用信号的干扰,需要采取差错控制技术;为减小码间干扰,提高频带利用率,需要采用频谱变换技术等。
针对低速数字信号的基带传输问题,在理论分析、构建模型的基础上,对其中的数字滤波环节,采用MAXPLUSІІ软件编程,对FPGA的硬件结构和工作方式进行重构来实现,配合MAX7000S系列的FPGA芯片实现中远程基带传输。
2 发送单元设计
原始的数字信源中会出现长时间的连“0”符号,若直接传输,接收端定时恢复系统难以保证收定时信号的准确性,从获取定时信息等角度考虑,需要将原始的信息符号编制成适合于传输用的码型。编码后的信号电平为TTL电平,不适合远距离传输,需要放大后发送。
采用矩形脉冲传输数字信源,它的功率谱的高、低频分量都非常丰富,具有这样特点的信号在有线信道中传输会产生严重畸变。此外,在数字信号远程传输时,还需要尽可能地提高频带利用率,降低码间干扰。从这些角度考虑,采用双二进制编码来改变传输信号的频谱结构,提高抗码间干扰的能力。在实际设计中,采用应用得最广的第Ⅳ类部分响应波形。
综合考虑上述因素,基带信号发送端的组成结构如图1所示。采用基于MAXPLUSⅡ10.1软件平台的Verilog-HDL硬件描述语言来设计编码、装帧和双二进制编码模块。
2.1 线路码编码及帧结构设计
基带信号传输码型种类繁多,其中,双相码以其编译码简单、定时信息丰富等特点在本地局域网中得到广泛应用,结合低速数据传输的前提,选择双相码作为线路码型。双相码又称Manchester码,它的编码规则是:0固定地用“01”(0相位波形)表示,1固定地用“10”(π相位波形)表示,或反之,是1B2B码。
基于Verilog-HDL语言对双相码编码建模。根据编码原理可以看到:对于“0”,它的第一位编码是“0”,第二位编码为“1”;而对于“1”,它的第一位编码为“1”,第二位编码为“0”。这样,我们只要设置一个相位时钟phase,在其一个周期内完成双相位编码:在phase 的“1”半周,总是输出信码的原码;在“0”半周总是对原码取非后输出。
phase是经主时钟clk二分频得到的相位脉冲;codein为信码输入,时钟频率与phase相同;enc_data为编码输出。
在接收端对双相码解调时,需要提供分组信息,以便于同步接收;为减小噪声对信码的影响,需要进行差错控制编码,使码组具有一定的纠检错能力,等。因此在发送端需要进行帧结构设计。本设计模块中每一帧由同步头(3bit)、信息位(16bit)、奇偶校验位(1bit)构成,总计20bit,用于低速数据传输。为了使信息码与同步码有所区别,选择“111”作为同步码。因为双相码的编码效率是50%,所以16位信息位传递的原始信码位数是8位。校验方式采用偶校验。采用软件编程实现。编码及成帧的仿真波形如图2所示[4]。图中codein是原始信码,enc_data为线路码,Frame为组帧后的结果。从图中可以看出,原始信码的一个码段“00010111…”编码后的结果为“0101011001101010…”,码速率是原始信码码速率的2倍,这一码段附加帧头和奇偶校验位成帧后为“11101010110011010100…”。
2.2 双二进制编码
双二进制编码包括预编码和相关编码两个部分。
2.2.1预编码器
模2运算。预编码器实现的逻辑运算功能,采用一个异或逻辑单元和两个D触发器做延时单元即可实现。如图3所示。
这一单元在MAXPLUSⅡ软件平台下采用图形编辑法实现。
2.2.2相关编码器
采用TL082集成运算放大器及电阻、电容构成减法电路,预编码器输出的作为减法器的输入端,实现相关编码运算,形成输出信号,它的脉冲为双极性,大小相等。输出信号通过低通滤波、功率放大之后发送。
3 接收单元设计
接收单元的作用与发送单元相反,它从接收到的信号中恢复出发送的数字信号。
接收端对接收到的信号,进行二阶有源带通滤波、放大之后,再进行判决。由于在设计中数字信号采用单极性波形传输,因此相关编码器的输出序列 有三种可能的逻辑值: 和0。接收端的判决规则是: 判为1,0判为0。根据这一特点,在实际设计中先对滤波放大后的信号进行全波整流,然后再进行抽样判决,从而简化接收电路。
接收端的位定时信息由基于FPGA的数字锁相环提取。FPGA在数字锁相环的设计上存在复杂的时序配合,因此将锁相环各部分的功能分成4个模块:鉴相器、K模可逆计数器、脉冲加减计数器和N分频器,分别实现。DPLL的主要功能模块见图4。
异或鉴相器默认的锁定相位是与输入信号相位相差90°的时钟信号,而位同步时钟的一个周期恰好和最小的一个码元长度相等,故将本地产生的估算信号在进行异或鉴相之前进行分频,使其半个周期的长度恰好与一个码元宽度相等。当本地估算信号的上升沿恰好与输入码流的跳变沿相对,即是正确的位同步时钟时,输入码流与分频后的信号进行异或后产生占空比为1:1的方波。当本地估算信号超前于输入码流时,鉴相输出在一个周期内0比1多;否则1比0多;由此可以判断相位的超前和滞后。
K模可逆计数器构成环路滤波器,在环路中对输入噪声起抑制作用。它对鉴相器输出信号进行可逆计数,当计数结果达到一定值时,便输出增、扣脉冲信号,控制DCO对相位进行调整。
加减脉冲控制器和除N计数器构成数控振荡器。脉冲加减电路通过“增”脉冲或“扣”脉冲实现了对输入信号频率和相位的跟踪和调整,最终使输出信号锁定在输入信号的频率和相位上。除N计数器对脉冲加减电路的输出再进行N分频,得到本地估算信号。
对采用Verilog-HDL语言建模的锁相环提取位定时程序进行编译和仿真,仿真波形如图5所示。
由上面的仿真波形可以看出,开始时输入码流flow的跳变沿与本地估算信号cout的上升沿没有对齐,未实现相位锁定。根据鉴相器输出的相位差dnup判断,在一段时间内0比1出现的次数多,由此说明本地估算信号的相位超前于输入码流的相位,通过环路滤波器后,产生1bit的扣脉冲信号(在图中右侧标出),使本地估算信号相位向后延时了1bit,从而达到了相位锁定的目的。
以传输64 KHz的数字基带信号为例,当环路锁定时DCO的输出频率为512KHz,经过8分频后可得位定时。
抽样判决后得到的是组帧的线路码,依据偶校验规则,判断帧内码是否出错,若无错,对线路码拆帧,去掉帧头和校验位,输出信码;若有错,采取丢弃一帧的解决办法。对于采样、监测等对精度要求不高的低速数据传输场合,这种办法可以满足要求。
上述程序通过编译,适配到EPM7128目标芯片,与外围硬件电路配合,实现了数字信号远程基带传输问题。本系统理论传输距离可达10km,在实验室条件下采用伪码进行测试,传输线采用普通五类非屏蔽双绞线,距离约300m时,恢复出的基带信号波形与直连相同,证明采用编码、抗码间干扰及滤波放大等技术,较好地解决了远程基带传输问题。
4 小结
本设计的创新之处是:采用FPGA编程解决了数据通过中远程基带系统传输过程中的数字滤波问题,包括编码、频谱变换、位定时提取和译码等主要数字滤波环节。所设计的系统码间干扰小,传输效果好。由于采用可编程器件提高了系统的集成度和可靠性,降低了功耗和成本,增强了系统的灵活性。系统中的单元模块具有较好的通用性,可以作为基本单元电路移植到其他低速中远程数据传输场合。
责任编辑:gt
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)