用FPGA器件与VHDL语言实现曼彻斯特码编解码器的设计

网友投稿 326 2022-11-13

用FPGA器件与VHDL语言实现曼彻斯特码编解码器的设计

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

①同步字头检测。当检测到数据跳变沿(下跳沿为命令字,上跳沿为数据字)时,用16MHz时钟对数据进行采集;当采集到大于一个位时的低电平或高电平时,认为同步字头有效,启动第二状态,进行处理。启动位产生的时间要注意选择,这对于消除数据中的毛刺和减少数据的延时都很重要。 ②码型转换。检测到有效同步字后,启动锁相环开始分离时钟。此设计采用超前-滞后锁相环,锁相环如图5所示。

畋6中data1.Q时,进行码型转换后的数据。由图中可以看出采用此种方法进行转换,数据没有毛刺,产生的数据完全正确。 2.2 编码 编码的过程也可分为三部分:①检测编码周期是否开始,产生同步字头;②进行串行转换,产生奇偶校验位;③对16位有效数据及奇偶位进行编码,编码周期结束。与解码同理,编码也由状态机来实现。 由此状态机可划分为四个状态进行实现,其状态机状态转换如图7所示。

编码其实是解码的逆过程,其工作原理非常相似,这里就不详细介绍了。编码的时序仿真波形如图9所示。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:.net core快速上手
下一篇:Java花式解决'分割回文串 ii'问题详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~