STM32和C51在应用方面如何选择,比如设计电压检测系统?
根据提问者的意思:打算设计一个电压检测系统,在STM32和C51单片机上不知该如何选型,需要考虑哪些因素呢?
电压检测系统设计原理设计电压检测系统,最关键是电压采集精度问题。电压检测属于模拟量转化为数字量即A/D转换,需要使用单片机的ADC接口。
其基本设计原理是:
1)直流电压检测:外部直流电压先经过隔离,模拟量隔离的方式一般有线性光耦、隔离运放等(不作要求也可以不可隔离),然后通过运放进行降压,再经过RC滤波电路后接入ADC接口,如下图为本人常用的直流电压采样电路,直流28V电压经过高精度电阻网络降压后,再经过差分运放进行隔离,通过差分运放可以将输入电源地(28GND_IN)与采集电路模拟地AGND隔离,然后通过RC电路进行滤波,最后接入处理器ADC接口;
2)交流电压检测:外部交流电压先经过隔离(一般采用电压互感器隔离)、变压、整流、变压、RC滤波然后接入ADC接口。如下图为本人常用的一种交流电压采样电路,下图采样的是400HZ交流电电压,交流电压先经过差分运放进行隔离,然后通过AD736芯片进行有效值转换(该芯片能将交流电压转化为直流电压),然后通过运放放大,在经过RC电路进行滤波(未画出,原理和上图一样),最后接入ADC接口。
如何选择单片机,需考虑哪些因素?了解了电压采样的原理之后,该如何选择合适的单片机呢?单片机种类很多,选型确实是令人头疼的事,但是有很重要,有很多不得不考虑的细节。单片机选型既要考虑是否能够满足功能要求,还要考虑可靠性、经济型、供货情况等,一般从以下几个方面进行选型:
1、单片机是否有ADC接口(模数转换接口),ADC接口的数量,ADC接口的分辨率多少?比如10位、12位等,以及ADC采样速率等,这是首要考虑的问题。ADC接口数量及有无直接影响该功能,接口数量最好能满足模拟量采集要求,比如有3路模拟量则选择单片机时ADC接口至少3路以上,没有ADC接口的单片机也不是一定不能使用,可以通过AD接口芯片外扩实现,但是增加电路设计麻烦及设计成本。ADC接口的分辨率直接影响AD的采集精度,AD的位数越高其分辨率越高,8位AD的分辨率只有Vref/255,10位AD的分辨率为Vref/1023,12位的AD分辨率为Vref/4095,其中Vref为单片机的基准源(参考源)。比如要求0~10V的输入电压采样精度为0.5%(满偏),则采用8位、10位的AD都达不到要求,只有12位以上的AD才可以(头条@技术闲聊原创),这只是软件误差,采样精度还包括硬件线路、器件等误差。AD的采样速率直接影响AD数据的更新频率,采样速率也不是选择越高越好,能够满足实时更新频率要求即可。
2、其它接口功能是否满足系统要求,比如普通IO口的数量是否满足要求,整个电压采集系统是否需要SCI通讯、CAN通讯、I2C通讯、SPI通讯等接口,定时器、外部中断接口、PWM接口等时候满足实际要求,以及存储器RAM、flash空间大小,能否满足程序数据存储等。
3、性能方面,单片机支持的最高时钟频率,选择8位、16位还是32位单片机?单片机位数决定了处理数据的总线宽度,如16位的数据使用16位单片机一次就可完成,使用8位单片机则需分两次进行。还有其功耗对比,处理器都讲究低功耗,功耗越低芯片的发热量越小,性能越稳定,可靠性越高。
4、价格方面,其它功性能参数都差不多的情况下,综合考虑价格问题,节约经济成本。
5、供货情况,是否大公司生产的芯片,该芯片是否停产?能够长期供货?等。
STM32和C51单片机比较1、STM32单片机是意法半导体生产的32位单片机,属于ARM内核的一个版本,比传统的51单片机高级很多!具有很多强大的资源,比如包含USB通讯接口。其主频有24MHZ、32MHZ、48MHZ、72MHZ、84MHZ、100MHZ、180MHZ(头条@技术闲聊原创)等等,AD分辨率有12位、14位、16位等,还具有DAC接口(数模转换接口),定时器、中断口、PWM接口等等,其功能只会比51单片机多,是功能很强大的一款单片机,绝对能够满足系统设计要求。
2、C51单片机属于8位的单片机,其常用的型号有89C51、89S51、80C51、87C51等,C51单片机经过迭代升级,其功能还是不错的,C51单片机的时钟频率一般33MHZ以内,有的具有ADC接口有的没有,一般具有8位、10位和12位的ADC接口,完全可以满足一般精度的模拟量采集。常用的一些SCI、SPI、I2C、PWM、定时器、中断等接口都有,推荐选C8051系列单片机,是比较高级的单片机,内部集成了很多常用的外设。
总结:STM32和C51两种类型的单片机都是可以满足电压系统检测功能的,C51单片机较容易入门,应用非常广泛,资料也多,而STM32单片机比C51高级得多,比较难入门。若是新手还是建议使用C51单片机更容易实现,若想最求高级,好学有时间,有精力可以使用STM32增长知识,积累经验也是不错的选择。
以上是本人的回答,答题不易,如果觉得还可以别忘了点个赞哦!若还有什么不明白的地方请评论区下方留言,若想了解更多相关知识,请关注本头条号,会持续更新内容,谢谢支持!
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.