设计与开发

单片机好卖吗 全球缺芯,单片机虽然分类多应用广,可是在这个时代依然供不应求

小编 2024-10-06 设计与开发 23 0

全球缺芯,单片机虽然分类多应用广,可是在这个时代依然供不应求

单片机的分类及应用

MCU按其存储器类型可分为无片内ROM型和带片内ROM型两种。对于无片内ROM型的芯片,必须外接EPROM才能应用(典型为8031);带片内ROM型的芯片又分为片内EPROM型(典型芯片为87C51)、MASK片内掩模ROM型(典型芯片为8051)、片内Flash型(典型芯片为89C51)等类型。

按用途可分为通用型和专用型;根据数据总线的宽度和一次可处理的数据字节长度可分为8、16、32位MCU。

目前,国内MCU应用市场最广泛的是消费电子领域,其次是工业领域、和汽车电子市场。消费电子包括家用电器、电视、游戏机和音视频系统等。工业领域包括智能家居、自动化、医疗应用及新能源生成与分配等。汽车领域包括汽车动力总成和安全控制系统等。

单片机的基本功能

对于绝大多数MCU,下列功能是最普遍也是最基本的,针对不同的MCU,其描述的方式可能会有区别,但本质上是基本相同的:

TImer(定时器):TImer的种类虽然比较多,但可归纳为两大类:一类是固定时间间隔的TImer,即其定时的时间是由系统设定的,用户程序不可控制,系统只提供几种固定的时间间隔给用户程序进行选择,如32Hz,16Hz,8Hz等,此类TImer在4位MCU中比较常见,因此可以用来实现时钟、计时等相关的功能。

另一类则是Programmable Timer(可编程定时器),顾名思义,该类Timer的定时时间是可以由用户的程序来控制的,控制的方式包括:时钟源的选择、分频数(Prescale)选择及预制数的设定等,有的MCU三者都同时具备,而有的则可能是其中的一种或两种。此类Timer应用非常灵活,实际的使用也千变万化,其中最常见的一种应用就是用其实现PWM输出。

由于时钟源可以自由选择,因此,此类Timer一般均与Event Counter(事件计数器)合在一起。

IO口:任何MCU都具有一定数量的IO口,没有IO口,MCU就失去了与外部沟通的渠道。根据IO口的可配置情况,可以分为如下几种类型:

纯输入或纯输出口:此类IO口有MCU硬件设计决定,只能是输入或输出,不可用软件来进行实时的设定。

直接读写IO口:如MCS-51的IO口就属于此类IO口。当执行读IO口指令时,就是输入口;当执行写IO口指令则自动为输出口。

程序编程设定输入输出方向的:此类IO口的输入或输出由程序根据实际的需要来进行设定,应用比较灵活,可以实现一些总线级的应用,如I2C总线,各种LCD、LED Driver的控制总线等。

对于IO口的使用,重要的一点必须牢记的是:对于输入口,必须有明确的电平信号,确保不能浮空(可以通过增加上拉或下拉电阻来实现);而对于输出口,其输出的状态电平必须考虑其外部的连接情况,应保证在Standby或静态状态下不存在拉电流或灌电流。

外部中断:外部中断也是绝大多数MCU所具有的基本功能,一般用于信号的实时触发,数据采样和状态的检测,中断的方式由上升沿、下降沿触发和电平触发几种。外部中断一般通过输入口来实现,若为IO口,则只有设为输入时其中断功能才会开启;若为输出口,则外部中断功能将自动关闭(ATMEL的ATiny系列存在一些例外,输出口时也能触发中断功能)。外部中断的应用如下:

外部触发信号的检测:一种是基于实时性的要求,比如可控硅的控制,突发性信号的检测等,而另一种情况则是省电的需要。

信号频率的测量,为了保证信号不被遗漏,外部中断是最理想的选择。

数据的解码:在遥控应用领域,为了降低设计的成本,经常需要采用软件的方式来对各种编码数据进行解码,如Manchester和PWM编码的解码。

