嵌入式系统人才结构与职业院校实用型人才培养
2020-01-09李克骄
李克骄
(天津市和平区新华职工大学,天津 300070)
我国每年的嵌入式人才需求缺口均以百万计,加速嵌入式人才培养迫在眉睫。
一、嵌入式系统概述
(一)嵌入式系统
从家用电器到宇宙飞船,几乎处处可见嵌入式系统的身影,随着嵌入式系统的普遍,其应用正在逐渐改变着我们的生活。生活更加智能,更加便捷。当我们把计算机嵌入到某个装置中,那么这个装置也就具备了智能化。我们将计算机嵌入冰箱,那么这台冰箱就被称之为“智能冰箱”,嵌入到洗衣机我们就称这台洗衣机为“智能洗衣机”,现在我们手机由于引用了嵌入式技术因此也普遍称之为智能终端。生活中的各类数码产品、交通工具、各种控制及检测系统嵌入式系统都处于核心位置。
嵌入式系统种类繁多,存在形态差异很大,但经过长期演变,其基本描述已经趋近于统一,那就是软件和硬件都是可以随着应用场景的需求、对嵌入其装置的计算机系统功能和配置进行相应增加或减少、同时他们都具备微型封装和极低功耗以及成本低等特点。接下来,我们从嵌入式处理器以及嵌入式操作系统分别进行阐述。
(二)嵌入式处理器
嵌入式处理器以硬件角色经历了4个历史阶段。
1.微处理器阶段。首先是微处理器CPU阶段,这个阶段由CPU作为中央处理单元组成的单板机为生产过程的自动化控制立下了汗马功劳。风靡一时的Z80cpu 组成的TP801单板机就是单板机的典型。单板机时代最主要的应用是提高工业自动化水平,在当年各行各业大部分还是手工生产,自动化程度较低,单板机当年在提高生产自动化,提高生产效率方面给出了很好的表现。但由于其体积大、功耗大、功能单一已经很难适应装置对嵌入式系统更高的要求,当今在嵌入式领域已经是微控制器的天下,因此单板机在嵌入式领域已基本绝迹。
2.微控制器阶段。超大规模集成电路技术的成熟开启了接下来是MCU阶段,也被称之为微控制器阶段。更多的功能器件和接口以及不同容量、不同类型的存储单元被高度的集成到了一个集成电路中而不是一个线路板中。由此,计算机的概念也被分化,一方面计算机朝着计算能力更强,计算速度更快的桌面机、服务器、超算中心方面发展。主要用于数据分析和运算、信息收集和处理。一方面朝着体积更小、功耗更低、功能更强的微处理器方面发展,让计算机实现了单片化。一片集成电路就是一个计算机,至此计算机才正式体现出了嵌入式的概念。
无论是仪器仪表还是工业生产自动化控制,无论是智能家电还是交通工具,无论是通信设备还是物联装置。将计算机嵌入到具体的装置中,使其具备自动化和智能化的需求日益增长,计算机单片化的需求始终存在且有增无减。MCS51系列是MCU的翘楚,虽历经30年沧桑依然保持着强大的生命力就是一个佐证。随后发展起来的ARM系列更是将嵌入式提升了新的高度,从8位处理器提升到了32甚至64位、从监控程序提升到了操作系统层面、从数码显示按键控制提升到了触屏,让嵌入式系统的应用领域得到了极大的扩充。特别是其32位的性能8位机的价钱,全面支持嵌入式操作系统等优越性能,使其理所应当的成为嵌入式系统领域的主角,尤其成为众多智能终端的新宠。
3. 数字处理器阶段。随着嵌入式应用领域的不断拓展,各类数据收集和分析处理、各种复杂数据模型和数学算法乃至图像分析图像处理,这些的实现都需要进行快速的大数据量的运算。由此从通用的MCU过度到了更注重数据运算的处理器,这就是数字处理器DSP。这类处理器的特点就是用硬件代替软件程序进行快速的大量数据计算。使得运算速度,运算精度,运算结果的可靠性都能符合更高的技术要求。
4.片上系统阶段。现在许多科技发达的国家,已经从出售限定功能的通用芯片,转为出售含有芯片核心技术的知识产权。这样,设计公司获得了这些知识产权的授权后,就可以根据客户实际的应用需求,通过电子设计自动化程序,定义出整个应用系统。经过仿真测试,除少量电感、电容等不便于集成的器件之外,将设计方案交付半导体厂家生产样品芯片,然后进入实际现场测试阶段。由此就可以在满足个性化设计需求的情况下,设计和生产出功能更为专一的嵌入式片上系统SOC。这样省去了大量通用芯片为了能适应更广泛的客户功能需求而闲置的功能,让器件成本降到最低,同时消减了额外的功耗。他的另外一个优势就是可以让研发周期变的更短。
(三)嵌入式操作系统
回想当年使用汇编语言编写带浮点的双精度乘法、用汇编语言编写tcp/ip套接字是何其繁杂,当年嵌入式系统由于内存容量和存储管理的限制以及系统结构的局限,嵌入式系统的系统软件大大限制了嵌入式系统的应用范围。自从在嵌入式芯片上可以运行操作系统,操作系统代替了监控程序,无论是文件的管理还是操作的多任务调度能力都得到了空前的增强。由此嵌入式系统应用的领域得到无限拓展,更多的电子产品通过将计算机嵌入其中使其更加智能,大大提高了产品的价值。下面我们分别了解嵌入式系统中监控系统程序和操作系统类的区别。
1.非操作系统类(监控系统类)。嵌入式系统的系统软件分为非操作系统类(监控程序类)和操作系统类。相对于任务逻辑相对简单,事件简单的场合,监控程序足以应对。他的特点是开发成本低,通过对汇编语言和c语言的学习就可以很快的进入产品设计阶段。器件成本也大大低于支持操作系统类的器件。在现实由于产品成本、学习成本和功能需求等几个方面的原因,嵌入式产品设计中,这类应用依然占有很大比例。
2. 操作系统类。随着嵌入式系统硬件功能越来越强大,系统软件的任务调度和事件处理及控制逻辑也越来越复杂,特别是随着应用的升级,各种复杂的算法和数学模型的需要,要求系统软件给予更强大的支持,嵌入式操作系统应运而生。
在整个操作系统家族里,嵌入式系统软件属于实时操作系统,它最主要的特点是事件驱动,所以能够对来自外部作用的信号在规定时间内作出响应。他可以为嵌入式应用软件提供良好的运行及开发环境,并进行有效的管理和协调工作。虽然这类操作系统有很多种,但具备实时嵌入系统内核的uC/OS-IL最适合高职院校的嵌入式系统课程教学。
二、嵌入式系统人才结构
(一)高端技术人才
高端技术人才在嵌入式系统开发中需要承担系统集成与设计师的职责。精通软件硬件层面的所有基础知识,包括硬件芯片的内核结构、实时操作系统、设备驱动程序的编写等。熟悉各类嵌入式系统相关开发工具的使用,具有超强主持产品开发能力,熟悉各类产品和设备的开发过程。
(二)中低端人才
中低端技术人才在嵌入式系统开发中人数占比最大,几乎占到全部人员的七成,因此也成为高职院校嵌入式系统人才培养的主要方向。嵌入式系统产品开发需要极强的软硬件结合能力,这部分人主要承担硬件方案实现和大量的基础软件程序编写。所以,这部分人才必须熟练掌握单片机系统设计、C、JAVA语言编程、汇编语言编程、PCB线路板设计、对操作系统层简单移植也有基本的了解,并了解如何进行接口函数调用。当然对于嵌入式不同层级的人员,对以上知识要求也在深度和和广度上也有着很大不同。
三、高职院校嵌入式系统人才培养
(一)培养方向
基于高职院校学生综合素质及理论基础,以及高职院校相关实验条件和现有师资水平,在嵌入式系统人员培养方面应该定位于中低端人才培养。在嵌入式系统的几个层级,中低端人才更加看重的是基础的设计和实现能力,为的是配合系统工程师做大量的基础层面工作。因此为了日后能胜任大量的基础工作,作为嵌入式的入门课程,单片机以及相关的接口技术、汇编语言、C语言、java语言、pcb板设计工具软件 Protel、嵌入式系统基础等应该给以足够的重视,这对将来了解和掌握整个嵌入式系统的应用有极大的帮助和引领作用。
(二)课程结构
在理论层面教学安排上,尽量降低理论难度,做到够用。而在技能方面应该安排大量实习课程,做到熟能生巧。在选择专业基础课和专业课时,应该参照之前提到的培养方向,精选课程使之符合中低端人才培养的目的。技术应用类课程、专业技能培训课程的安排以及课程具体内容,应注重与实用型人才培养目标相匹配,应该随着新技术的发展随时调整,保证学生得到的是最前沿的知识。要注意课程内容选择和课程之间的衔接,在系统选择上尽量选择比较流行的芯片系统,保证教师和学生可以从各种渠道获得足够多的参考资料,和开发资源。
(三)搭建适合高职院校的嵌入式实训室
现今高等院校嵌入式系统实训课,在程序学习和系统调试时大多借助昂贵的开放式系统平台,由于需要涉及的芯片型号繁多,开发系统为了适应大多数系统内核需求,在配置上要花费更多的资金。一套开发系统少则几千块,多则上万或几万。若硬件系统使用不当还很容易损坏,使维护成本很高。另外由于通用开放式系统复杂,学生单单为了熟悉系统也要花费大量精力和时间。而大部分高职院校并未将嵌入式系统课程作为主要的培养方向,昂贵的嵌入式系统实验设备让高职院校在设备投入上举步不前,因此实验设备问题也是制约高职院校开展嵌入式教学的重要因素。因此解决高职院校实训设备、开发系统问题上,应该因地制宜,安排适应这个层次学生培养方向来配套设备。特别建议考虑采用廉价的实验板、体验版、评估板、学习板。这类实验板虽然功能相对单一,或只是针对某个具体嵌入式芯片而设计。但成本低,特别购买这些学习板时会附带获得大量学习资源。虽然功能单一,但一般在设计上会考虑到基本功能和配置、涉及最基本的应用场景,对于学习还是足够的。这种学习板由于成本问题,大多采用离线调试,flash烧录并不复杂,根据现象修改程序后,将程序烧录到学习板,同样可以观察实时效果。况且大部分情况是用于教学而不是产品研发,所以完全可以不必在线实时调试,因此对于教学,学习板用于实训是完全可以胜任的。由于通过实训是为了让学生更多的掌握系统原理,理解系统功能,了解嵌入式系统产品的开发过程。因此在学习板的选择上,尽量考虑选择有代表性的芯片,学习板的功能应该尽可能覆盖现有的大多数应用场景。
另外利用EDA工具软件强大的仿真功能,将EDA工具软件应用于嵌入式系统的教学和实训是一个不错的选择。他最大的优点是成本低,只要将软件安装在PC机上就可以进行大多数的嵌入式系统设计和调试了,省去了硬件投入成本。课后学习者也可以很方便的利用自己的机器安装仿真软件进行学习。这款EDA仿真工具软件可以进行系统原理布局图设计、嵌入式系统与接口电路和外围电路仿真,模拟代码调试。他支持现在市面大部分嵌入式芯片,包括全系列的51芯片家族、ARM内核系列、和各种DSP芯片系列,同时系统元件库还在不断更新中。此EDA软件全面支持KEIL等流行的编译系统,让模拟开发更加便捷。
(四)师资建设与校企结合
产品开发是嵌入式系统课程的终极目标,如果学习者学习后不具备相关产品的开发能力,本课程的学习可以说是无果而终。因此师资配备至关重要,授课教师不但要有理论知识,更应具备产品开发的实际经验和亲身经历。师资配备可以考虑培养本校的双师教师,也可以考虑请进来,让企业的产品设计工程师参与教学工作。因此对于教师更强调实践动手能力、实际的产品开发能力。同时,实践是嵌入式系统课程非常重要的组成部分,单纯的理论知识和实验室知识是远远不够的。要想培养真正合格的师资力量,还需与企业和科研单位有紧密的联系。教师必须参与实际的产品开发,使之具备相关产品的开发经历,不能长时间脱离企业,脱离科研,脱离科技发展的大趋势。必须随时更新知识,不间断的参与企业生产实践,随时了解产品需求全面了解新的开发手段。
在进行课题建设过程中,必须有企业和科研单位的参与,将企业对人才的实际需求反应在课程中,邀请企业人员来学校进行讲座或指导,尽可能将企业入职前的技术培训提前到课题来,将校企结合落到实处,真正做到实用型人才的直通车。
开发和研制嵌入式产品是个比较复杂的过程,他的复杂不仅仅是嵌入式系统本身复杂,而是因为需要将计算机嵌入各类产品中,那么首先还要对产品本身的性能有深入全面的了解。因此嵌入式课程必须走出校园,走出实验室,与生产实践紧密相连。要求我们的教师和培养出的学生在学习的过程中,不但对嵌入式系统、设备、部件性能有深入了解和知识储备,甚至对产品所应用的领域有全面的了解。这样才有可能让嵌入式技术为智能产品服务,为智能电子设备和装置插上智慧的翅膀。
综上所述,嵌入式系统人才结构是一个宝塔型的阶梯型人才结构,而职业院校在嵌入式系统实用型人才培养上,应该定位在宝塔型人才结构的底层,职业院校应该承担起培养和输送大量可以胜任嵌入式系统基础工作,能够满足企业实际要求的实用型人才。