一.方案设计与比较
1.1控制芯片选择
方案一:采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。
方案二:采用2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的I/O口,因此此芯片资源不够用。
方案三:采用AT89C52单片机,其内部有4KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O口也足够本次设计的要求。
比较这三种方案,综合考虑单片机的各部分资源,因此此次设计选用方案三。
1.2键盘显示部分
控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。
方案一:采用可编程控制器8279与数码管及地址译码器74LS138组成,可编程/显示器件8279实现对按键的扫描、消除抖动、提供LED的显示信号,并对LED显示控制。用8279和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。
方案二:采用单片机AT89C52与4X4矩阵组成控制和扫描系统,并将键盘接成总线形式进行分时扫描,同样采用总线的方式在P0口接1602液晶来显示实际输出电压和设定值,这种方案既能很好的控制键盘及显示,又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。
对比两种方案可知,方案一虽然也能很好的实现电路的要求,但考虑到电路设计的成本电路整体的性能,我采用方案二。
1.3 AD/DA模块部分
方案一:AD采用MAX196,MAX196S是美信公司的一款具有多个输入范围,12位的数据采集系统,它不仅具有转换时间短,采样速率快的优点,还具有两种可编程的掉电模式。DA采用TLV5638, TLV5638是TI公司的12位DA转换器,具有两个输出通道,数据传输接口为3线制的串行接口并且兼容SPI串行接口
方案二:AD和DA 分别采用TLC1543和 TLC5615。TLC1543和 TLC5615均是TI公司生产的10位串行接口芯片。它们不仅抗干扰性强,稳定性好,还具有低功耗和性价比高特点。
按照设计要求实现输出电压10mv步进的要求,AD和DA至少要求10位(最好是12位),但考虑到I/O口和操作方便以及功耗和性价比的问题,因此选择方案二。
1.4调理电路和报警模块
因为51单片机最多只能输出5V的电压,而设计要求能最多输出9.99V的电压,因此我选择了将输出电压通过同向放大电路放大2倍,并且再外加电路进行调理以便能电压能精确输出。报警模块则可以采用一个PNP三极管和蜂鸣器串联来实现设计要求。
二.理论分析与计算
2.1AD/DA模块的分析
由于设计基本要求输出电压范围为0~4.99V,实现10mV步进。即精度要求达到0.01V,8位的AD/DA显然达不到要求,因此必须选择10位以上的AD/DA考虑到性价比的问题选择10位的AD/DA。又由于TI公司生产的10位串行接口芯片TLC1543和 TLC5615不仅抗干扰性强而且具有很低的功耗,加上串行接口还能缓解接口紧张的局面。因此AD/DA芯片选择了TLC1543和 TLC5615。
2.2模拟接口和调理模块的分析
由于设计发挥部分要求进一步扩大输出电压范围到0~9.99V,而基本单片机模块最多只能提供不超过5V的电压,因此想到将输出电压放大2倍,再在软件中实现调整即可达到要求。调理部分的电路作用是为了稳定输出增加电路的带阻能力,此部分可用基本的模拟放大调节模块来实现,具体模块将在后面进行说明。
2.3键盘显示模块分析
在本次设计中,由于要随意输入0~9.99V范围内的电压值,并且还要求能实现10mV步进,因此采用4X4矩阵键盘来输入0-9十个数和小数点,再用两个按键来实现10 mV步进。显示模块采用1602分两行来显示设定值和实际电压输出即可达到基本设计要求。