用FPGA实现1553B总线接口中的曼码编解码

[11-20 16:15:08]   来源:http://www.88dzw.com  FPGA   阅读:8142

文章摘要:2 曼彻斯特码编解码器的总体设计 在介绍编解码器的设计之前,有必要了解曼彻斯特码的特征,以便在设计中对其加以利用,达到简化电路的效果。 曼彻斯特码是一种广泛应用于航空电子综合系统中的总线数据传输的双极性码。它在每个码位中点存在一个跳变。1信号是一个由1到0的负跳沿,而0信号是由0到1的正跳沿。它本身包含了自定时的信息。因此它不需要独立的信道来传输位定信息,它可以直接从数据中分离出定时时钟,同时还能与变压器耦合相协调,十分适合用在变压器耦合形式,长度为150m(500英尺)左右的场合,因此在航空电子综合系统中,它是最主要的形式。 在MIL-STD-1553B协议中其数据格式为如图2所示。 根据1

用FPGA实现1553B总线接口中的曼码编解码,标签:fpga是什么,fpga教程,http://www.88dzw.com

2 曼彻斯特码编解码器的总体设计

在介绍编解码器的设计之前,有必要了解曼彻斯特码的特征,以便在设计中对其加以利用,达到简化电路的效果。

曼彻斯特码是一种广泛应用于航空电子综合系统中的总线数据传输的双极性码。它在每个码位中点存在一个跳变。1信号是一个由1到0的负跳沿,而0信号是由0到1的正跳沿。它本身包含了自定时的信息。因此它不需要独立的信道来传输位定信息,它可以直接从数据中分离出定时时钟,同时还能与变压器耦合相协调,十分适合用在变压器耦合形式,长度为150m(500英尺)左右的场合,因此在航空电子综合系统中,它是最主要的形式。



在MIL-STD-1553B协议中其数据格式为如图2所示。

根据1553B的数据格式以及曼彻斯特码的特点,可采用状态机对其进行编码、解码的实现。状态机是一个广义的时序电路,像移位寄存器、计数器等都算是它的特殊功能类型中的一种。根据输入、输出及状态之间的关系,状态机可分为两类:一种是输出状态有关,而输入与状态无在的状态机类型,称为More状态机;另一种是输出及输入与状态皆有关系的状态机,称为Mealy状态机。本设计采用的是Mealy状态机。编码和解码是两个相互独立的模块。

2.1 解码

解码的过程可分为三部分:①同步字头检测,并辨别其为数据字还是命令字。②对曼码形式的数据进行解码。由于曼彻斯特码自带定时时钟,故可从数据中分离出同步时钟。本设计采用的是传统的用数字锁相环的方法来分离时钟;将时钟和数据进行处理使曼码数据转化为非归零二进制数据。③将串行数据转化为并行数据,并进行奇偶校验。解码器的逻辑图如图3所示。图中data为串行输入数据。当data开始发生跳变时进行同步头检测,若在data发生变化后检测到大于一个位时的高(或低)电平,则认为同步头有效,输出同步头类型(comnd)及同步头检测位(synerr)(为低电平,若为高电平则表示同步头有错)。在同步头有效后,进行时钟分离及码型变换及移位,移位完成后进行奇偶校验,并把数据定写入保持寄存器,此时rxrdy变为高电平,表示数据准备好可以读出数据。进入下一个解码周期,等待串行输入数据。

图6

该逻辑可由状态机实现,可划分为四个状态进行:第一个状态是空闲状态,当检测到数据跳变沿时,进入第二个状态;第二个状态为有效同步字头检测状态;当检测到有效同步字头,启动第三个状态,用锁相环分离时钟,进行码型转换;当数据有效时进入第四个状态,进行并/串转换及奇偶校验。其状态机状态转换如图4所示,以下是具体实现过程。

①同步字头检测。当检测到数据跳变沿(下跳沿为命令字,上跳沿为数据字)时,用16MHz时钟对数据进行采集;当采集到大于一个位时的低电平或高电平时,认为同步字头有效,启动第二状态,进行处理。启动位产生的时间要注意选择,这对于消除数据中的毛刺和减少数据的延时都很重要。

②码型转换。检测到有效同步字后,启动锁相环开始分离时钟。此设计采用超前-滞后锁相环,锁相环如图5所示。

图5中边沿检测器的输出e是在u2(t)的跳变沿时产生的窄脉冲,d是c的反相,c、d、e经过与门后在f和g形式滞后和超前脉冲。h和g分别用来控制和扣除门和添加门,通过扣除门和除脉冲和通过添加门添加脉冲,它们的和输出经过分频器2得到c,也即u2(t)就能跟随u1(t)的相位了。



边沿检测器的工作原理是在u1(t)的上跳沿时放过一个16MHz的时钟脉冲,这样产生的边沿检测脉冲e只会在f和g中的一个产生脉冲,也就避免了超前一滞后型数字锁相环存在的相位模糊问题。该锁相环的相位锁定时间最大为42ns,因此在与数据进行模二加之前,应将数据进行延时,以便消除毛剌。要想完全将毛剌消除还要配合同步字头检测时,启动位产生时间的设置。这在后面毛剌处理中有详细的介绍。

上一页  [1] [2] [3] [4]  下一页


Tag:FPGAfpga是什么,fpga教程FPGA
分类导航
最新更新
热门排行