按键的检测和系统的唤醒:对于进入Sleep状态的MCU,一般需要通过外部中断来进行唤醒,最基本的形式则是按键,通过按键的动作来产生电平的变化。

通讯接口:MCU所提供的通讯接口一般包括SPI接口,UART,I2C接口等,其分别描述如下:

SPI接口:此类接口是绝大多数MCU都提供的一种最基本通讯方式,其数据传输采用同步时钟来控制,信号包括:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)及Ready信号;有些情况下则可能没有Ready信号;此类接口可以工作在Master方式或Slave方式下,通俗说法就是看谁提供时钟信号,提供时钟的一方为Master,相反的一方则为Slaver。

UART(Universal Asynchronous Receive Transmit):属于最基本的一种异步传输接口,其信号线只有Rx和Tx两条,基本的数据格式为:Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even, Odd or None) + Stop Bit(1~2Bit)。一位数据所占的时间称为Baud Rate(波特率)。

对于大多数的MCU来讲,数据为的长度、数据校验方式(奇校验、偶校验或无校验)、停止位(Stop Bit)的长度及Baud Rate是可以通过程序编程进行灵活设定。此类接口最常用的方式就是与PC机的串口进行数据通讯。

I2C接口:I2C是由Philips开发的一种数据传输协议,同样采用2根信号来实现:SDAT(串行数据输入输出)和SCLK(串行时钟)。其最大的好处是可以在此总线上挂接多个设备,通过地址来进行识别和访问;I2C总线的一个最大的好处就是非常方便用软件通过IO口来实现,其传输的数据速率完全由SCLK来控制,可快可慢,不像UART接口,有严格的速率要求。

Watchdog(看门狗定时器):Watchdog也是绝大多数MCU的一种基本配置(一些4位MCU可能没有此功能),大多数的MCU的Watchdog只能允许程序对其进行复位而不能对其关闭(有的是在程序烧入时来设定的,如Microchip PIC系列MCU),而有的MCU则是通过特定的方式来决定其是否打开,如Samsung的KS57系列,只要程序访问了Watchdog寄存器,就自动开启且不能再被关闭。一般而言watchdog的复位时间是可以程序来设定的。Watchdog的最基本的应用是为MCU因为意外的故障而导致死机提供了一种自我恢复的能力。

重要提醒!!

打开头像关注我,个人简介分享干货

单片机为什么不到一年时间涨这么多?

核心原因就是供不应求,全球缺芯。

前段时间,上家公司老板找我问了下以前产品的问题,顺势就聊聊大家最近在做的事,做的如何之类的话。

听老板语气都感觉有气无力的,其实不用他说,我都知道,前几年公司都是一直在亏钱,最近几年就更不容说了。

我大概3年前从那里离职,帮公司做了2款成品,客户刚准备量产了,疫情就来了。

所以,离职原因是不想拖累公司,因为当时发工资都比较困难了。

当然,我也没那么伟大,也怕公司拖欠工资影响到自己生活,毕竟自己也拖家带口的。

自己陪公司熬了几年,公司产品基本上也是我开发的,辞退我老板也开不了口,为了让大家体面一点,我就主动提出辞职了。

疫情,只是刚刚开始,接踵而来的芯片价格暴涨,更是雪上加霜,家里有矿的老板也经不起这种冲击啊。

STM32低端的原来才几块钱,后面涨到了100多,十几倍这样涨。

以前是渴望客户下单,现在是烧香拜佛希望客户别下单。

很多客户,你跟他一下子涨价10几倍肯定不接受,如果不做这个客户可能就流失了。

很尴尬,也很痛苦,有些企业干脆不卖产品了,卖库存芯片更挣钱。

在这两年买车的小伙伴估计也很清楚了,以前交车最多3个月,最近两年让你等6,7个月都是很正常的事。

比如说比亚迪的车,很多都生产好了,就是缺芯片。

所以,不单单是树莓派涨价,基本所有芯片都涨了。

是什么原因导致芯片涨价?

