账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
ADC微控制器之应用
 

【作者: 劉溫良】2001年11月05日 星期一

浏览人次:【12939】

除了洗衣机之外,家里的冰箱,电磁炉,电子锅,热水瓶等电器产品都渐渐走上数字化了,数字化的原因有几个,一是容易操作及控制,另一个是可以使用微控制器来控制其功能,使其功能增强及带来使用上的方便,例如温度控制、定时控制和压力控制等。


在自然界的各种讯号,如温度、湿度、压力、光、声音、气体皆是模拟讯号,要将自然界里的讯号做各种处理,就需要一个传感器将自然界的各种讯号,转换成电压或是电流讯号,再将模拟的电气讯号,透过一个模拟数字转换器(ADC),转成数字化的数据,再由一个微控制器的来对数字数据做处理。


要是将ADC内建于微控制器中,在使用上更加便利,也可大幅度的降低成本。将模拟数据做数字化的好处是容易处理、运算及显示,尤其是我们日常生活中的各种家电产品如冷气机、除湿机、电冰箱、洗衣机、微波炉、电磁炉、电毯 、电子锅、充电器、面包机、豆浆机、洗碗机、电暖器、充电器、烘碗机、烟雾侦测器、瓦斯侦测警报器、火灾侦测器、毒性气体侦测器、酒精测试器、血压计、体温计、压力计、温度计、重量计、体重计、距离测量仪、传真机、扫描仪、数字相机、复印机、胎压器、气压计、烤箱、亮度计、彩色电视机、电动按摩器等产品不胜枚举。


传感器

在使用ADC时,大部分都会与传感器互相搭配使用,传感器是一种能够将各种物理量如:温度、湿度、压力、光、声音、气体等变换为电气量的组件,因此其复杂度很深,在应用上很广泛。我们可以依照不同的用途来选择不同的传感器,再透过ADC转换,便可以制作出各种不同的产品,一般常见的传感器有温度传感器、压力传感器、湿度传感器、光传感器、烟雾传感器、气体传感器等。


模拟数字转换器(ADC)

当微控制器要处理模拟讯号时,需要将模拟信号先透过模拟-数字转换器(ADC)加以转换,把模拟讯号转换成相对的数字讯号,此时就需要ADC。一般市售有单独的ADC IC,或者是内建有ADC之微控制器,就成本上的考虑,在需要微控制器做控制的产品上,使用有内建ADC功能之微控制器,较能节省成本,产品可靠度也较高,生产上较简单且组件库存较少,除非需要特殊规格的ADC及微控制器,才需要分别搭配特殊规格的ADC及微控制器IC。


ADC的参考电压有单独的一根接脚或是与IC的电源接在一起,内含模拟-数字转换器的微控制器亦是如此,若ADC参考电压为微控制器之工作电压,则微控制器脚位图上就只会标示一个工作电压(VDD)的脚位,而无ADC参考电压输入脚位。


ADC最重要之特性之一 : ADC的精确度,在一般所定义的ADC转换曲线如(图一),X轴为输入电压,Y轴为数字输出值。(以10位ADC为例,LSB = ADC参考电压 ÷1024)


《图一 ADC转换曲线图》
《图一 ADC转换曲线图》

当模拟电压输入在0.5LSB~1.5LSB之间时,经由ADC得到的转换值是1,由此类推到各个电压的转换值。所以一般使用时都必须先确定ADC的参考电压为何,再由转换结果的数字数据值,去得到模拟输入电压的范围。由上图可知,当ADC转换值为1时,我们可以因此得到模拟的电压值为1LSB±0.5LSB,0.5LSB为数字化过程中所必须牺牲掉的转换误差。一般常用的模拟-数字转换器为8位~10位,较精确的产品则需要12位~14位的ADC,本文将介绍一颗内含10位ADC的微控制器。


盛群半导体新推出一系列内建ADC之微控制器,在此针对其中一颗内含有10位ADC的微控制器(HT46R23)做介绍,此型微控制器不仅内建ADC,更加入PWM之控制输出功能,故其相当适合用来做温度控制、压力控制及湿度控制的各类型产品或家电产品。HT46R23的主要规格如(表一)所示。


(表一) HT46R23的主要规格
包装 28SKDIP及28SOP两种
I/O 接脚 23根
PWM 输出 两组﹔与PD0/PD1共享脚
PFD输出 与PA3共享脚
外部计数器 与PA4共享脚
外部中断 与PA5共享脚
系统震荡器 RC震荡器或石英晶体震荡器(陶瓷震荡器) 择一
ADC模拟讯号 8个信道模拟输入AN0~AN7与PB0~PB7共享脚
ADC 10位ADC; 9位精确度
工作电压 3.3V~5.5V
程序内存EPROM 4096×15
数据存储器RAM 192×8
Timer 16位+7阶预除器
低电压侦测 3V±0.3V
堆栈 8层
序列总线 HOLTEK BUS(与I2C BUS兼容; 只提供SLAVE模式)与PA6及PA7 共享脚
Note : I2C is the trademark of Philips.

