硬件研发工程师需要掌握的单片机
扫描二维码
随时随地手机看文章
一般情况下,硬件研发工程师需要全部掌握采用STC系列51单片机(下文简称:STC单片机)和STM32单片机(由于STM32在国内比较流行,用该系列代表基于ARM公司Cortex-M3内核的所有单片机)设计产品的知识、经验和技能。在设计产品过程中,硬件研发工程师会发现有很多具备独立功能和可以重复使用的硬件功能模块(下文简称:硬件模块)可以像软件对象编程中的类一样,进行封装和存储后,作为自己的知识和经验的财富。鉴于硬件模块相对显性的特点,硬件研发工程师一般都会有意或无意的收集一些硬件模块。可是,很多硬件研发工程师由于产品研发进度,公司及身边的同事不注重知识财富库的建设,又有多少硬件研发工程师能认真和细致的建立过自己的硬件模块库呢?
单片机又称单片微控制器,全称是单片微型计算机,简称MCU,主要是指8位单片机。它既是典型的嵌入式微控制器,也是一种集成电路芯片,主要是把一个计算机系统集成到一个芯片上,相当于一个微型的计算机,其应用领域非常之广,譬如将单片机用于笔记本电脑或者学习机上,可以减小二者的重量和大小,让用户携带起来更为方便。
在当今这个模拟电子技术看似被冷落(其实无处不在)和数字电子技术主导的信息时代,对于刚入电子信息相关专业的大中专学生或需要转型进入电子产品硬件研发行业的工程师而言,首先面对的第一个问题是:8位的51单片机和32位的基于Cortex-M3内核的STM32单片机哪一个作为电子技术入门的硬件平台更合适?在综合收集网上相关信息后,我相信很多刚入行的朋友,都应该被支持51单片机和STM32单片机任一种硬件平台作为入门的理由搞得不知所措。
还记得12年的时候,当时市场上8位机还很多,尤其51单片机在stc的带领下,占据着大片的单片机市场,学单片机大家都用51,大学教材也是以51来入门,虽然此时Atmel系列51单片机已经不太常见了,但国产51任占据着90%的国内51市场,可谓是51单片机经久不衰,低端8位机市场基本不可替代,经得住了历史的考验,当时8位机还有avr,16位机有msp430,其他厂家单片机还有pic,高端嵌入式处理器等市场有arm7,arm9等,各种单片机都“安分守己,各守其位,一片祥和”,可是到了14年,当我再次进行单片机开发的时候,发展stm32非常火爆了,企业都在用stm32来做开发,曾经用8位机开发的产品大部分转而用stm32开发,曾经只能用arm9能做的产品,现在stm32照样可以做,而且做起来比arm9+linux简单,让我实在是又惊喜又叹息,惊喜的是可以用性能更为强劲的mcu,叹息的是我曾经学的51已无用武之地了。
其实,硬件模块库类似于我们上学时为了写作文而收集的美文库和好词库,这是我们设计产品的素材、经验和知识财富。俗话说“天下文章一大抄,就看会抄不会抄!”。这句话的意思不是鼓励大家抄别人的东西,而是告诉我们应该刻意建立知识财富库和利用知识财富库中的知识、经验和技能进行设计、创作和创新的方法。
由于在国内,STC系列的51单片机市场占有率最高,参考资料和使用人群众多,因此,在下文中,我们将以STC单片机作为51单片机的代表。正如,STM32单片机作为基于ARM公司Cortex-M3内核单片机的代表一样。在这里STC单片机是51单片机的代表,STM32是基于ARM公司Cortex-M3内核单片机的代表。
STC单片机和STM32单片机都是采用独立的数据和地址总线访问数据和程序存储器的哈弗计算机结构。STC单片机是基于MCS-51内核的8位单片机,STM32是基于Cortex-M3内核的32位单片机。两者都具备单芯片内集成计算机的核心运算处理器和不同功能的外设。STC单片机和STM32单片机在国内应用都非常广泛,资料也非常多,入门需要的信息、资源、工具和软件等等都比较丰富。这两种芯片的这些特点和现实,决定了当前一个非常重要的现实:硬件研发工程师有必要全部掌握采用STC单片机和STM32单片机开发产品的技能。
当前技术发展的现实告诉我们一个现实:硬件研发工程师有必要全部掌握采用STC单片机和STM32单片机开发产品的技能。