1.疫情

这是全球的灾难,导致很多企业停工停产,中间时间损耗以及各种连环效应,导致芯片严重缺货,供不应求。

虽然我们国家得到控制,但是欧洲国家也是芯片的主要产地之一。

2.现货商家囤货

有些商家前期大量购买现货芯片,恶意囤货,造成市场缺货,然后再高价卖出,还有一些卖假芯片的。

3.原材料价格上涨

2019年的时候,原料”沙子”短缺,沙子里面含有硅元素,是制造半导体器件的基础材料,导致整个产业链从沙子到芯片各个环节都在涨价。

4.国际关系影响

现在很多高端芯片都来自国外。

现在对于芯片的技术先进性,一般用多少纳米评估。

就是指芯片制造工艺的特征尺寸,我们常说多少纳米的芯片,指的就是这个。

芯片尺寸越小,芯片内部的晶体管密度就越大,性能也越强悍。

可以简单理解成芯片尺寸越小,晶体管密度越大,芯片就越先进。

目前全球制造芯片最牛逼的还是台积电,现在能量产的是5纳米。

我们现在还没这么精密的光刻机,高端芯片还不能完全国产化。

5.产能和需求不匹配

现在越来越多的产品都趋向智能化了,比如说平板、手表、手环、耳机、汽车等等太多了。

全球疫情,大家都居家隔离和办公,反而催生了对电子产品的需求。

每个电子产品都会用到很多芯片,再加上产能扩充并非易事,导致短时间内芯片供不应求。

所以,如果有条件在产业链上游混饭吃,肯定是最爽的。

没条件就只能沿着产业链逐步往下,找到能把自己条件利益最大化的一个环节深耕,一般也不至于饿肚子。

单片机有前途吗?说说我的看法

前言:

前两天逛x宝,在直播栏发现了韦东山老师的视频,他以没前途,没前途两方面否定了单片机的前途,学会了ARM裸机开发之后stm32,51都是很简单,引导大之后家用ARM裸机开发来学习单片机开发,不管老师说的我是否认可,但是无疑韦东山老师是带我进入了S3C2440的世界,当年大学就是听着他的课我来学习的ARM开发的,下面说说我对单片机开发和嵌入式开发的看法。

单片机开发

1、开发环境一般用Keil(51,ARM),单片机开发我还是不建议用arm版gcc来开发(要写makefile,要写链接脚本),对于初级用户不友好,而Keil就跟VC 6.0一样,Build工程就能产生hex,我们不用关心中间到底是怎么编译链接的,想一想,我本来要点个Led灯,还得搞工程写各种对我来说没有任何意义的文件,还得学习这些文件内容描述格式,有时还半天搞不定,这太打击我对单片机学习的积极性了。灰心丧气,别人都说会C语言就可以给单片机编程了,我怎么还要学习这么多内容?命令行功能灵活,使用复杂,而IDE使用简单,功能够用,我为何不用IDE。

2、如果我们在小公司的话,单片机的软硬件都由一个人来完成,在整个项目中,我们关注的整个系统,我们要芯片选型,PCB绘制,程序编写,甚至样板我们还需要自己焊接,再独立完成软硬件的调试,想想这都需要一个人很强的动手能力,硬件有问题,我们还得改版继续循环之前的工作。

3、如果我们在大公司的话,要么我们做硬件,要么我们做软件,如果软件基于RTOS,也可以完成多任务的逻辑复杂的业务需求,没有所谓单片机开发很简单一说,毕竟赚钱的是业务服务,而不是一堆硬件芯片。随着现在单片机的性能越来越高,以前用ARM+Linux完成的功能现在用单片机也能完成,单片机软件开发也是嵌入式开发的一种。

嵌入式Linux开发