HT46R23这颗内含10位ADC的微控制器,可以广泛用在各种产品上,其主要的定位是在于各种家电及工业控制方面,就其整个功能来说,提供了一个与I2C BUS兼容(SLAVE模式)的序列总线及两组PWM输出,PWM可用来做电流及电压控制,对于各方面的应用都非常适合。尤其是对于电源噪声的处理,该型微控制器在设计上特别考虑电源噪声之处理,故拥有极佳的抗噪声能力。


HT46R23微控制器说明

HT46R23使用8位精简指令集微控制器,内含63个功能强大的精简指令集,有8个硬件做成的堆栈(STACK),在呼叫子程序时,可以呼叫到8层之多。内建一个看门狗定时器(WDT),可以预防微控制器误动作时,将微控制器重新RESET,一个低电压侦测器(LVR),当电压过低时,会自动将微控制器RESET,避免微控制器的误动作。程序内存(PROGRAM ROM)的空间有4K可以使用,而且为一次刻录型,对于写程序来说,有很大的应用空间,对产品而言也有很大之弹性。如(图二)。


《图二 微控制器的方块图》
《图二 微控制器的方块图》

OPTION ROM

另外也提供OPTION ROM,提供OPTION在刻录的时候,视需求来选择哪一种功能,内建有192 byte的数据存储器(DATA MEMORY)空间,在中断部分提供了四种中断,外部中断接脚的中断、内部定时器或外部计数器的中断、10位ADC的中断或是序列总线的中断。


输入输出脚共有23根,其中PA有8根,PB有8根,PC有5根,PD有2根,其中PA3与PFD输出共享接脚,PA4与外部计数器输入脚共享,PA5与外部中断输入脚共享,PA6及PA7与序列总线接脚共享,PD0/PD1与PWM0/PWM1输出共享接脚,PB0~PB7与ADC模拟输入脚AN0~AN7共享。其中PA3与PFD输出功能共享,PD0/PD1则与PWM0/PWM1共享,是在刻录程序时,由OPTION项目所选择的,我们也可以只选择使用一般的I/O功能就好。


PA4当外部计数器输入脚时,PA4必须设为输入脚,PA5当外部中断输入脚时,PA5也必须设为输入脚。至于PB0~PB7与AN0~AN7 ADC模拟讯号输入,可以由软件选择要当模拟讯号输入或是数字讯号输入输出使用。16位的计时计数器输入,可以选择由外部计数器输入脚(PA4/TMR)输入,或是选择内部定时器当计时的参考频率。如(图三)。


《图三 微控制器脚位图》
《图三 微控制器脚位图》

由系统频率经过一个预除器,可以选择8个参考计时频率给16位的计时计数器,这8个计时频率,从系统频率到系统频率除以128。选择适当的频率给计时计数器,使用可以较弹性。另外PFD的输出频率,也是由16位计时计数器来控制,PFD的频率为16位计时计数器溢位的频率除2,假设16位计时记数器的输入为1μ秒,假设我们设定16位计时计数器内容为65286,则计数250次就会发生溢位,则PFD输出的周期为 : 1μ秒×(256-6)×2=500μ秒,所以PFD的频率为 1/500μ秒 = 2kHz,由以上可知只要设定16位计时计数器的数值,就可决定PFD的输出频率。提供两组PWM之功能,对于电流与电压的控制提供一个最佳的解决方案。如(图四)。


《图四 PWM电流参考图》
《图四 PWM电流参考图》

PD0/PWM0接脚输出串联一个电阻及电容接到一个NPN晶体管(B1),来控制上面PNP晶体管(B0)是否导通,在PWM输出高准位时,NPN晶体管及PNP晶体管皆在导通的状态,VCC电压对电感(L0)充电(IL增加)。当PWM输出低准位时,NPN晶体管及PNP晶体管皆在不导通的状态,VCC电压不对电感充电, 电感由经D0释放能量(IL下降), 若on/off频率很高, IL几乎维持一定, 形成PWM方式定电流控制。


由PB0/AN0读入模拟电压值, 将电压值÷R0的电阻值,就可得到流经R0的电流,若是电流小于我们欲设定的电流,则增加PWM输出的DUTY来增加电流,若是电流大于我们欲设定的电流,则减少PWM输出的DUTY来减少电流,由此来做电流控制。利用控制PWM输出的DUTY,可以让电感储存的电流能量,维持在一定的大小,由此来做定电流控制。至于电压控制,亦是采用相同原理,但必需加入一个大电容,以达到稳定电压之功能。


