ADC模数转换器(并联比较型)
成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。
我选的课设题目是模数转换器,题目要求:输入: 0~5VDC,输出:六位 TTL 电平,转换速率: ≥1kHz,输出可用 LED灯指示。我已经设计出了电路,并且焊好了电路板,还荣幸地给老师和同学们进行了开题报告。接下来就说说我的设计方案吧!
数电课本的第九章是讲的ADC转换和DAC转换,但是介绍ADC的电路设计的内容很少,只是介绍了一下ADC0809的芯片。我在课后习题中发现了ADC并联比较型电路的题目,还有电路图,就此引发了思路。题目中的电路是三路的显示,我如果弄清楚了这个原理就可以做6路的显示了~
整体的框架,从左往右看就是输入电压电路、基准电压分压电路、比较电路、寄存电路、编码电路、TTL逻辑门电路和LED输出显示电路。
这里我没有把两片74LS148编码器级联起来,是各自算的。因为题目中是要求输出六路显示就好了,也没说是六位二进制的表示啊。我如果级联了两片74148的芯片的话,我的输出结果就是2^6种了,按照并联比较电路的设计原理,我要在比较电路比较64次,才能在输出电路中有64种状态显示。
我参照BCD码,四位二进制数可以表示十进制数,我就想用三位二进制数表示八进制数,换算量也刚刚好的~两片74ls148分别表示高三位和低三位,他们相互独立,只受来自编码器输入端0-7的输入信号影响。换算结果显示如图中公式,当然这是高三位和第三位都有输出时的显示结果,如果只有低三位的显示的话,就按照低三位的公式计算就好。
这样我就可以不用比较64次的电压了。关键是不用那么多的各种芯片了。电路就简单了很多呢~
这样换算单位显示有三个问题的:
(1)用的芯片还是太多。比如我就按我上边的电路图来设计的话,我还是要比较16路电压的,就算是用LM339N集成芯片,我也要至少用4个LM339N来做比较的;如果这都不算多的话,那就来看看寄存电路吧,边沿D触发器74LS74芯片,一个芯片最多寄存两路输入输入,也就是我要16路的D触发器的话,就至少需要8个芯片;这些还不算编码电路和逻辑门电路的芯片,当然还要各种的VCC和GND,引脚连接也是个很大的问题。
(2)计算公式太麻烦。另创了新的数据显示方法,思想上接受起来应该不是问题,但是八进制显然是不如十进制或者二进制来的方便直接的。两个芯片要分别按权相加再一起求和,算然逻辑上是可以算出来的,但是也要根据输出来修改一下这个输出公式的。
(3)输出显示不直观。虽然是可以做到六位LED的输出了,可以根据灯由下至上亮的多少来判断输入电压的大小,但是输出显示还是要先经过公式计算才能得出来,不能直观的看出分辨值是多少。
出于更简便地设计电路的思想,我做了一个决定,只比较六路。我们的课题只是要求输出显示六路啊,既然没说是六位二进制的显示,我都能用16位的结果显示六位输出了,我为什么不能用6位的结果显示六位的输出呢?既然是六位的输出了,那我只要比较六路的电压就好了啊,也不用编码器,也不用74LS00这些逻辑门了,从电路上可以简化好多的哦~
直接上图吧!
电路经过简化之后,瞬间简单了一大半啊!!!灰常开心,我就迫不及待地去焊电路板了,嘿嘿。
再对简化后的电路进行一下分析:
优点:(1)电路简单。那是毋庸置疑啊,不光画图简单,设计的电路板也简单啊!设计思路也更清晰更明了了。
(2)元件用的少,电路连接方便。
(3)LED输出显示直观,每个led之间的分辨值也都是Vref*1/6。输入的电平越高,led自下向上亮的灯就越多,而且口算就能得出Ui的大概结果。
缺点:(1)相比64位、16位的比较结果,6位的比较结果显然分辨率会低一些。但是,在这个题目中最高精度可以达到Vref*1/12,应用起来也是足够的了。
至于CP脉冲信号,我能想到的是两种方式来给出:
(1)直接输入脉冲信号,就像我们做数电实验一样;
(2)做一个脉冲信号源。可以采用555定时器做一个多谐振荡器,如图所示,按照公式,设置一下R1、R2和电容C的值就好了。