大家好,今天小编关注到一个比较有意思的话题,就是关于单片机选型依据的问题,于是小编就整理了3个相关介绍单片机选型依据的解答,让我们一起看看吧。
单片机在工业现场应用时为什么比一般单片机有更高的可靠性和稳定性?
问这个问题的人应该是不善于表达的,至少是在这个问题上没有表达清楚。
是不是想问在工业现场使用的单片机要有更高的可靠性和稳定性?
工业现场环境复杂,有可能会有高温、高湿、撞击、振动、雨水、灰尘、静电、电磁辐射等。如果单片机系统抗干扰能力不强,很容易出现工作异常。
例如,如果抗静电能力不强,单片机很容易出现复位或者程序跑飞的情况。如果单片机系统的电磁干扰做得不好,例如有些输入引脚没有做好防护措施,可能会判断错误,一个小的干扰脉冲引起单片机的错误判断,从而执行了不应该执行的操作。如果固定不好,在振动环境下引起元件脱落或者电路板松动,这些都会影响单片机系统正常工作。
如果单片机选型时用的是常温工作环境,那么在高温或者低温环境下工作就会不稳定。
单片机时钟变慢会影响运行速度吗?指令程序执行时间会变长吗?
首先回答你,答案是肯定的。程序的执行就是依靠芯片的时钟的。
- 单片机时钟选择:内部时钟源,外部时钟源
一般单片机系统时钟是可以选择内部时钟或者是外部时钟的。根据不同的应用需求去具体选择。例如一些小项目对精度的要求不是很大,是可以选择使用内部时钟的,这样可以降低些成本,省去了外部时钟电路。但精度,稳定度要求较高,就需要选型高可靠质量的外部晶振和与晶振匹配的电容,一起组成外部时钟源。
芯片内部时钟源:一般是内部RC时钟,也就是由内部电阻电容组成的震荡电路。时钟的精度,稳定度都不是太好,容易受到外界温度湿度的影响。所以每个芯片内部时钟源都是不一样的,都会有一定差异性。但这个差异性在一定的应用中根本感觉不到。感觉不到是由于一般芯片的运行系统时钟都是几MHZ-几十MHZ的频率。即便出现一定的偏差,但这个偏差和总时钟几十MHZ相比,还是相当小的。 一般内部RC的精度是几十ppm-几百ppm。1PPM的意义是1MHZ会偏差个正负1HZ。
芯片外部时钟源:晶振和匹配电容。外部晶振的精度5ppm-20ppm。根据性能要求可具体选择相应参数。
综上:单片机的时钟变慢是会影响运行速度的,不仅时钟有可能变慢,还是有可能变快的。但这个快慢的差异对程序的影响会不会带来一些错误的执行,还需要具体分析程序实现的功能和逻辑。但一般技术的实现都已经考虑了允许误差。
当然会的,单片机的时钟频率就是该单片机指令的处理速度。
最简单的比方,指令程序相当于一段公路,时钟代表你在这条路上开车的车速,车速变慢了,时间自然就长了。
不过单片机的时钟频率一般不会发生变化,如果真的变慢了,那说明出现了故障,应该及时更换。
系统时钟决定了CPU执行指令的时候
CPU的主频大家都知道吧,记得上大学那会装的第一台电脑用的是433MH主频的CPU。现在主流CPU主频一般是3GHz,运算速度已经提升了很多个数量级了。单片机集成了CPU、RAM、ROM等,它的内部也有一个CPU。
单片机的时钟周期、状态周期、机器周期、指令周期是什么?
不同架构单片机的时钟周期、状态周期、机器周期、指令周期是不一样的,以8051单片机为例:
时钟周期:时钟振荡的周期叫做时钟周期,如果使用外部晶振作为系统时钟,晶振产生的一个振荡脉冲叫做一个时钟周期。
状态周期:一个时钟周期定义为一个节拍,两个节拍定义为一个状态周期(可以用S表示),所以一个状态周期等于两个时钟周期。
指令周期:一条指令包括了一个或者多个机器周期,不同指令所需要的机器周期是不一样的,单周期指令只需要一个机器周期,多周期指令就需要多个机器周期。
最简单的指令(单周期指令)它需要12个时钟周期。
单片机时钟决定了指令程序执行时间
我们编写的单片机程序,最终会由编译器翻译为汇编语言,最后编译为机器代码下载到单片机的RoM中去,单片机上电时就会读取并执行ROM的程序。以8051单片机为例:
单周期指令需要12个时钟周期,双周期指令需要24个时钟周期。假如我们使用24MHz的晶振作为系统时钟,那么12个时钟周期的时间为0.5us(纳秒),也就是说执行一条单周期指令需要0.50(纳秒);如果把晶振改为12MHz,12个时钟周期的时间为1us(纳秒),执行一条单周期指令需要1us(纳秒);
欢迎关注@电子产品设计方案,一起享受分享与学习的乐趣!关注我,成为朋友,一起交流一起学习
- 记得点赞和评论哦!非常感谢
同一个项目分别用stm32和51单片机会有什么不同?
李工的经验,有如下几点不同,希望你供你参考。
1.51是8位单片机,而stm32是32位单片机。时钟方面stm32运行频率更高,性能更好。两种单片机性能差别比较大。
2.片上资源不一样。简单讲stm32单片机外设丰富,比如串口,I2c等。stm32单片机片上flash和RAM更大。以后升级功能,改进功能的空间大。如果考虑以后功能升级,建议考虑stm32.
3.成本上应该是51单片机要便宜一些。
4.stm32单片机开发资料和参考程序比较多,有库函数,应用起来方便。51单片机更多直接操作寄存器,开发不方便。
我是北漂李工,一个北漂8年的程序员。
目前在从事家电类产品的嵌入式软件开发,也在使用stm32。欢迎大家关注,收藏,点赞!
在项目开发过程中,我们经常会遇到需要单片机选型,所以我们常常会根据项目功能需求来选择合适的单片机品牌和型号。常见的51内核单片机和STM32单片机也会是我们主要考虑的型号。
STM32与51单片机的参数差异
- 内核不一样,STM32系列目前有很多的内核版本,有Cortex-M1/M4/M7内核,常用的单片机型号STM32F1系列,为Cortex-M3内核,而51单片机其实是指与intel8051内核结构一致的单片机,是其内核结构和时钟树结构相差极大。STM32系列的工作主频也比51单片机的
- 外设不一样,我们常用的STM32F103rct6这个型号,此型号有256K的FLASH,作为程序存储空间,也可以作为单片机参数存储空间,断电不丢失, 还有5个串口,SPI接口,多路定时器和PWM输出控制引脚。其功能比51单片机强大。
- 单片机最小系统不一样,常用封装不一样,51单片机常见DIP40,但STM32常见LQFP封装,STM32F103rct6为LQFP64,能用的引脚更多。
STM32与51单片机软件开发难度差异
STM32使用寄存器比51单片机要多很多,其配置比51复杂,而且中断逻辑,时钟配置使能控制等很多概念都是51单片机中所没有的,再加上stm32很多功能如USB,FSMC。等等功能,其功能更加强大,虽然官方提供了开发固件库和相关开发辅助工具,但很多时候,遇到bug调试难度也加大了很多。
stm32固件库很多实用结构体和指针变量,很多在51单片机开发过程不太注重结构体与指针的使用,那么在STM32开发过程中,就难以理解其固件库的运用逻辑。
STM32与51单片机的性价比差异
STM32比51处理速度快,外设功能丰富强大,所以价格普遍比51单片机偏贵,在项目选型过程中,需要根据项目功能需求,选择合适的单片机,如果是51单片机能用,那么考虑项目成本,肯定是不能选择STM32,如果51单片机不能用,即使再便宜,也用不了。
总之, 作为单片机开发工程师,需要能够进行一定的器件选型能力,这个也是必备的专业技能。
到此,以上就是小编对于单片机选型依据的问题就介绍到这了,希望介绍关于单片机选型依据的3点解答对大家有用。