当使用PWM功能时,需要在OPTION选项选择使用PWM功能,并且需选择PWM输出是除64或是除128,当写入PWM 缓存器之数值改变时则PWM输出之DUTY随之改变,该注意的是,一但选择除64或是除128之后,PWM之频率便固定,无法再由软件调整,其频率是固定系统频率除64(其PWM输出是6+2模式,其定义为PWM输出之频率为一般输出的4倍)或是除128(其PWM输出是7+1模式,其定义为PWM输出之频率为一般输出的2倍),若是要改变PWM之频率,只能改变系统频率来改变PWM之频率。


要让PWM之输出由PD0/PWM0或是PD1/PWM1输出,必须将PD0/PD1输出设定为输出脚,且必须写1到PD0/PD1缓存器的位置,写0会让PD0/PD1接脚,输出在LOW的状态。其PWM输出是(6+2)或(7+1)模式,其定义为PWM输出之频率为一般输出的4或2倍,其原理为将 PWM输出分为四或二段,输出低准位的部分及输出高准位的部分,平均各分为四或二段,若是无法分为四或二段的余数,就补在其中的一段。参考(图五)、(图六)。


《图六 PWM输出为(7+1)模式》
《图六 PWM输出为(7+1)模式》

信道的10位ADC,提供8个模拟讯号的输入与I/O接脚共享,使得产品的开发更具有弹性,ADC转换的频率来源有三个选择,有系统频率除2、除8及除32三种,可以依实际需求的ADC转换速度来使用,再内部缓存器之安排上,若用户只使用8位的ADC,也可以直接当成8位的ADC来使用,而不需要经过转换。


一般在做ADC转换时,需注意到在转换时电源的处理,输出I/O尽可能不要改变,以防止在ADC转换受到干扰时造成误差,在ADC转换完成之后再恢复原来的状态,在电源及ADC模拟讯号输入脚位加上一个RC滤波电路,是解决ADC转换受噪声干扰而产生误差的有效解决办法,在PCB板上的LAYOUY需注意电源与地线的拉线和ADC模拟讯号输入的拉线,要避免受到噪声的干扰,建议必须在VDD与VSS接一个0.1μF的电容,来减低电源噪声的干扰。


尽可能以满足规格的最慢速度来做ADC转换,ADC频率来源规格在1MHz以下,可有较好的精确度,ADC的转换特性与ADC频率的速度有关,速度愈快转换的精确度比转换速度慢的精确度较差。


HOLTEK BUS序列总线与I2C序列总线(SLAVE MODE)兼容,HOLTEK BUS分为两种 : 一种是SLAVE模式,一种是MASTER模式。MASTER主动送出总线的频率给SLAVE,要求传送或是接收数据,SLAVE只能被动的送数据给MASTER,或是从MASTER接收数据。


一般做为MASTER 都是微控制器,因为可以用软件的方式来达到MASTER的功能,SLAVE一般都是用硬件做,用软件做会浪费系统的资源,造成微控制器必须一直在监督总线的状态,例如EEPROM(如HT93LC46) ,LCD驱动IC都是当SLAVE,可以由微控制器当MASTER下命令做序列的数据传输。在HT46R23这颗微控制器,提供的是SLAVE的功能,至于MASTER的功能是可以利用HT46R23剩余的其他I/O接脚用软件的方式去完成。


序列总线只需要两根接脚(一根是SCL 另一根是SDA),就可以用来做数据传输,HOLTEK BUS 的SCL接脚是序列总线的频率,由MASTER送出序列总线的频率,SDA是当作传送数据的接脚,数据传送最快可以达到每秒十万个位。若用户并无使用序列总线,此两根接脚可经由OPTION选为一般I/O使用。


结论

在ADC微控制器在家电及工业上的应用,实在是非常广泛,本文对内建ADC之微控制器只是一个入门的简介,另外ADC更牵涉到很多模拟方面的技术,所以比单纯的微控制器还要复杂,尤其是在噪声干扰及处理部分,需要在制作电路板时,做特别的防噪声处理,以免影响到ADC的准确度。


(作者服务于盛群半导体微控制器部门)


相关文章
解读新一代汽车高速连接标准A-PHY
满足你对生成式AI算力的最高需求
小晶片大事记:imec创办40周年回顾
从应用端看各类记忆体的机会与挑战
高速运算平台记忆体争霸
comments powered by Disqus
相关讨论
  相关新闻
» 美光发布2024年永续经营报告 强化发展永续经营和先进技术
» 安森美完成收购SWIR Vision Systems 强化智慧感知产品组合
» 透过NBM被侵权案件 Vicor专利成功经PTAB确立了有效性
» 德州仪器与台达电子合作 推动电动车车载充电技术再进化
» AMD写下STAC基准测试最快电子交易执行速度纪录


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK8757Z57P6STACUKW
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw