PPM解码器

本文详细介绍了PPM解码器的功能描述、工作原理,包括计数器、移位寄存器和状态机的分析,并给出了testbench的编写示例。通过状态机的切换,解码输入的PPM编码数据,最终输出解码后的8位数据和相关标志信号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PPM即Pulse Position Modulation(脉冲位置调制),利用脉冲的相对位置来传递信息的一种调制方式。在这种调制方式中,数据能够高速的传递。本文就来详细介绍一下PPM解码器。

1、PPM的功能描述

输入信号

  • clk,时钟周期为0.59us
  • rst,异步复位信号,低电平有效
  • din,输入的PPM编码后的数据

输出信号

  • [7:0] dout,PPM解码后的8位数据
  • d_en,输出数据有效标志,高电平有效,持续一个时钟周期
  • f_en,帧头检测有效标志,高电平有效,持续一个时钟周期

PPM数据编码格式.png

PPM数据帧格式.png

2、PPM的功能分析

计数器用来控制时序,移位寄存器用来暂存数据,状态机用来进行状态转换。

2.1计数器

时钟的周期是0.59us,而输入的每一位数据宽度为9.44us=0.59us※16,解码2bit的数据需要的时间为75.52us=0.59us※128,解码一个完整的8位数据,需要302.08us=75.52us※4。基于以上分析,我们可以设置3个计数器来控制数据的采样。

  • count0,0~15,每16个时钟周期采一位din信号。
  • count1,0~7,解码2bit需要采到8位din信号。
  • count2,0~3,完成一个完整的8位信号,需要解码2bit数据4次。

计数器count0.png
计数器count1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值