1、嵌入式Linux开发分为系统开发和应用开发,系统开发人员要跟各种硬件打交道,完成硬件驱动,调试硬件板子是否工作正常,系统是否稳定,同时优化裁剪Linux内核及文件系统和SDK等,工作量小,但是要求开发人员能力很高,没有一个公司愿意要一个培训班出来的做系统开发,没人相信你的能力,除非公司是你们自己家的。嵌入式Linux应用开发其实跟普通的Linux开发没什么区别,只是考验一个人编码的能力,软件工程的能力。

2、嵌入式Linux板子是一个完整的嵌入式计算机,板子上面资源丰富,有上GHz的处理器,有上GB的内存,有上GB的Flash,可以完成各种单片机无法完成的功能,但是单片机未必能完成嵌入式Linux完成的功能,所以一般用Linux来完成复杂的任务处理。

3、软件开发的时候,我们只有gcc命令行工具可以用,有时要折腾各种Makefile,编辑器我们可以选择我们喜欢的任何一款编辑器,最常用的代码阅读器是SourceInsight,IDE我们可以选择Eclipse,Qt Creater等,调试的时候我们只有gdb server来用,有时很不方便。

总结

只要C语言功底强,嵌入式Linux软件开发还是单片机软件开发都可以轻松搞定,有时我们没必要太强调它的前途还是钱途,适合我们能力的工作才是最好的,不要为了工作忘记了生活,祝大家开心每一天。

相关问答

利用 单片机 设计些智能家居或玩具,当做业余副业,能有多少收入一个月?

现在很难说了,早些年可能还可以。因为是手工做的,所以成本会比较高,但是一般业余做的DIY都没有外壳或者外壳比较简陋,也很难卖上价。现在都是成批量的压低...

有没有外包 单片机 项目的人? 单片机 设计外包性价比好不好?

[回答]如果你懂单片机编成和设计,你可以自己设计各单片机程序复制机,设计好电路用感光板制版,如果有资金,可以买带插SD卡的芯片批量编成器,大概要2000块以...

俺是机械厂搬运工,想自学 单片机 ,请问AVR和STM8 单片机 哪个容易入门?

不要冠以''搬运工''想学单片,单片机人人都能学,单片机只是一种常用工具,要用单片机做事还要有许多辅助工具。如建数学模型是最关键一个环节,没有数学模型计算...

自动化专业毕业后做啥比较赚钱?

谢邀作为一名自动化专业毕业已经8年的学长,我会告诉你,很多人都转行了。先说一下自动化出来对口的行业,做柜子,就是做大型变电设备。这个的确在所有的工程...

设计电路板好吗?各位好基友!麻烦回答一下,关于从事电路板...

[回答]建议联系,他们是专业承接电路板设计开发的公司,做产品非常的负责靠谱,可以去咨询咨询还不错的,他们专业承接单片机解决方案,以前朋友在那做了,还批...

电工上岗证可以买吗?

师傅你好,对于电工上岗证可以买的问题,我觉得着实没有什么必要!原因如下:1,价钱不贵,贵在技术!考取电工上岗证价钱本身并不贵,几百块就可以了,但是电工...师傅你...

学习51 单片机 并且会应用到底是在学什么?

它就想是一把剑,如果很厉害,在很多地方,都可以将持枪的人一剑封喉。各种新型的51单片机,性价比,相当的领先。一个项目,想要赚钱,就不会忽略性价比。有...各...

想开办一个arduino培训机构,可行吗?

没有什么实际意义,arduino是一个单片机的开源应用平台。你这个培训机构针对人群是什么人呢?如果是大学生,这个专业的一般都会去学学51和stm32,接下来是嵌入式...

非计算机专业自学计算机编程,然后就业可以吗?

学习编程现在随着互联网人工智能和大数据分析的发展现在学习计算机的编程的人非常的多,那么作为非科班出身学习计算机就要比其他科班的同学要更加的努力坚持。1...

想问问大家都在做什么职业,收入如何?

这个时...于是痛定思痛,准备重新开始积累,找个副业试试水。不久前瞄上了淘小铺,略微分析了一下,感觉阿里的品牌应该值得博一下,毕竟它更希望淘小铺平台能成功,也...

猜你喜欢