当前位置:首页 > 单片机 > 单片机
[导读] 在低成本智能仪表的设计过程中优先考虑的是成本问题,作为核心部件的单片机通常选用低档的8位机或4位机。就目前的情况而言,自带A/D转换的低档单埏机价格昂贵,在需要进行数据采集要时往往通过外部A/D转

低成本智能仪表的设计过程中优先考虑的是成本问题,作为核心部件的单片机通常选用低档的8位机或4位机。就目前的情况而言,自带A/D转换的低档单埏机价格昂贵,在需要进行数据采集要时往往通过外部A/D转换器件,这在很大程度上增加了系统的成本。例如,目前AT89C2051单片机的零售价仅7~8元,而中速A/D转换器件的价格大都在20元以上。本文介绍的低成本A/D转换方法仅使用两片通用、廉价的器件就能达到中速A/D转换的速度和低于16位的转换分辨率。


1 原理

有一线性良好的锯齿波信号,最大幅度为Vmax,正程(0~Vmax)的扫描时间为t2(如图1中的直线OB),在正程扫描期间的某一时刻t所对应的电压Vt为Vmax(t/t2)。图1中的曲线CD为一待测模拟信号,两信号在A点相交,时间为t1,不难理解,线性锯齿波在A点的幅度就是待测的模拟信号的大小,其值Vt1可以表示为:Vt1=Vmax(t1/t2)。这就是说,可以采用一种方法将待测的模拟信号与线性锯齿波进行比较,当线性锯齿波在某一时刻的幅度超过待测模拟信号的幅度时就会引起比较器输出状态的改变。因此,测出比较器输出状态翻转的时间,就能通过计算得到待测模拟信号的大小。

2电路及A/D转换的过程

图2给出了具有8位分辨率的A/D转换电路。图中,IC1为AT89C2051 单片机 ,其P1.0和P1.1除了具有通用I/O口线的功能外,还是内部模拟比较器的同相输入端和反相输入端,比较器输出的结果在内部连接到P3.6。IC2和IC3为线性锯齿波产生电路,其正程开始扫描的时刻由单片机的P3.7控制。IC3为一双输入与非门缓冲驱动器,这里等效为一个开关。当P3.7=0时,开关断开,C1通过R1、W1充电,线性锯齿波开始正程扫描,同时单片机内部定时器0开始计数,计数脉冲为单片机内部时钟。待测的模拟信号从P1.1输入,因为线性锯齿波电压是从0开始线性递增的,所以在开始正程扫描的时刻,P3.6为0.当锯齿波的电压线性递增到超过待测模拟信号的电压时, 比较器的输出翻转,P3.6为1,此时定时器0的数值就是A/D转换的结果,也就是图1中所示的t1,通过前面的公式就可以得到待测模拟电压的值。其程序框图如图3所示。

3 线性锯齿波电路参数的确定

AT89C2051 单片机 的定时器0是一个16位计数器,因此这种方法所能达到的最高分辨率为16位,在最高时钟频率下(24MHz)完成一次A/D转换的最长时间约为33ms。在实际应用过程中不一定使用这么高的分辨率,在8位分辨率的情况下完成一次A/D转换的最长时间为128μs。下面以8位分辨率为例介绍锯齿波电路参数的确定方法。

对于图2电路,当P3.7输出为低时,锯齿波正程扫描开始,C1经R1、W1充是,其电压Vc1为:

V c1 =VCC×(1-e-(t/τ))

其中τ=(R 1 +R w1 )C 1

如果运放IC2:B将V c1 放大10倍,其输出为:

Vo1=[1+(R 3 /R 2 )]V c1

=10V cc (1-e-(t/τ))

因为IC2:B的输出并不是线性锯齿波,所以增加一级IC2:A用作非线性补偿,其输出电压V o2 可表示为:

V o2 =V i2 =(V o1 +V c3 )/2

=[10V cc (1-e-(t/τ))+V o2 (1-e-(t/η)12)]/2

式中:Vcc=5V;η=(R5+Rw2)C3

上式经过整理可得:

V o2 =50(1-e-(t/τ))/(1+e-(t/η))

上式就是线性锯齿波的理论表达式,通过合理选择τ、η的值,就可以得到线性良好的锯齿波。

在实际设计中,我们通过一段C语言程序可根据上式先从理论上求得最佳的τ、η的值,再根据实验结果进行调整。其程序如下:

#i nclude

#i nclude

int main(void)

{

int τ=640, η=610; /*预置τ、η的值*/

double result,result-bak=0;

double t,x,y;

system(“cls”); /*清屏幕*/

for(t=0;t<=127;t+=0.5)/*8位分辨率时,锯齿波的正程为128微秒*/

{

x=-t/τ;

y=-t/η;

result=50*(-exp(x))/(1+exp(y));

printf(“%4FMV”,(result-result-bak) 1000);/*每0.5微秒递增的电压(mv)*/

result-bak=result;

}

}

在τ=640μs、η=610μs时,通过上述编程处理,可使锯齿波非常接近线性,每μs的线性误差均在0.1mV以内,完全可达到8位分辨率A/D转换的要求。

4 误差分析及补偿

采用该方法进行A/D转换的误差来源主要有两个,第一是锯齿波的非线性此起的误差,根据上面的叙述,锯齿波的非线性基本上对A/D转换的结果不产生影响;第二是 单片机 在控制A/D转换的过程中引出的,这包括三个方面:其一是在“打开转换开关”和“定时器开始计数”这两个动作中单片机不可能同时完成;其二是单片机判断片内模拟比较器翻转的过程需要两个机器周期,而计数器最小的计数单位为1个机器周期;第三个原因是单片机确认模拟比较器输出状态翻转和关闭定时器不可能同时完成。对于第一和第三种情况引起的误差,由于它的确是指令执行所引起的,其误差的数值取决于指令执行的时间,因而在转换结束时将定时器0的值减去这个时间就可以了;而第二种情况引起的误差是无法进行补偿的。

5 结束语

采用本文所述的方法所设计的数据采集系统成本低廉,接口简单,具有较高的性能价格比。需要指出的是,为保证系统的长期稳定性,应采用高稳定的积分电容(C1、C3)。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