03.06 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增长知识,积累经验也是不错的选择。

以上是本人的回答,答题不易,如果觉得还可以别忘了点个赞哦!若还有什么不明白的地方请评论区下方留言,若想了解更多相关知识,请关注本头条号,会持续更新内容,谢谢支持!

技术闲聊


STM32和51单片机的选择,要看具体的项目应用综合考虑,要做电压检测就要有高精度的AD转换功能,如果没有要求 高采样率 ,51单片机其实也行,数据量大了就要用到STM32了。

小功能,低成本,低速率,数据量少,低端产品选51;中高端产品选STM32。

51单片机

51单片机是对所有兼容Intel 8031的的统称。该系列单片机的始祖是的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。

STM32

STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核,在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、互补型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。

51单片机过时了吗?

这个问题,相信大家很多人都在问,也有很多人想知道,还有很多人有自己的看法。在大学里,51单片机仍是电子类专业必修的课程,然而这几年随着ARM的火爆,很多51的学习者有了专业一个疑问:为什么还要学51?

单片机和ARM的关系,单片机是“单片微型计算机”的简称;ARM是Advanced RISC Machines的简称,它只是一家微处理器设计企业的名字,因此ARM是他们设定的微处理器的统称;了解了这些,我们可以说单片机是所有所有MCU(微型控制单元)的统称,ARM是DSP只是他们的一 种,ARM属于用公司名称的一种称呼,而DSP则是根据功能(数字处理)命名的一种称呼。但是,在行业内,单片机一般特指8位或16位的MCU,在本文中 仍采用大家熟悉的叫法,把单片机和ARM放在并列的位置。

要解决这一个问题,首先得搞清楚51单片机在市场中的应用情况以及将来的发展情况。众所周知,自从ARM出现以来,短短的几年内便出现 了ARM7、ARM9、M3、M4、A8、A9、A10等等多个系列,其性能也得到了飞速发展,以其高性能,低价格,低功耗等优势迅速占领了MCU的江 山,比起当年的51有过之而无不及。作为32位机,其性能是毋庸置疑的,即便是相同的时钟速率,32位机的处理一些数据的速度也要快于8位机,如一个32 位的加法运算,8位机至少需要4个周期,而32位机只需要一个周期即可完成。ARM的优势在于较高的处理速度,还有丰富的外设资源,还有就是较大的数据和 程序存储空间。相比之下,51单片机就没有优势了吗?当然不是,51单片机的优势在于小巧的内核,成熟的技术(其实现在ARM的技术也很成熟),还有就是 位操作。在相当多的应用场合,我们并不需要ARM如此强大的处理功能和速度,而是只需要简单的控制,51单片机已经完全可以满足实际的需求,这样一 来,ARM的优势便显的不再重要,而51的位操作则是ARM达不到的,也许你会说ARM同样可以实现位操作,但如果你了解的比较深的话会发现,ARM的位 操作是通过移位,与或等操作之后实现的,而51单片机则又位寻址空间,是真正的位操作。再一个就是价格,在价格上最便宜的ARM好像已经降到了0.5美元 (可能是这个价格,记不清了),而最便宜的51可能是0.5RMB。但一些中档的ARM则要比高端的51单片机便宜了。十几或者几十RMB的ARM的性能 是同价格的51单片机无法比拟的。此外,由于51内核简单,一些高端的51增加的功能使得他们的51单片机操作起来变得异常复杂,而且不同厂家的操作完全 不同,这样就增加是使用的难度。综合看来,在高端或者中端应用方面,51单片机已经没有了任何优势,其市场主要是一些老产品或者不想学新东西的老工程师在 支撑,其消亡也是必然的。然而在低端应用方面,51仍然可以占有一席之地,除了操作和价格上的微弱优势,其更大的优势在于学习简单。

从学习角度来讲,衡量是否学会一个MCU的标准应该是你写的程序你应该知道他是怎么执行的,应该具体到某一个指令所涉及到的寄存器,看到一个指令之后脑子里应 该是一串01运算才行,而不是可以简单的应用了。虽然现在很多公司推出的新产品都给出了固件库,可以使工程师更快的进行编程使用。但是,这样的结果是使更 多的硬件工程师变成纯软件工程师而已。你会对一个芯片编程,但你并不了解他。也许有人说,反正我能用了就行了,干嘛非要了解它呢。其实这样想就错了,要想 真正的用好一个芯片。不了解他是不行的,甚至不深入全面的了解都是不行的,一些硬件上的简单改动有可能使系统的性能发生很大的变化。因此要想设计一个比较 好的产品,必须对芯片本身有一个深入的了解。在这方面,51单片机由于内核简单,很容易上手并容易深入了解。学习起来比较简单。熟练掌握了51,再学习其 他的芯片,如ARM也是很简单的,因为所有的微控制器的功能结构框架都是一样的,了解了一种之后再学习另一种很简单。相比复杂的ARM结构,51结构就显 的很简单了,甚至可以认为,ARM是在51的结构上增加的许多功能模块构成的,虽然二者的结构并不真的相同。

