从零开始制作激光通讯器
从电子元器件到上层应用的一条龙开发。
嘤嘤怪1号
这个作者很懒,什么都没留下…
展开
-
从零开始的激光通讯(硬件篇 第0章)——思路设计
从零开始的激光通讯(硬件篇 第0章)——思路设计模拟调制方式传输说明现实情况需求选型ADCDAC总结数字调制方式需求选型运算放大器高速比较器总结模拟调制方式目前大致框图是这样的,在整个调制解调过程中采用直接调制方式,直接对电信号进行调制然后将其进行功率放大去驱动激光二极管,所以整个系统的设计就和调制方式有很大关系数字调制只有0和1两种状态,所以要传输一个字节数据电平需要反复翻转多次,而模拟...原创 2018-12-18 18:34:14 · 690 阅读 · 0 评论 -
从零开始的激光通讯(软件篇 第1章 协议栈)——回环测试(1-4节)
从零开始的激光通讯(第1章 协议栈)——回环测试(1-4节)github简介接收发送测试代码结尾githubhttps://github.com/HaHaHaHaHaGe/mynetstack简介实际上第一章的前四小节部分,已经实现了红色框框的全部功能(时间戳不在内)接收从最原始的数据流经过环形数组进行缓存(ringbuffer文件中的write函数)从缓存中提取数据并尝试进行数据...原创 2018-12-17 01:02:00 · 256 阅读 · 0 评论 -
从零开始的激光通讯(软件篇 第1章 协议栈)——4、原始数据编解码
从零开始的激光通讯(第1章 协议栈)——4、原始数据编解码github简介移动位置法提取最高位法函数说明githubhttps://github.com/HaHaHaHaHaGe/mynetstack简介在上一小节中,提到过为了防止传输的数据中出现包头,导致误判,我们需要对原始数据做一些修改,以保证数据传输时不会造成误判发生。解决的办法也很简单,只需要将所有的数据最高位恒为零(因为包头是...原创 2018-12-11 15:28:15 · 487 阅读 · 1 评论 -
从零开始的激光通讯(软件篇 第1章 协议栈)——3、提取数据包
从零开始的激光通讯(第1章 协议栈)——3、提取数据包github简介函数说明githubhttps://github.com/HaHaHaHaHaGe/mynetstack简介数据包的提取其实原理并不复杂,就像拼积木一样,见下图:这些字是我随便打出来的,现在这串字符串中,我说包含了三个数据包,需要提取出来规则如下:碰到数字:1234 代表后面的将是需要提取的数据具体提取几个呢,...原创 2018-12-06 20:17:41 · 248 阅读 · 0 评论 -
从零开始的激光通讯(软件篇 第1章 协议栈)——2、环形数组
从零开始的激光通讯(第1章 协议栈)——2、环形数组github简介函数说明githubhttps://github.com/HaHaHaHaHaGe/mynetstack简介在说明环形数组之前,先来看一看通常大家使用内存的方式这是一段内存空间,大小16字节,起始地址0x80000000,截止地址0x8000000F在这段内存中若想为其内存空间进行赋值操作,C语言下应当:*(uns...原创 2018-12-06 16:56:19 · 263 阅读 · 0 评论 -
从零开始的激光通讯(软件篇 第1章 协议栈)——1、整体结构
从零开始的激光通讯(第1章 协议栈)——整体结构github简介三部分应用githubhttps://github.com/HaHaHaHaHaGe/mynetstack简介由于本人比较穷,按理应该先开始硬件设计,但是没办法,就开始了软件设计部分。简单说下:由于信号在现实世界中传输有太多太多的不确定因素,有干扰、有丢包,所以需要有一套机制保证数据的传输的完整性。从上面的框图可以看出...原创 2018-12-05 23:09:58 · 549 阅读 · 0 评论