模拟调制方式
目前大致框图是这样的,在整个调制解调过程中采用直接调制方式,直接对电信号进行调制然后将其进行功率放大去驱动激光二极管,所以整个系统的设计就和调制方式有很大关系
数字调制只有0和1两种状态,所以要传输一个字节数据电平需要反复翻转多次,而模拟调制,在理想状态下传输一个字节只需要反转1次,甚至传输多个字节也只需要反转1次
那么是如何实现的呢
假设在传输环节,输入完全等于输出,在这种理想状态下,由于传输的是模拟信号,那么我就可以将其无限细分,假设被分割成256份,那么每一个输入等级都可以代表一个八位数据(一字节),同样若分割成65536份,那么每一个等级都可以代表十六位数据(两字节),相比较于数字调制,在有限的时间内,将可以传输更多的数据,但同样这也存在很多弊端,比如更加依赖器件性能,抗干扰能力差,这也就是数字与模拟的优缺点了
传输
在这个设计中,红色部分代表同步信号,同步信号由一个周期的方波构成,方波的高电平与低电平所处的电压范围不会在数据(绿色)中出现,同步信号的作用是告知接收方后面将是数据准备接收,接收的频率与同步信号的方波频率相同(其实就是串口的协议方式,只不过应用到模拟这里了)
而且这种方法也会解决一个问题,那就是电压是会变动的,也就是说所有的信号前面都会有一个神秘的系数存在,这个系数的来源就在于激光发射管的功率,或者接收到的光照强度有关,如果光强弱,那么这个系数就会小,就会造成整个信号都很微弱,而这个同步信号刚好可以作为参考来解决这个问题。
这样看起来似乎没有问题,但是还有一个重要的因素没有考虑,那就是器件的响应可能不是线性的,这就造成了,传输环节中并不是 f(x) = kx+c,也就是说不能单纯依靠同步信号来解决了,我们需要一个新的方法来弥补这个非线性的缺口,
其实可以设计校准步骤,发送校准信号(两个周期的方波),对数据段用到的电压从最低到最高扫一遍,这样上层(MCU/FPGA)就可以将其保存下来,这样有了样本就可以解决非线性的信号了 (前提是发射/接收传感器的曲线在设定区间内是单调递增的)
说明
在传输过程中,为了保证传输的速度,肯定不能频繁的进行校准,所以只有在频繁发生校验错误时才会进行校准。
而帧同步信号同样是在频繁发生校验错误时才会进行发送。
那么优先发送哪个呢?这要看哪种情况会导致传输频繁出错,
在使用中器件的温度会同时导致非线性与失去同步问题
在传输中,传输介质的改变(空气中的颗粒物浓度)会导致失去同步问题
而在进行一次帧同步的时间开销远小于一次线性校准的时间开销
所以在频繁发生校验错误时,首先需要进行帧同步,若无法解决问题则进行线性校准。
当然我们并不希望校验错误的事件发生,所以需要定时进行帧同步,与线性校准。
现实情况
之前讨论的都是理想情况下,在理想状况下,传入的模拟信号可被无限细分。
但是由于器件与噪声的缘故,我们不能将其无限的细分下去。传输的信号频率也同样受到了限制。
解决的办法只能是选择高端器件、优化设计结构来提高这个阈值。
所以要完成这个设计只能从需求出发,推导出器件最低需求参数,最后选择合适的器件。
需求
对于一个数字通讯设备来说,最最重要的就是它的传输速度
而我希望的就是使用这样一个设备去代替百兆网络接口,
所以在传输部分,他的最小传输速度不能小于 100Mbyts/S
在这样的一个前提下,由刚才我们所定义的调制方式,可得出每一个信号所持续的时间(t)
传输位宽 | 最小频率 | 最小t |
---|---|---|
8bit | 12.5Mhz | 40ns |
16bit | 6.25Mhz | 80ns |
24bit | 4.2Mhz | 120ns |
32bit | 3.125Mhz | 160ns |
上面列举除了4中不同位宽在传输时 若要保证传输速度在100Mb/S时信号的频率与t的值
我们知道,在这个表格中t越大,就代表运行频率越低,意味着系统就越简单、稳定
但是t越小就以为着这个系统的分辨率就要高,并且不是线性的,而是指数的增高
而分辨率的提高就意味着所有的器件噪声要低、纹波要小,ADC/DAC的分辨率就要足够的高,下面列举了不同位宽时,所需主要器件的参数(最小)
传输位宽 | 最小频率 | 最小t | DAC位宽 | DAC速度 | ADC位宽 | ADC速度 |
---|---|---|---|---|---|---|
8bit | 12.5Mhz | 40ns | 10bit | 25MSPS | 12bit | 50MSPS |
16bit | 6.25Mhz | 80ns | 18bit | 12.5MSPS | 20bit | 25MSPS |
24bit | 4.2Mhz | 120ns | 26bit | 8.4MSPS | 28bit | 16.8MSPS |
32bit | 3.125Mhz | 160ns | 34bit | 6.25MSPS | 36bit | 12.5MSPS |
从上表可以看出,对于一次传输4字节数据来说,ADC与DAC的位宽会要求很高,整个模拟电路的要求也会要求很高,所以可以排除24bit与32bit了(其实更重要是买不起啊)
接下来就是在TI官网查看有没有合适的ADC与 DAC了
首先来看16bit的
看来直接就是没有了
只剩下最后一种方案了,就是8bit的
选型
ADC
可以看到TI为我们筛选出了223种器件,并且我将其按价格进行排序(毕竟穷)
按照之前的表格,虽然我们需要50MSPS的ADC但是,那只是最小情况,正常来说,我们要选取他的二倍,也就是100MSPS来选择
那么ADS4125将是不错的选择,价格是14.25美元
某宝有售,280元起,真实价格不菲
DAC
同样这是DAC部分,依旧进行了价格排行,需要注意的是他有一个settling time。这个参数比较重要,这个参数要小于表格中的t的四分之一才可以(保证被采样时,电压已经是稳定的)
DAC的话
DAC3151比较适合,7.69美元
同样某宝有售,价格150元左右
总结
其实到这里光是对ADC/DAC进行简单的筛选后,就发现成本太高了,前面的滤波器,运放还没有考虑就已经快突破千元了,看来这个方案并不适合,所以对于模拟调制方式直接放弃
数字调制方式
数字调制方式与模拟调制方式有所不同,不存在ADC/DAC的采样一说,也就是说,对于模拟电路设计就显得不是那么重要。在数字调制中,对速度的要求就非常的高了,因为不像之前的模拟调制中可以一次传输多个字节,在这里,一次只能传输一位数据,所以整个传输环节的工作频率就会很高。
不过好处也很明显,在前端器件是理想状态下,输入是等于输出的。也就是说,可以像操作IO口一样去操作传入传出的数据
需求
同样是100Mb/S
那么可以得出IO的速度最小是100Mhz,寻找了许久许久找到的光电接收器件SRD00111Z
从这张图可得知在 RL=50欧 VR=50V 波长=850nm时他的上升下降时间只有1ns(实际电压不会这么高,所以时间可能会有所增加)
而设计需求,为100Mb/S,所以也是足够的。
选型
运算放大器
这里比较关键的是放大器的选择
若要使传输速率达到100Mb/S那么高低电平持续时间必须要小于10ns,但是因为要有同步信号的命令信号的存在所以将10ns缩短为8ns
同样在TI官网一番搜索后OPA859 1.8GHz FET输入运算放大器,还是很合适的,价格不贵,某宝也有售,价格几十元
http://www.ti.com.cn/product/cn/opa859?keyMatch=opa859&tisearch=Search-CN-Everything
同时TI也提供了高带宽光学前端参考设计
http://www.ti.com.cn/tool/cn/TIDA-00725
高速比较器
对于比较器而言,它的作用只是将其限定到逻辑电平中而已,这里就还是选用OPA859 作为比较器使用
(之后会仿真与实验,看看只使用一个OPA859会怎么样)
总结
对比两种调制方式及其成本后,选择直接数字调制方式
暂时先以这种思路去考虑,其实还有个很重要的部件,就是激光发射头部分,但是我没有找到发射头的详细信息,等找到的时候补上。