这个从想做到做出来拖了两年。其实单纯讲做出来的话没有任何技术难度,就是一直拖。 早些年看到一些神奇贩子吹嘘着什么分立R2R DAC,使用解码多么多么动听,然而只要稍微了解一下相关器件,就知道,人家R2R做的好是因为人家做了几十年芯片,而你只是没有任何测试。不过,想到这个东西从数字到模拟还是挺好玩的,就想自己实现一下,讲究一个超低成本,看看听起来感觉怎么样。
其实文章名字叫做接收器的实现,既然接受了最后肯定要出效果的,所以后端就是最简单的R2R DAC来得到模拟信号。这个文章也会是整板设计说完整。
设计思路
其实虽然说着简单,但是基本上几年毫无数字逻辑实战设计经验的我一上来是比较懵圈。总体上设计分成两部分。
- I2S信号转并行信号
- R2R DAC本身
其中,I2S信号飞利浦指定的信号标准,但是实际上有好几种格式都被称之为I2S信号。其中飞利浦标准可以从其标准文档获得。
实际上文档中已经给了两种可行的设计逻辑图,但是当时我对着这个图不知道怎么选型器件。。。
TODO:
参考资料: I2S bus specification.pdf Philips I2S bus specification -UM11732 NXP 实际上NXP就是Philip出来的,新文档主要是把Master/slave修改成了Controllter/Target. (虽然有点政治正确,但是早该改了,以前这种表达是挺离谱的)
测试之后发现74HC74的CLR和PR没有拉高。。。
然后发现输出的是补码,,最高位需要取反。 然后就发现了这个设计存在问题。
故障
在假货宝上义胜买的AMS1117-5V用了没多久就被击穿了,本来一开始3.3V还是正常工作,奈何我没发现。。。切换到5V之后,实际输入12V把逻辑片全部带走了。
... 太难过了,下次设计这种电源一定要做好保护,也不要抱着侥幸买假货。。
因此就开始改板,加入之前没有考虑进去的部分。