我觉得,即便将来51的应用没落了,学习51仍是一种不错的入门手段,就行学计算机的一直在学X86一样。作为电子产品的设计者,如何在种类繁多的MCU中选择自己合适的一款才是最重要的。

虽然不可否认51单片机越来越多的被高端产品,尤其是ARM所替代,但我仍觉得51单片机没有过时,学习51单片机也没有过时!

51单片机可以做什么

51单片机作为学习单片机的过程中必须要经过的一个过程来讲是非常重要的,原因在于51单片机从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,处理对象不是字或字节而是位。不但能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。

工业控制领域方面,汽车行业,单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等,很多设备的底层控制都是采用51单片机实现的。仪器仪表方面,51单片机由于成本低廉,所以很受该行业欢迎。汽车行业,一辆汽车的控制MCU很多,51单片机也占有一席之地。

通讯方面,51单片机在GPS、红外、射频等方面都有很广泛的应用。航海航空,尽管ARM逐步占有了主导地位,但是各个模块的底层51单片机仍然再使用。

其他各个方面,其实作为最早大量使用的单片机之一,51单片机在各行各业都没有退出历史舞台,仍然在发挥作用。51单片机仅有一个累加器ACC,许多处理都要通过ACC来完成,因此就需要有寄存器来保存中间结果。访问外部数据存储器,只能用间接寻址,可用@DPTR访问全部64k(这里包括你扩展的打印机,显示器,键盘等),对于一个区域,也可以用P2配合R0或R1完成访问,如果使用中断,中断中又使用比较多的寄存器,可以交换整个寄存器组,开机隐含为0组,可以换用1,2,3组。


Qi朱哥说


STM32是性价比非常高的32位单片机,片上资源丰富、性价比高、性能不错;而C51单片机是8位的单片机,应用广泛、资料众多,很多人的单片机都是从51单片机入门的。现在的51单片机国内被宏晶STC发扬光大。这两款单片机如何选型?

在设计产品时,能实现功能的方案可能有很多、芯片也有很多选择,主要从功能需求、物料成本、供应商关系、供应周期等一系列因素去综合考虑。题目是想用单片机来设计电压检测系统,单纯的从这一个单一的需求考虑,不会对单片机的选型造成困扰,因为单片机都能实现这个功能。

电压检测电路,从简单了讲就是通过多个电阻串联分压,用单片机采集精密电阻两端的电压然后根据比例关系计算所要采集的电压。只要单片机具有AD采样端口,那么这个功能都是可以实现。早期的51单片机没有AD功能,需要外挂一颗AD采样芯片。但是现在的51单片机也是具有AD采样功能的。所以,STM32和51单片机都能实现这个功能。

在选择单片机时,可能需要考虑如下几个方面:

1 功能需求&片上资源

电路的设计来源于需求,需求决定了技术方案、实现原理以及芯片的选型。有些需求可能用到单片机的片上资源,比如采集脉冲,会用到单片机的CCP功能;采样电压信号,需要用到单片机的AD功能;实现通讯功能,需要用到单片机的UART串口。所以,需求是决定选型因素之一。

2 物料成本决定了选型

设计产品时,成本越低那么所能获取利润的空间也就越大。在满足需求的前体现,选择成本低的物料永远是正确的。

3 供应商关系以及采购周期

这个在做产品时非常重要,公司都有自己的供应商花名册,和供应商关系的好坏决定了采购成本、供货周期等问题。你可能会说,关系不好换一家就可以了,但是很多大公司都有系统供应商,不能随便更换或者新增供应商,所以会有一批专门做供应商管理的岗位。

4 技术资料的丰富程度

如果是个人做个板子实现功能的话,这个很重要,资料越多越容易入手。但是从公司层面,除了行业内的头部公司,技术往往不是限制产品量产的因素。

就设计电压检测系统而言,用51或者STM32都是可以的。如果有很多功能的话,优先选择STM32吧。

以上就是这个问题的回答,感谢留言、评论、转发。更多电子设计、硬件设计、单片机等内容请关注本头条号:玩转嵌入式。感谢大家。

玩转嵌入式


C51为核心产品一种垄断市场,首先市场积累了大量的51类产品。其次市场积累了大量C51工程师。最后单片机价格一直是占据市场主要原因。现在价格某种程度上不是问题。

初级STM32比C51更加容

C51占据市场时间长,积累了大量的文档、代码。所以开发工作相对比较容易。虽然STM32有更多的寄存器,但是厂家为我们准备了非常好的库函数,大量的文档。大量示例程序,参考书籍非常多。程序编写也比较容易。毋庸置疑,在将来一程序段时间会占据市场。

