导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→关于FPGA实现设计[sz20120406]

 *第30993篇: 关于FPGA实现设计

  
楼 主:sz20120406 2012年4月11日13:00
 关于FPGA实现设计
关于FPGA实现设计
(1)单工条件下的实现
用两块FPGA分别实现编码器和解码器。按前面的编解码原理,编码器接收子站8位信息和1位同步,输出8字节×8位帧结构编码作远程传输,解码器收到帧结构编码,输出8位信息和1位同步给基站。(在实际应用中,子基站两MPU还要加入通常的累加和检错或偶校验检错。因不属编解码内容,不作讨论。)
 
为检验电路设计,假设输入信号为11001010,编码输出的帧结构为表4。
表4
帧头1        1        1        0        1        0        1        0        0        =D4
帧头2        1        1        0        1        0        1        0        0        =D4
第3字节        0        0        0        0        0        1        1        1        =07
第4字节        1        1        1        1        1        0        0        0        =FB
第5字节        0        0        0        0        0        1        1        1        =07
第6字节        1        1        1        1        1        0        1        0        =FA
第7字节        0        0        0        0        0        1        0        1        =05
第8字节        1        0        1        1        1        0        1        0        =B
同步信号clk_in上升沿到来时,编码器读入数据信息11001010,并按内部的波特率clk;在下降沿产生正确的帧格式编码输出(D4、D4、07、FB、07、FA、05、BA)。 
当解码器判断收到帧头(两个D4),则将同步信号clk_out置高,再按内部波特率clk在上升沿收6字节的帧结构码字,在同步信号的下降沿输出译码(11001010)。
 
当传输过程出现突发错时,第5字节改为FF,第7字节改为00,译码器给出信息11001010。
 
因为信息最低位的编码能纠1位错,最高位能纠4位错,所以,当第3~5字节、第6~8字节分别出现一个8位的突发错,译码器均能完全纠正。出现多个突发错时,相应的信息低位将出错,但信息高位因具有更多位的纠错能力而仍能保持准确性。我们设计的目标也正是尽可能保证高位的正确,以保证精度。
(2)基于单工的双工通信
此时一片FPGA内集成了编码器和解码器,与MPU相连的数据通信接口仍为8位数据线,由MPU发W/R写读信号来控制编解码,因此同一时间只能单向传送数据,编解码不能同时进行。准确地说,为半双工通信。(要改为全双工,须将MPU的数据线接口翻倍,非常占资源。)
  
(编码器,解码器与单工的相同。)
实际上,我们对编码器和解码器的输出分别加了一个传输门(transfer_X器件)。该传输门由W/R信号控制,一旦传输门关闭,则将传输门的输出置于高阻态?quot;Z"),因此,编解码器的输入输出不会相互干扰,从而能在同一数据线上进行半双工传输。
MPU向FPGA写信息,FPGA编码输出。W/R=0,信息为11001010。
MPU读FPGA的信息,FPGA收帧结构并解码。W/R=1,解码得11001010。
(本文由Cogo商城-IC元器件在线采购平台搜集整理,
浏览 了解更多详细信息)

>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:脉冲重复频率(PRF)跟踪器原理

[下一篇主题]:多目标信号间高精度高可靠性延时的设计与实现