保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

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


示。图中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,因此在与数据进行模二加之前,应将数据进行延时,以便消除毛剌。要想完全将毛剌消除还要配合同步字头检测时,启动位产生时间的设置。这在后面毛剌处理中有详细的介绍。
  
  ③奇偶校验和串行并转换。用移位寄存器可实现数据的串/并转换。在设计移位寄存器时,要注意奇偶位的分离,因此在设计寄存器时需设置一定的标志位,其源代码如下:
  
  ifreset='0'then
  
  rsr<=(others=>'0');
  
  --全为零可确保在移位过程中idle为低电平;
  
  rxparity<='1';
  
  --确保在移位过程中idle=0,而在移位结束时,idle=1;
  
  tag<='0';
  
  --移位标志位设置,当tag=1时,移位完成;
  
  paritygen<=paritymode;
  
  --为奇校验时paritymode赋值为1,若为偶校验则设置为0;
  
  elsifrxclk'eventandrxclk='1'then
  
  ifidle='1'then
  
  rsr<=(others=>'0');
  
  rxparity<='1';
  
  
  
  
  tag<='0';
  
  paritygen<=paritymode;
  
  elsifhunt='1'then
  
  tag<=rsr(15);
  
  rsr(15downto1)<=rsr(14downto0);
  
  rsr(0)<=rxparity;
  
  rxparity<=data1;
  
  --进行移位,为右移寄存器;
  
  paritypen<=parityegenxorrxparity;
  
  --进行奇偶校验;
  
  endif;
  
  endif;
  
  至此曼彻斯特的解码就完成了,其时序仿真波形如图6所示。
  
  畋6中data1.Q时,进行码型转换后的数据。由图中可以看出采用此种方法进行转换,数据没有毛刺,产生的数据完全正确。
  
  2.2编码
  
  编码的过程也可分为三部分:①检测编码周期是否开始,产生同步字头;②进行串行转换,产生奇偶校验位;③对16位有效数据及奇偶位进行编码,编码周期结束。与解码同理,编码也由状态机来实现。
  
  由此状态机可划分为四个状态进行实现,其状态机状态转换如图7所示。
  
  编码器的输入时钟(mclk)为16MHz。当写信号(wr)为低电平时,同步头选择位(cmnd)为高是怦,开始产生命令字同步字头;反之,为同步字头。由于同步字头的高低电平各占1.5个位时,所以选取它的发送时钟为2MHz,该时钟由mclk八分频得到。同步字头产生完成,则发出控制信号开始移位。移位时钟(1MHz)由同步头生成时用的时钟两分频产生。在数据移位完成时自动添加厅偶位。曼码形成器对数据、奇偶位、同步头进行处理形成符合1553B标准的双极性字tx和ntx,完成后txrdy为高电平,等待下一个数据的写入开始再一次的编码过程,逻辑框图如图8所示。
  
  编码其实是解码的逆过程,其工作原理非常相似,这里就不详细介绍了。编码的时序仿真波形如图9所示。
  
  图9中tx

《用FPGA实现1553B总线接口中的曼码编解码器(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/178176.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。