总结一下 通过上边的对比可以看到,虽然可以使用相同的编程语言进行程序编写,但是在编程方式和编程的快捷程度上均是STM32比较优秀。

51确实是经典,但也确实有点过时了。而无论是51系列还STM32系列,都同属于单片机,可以说STM32系列是51系列的继任者,随着现在技术发展,对硬件的拓展性和处理能力上有了更高的要求。STM32无论是内核部分还是总线宽度;无论是速度、功耗、外设都比51系列强大。

所以要选择STM32。


我爱制作show


我在大学期间把STM32和51单片机都学过了,现在是毕业的第六年,出来工作后一直从事的也是嵌入式开发相关的工作,目前是负责产品。


STM32单片机


51单片机


我认为决定单片机选型主要因素有技术性能、开发难度、成本价格、可获得性等几个方面。

从技术的角度看,STM32单片机和51单片机的区别在于STM32单片机的性能比51单片机的好,

1、STM32是基于ARM的Cortex内核,51单片机是基于51内核的,Arm内核无论是运行速度上还是支持的指令集上都优于51内核。

2、STM32外设较多,51的外设相对较少,STM32性能强大的可以支持并行总线FSMC、触摸屏驱动、摄像头驱动等等,普通的IIC、串口、SPI总线都是具备的,资源可以非常丰富,51单片机相对外设就少很多。

3、开发应用难度上,51单片机用于上手开发,STM32则相对较难上手,两者在网上可以找到的资料都很多。

从产品应用角度上看,主要需要关注的是单片机成本价格、可获得性、稳定性三个方面看。

成本价格:开发产品都知道,在相同性能的情况下,产品的成本越低,市场优势越大,单片机的选型满足性能和功能要求即可,切勿追求技术优势。

可获得性:就是采购渠道,有些偏门的单片机信号很难采购,一边产品开发选型上就不建议使用,否则在产品开发和生产过程中会出现物料紧缺的情况。

稳定性:产品一定是要稳定的,单片机作为单板控制器的核心部件,一旦单片机出现问题,那么整个产品的功能全部OVER。需要结合应用的场景来确定,通常在汽车、军工、医疗等领域要求可靠性高,家用等领域要求没那么高。


不同产品选择不同芯片


根据产品选型


如题所说的设计电压检测系统:那么技术方面需要考虑的是电压采集精度多少、范围多少,如果要求精度不高,直接选用有AD采集的单片机。该电压检测系统应用于什么领域,是可靠性要求高的还是低的,结合该系统的目标成本综合考虑以上说的因素进行选型。


搞搞单片机


STM32和51单片机在应用方面如何选择。其实并不难。STM32与51单片机在应用上的关系。简单来说就是包含和被包含的关系。就是说51单片机能完成的事情,STM32也能完成。STM32能完成的事情,简单的51也可以完成。在应用上如何选择需要考虑的因素有成本、片上资源、工作电压、芯片外围元件,自己现有元件,自己能力。

成本。成本是我们做硬件的一个重要因素。如果项目后期可以量产的话,几分几角也会相差很大的成本总价。

片上资源。考虑芯片上是否已经集成了项目所需要的硬件资源可以提供直接使用。比如说电压检测需要用到的是模电转换为数电的功能, 那么就要考虑所选芯片上是否用这个功能。STM32系列的芯片基本上都支持模数转换,51有一部分支持模数转换。如果选择的芯片都支持模数转换那么还需要考虑的是转换的精度以及编程实现的难度。

工作电压。按照硬件系统的供电电压来考虑使用哪一种芯片。51系列芯片多数都是5V的工作电压,STM32是3.3V的工作电压。如果系统供电是5V你使用STM32,那么你就还需要在硬件上增加电压转换部分的硬件,那么就需要增加成本。

芯片外围元件。其实就是芯片能够正常工作的最小系统复不复杂。

自己现有元件。如果项目只是一个工程样板,需要短时间看见结果,最好的方法就是用现有的元件去搭建。如果使用现在没有的元件那就 需要采购新的元件,时间上就会延长。

自己能力。是指自己对那种芯片使用上更容易完成项目的要求。比如说你一直都在使用51单片机,叫你马上使用STM32,那你是不是要去熟悉一下STM32的相关知识。

我的建议就是,最终你的这个项目如何选用芯片就看你自己的实际情况。



嵌入式小萧


优先选择51兼容单片机机国产宏晶8A8K。

一说51,人们总会自然想到AT89C。事实上,在89系列之后,宏晶逐渐推出了10,11,12,15系列,近年又推出8A8K. 速度,内存,外设等与传统51有天壤之别。自带10位ADC,做电压检测很方便。

用stm32F1系列当然也没问题。选择什么型号的单片机作为开发核心,要看自己最熟悉什么,价格性能功能都不太重要,因为单片机价格在整个项目中占比几乎可以忽略,性能方面也不用担心,功能一般富富有余。

看自己最熟悉什么!


分享到:


相關文章: