Stm32下的激光传输数据

本文介绍了在STM32下利用激光进行数据传输的实现过程,包括Biphase Mark Coding (BMC)编码原理、激光接收解码方法,以及汉明码在错误检测和纠正中的应用。通过BMC编码,激光亮代表1,灭代表0,解码时通过TIM3捕获时差来判断0和1。汉明码用于提高数据传输的可靠性,8,4加密法能够在一位错误时进行自我恢复。" 114168837,10547301,ES集群分片迁移与平衡,"['Elasticsearch', '分片管理', '集群运维', '自动化']
摘要由CSDN通过智能技术生成

做出来没有什么实际用途数据,传输速率不快..不过能够学到很多东西



原理

将数据使用Biphase mark coding(BMC)加码, 激光亮代表1灭代表0,使用接受器接收激光并解码


什么是BMC?

BMC是一种数据加码方式,有两种状态:

1.全周期固定反转,0变1,1变0

2.半周期基于数据反转,0不反转,1反转

看下图应该会明白(图片来自维基百科)


不懂的带你走一下..

请看图片中的Encoded(BMC)这行

最开始的反转是全周期,全周期固定反转,0变1(它上面画的是中位,其实应该是低位)

之后是半周期,半周期按照数据反转,数据第一位是1,所以要反转

之后全周期,固定反转,低位变高位--第一bit的数据已经传输完毕

然后到了半周期,数据是0,不反转,保持高位

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值