FPGA学习笔记(七),ADC转换(电压表),红外遥控

注:文章内容为本人学习笔记,若有错误欢迎指正或补充。

1,ADC转换(电压表)

在FPGA中使用ADC模块主要的端口有6个,3路输入,3路输出。

输入有:时钟,复位,输入的数据。

输出有:AD转换所需要时钟(使用不同的芯片所需要的频率不同)

               AD转换后的数据,

               AD转换后的数据符号。

在ADC转换的数据采集前,ADC的数据采集先端口不接入信号,然后对ADC芯片采集到的数据取平均值,得到中值为,然后再对接入信号后采集到的数据与中值比大小,大则数据符号为正,反则反之。注在FPGA中数据不会保留小数部分,所以在获取数据时需要合理放大倍数。

2,红外遥控

红外遥控的编码协议为NEC,NEC协议用PPM脉冲位置调制进行编码。

当遥控端按下按键时,会发送一针数据,这一阵数据由引导码,地址码,地址反码,数据码,数据反码,结束位的顺序组成。

遥控段发送数据帧格式

引导码:由9ms的高脉冲加4.5ms的低电平组成。

地址码:由8位二进制数据组成,低位在前,高位在后。

地址反码:地址码取反,校验用。

数据码:也是由8位二进制数据组成,低位在前,高位在后。

数据反码:数据码的反码,校验用。

结束位:为560us的高脉冲,在每帧数据的最后。(在数据的最后,不是帧的最后面)

在NEC协议中逻辑1是由560us的高脉冲和1.69ms的低电平组成,一共2.25ms。

逻辑0是由560us的高脉冲和560us的低电平组成,一共1.12ms。

当红外遥控按住按键不放时,在发送一帧数据后还会一直发送重复码,直至按键送开。

重复码也是一帧数据,由9ms的高脉冲和2.25ms的低电平组成,最后还有个结束位。

每帧数据与下一帧数据之间的间隔为110ms。

接收端接收到的数据与发送端格式不同

引导码:9ms的低电平加4.5ms的高电平。

逻辑1:560us的低电平加1.69ms的高电平。

逻辑0:560ms的低电平加560ms的高电平。

重复码:9ms的低电平,2.25ms的高电平。

结束位:560ms的低电平。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值