现在由于存储空间等原因,在嵌入式芯片上编程有较大的困难,选取合适的平台就显得很重要。由于Linux是开放源码的操作系统,吸引着全世界的程序员参与到发展和完善的工作中来,所以Linux保持了稳定而且卓越的性能。由于源代码可以修改、移植,Linux在嵌入式领域中的应用也越来越广。选用Linux作为平台,可以根据具体需要自由裁减源码,打造适合目标平台的环境,编写最有效率的应用程序。
可以预见,ARM与Linux在未来已经越来越壮大,在嵌入式产品市场上会占有越来越大的份额。在这种形式下,学习和研究ARM非常有必要,所以在这里介绍一下关于基于Linux系统的ARM9嵌入式系统设计的基础理论。
首先进行一下ARM开发环境的简介:
根据功能的不同,ARM应用软件的开发工具可分为编辑软件、编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等。因此,一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统及函数库的集成开发环境一般来说是必不可少的。至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。使用集成开发环境开发基于ARM的应用软件时,其中涉及的编辑、编译、汇编、链接等工作可全部在PC机上完成,调试工作则需要配合其他的模块或产品完成。目前进行ARM嵌入式系统开发常见的开发工具主要有Real View MDK、IAR EWARM、ADS1、2、WinARM等。
RealView MDK开发工具是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,支持所有基于ARM的设备,能够自动配置启动代码,集成了flash烧写模块,还具有强大的仿真模拟、性能分析等功能。
IAR Embedded Workbench for ARM是IAR System公司为ARM微处理器开发的一个集成开发环境。比较其他的ARM开发环境,IAR EWARM具有入门容易、使用方便和代码紧凑等特点。IAR EWARM中包含一个全软件的模拟程序,用户不需要任何硬件支持就可以模拟各种ARM内核、外部设备甚至中断的软件运行环境。由于ADS集成开发环境已经不再更新,因此无法支持新推出的微控制器芯片,而IAR EWARM在持续的更新环境中,因此IAR EWARM将成为越来越多的人进行嵌入式系统开发的首选开发环境。
基于ARM芯片的应用系统,多数为复杂的片上系统。在该复杂系统中,多数硬件模块都是可配置的,配置工作需要由软件预先完成。因此在用户的应用程序运行之前,需要专门的一段代码来完成系统基本的初始化工作。由于此类代码直接面对处理器内核和硬件控制器进行编程,所以一般使用汇编语言实现,这里我们称之为硬件启动程序。
在应用系统的程序设计中,如果所有的编程工作都由汇编语言来完成,其工作量巨大,并且不容易移植。由于ARM处理器的运算速度高,存储器的存取速度和存储量也很高,因此大部分编程工作可以使用c语言来实现。由此可见,c语言在ARM编程中具有非常重要的地位。
其次介绍一下ARM9嵌入式系统开发的过程:
第一,嵌入式软件开发的特点。学习嵌入式开发的过程,首先要了解嵌入式开发的特点。嵌入式系统与通用计算机在以下几个方面的差别比较明显:
一是人机交互界面,这是最大的区别,因为嵌入式系统很可能就不存在键盘,显示器等在计算机中常见的实现人机交互的设备,它所完成的事情也只能是不同的传感器的变化情况,并且按照事先规定好的过程仪式完成相应的处理任务;二是功能是有限的,嵌入式系统只能反复执行设计时已经定制好的并且在开发完成后不再变化的功能任务;三是时间的关键性和稳定性,大部分的嵌入式系统因为功能要求实时响应并且受到工作环境的影响很大,需要选择合理的硬件和保护措施,保证系统的稳定性可以正常运行。
除此之外,还要了解嵌入式软件开发具有的自身特点:
一是需要交叉的开发环境;二是引入设计方法;三是固化的程序;四是开发的难度很大。
第二,嵌入式软件开发的流程。嵌入式软件的开发因为它的开发难度大等自身特点,需要将硬件、软件、人力资源等集中起来,并进行适当的组合以实现目标应用对功能和性能的要求,而且实时性和功能一样重要。这就使嵌入式开发关注的方面更广,精准度更高。嵌入式软件开发的每个阶段都体现着嵌入式开发的特点。
一是需求分析阶段;二是设计阶段;三是生成代码阶段;四是固化阶段。
第三,嵌入式系统的调试。在进行嵌入式软件开发过程中,可以选择不同的调试方式,但应根据实际的开发需求和实际的条件进行选择,有以下几种主要的调试方式。
一是源程序模拟器方式;二是监控器方式;三是仿真器方式。
嵌入式系统的调试方法被分成不同的层次,就调试方法而言,分为硬件调试和软件调试两种。在使用硬件调试的时候,可以获得比软件调试功能更强大的调试性能,但是有的时候会价格昂贵,需要合适的开发工具。软件调试可以分为操作系统的内核调试和应用程序的调试,前者的操作比较困难,因为操作系统内核不方便增加一个调试器程序,而后者相对比较简单。
在这里我们只是对ARM9嵌入式系统做一个基础理论的讲解。嵌入式技术正在飞速发展,并期待着各种行业的深入渗透。我国具有雄厚的制造业基础,与传统的制造业结合,嵌入式系统有着巨大的市场空间。同时,基于嵌入式的应用可技术创新,将推动新产品、新产业的诞生。在新的高科技浪潮来临之际,我国正全力迎接机遇和挑战,嵌入式领域方兴未艾,Linux也越来越成熟,我们需要掌握更新的知识,实现自我价值,为祖国贡献力量!
参考文献:
[1] 马忠梅,马广云,徐颖慧,等、 ARM嵌入式处理器结构与应用基础(2版)[M]、北京:北京航空航天大学出版社,2007、
[2] 马忠梅,李善平,等、 ARM&Linux嵌入式系统教程(3版)[M]、北京:北京航空航天大学出版社,2014、
作者简介:刘阳(1993―),男,辽宁盘锦人,沈阳理工大学学生。
关键词:嵌入式系统;mp3播放器;设计
作者简介:左凯(1994,6-),男,湖北黄石人,湖北理工学院计算机学院本科生,研究方向:嵌入式应用
1概述
Mp3作为目前比较流行的音频文件,其本身具有多方面的优点,诸如音质较好、压缩比率合适、资源广泛下载方便等,因此目前大量的软硬件资源都支持mp3文件的播放。当前市场上流行的大部分mp3播放器其处理器都是硬核处理器,使用数字信号处理器来对mp3音频文件进行解码和传输,硬核处理器虽然具有速度方面的优势,但其硬件配置方面相对单一,造成了mp3播放器系统的软件和硬件维护与升级变得十分困难。而以嵌入式作为mp3播放器的控制中心,可以打造出具有软核处理器的mp3播放器,其具有硬核处理器所不具备的优势,诸如多元化控制、多任务并发控制、方便容易的软硬件维护与升级等,因此本文提出了面向嵌入式系统的mp3播放器设计方案。
2嵌入式系统及其特点
通常意义上的嵌入式系统是指一种用于监控、监视或辅助设备、机器操作的装置,其与传统pc系统一样包括硬件和软件两个部分,硬件部分包括各种处理器、图形图像处理设备、存储介质、I/O输入输出设备以及其他外设设备等,软件部分包括操作系统软件、用户自行开发的软件、各种具有特点功能的应用程序。嵌入式系统与pc系统相比较具有自身的特点,嵌入式系统面向用户特定的应用目的,现有的大部分嵌入式cpu在为特定用户设计的系统环境中工作,嵌入式系统是一个具有较宽覆盖领域、投资较大、知识集成的系统,集先进的计算机技术、半导体技术、电子技术于一体。
3面向嵌入式系统的mp3播放器设计方案
3、1总体构想
本方案基于ARM嵌入式系统进行设计,由硬件系统和软件系统两大部分所组成,硬件系统为整个系统提供底层支持,负责任务执行的监督、协调和数据的存储,软件系统包括操作系统OS、人机界面UI、音频解码控制等软件模块,是系统中心控制枢纽和关键部分,统筹安排和协调优化硬件系统的工作,具有音频播放、数据通信和任务管理等功能。
3、2硬件设计方案
Mp3播放器音频文件播放的顺序为:首先从存储器中读取mp3或wma格式的音频文件,然后将读取的信号送到解码器上进行解码转化为二进制数字信号,再通过数模转换器将数字信号转为模拟信号,然后将模拟信号输送到信号放大器进行放大,完成噪声过滤处理后输送到耳机。
3、3软件设计方案
系统的软件组成模块主要包括有操作系统、音频解码模块、文件存储系统、显示模块、SPI闪存模块以及人机界面模块等。嵌入式操作系统使用的平台为uc/os-II,它在整个软件系统中处于核心地位,当前状态下的多个任务执行都有其负责处理和调度,用户可以基于该嵌入式系统根据特定目的而创设具体的任务,诸如屏幕触摸任务、lcd屏幕显示任务,音频解码任务、文件读取任务以及文件存储任务等。
4面向嵌入式系统的mp3播放器的实现
4、1音频文件格式
mp3格式的音频文件是mp3播放器的主流文件,在结构上它包括三个部分,一是id3v2,这部分包含作者、专辑、作曲等属性字段的信息,长度不固定,是在id3v1基础上的信息扩充,二是frame,它是mp3音频文件的主体部分,由若干个帧组成,其长度值由音频文件的大小和帧长度决定,每个frame又包括两部分,一是帧头,二是数据实体,帧头部分包含了mp3音频文件的采样率、版本、位率等信息,每个帧之间是相互对立的。每首mp3音频文件的比特位速率是指每秒钟包含的音频数据信息量的大小,值越大,说明音频文件的声音质量越高,相应的文件所占用的存储空间也就越大。
4、2文件驱动系统
Mp3音频文件的数据存储在存储器中,由于音频文件的普遍较大,相应的存储器介质SD卡也就越大,基于此本设计中设计了免费的fatfs文件系统,该文件系统能够在单片机上对文件进行读写操作,其所占的空间较小,大约为6k左右,这对于通常有128k空间的闪存来说所占的比例完全是可以接受的,同时也获得了较高的可移植性优势,重写相关的函数参数就可以对文件系统的进行移植,经过检测,在32位系统环境中,18mspi时钟下文件的读取速度为300k/秒左右,文件的写入速度为100k/秒左右,这种磁盘读写速度对于嵌入式应用而言已经足够。
4、3音频文件的解码输出
Mp3音频文件的数据流中包含了以下信息:头文件译码信息、旁译码信息以及同步化和crc检查的区块,从这些信息中可以得到文件头信息、crc信息以及旁信息,读取并存储起来以备使用。译码器经过对相关数据信息解读和翻译得到初始的频谱信息,再经过立体声效处理、虚拟信号过滤、频谱重新排序、离散余弦转换以及多项合成滤波组等最后合成可以输出的高质量信号。
4、4lrc文件的处理
Lrc文件里包含有mp3音频文件的歌词信息,每一句歌词都精确对应某个具体的时间点,这是保证mp3音乐播放过程中声音与歌词同步的重要原因。一个lcr文件包括歌词和时间标签两部分,时间标签是基于每句歌词而建立的,这样lrc文件就在歌词和声音之间建立了一一对应的关系,在mp3音乐播放过程中就会按照lrc文件中所设定的时间显示对应的歌词,对lrc文件的读取在本质上与mp3文件的读取是一样的。
5结论
本文面向ARM嵌入式系统平台使用stm32f103vet作为主控芯片设计了一个mp3播放器,硬件解码芯片采用了vs1053b,并使用了带有触控功能的液晶显示屏,并支持tf卡扩展,使用ucos-II嵌入式操作系统使mp3播放时课可以显示歌词以及进行了人性化操作,并且使得播放器可以执行多任务,同时占用最小的资源,同时可扩展接口和灵活的软硬件设计也使得该款播放器比较容易扩展。
参考文献
[1]袁卫,党纪源、基于单片机的MP3播放器设计[J]、现代电子技术,2011(4)、
[2]凌泽明,刘桂林、基于单片机的便携式MP3播放器设计[J]、科技创新导报,2011(4)、
[3]洪家平、基于VS1003解码器的MP3播放器设计[J]、单片机与嵌入式系统应用,2010(11)、
[4]李媛,辛修芳、基于LPC2131的SD卡MP3播放器的设计[J]、佳木斯大学学报(自然科学版),2010(4)、
[5]李宁,熊刚,徐良平、基于Cortex-M3的MP3播放器设计[J]、单片机与嵌入式系统应用,2009(2)、
【关键词】嵌入式系统 jetos设计 计算机安全
esm的嵌入式操作系统jetos设计。esm还包括一个嵌入式操作系统jetos,主要负责对嵌入式模块的管理。jetos的软件模块主要分为6大部分:主控系统、通讯系统、命令处理系统、智能卡接口模块、文件系统、密钥管理系统。每一个都和其他的模块有一定的联系,但并不是全互联的。
1 主控系统
主控系统负责监控通讯通道,同时要控制esm自身系统的安全和稳定运行。与它有联系的有3个子系统:通讯子系统、命令处理子系统和智能卡接口子系统。因此它要控制并管理这3个子系统的正常运行,他们之间主要是调用和被调用的关系:医学论文主控系统会监控系统异常和正常事件的发生,一旦被激活,它会调用通讯系统与主机通讯,接收命令,转而调用命令处理子系统,对主机的要求做出响应。如果是和智能卡相关的,它会直接调用智能卡接口模块。主控模块并不直接和文件系统以及密钥管理系统关联,它只是通过命令处理系统来调用。主控系统还执行有权限的开关机功能,这也是通过对智能卡接口模块和通讯系统的调用来实现的。
2 处理子系统
jetos提供给主机的命令调用功能都是通过命令处理子系统来实现的。命令处理子系统连接了4个主要的系统模块。由于命令处理模块要执行各种安全功能或操作,它必须能够自主调用所需要的资源。但在超循环结构中,命令处理子系统是不能自主运行的,它属于前台系统,它必须通过主控系统的调用来激活。同时它要受到主控系统的监控,英语论文一旦命令处理模块执行异常或碰到非法操作,主控系统会直接采取相应措施来控制主机,这是通过检测命令处理系统的返回应答码来实现的。
3 通讯系统
通讯系统是esm和主机之间的唯一接口,是控制和主机相互通讯和传送控制命令的通道。
它包含一个命令通道、一个辅助的数据通道以及一个控制用通道。命令通道提供了和主机的函数调用接口、辅助的数据通道通过pci总线方式来传输大容量数据,主要是加解密数据、控制用通道利用i2c总线来传输控制信号控制主机外设。
4 管理系统
密钥管理是实现整个esm系统安全的一个重要组成部分,这里考虑在jetos中实现一个简单的密钥管理功能,实现除了能够对自身所提供的加解密和认证签名系统提供支持外,还一定程度上实现整个系统环境下的密钥管理系统的局部功能。
5 智能卡接口模块
智能卡的硬件接口是用gpio实现的,在jetos中,需要用纯软件模拟的方式来控制智能卡设备,需要一个专门的智能卡接口模块。它通过控制gpio信号来与智能卡通讯,提供了一个标准的智能卡软件接口。它受主控系统的调用,同时也受命令处理系统的调用。主控系统在执行开关机权限检测或身份认证,卡异常监控等功能时,会直接调用智能卡接口来执行卡操作。而碰到通用性智能卡应用比如卡验证,加解密,圈存圈提(银行应用)时,会由命令处理模块来发出调用命令。
6 文件系统
在jetos管理esm并执行各项功能时,需要一个简单的文件系统来存贮各种重要的jetos系统文件和应用参数。文件系统同时考虑了密钥管理系统的实现,因为密钥管理系统的一部分需要文件系统的支持,同时文件系统也给esm系统本身功能和应用的升级留下了扩充的余地,可以在文件系统中建立多个应用文件或多个功能性文件等。
应注意在jetos的模块图中并没有内存管理模块,并不是完全没有内存管理,只是内存管理的实现十分简单,而且由于esm的资源有限,实现一个完整的内存管理并没有必要,因此考虑了一种很简单的内存管理方式,在设计中采用顺序存储的方式,利用链表域来查找内存区域,内存并没有分配和回收,由于应用的特殊性,职称论文产生的碎片对系统性能的影响并不大。
7 计算机安全
尽管esm的嵌入式操作系统jetos设计可以提高计算机的安全性,但也不是唯一的一种方法,现在用于网络安全的产品有很多,比如有防火墙、杀毒软件、入侵检测系统等等,但是仍然有很多黑客的非法入侵。根本原因是网络自身的安全隐患无法根除,这就使得黑客进行入侵有机可乘。虽然如此,安全防护仍然必须是慎之又慎,尽最大可能降低黑客入侵的可能,从而保护我们的网络信息安全。而jetos的总体结构设计中采用了超循环结构,那么相应的在实现策略上就应该是一种被动的方式,即esm系统处于一个空闲等待状态,除了一些系统自身的例行操作之外,其余时间是等待事件的发生,主要是接收主机os的命令,然后进入命令处理系统进行处理,并返回结果给os,这是超循环结构所规定的模式。但这样的模式不能实现主动控制主机的功能,所以需要改进,考虑的一种方式就是采用主动和被动相结合,jetos可以被动地接收主机发送的命令,也可以主动向主机发送控制信号,但主要是以被动式为主的辅助以主动控制模式,这样esm同时扮演主设备和从设备。
这种策略的好处主要是灵活,可以很好地满足功能设计上的各种应用需求。主动控制模式可以有效地增强主机的安全性能。可以说主动控制模式才真正体现了硬件一级的安全功能。
参考文献:
关键词:WLAN;嵌入式;S3C2410;SDIO
中图分类号:TN9198文献标识码:B文章编号:1004373X(2008)1904504
Embedded Video Communications Terminal Design Based on ARM
MIAO Zhuang,HUA Nan
(Xi′an International University,Xi′an,710077,China)
Abstract:Along with the widespread application of the Wireless Local Area Network (WLAN),how to employ WLAN technology to carry on video munication in the embedded system bees a hot spot、This article proposes an embedded video munication system based on WLAN and the ARM,which takes SAMSUNG S3C2410 as the core hardware platform,SDIO as the interface,Windows CE as the operating system design proposal,including hardware position,interface design,software flow as well as actuation development、Through the test analysis,it can realize the wireless transmission of video information with the characteristics of simple structure,stability,low cost,and high performance、There are a broad prospect and market potential to apply it in such fields as warehousing,bank,military installation,family,intelligent plot monitoring and so on、
Keywords:WLAN;embedded;S3C2410;SDIO
1 引 言
近年来,无线局域网WLAN(Wireless Local Area Network)得到了很大的发展与普及,WLAN 标准IEEE802、11X 引入了直接序列扩频技术,能提供高达54 Mb/s的数据速率,为支持各种多媒体分组业务打下了基础,同时无线局域网还可以实现许多新的应用,已成为提高工作效率及生产率不可缺少的方式。目前,IEEE802、11X无线局域网标准已在语音通信、无线办公等领域得到广泛应用,但主要还是局限在PC机、笔记本电脑等通用平台的无线通信[1,2]。随着无线局域网在信息家电、工业控制、移动手持设备等嵌入式环境中的应用需求日益增多,如何在嵌入式系统中整合WLAN宽带通信技术,将成为嵌入式系统应用中的一个热点。
ARM处理器由于体积小、功耗低、应用方案灵活、支持软件丰富、成本低等特点近年来得到广泛发展已经应于与消费电子产品、无线通讯等领域,而且ARM技术是嵌入式系统方面的主流技术[3-5]。目前市场上的ARM芯片速度可达几百兆赫兹,以此作为主控芯片可在硬件上实现高速、高精度的视频采集处理通信系统。YL2410是一款基于SAMSUNG S3C2410 ARM920T处理器的高端嵌入式设备开发平台,支持嵌入式设备的软硬件开发[6]。本设计是一个基于WLAN无线网络和ARM处理器的嵌入式通信终端系统,该系统带有高性能的嵌入式处理器,支持嵌入式Windows CE操作系统,WLAN无线传输和液晶屏显示,具有低功耗和高性能的特点。
2 系统总体设计
嵌入式系统的开发多采用模块化的思想,首先在开发板上进行,然后根据实际性能再做进一步开发。本设计在YL2410平台上开发以SAMSUNG S3C2410高性能嵌入式处理器为核心硬件平台,以嵌入式Windows CE为操作系统,以802、11b/g无线通信模块WM3236A为核心通信单元,基于WLAN的嵌入式无线通信终端。根据功能需求及市场上的成熟技术,终端系统采用“硬件平台+嵌入式操作系统+应用软件”的系统架构来设计。硬件平台以SAMSUNG的S3C2410为核心,并辅以必要的设备。这款芯片基于ARM920T内核,带有丰富的接口,是一款性价比很高的ARM核SOC芯片。软件部分包括嵌入式操作系统和应用软件。这里采用Windows CE作为嵌入式操作系统,因为Windows CE是开放源代码的实时操作系统,采用模块化的设计,开发平台友好,应用层软件主要是视频信号处理程序和网络传输协议程序[7]。
3 系统硬件设计
该嵌入式无线通信终端系统的硬件主要是由SAMSUNG S3C2410 ARM920T架构嵌入式处理器(203 MHz主频)、80211b/g无线通信模块WM3236A、SDRAM(64 MB)、FLASH(64 MB)、TFT LCD液晶屏(真彩,分辨率1 024×768)、触摸屏(四线电阻式)、电源管理模块以及人机接口模块组成,系统硬件组成如图1所示。
3、1 嵌入式微处理器
嵌入式微处理器是嵌入式系统的核心,一般具有以下特点:功耗低,适用于便携式无线及移动的计算和通信设备;支持实时多任务;中断响应时间短。S3C2410是SAMSUNG公司开发的一款以ARM920T为核心的16/32位嵌入式处理器,主要面向手持设备及高性价比、低功耗的应用[8,9]。其主要特性如下:基于ARM920T内核,自带16 kB的指令缓存和16 kB的数据缓存以及MMU单元,工作时钟频率最高可达203 MHz,拥有丰富的片内外设,如USB(一个Host,一个Device)、SDRAM控制器、LCD和触摸屏控制器、UART(三个)、DMA、Timer、RTC、IIS、IIC、SPI等,同时还有丰富的IO端口资源,是一款性价比很高的ARM核SOC芯片。
3、2 WLAN通信模块
4、3、3 客户端驱动
SDIO 协议栈提供了一个同步接口,客户端驱动可以发送同步或异步命令到客户端。其通信过程如下:首先,总线驱动确定SD 设备的类型;然后,总线驱动根据设备类型加载客户驱动,并使用相应的协议与设备通信。总线驱动从SD 设备加载客户驱动时支持热插拔。
客户端驱动支持标准的流存取函数,并在设备加载
或卸载时调用这些函数。这些函数中只有XXXInit (Device Manager) and XXXDeinit (Device Manager)是必须的。为了给设备提供应用程序接口,一般还需要更多的存取操作函数,如:XXXOpen (Device Manager),XXXClose (Device Manager),XXXWrite (Device Manager),XXXRead (Device Manager),XXXSeek (Device Manager)和XXXIOControl (Device Manager)。客户端驱动的存取函数必须包含在相应的sources 文件里。
5 结 语
本系统在单片机系统上扩展无线传输模块,通过WLAN进行视频传输。采用了单片WLAN无线收发集成芯片,结构简洁,稳定可靠。同时采用了以ARM920T为核心的ARM单片机微控制器,性价比高、功耗低。接口方面采用目前主流的SDIO接口,技术成熟,通用性好。操作系统采用Windows CE 6、0版本,易于移植,资源丰富。目前,已完成了终端软硬件的调试工作,系统测试稳定可靠,可广泛应用于仓储、银行、军事设施、家庭、智能小区的监控,具有广阔的应用前景和市场潜力。
参考文献
[1]赵锐、嵌入式无线接入系统设计[EB/OL]、icglenet/Technic/technic/2007/4/9/IcNews7305htm,2007、
[2]Accton Technology Corporation、WM3236A WLAN 802、11b/g Embedded SiP Module、2006、
[3]杜春雷、ARM体系结构与编程[M]、北京:清华大学出版社,2003、
[4]张晓东、基于ARM的嵌入式远程监控系统设计[J]、现代电子技术,2008,31(7):22-23、
[5]于明,范书瑞,曾祥烨、ARM9嵌入式系统设计与开发教程[M]、北京:电子工业出版社,2006、
[6]SAMSUNG Electronics、S3C2410X 32-Bit RISC Microprocessor User′s Manual[Z]、
[7]张冬泉、Windows CE 实用开发技术[M]、北京:电子工业出版社,2006、
[8]马忠梅,马广云、ARM嵌入式处理器结构与应用基础[M]、北京:北京航空航天大学出版社,2002、
[9]周立功、ARM与嵌入式系统基础教程[M]、广州:周立功单片机发展有限公司,2004、
[10]吴明晖、基于ARM的嵌入式系统开发与应用[M]、北京:人民邮电出版社,2004、
关键词:嵌入式;通信系统;工作原理;创新设计
一、嵌入式通信系统概述
1、嵌入式通信系统特征
为适应经济发展和时代进步,通信系统制造商需要制造出功能更加齐全、性能更加强大的通信产品来迎合市场的激烈竞争。嵌入式通信系统需要满足更多的功能和更多样的性能要求。嵌入式通信系统由于特定的应用场景、特殊的应用目的,其与一般的系统相比,具备特有的属性:一是响应时间受限性,通信系统的任务具有时限属性,当任务开始后,要在一个特定的时间内执行完毕。二是可靠性,通信系统对可靠性有严格要求,特别是汽车、航空器等控制系统,通信系统的执行情况和执行结果对生命、财产、国防安全有重大的影响,一个微小的故障就可能造成严重的后果;三是约束的复杂性,约束分为时间约束和资源约束,前者指每个任务都需满足时限约束,后者指当多个任务共享同一的资源时,按照一定的资源访问控制协议进行,防止死锁,避免高优先级任务被低级任务阻塞;四是多任务类型,嵌入式通信系统需要处理不同类型的任务,如周期式任务、偶发式任务、非周期式任务和非实时式任务。
2、嵌入式通信系统工作原理
嵌入式通信系统运行中,在不同任务之间需要进行通信,其是通过读写、共享变量实现的。必须保证共享变量的数据的一致性,才能保证嵌入式通信系统正常工作。嵌入式通信系统通常采用原子锁的机制来确保共享变量访问一致性,在任务访问共享变量之前对其锁定,在访问结束后解锁。如果锁定或者解锁失败,则不能访问系统共享变量。由此任务的执行过程产生关联,当高优先级任务访问系统共享变量时,访问相同共享位置变量的低优先级任务会被拒绝,从而落实嵌入式通信系统运算规则。嵌入式通信系统需要同时保证对共享资源的互斥访问与任务的可调度性。
3、嵌入式通信系统调度原理
为了精确调度嵌入式通信系统的资源,达到实时、可预测的特定要求,在嵌入式通信系统部署之前,需要用调度理论对目标任务进行可调度性分析,再进行调度方案搜索。嵌入式通信系统任务调度技术分为嵌入式通信系统可调度性分析方法和嵌入式通信系统调度策略。嵌入式通信系统任务调度技术研究包括任务共享系统资源的策略、机制,并提供判断嵌入式通信系统任务可否调度。嵌入式通信系统经历了从简单到复杂的历程。嵌入式通信系统的特定应用需求要求通信系统设备小型化、集成度高,紧密与网络契合,具备移动能力。并进一步要求嵌入式通信系统的嵌入式CPU体积小、低功耗,能够将通用CPU中由板卡完成的目标任务集成在芯片内部。嵌入式通信系统的CPU要求硬件和软件有较高的效率,去除冗余,在同样的条件下达到更高的性能。毋庸置疑,嵌入式通信系统是一项技术密集、资金密集、研发密集、不断创新的高新知识集成系统。
二、嵌入式通信系统存在的可扩展性问题
1、嵌入式通信系统网络容量不足
举一个常见的嵌入式通信系统的例子,该系统包含4个ECU和8个消息,嵌入式通信系统的通信周期为1,每个消息的周期亦为1,嵌入式通信系统系统的每个通信周期都包含8个时间槽。所有节点通过单个嵌入式通信系统总线连接,各个ECU节点之间的信号通信情况正常,消息在嵌入式通信系统总线静态段上调度。稍作分析可知,消息M1、M2、M3……M8刚好会占满嵌入式通信系统系统静态段的全部时间槽,导致嵌入式通信系统资源占用率已达饱和状态,网络容量不足,无暇处理其他信息。
2、嵌入式通信系统分支负载不均衡
当嵌入式通信系统的静态段时间槽全部占用,而嵌入式通信系统系统的静态段时间槽占有率仅为50%,属于严重的负载不均。嵌入式通信系统负载不均会导致嵌入式通信系统不能容纳新消息传输,限制通信系统升级,进而造成嵌入式通信系统系统无法进行扩展。这一问题产生的根源在于嵌入式通信系统通信网络结构设计缺陷,其消息调度未将负载均衡作为设计指标,亦无其它相关工作考虑了嵌入式通信系统负载均衡。
三、嵌入式通信系统优化
1、嵌入式通信系统消息缓存交换结构优化
使用嵌入式通信系y交换机代替原有的设备,嵌入式通信系统交换机只负责把消息转发给需要该消息的分支,允许多个分支上的ECU 节点同时发送消息,进而提高嵌入式通信系统通信网络的有效带宽。嵌入式通信系统的交换机采用电路交换模式,交换机与嵌入式通信系统的总线保持同步。配置嵌入式通信系统交换机中不同输入端口、输出端口的连接方式,进而确定消息转发路径。嵌入式通信系统的每个时间槽都含有一个报文,在每个时间槽上都要对嵌入式通信系统的交换机的连接进行重新配置。将此方式改进为无缓冲、无延迟的嵌入式通信系统 交换机,有助于嵌入式通信系统的交换结构优化。
2、嵌入式通信系统HSRN负载均衡优化
对嵌入式通信系统HSRN各分支进行负载均衡优化设计,可扩展的通信网络利用优化后的交换机将嵌入式通信系统的通信网络分割。在各分支之间的负载均衡性极大的情况下,将提升嵌入式通信系统通信网络的可扩展性。负载均衡设计之后具有明显的优势:在电子系统中,软件升级会导致嵌入式通信系统通信数据量的增加,而负载均衡设计可以为每个分支都预留较大的扩展量,从而方便的完成系统的升级和扩展。嵌入式通信系统HSRN结构本身引入了消息可缓存的系统交换机,有效隔离了广播域,提高了嵌入式通信系统的网络容量。在嵌入式通信系统交换机中设置的消息缓存队列,能够放松对跨分支消息的同步传输约束,进而提高嵌入式通信系统通信系统的消息可调度性,使得嵌入式通信系统可容纳更多消息,提高了嵌入式通信系统的通信网络的带宽利用率。
参考文献
[1] 王永吉,陈秋萍、单调速率及其扩展算法的可调度性判定、 软件学报、 2014年、
[2] 金宏,王宏安,王强、一种任务优先级的综合设计方法、 软件学报、2013年、
[3] 邹勇,李明树,王青、开放式通信系统的调度理论与方法分析、 软件学报、2013年、
关键词:嵌入式;设计技术;挑战;市场;性能
中图分类号:TP311
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式计算机系统与通用计算机系统有着本质上的不同,嵌入式计算机系统在很多情况下需要考虑的是为其产品性能,生命周期和商业驱动做优化,而不是努力提高其最大计算吞吐量。对于一个有市场适应能力的嵌入式计算机系统来说,产品的成功与否更重要的是其在性价比上的优势。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
由于嵌入式计算机系统自身功能和具体应用环境的限制,其在设计技术上会面临如下两个方面的挑战:
1 系统自身发展升级挑战
应用领域的不断扩大和用户要求的逐渐提高推动了嵌入式计算机系统功能的升级,而在升级过程中,嵌入式计算机系统设计技术作为系统开发的核心环节,无法避免的要面对来自整个系统的全面挑战。
1、1 单片机向多模块组合转变
随着用户对备选方案数量要求的提高,嵌入式系统从过去单一的单片机应用模式,转变为能够提供更多不同层次方案的多样化模式。通过重用和组合IP核构件技术实现的片上SoC系统,是目前嵌入式系统能够实现的最高形式。通过利用FPGA和IP模块进行功能组合PSoC/SOPC设计,彻底改变了过去单片机从底层全权包揽的单一设计局面。
1、2 对设计技术的要求更高
经过几年发展,目前高端嵌入式系统都是建立在RTOS基础之上的,所以很多非计算机专业技术人员就要学习全新的RTOS技术。这无疑是一次设计技术的重头再来,需要设计人员做到从观念认识到设计技术的一次彻底转变。
1、3 运用新开发工具进行系统开发
嵌入式设计从8/16位转向功能更强大的32位MCU,升级之后,开发工具的投入就成为了系统开发过程中最大的障碍。升级之后的开发环境不仅加大了系统投资数目,对其使用的技术有了更高要求,其开发工具较之前也有了更复杂的变化。使用新系统进行开发时,如何正确选择处理器架构、评估嵌入式操作系统,以及使用陌生的开发工具,都是一个新的挑战。
1、4 多种技术协同设计
嵌入式系统对软硬件的协同配合有着超高的要求,所以在设计过程中,软硬件设计的同步与集成是主要问题。由于技术细节处的不断增加,控制软硬件一致性与正确性需要消耗极大的时间。目前业界已经开发Polis、CosYma及Chinook等多种方法和工具来支持集成式软硬件的协同设计。这使得系统可以跨越硬件和软件平台复用,并支持设计空间探索。是一种统一软硬件的开发方法。
2 应对市场的重点性能挑战
嵌入式计算机系统设计技术在满足用户多样性需求和自身不断升级方面的提升与完善是信息技术发展的必然趋势,但是其最根本的基础性能提高则是市场判定该系统是否卓越,亘古不变的标准。在设计过程中,基础性能设计的重点如下:
2、1 操作实时响应
嵌入式计算机系统嵌入到对象系统中的计算机应用系统,嵌入系统在运行时不仅要求得到正确的结果,更要满足时间交互过程的响应要求。在设计过程中,有时需要要求设计技术按照软件运行最坏情况下的时间进行预留,因为软件运行耗费的时间会立刻增加系统响应的时间,致使系统不能满足嵌入对象系统提出的响应时间。“信号处理系统”、“紧急任务处理系统”就是典型的实时性要求很强的系统。
2、2 嵌入系统安全性
嵌入式计算机系统通常应用于安全性很高的情况下,这就要求设计技术能够保证系统极高的安全性能和可靠性能。
(1)可靠性能。嵌入式计算机系统的可靠性是衡量其设计技术的重要标准,它要求设计技术满足增长系统生命周期,拓宽系统适用范围,减少系统中的错误,增加系统的稳定性,甚至要降低嵌入式系统的维护费用。为满足如上诸多要求,嵌入式系统设计技术应该从工作温度,抗震动,抗电磁干扰,抗辐射等方面着手进行全面加强。
(2)可用性能。嵌入式计算机系统为达到提供预期的功能要求提高系统的可靠性,在系统设计时,通常需要采用故障避免、故障检测与故障容错等设计技术。
(3)安全性能。嵌入式计算机系统的安全性,要求系统的设计技术尽量使系统能够无错误的完成预期功能,同时降低系统的危害程度,安全完成运行任务。
(4)保密性能。保密性能在网络嵌入式计算机系统中尤为重要。通过现有的保密技术和网络安全措施基本可以保证数据的安全,但也无法做到完全保证。这就需要我们通过系统的设计技术加入入侵检测模块来提升嵌入系统的保密性。使入侵模块成为整个系统的最后防线,在系统遭受威胁或被攻击后,通过分析攻击行为,有效保护系统免受同样攻击。
通常在设计时,都是利用技术通过提高嵌入系统的抗入侵能力来提高保密性,在遭到入侵时,嵌入计算机系统能够进行安全的现场重编程及提供重建保护等。
3 结语
互联网在日常生活与工作中的作用越来越大,信息技术的发展日益迅速。嵌入式计算机系统作为当今信息技术的核心部分,对我国的各行各业产生了深远影响。嵌入式计算机系统设计技术,则是嵌入式计算机系统开发的核心环节。更高的应用需求,对嵌入式计算机系统的设计技术提出了更高的要求。与此同时,嵌入式系统本身的升级,也使得嵌入式计算机系统的设计技术面临更大的挑战。本文通过以上对嵌入式计算机系统设计技术的几点分析,主要分析了嵌入式计算机系统的设计技术为更好的适应和满足市场,而需要面对的诸多挑战。可以看出,嵌入式计算机系统在市场上的需求日益增大,用户的要求也在向多样化和高标准的趋势发展。这就要求系统的设计技术,一方面要不断与时俱进熟练掌握新升级技术,来适应市场满足多样化需求;另一方面要保证系统基本的实时性与安全性。只有这样抓牢基础,不断提高才能在当今的信息化社会中站稳脚跟,不会被市场淘汰。
参考文献:
[1]刘洪涛,孙天泽、嵌入式系统技术与设计[J]、21世纪高等学校计算机规划教材,2009,1:12-13、
[2]冯立杰,傅民仓,李文波、多CPU嵌入式系统的设计方法[J]、现代电子技术,2006,6:33-34、
[3]张涛、嵌入式计算机系统设计技术[J]、中国计算机报,2000,7:D10、
关键词: ARM嵌入式系统; 教学辅助系统; 教学实践; 自主学习能力
中图分类号:TP368;G642 文献标志码:A 文章编号:1006-8228(2017)03-40-04
Abstract: This paper introduces a teaching assistant system for ARM embedded system course based on ARM LPC2148 MCU、 The system hardware design includes the minimum system, the serial munication and program download interface circuits, the matrix-keyboard and the independent keys used as the interrupt input, and the character LCD and dot-matrix LCD interface、 The software design includes the standard project template of ARM embedded system, plete Proteus circuit schematic and the application package for the related hardware modules、 Proved by the teaching practice, the teaching assistant system plays a good supporting role in the classroom teaching of embedded system courses, and in the experiment and practice training of embedded system courses, and in the students' extracurricular scientific researching、 It also effectively helps students learning to master the technology of embedded system, and helps to the students' autonomous learning ability and engineering quality training、
Key words: ARM embedded system; teaching assistant system; teaching practice; autonomous learning ability
0 引言
S着嵌入式软件技术的发展,高校对嵌入式系统应用型人才的培养日益重视[1-5]。国内很多高校在电子类、仪器类、计算机类等专业都开设了嵌入式系统课程。其课程特点:①软硬件技术相结合,专业性、综合性强;②嵌入式系统是将计算机技术、半导体技术、电子技术与各个行业的具体应用相结合,实用性强。③门槛高,要求学生具有相应的专业基础素质及自主学习能力。其教学大纲要求通过课程学习,学生能够掌握基本的嵌入式系统设计、开发和调试方法。但是在实际教学中往往发现“学生理论学习理解困难,实验过程与理论知识融合困难以及课程综合设计能力差”等问题,而且目前的实验装置普遍追求功能强大,实验内容广,配置高档等指标,使得装置的软硬件复杂,忽视了学生的实际情况,学生很难在课时内实现对装置的理解掌握以及达到课程的教学目的要求。
根据我校的实际情况,考虑学生学习的个体差异,本着简单易懂,实用方便原则,紧密结合课堂教学内容,细分教学例程,研发设计了ARM嵌入式系统课程教学辅助系统,学生和教师每人一套。该系统作为嵌入式系统课程基础阶段的辅助教学装置,既可以在理论课堂上帮助教师很好地展现授课内容,又可以在实验和课程设计等实践教学环节中作为便携的实用开发工具,帮助学生切实地掌握ARM嵌入式系统的开发技术,提高学生的工程实践动手能力。
1 教学辅助系统设计
1、1 硬件设计
如图1所示,该教学辅助系统以经典的ARM7 LPC2148/38 MCU为学习对象,分为核心板和扩展板两部分,配有串口通信/ISP下载控制接口,USB接口等常用接口,扩展有矩阵键盘,可以用作中断输入的独立按键,字符/点阵LCD显示接口等输入/输出人机界面接口。系统基本功能齐全,所有引脚及电源均有引出,体积小,携带方便,便于学生自主扩展应用。
1、1、1 ARM处理器
系统MCU采用ARM7系的一款经典产品ARM LPC2148/38 MCU作为系统的核心CPU。其引脚少,功能模块较为齐全,配有512KB的高速Flash存储器和32KB的RAM,具有丰富的外设资源。它还含有向量中断控制器,可配置中断优先级和向量地址,片内Boot装载程序可以实现ISP/IAP编程,具有空闲和掉电两种低功耗模式,并且可通过外部中断唤醒[6]。ARM LPC2138/48 MCU工作原理简单且具有强大的处理和控制功能,同时在proteus仿真软件和keill编程软件中均支持该MCU,因此特别适合用于ARM嵌入式系统课程基础阶段的教学与学习。
1、1、2 串口通信接口及ISP电路
串口通信使用的是LPC2148/38 MCU的串口0。LPC2148/38 MCU的串口0是其主要组成部分之一,不仅可以用于学习与PC机的串行通讯,配以相应的ISP电路后,PC机借助编程软件还可以将应用程序直接下载到MCU中,从而降低了教辅系统的使用要求,方便了实践教学的需要。
1、1、3 USB接口及电源
为了使用方便,教辅系统直接利用PC机USB接口为其供电,无需额外配接电源。同时LPC2148 MCU自备有USB2、0从控制器,配以相应的接口电路后,可以方便地进行关于USB的相关教学,有效地提高了系统功能资源的利用率。
1、1、4 输入/输出及引脚扩展
为了提高教辅系统的通用性、实用性和扩展性,同时兼顾教学案例的需要,在系统扩展板中设计了显示接口、键盘输入端口、A/D采集及调节电位器、LED及蜂鸣器输出以及相应的电源输入输出端口。在系统扩展板中将MCU的P1端口用于字符LCD(LM1602)与点阵LCD(QC12864)共用输出,配合矩阵键盘输入端口,以及AD采集及两个电位器分别设计有相应的教学案例,有效地降低了学生的使用难度,提高了学生对嵌入式系统技术的直观理解。在扩展板上还通过插针引出了对应的全部引脚和电源,极大地方便了学生对其他应用硬件电路的设计,这也对教辅系统实现进一步的应用开发使用提供了便捷。
1、2 软件设计
软件设计工作主要体现在开发环境搭建、驱动开发,应用开发及SDK程序的移植等方面。
1、2、1 开发环境搭建
该教辅系统的软件开发环境搭建主要是Proteus仿真软件,Keill开发软件,Flash Magic编程下载软件安装,以及项目工程的建立与配置,程序文件的新建与添加,工程的编译与链接,电路原理图的绘制,程序下载与仿真运行,程序纠错等。这是学习嵌入式系统不可绕开的基础环节,学生在实际学习过程中容易出错,导致学习的自信心受挫。根据这一特点,除了在课程学习资料中细分教学例程讲解、对关键步骤进行详细注解外,还在教学过程中要求学生跟着教师逐步操作学习,而且写出书面总结作业,确保学生在嵌入式系统学习中能顺利迈出这第一步。
1、2、2 例程开发
例程开发是帮助学生更好地进入嵌入式系统技术学习的有效方式,既是理论课堂授课的范例教学,也是实践教学的应用例程。因此,例程设计至关重要,它不仅是对课程教学内容的验证,也能使学生加深和巩固对嵌入式系统技术的认识,是合理组织教学内容、设计教学例案、帮助引导学生自主学习提高实践创新能力的主要方式。例程开发设计按照单元模块知识架构以及系统开发应用的连续性,遵循“从基础开始,由简而难,从小模块到大系统,应用与原理并存”的原则,设计了教学基础例程与教学综合例程。基于ARM嵌入式教辅系统设计的教学基础应用例程有10个,涉及了对系统的基本认识、验证以及基本使用等工程应用实践的各个方面,如表1所示。
教学综合例程主要是将ARM LPC2148硬件资源、教学案例及其他应用所涉及内容的驱动程序,应用程序集合在一起,供学生阅读和参考,方便学生在练习中模仿和借鉴,帮助学生逐步过渡到独立自主应用开发阶段。同时,通过综合教辅案例,为学生建立嵌入式系统开发的规范与好的应用习惯打下基础。基于ARM嵌入式教辅系统设计了近30余道综合训练题目,学生可在综合实验和课程设计环节自主选择训练,进度快的学生也可在此基础上进一步发挥,提高嵌入式产品开发和设计能力。
2 教学应用
ARM嵌入式系统相较于其他单片机应用技术等专业基础课程教学而言,ARM芯片资源丰富,实际应用广泛,具有综合性、实践性强的特点,学生不容易理解和掌握。因此在教学中要以应用为主,强调体系结构及实用的设计开发技术等工程实践概念,基于教辅系统配以相应的例程项目及实践,结合项目驱动式教学模式[7-8],在课堂教学、实验教学以及课程设计实践环节中进行项目分解讲授,直观、实用,引导学生自主学习,由浅入深,由易到难,由基础到综合,切实让学生从硬件到软件,再从软件到硬件实现对嵌入式系统技术的完整认识。
2、1 课堂教学应用
在课堂教学中,以应用为主,借助教辅系统,帮助学生了解嵌入式系统的特点,理解嵌入式系统的基本构成(微处理器、存储器、外设驱动和I/O接口、电源管理、硬件调试等);认识嵌入式操作系统,知道操作系统内核,能够对内核进行移植、修改和裁减;掌握某一种嵌入式操作系统,能够构建嵌入式软件的开发环境,编写一些基本的嵌入式设备的驱动程序等。同时,在传统教学模式的基础上,重新调整学时分配,部分引入翻转课堂教学模式,以例程教学和项目开发驱动教学内容的更新,课堂教学更多的辅以实际范例演示讲解和回答学生在课外实践环节中出现的问题,提高学生对嵌入式系统技术的认识和掌握程度。在Proteus仿真软件和教辅系统的支持下,加大实际编程训练内容,针对讲授内容独立设计立足于基本概念原理的例程,根据学生个体差异提出不同的任务要求,至少要求学生能跟着教师操作演示,在训练过程中再学习和升华讲授的知识。
2、2 课程实验应用
嵌入式系统是一个综合性、实践性强的软硬件设计开发平台,实验教学是重要环节,实验教学是嵌入式系统课堂教W的重要延伸。在实验教学中以教辅系统为载体设计实验内容,配合课堂教学,能更好地帮助学生建立对嵌入式系统的完整认识。实验教学除了设计有基础的ARM嵌入式教学内容,如应用开发入门实验、基础接口和显示实验,还有提高的ARM嵌入式教学内容,如音频、麦克风、SD卡、触摸屏等扩展接口实验,UART驱动与应用、LCD驱动及应用、USB接口、PWM驱动及应用等等,基本满足目前嵌入式系统初级阶段的教学需求。经过实际教学应用证明:借助该教辅系统进行实验教学,学生能有效地认识掌握嵌入式系统实验装置的开发环境及软硬件设计方法,理解对应的教学内容与教学目标,提高了学习主动性和实践动手能力。
2、3 课程设计应用
在课程设计教学环节,以教辅系统为支撑设计了近30组综合训练内容,如电子日历制作、音乐播放器、直流电机调速、正弦波示波器、条码扫描显示等,供学生自主选择。由于该系统不仅提供了LPC2148/38的所有硬件资源,还提供了有关输入/输出的SDK,大大节省了ARM基础软硬件平台搭建的时间,使学生将主要精力和时间放在应用开发上,课程设计的效果和质量明显得以提高,而且学生还可在此教辅系统基础上自行研发应用项目,参与各级课外科研竞赛活动,效果良好。学生借助于该教辅系统进行综合应用学习,可掌握和巩固嵌入式系统应用技术的基本原理,掌握了32位ARM单片机和嵌入式操作系统应用的基本技术,能够完成一些简单的项目研发,他们走出校园能尽快适应相应的工作岗位。
3 结束语
该教辅系统已经在我校测控专业两届学生的教学中投入使用。该教辅系统将课堂教学、课程实验、课程设计教学环节无缝连接在一起,并可直接应用于其他课外实践的开发应用中,使得嵌入式系统课程的教学体系具有更好的系统性、实用性和连续性,基本解决了嵌入式系统课程难教、难学、难懂的系列问题。同时该教辅系统也使得嵌入式系统课程的课堂教学更加具体形象化,互动性更好,实验教学内容更加丰富,学生设计制作参与性更强,明显改善了学生以往对理论知识学习的茫然和不明确性,以及对实验装置的畏难情绪,提高了对理论学习和实验的兴趣,培养和锻炼了自主学习能力和工程实践能力。
参考文献(References):
[1] 油海东、基于ARM-Linux的嵌入式系统开发平台教学实验研究[J]、中国现代教育装备,2012、147(11):15-17
[2] 陈伟,林训超、Cortex时代的ARM教学[J]、单片机与嵌入式系统应用,2010、5:5-7
[3] 宋焱翼,陈礼,颜芳、嵌入式系统实验教学改革与实验教学装置开发[J]、实验室研究与探索,2011、30(7):239-241
[4] 张金磊,王颖,张宝辉、翻转课堂教学模式研究[J]、远程教育杂志,2012、4:46-51
[5] 张腾飞,顾亦然,郭前岗、“嵌入式系统及应用”课程教学改革探索与应用[J]、中国电力教育,2012、28:53-55
[6] 高俊尧,黄超、基于ARM微控制器LPC2138的分布式系统设计[J]、电子设计应用,2007、5:97-99
[7] 陈豹、嵌入式系统课程教学方法实践与探索[J]、吉林省教育学院学报,2015、31(1):77-78
[8] 李宁,宋薇,库少平、项目化嵌入式教学方法研究[J]、单片机与嵌入式系统应用,2010、2:5-7
1 概述
随着我国装备制造业的发展,嵌入式系统已经成为制造业的核心技术。它被广泛地应用到工业控制、仿真系统、医疗仪器、信息家电、通信设备等众多领域。目前,围绕嵌入式系统展开研究和开发,已经成为计算机软硬件技术发展最活跃的方向之一。
嵌入式系统不同于通常纯粹的软件系统或硬件系统,而是软件与硬件通过在一起的,有些功能既可以用软件实现,也可以通过硬件实现。另外,嵌入式系统设计所面临的挑战不仅涉及到计算机软件和硬件,也会涉及到许多非计算机工程中的问题,诸如机械尺寸问题、功耗问题和制造成本问题等。即使是计算机工程方面的问题,大部分系统在实时性、可靠性和多速率等问题方面也都有特别要求。
目前,实现嵌入式系统的硬件方法主要有:定制逻辑(ASIC)、现场可编程门阵列(FPGA)和嵌入式微处理器三种。在实际系统实施中,绝大多数系统是采用嵌入式微处理器方式,如单片机、单板机或嵌入式微处理器芯片等。这是因为用微处理器实现嵌入式系统是一种十分有效的方法,它使得在不同价位上设计不同特性的产品系列成为可能,并且能够扩充新特性以满足飞速发展变化的市场需求。
2 嵌入式系统设计面临的问题和解决办法
过去嵌入式系统分析和设计方面的主要问题为:①分析设计没有一个统一的标准;②分析设计方法不统一;③从分析设计到制作和编程没有一个始终一贯的工程化方法,使得产品形成的每一个过程人为因素影响十分严重;④分析设计的成果不能被开发类似项目或产品的重用。以上4个方面的问题成为多年来制约嵌入式系统发展的主要瓶颈,使得大部分从事嵌入式系统应用开发的组织和团体,基本上是采用小组甚至是作坊式的动作模式。这使得开发较复杂或大型系统的工作变得十分困难甚至无法进行,或因为系统需求的不断变化或小组成员的流动导致项目失败。我们知道,人类之间要想达成对任何事件的交流,前提是实现对该事物形态(或表现形式)和行为的标准化,之后才可能实现对该事物形态(或表现形式)和行为的标准化,之后才可能实现对其的存储、处理和交流。嵌入式系统制作过程产品以上4方面问题的主要原因是没有一个对嵌入式系统需求、分析、设计、制作、测试和维护过程的结构特征和行业特征统一的工程化描述方法。目前,面向对象技术正是建立在对真实世界抽象思维的基础上,统一建模语言(UML)为这种思维提供了可视化工具,解决了以上难题。使用UML对嵌入式系统建模,不仅可以使系统分析设计实现标准化,而且完全可以实现系统分析、设计和制作、测试分别由不同的项目成员在统一、一贯的方式下完成,也使得系统分析和设计模型在相似系统中重用成为可能。
3 系统建模
面向对象的嵌入式系统建模同任何软件密集型系统建模一样,从系统中的类建模开始。为了解类的结构,首先对系统工作过程作一个总体陈述。无论是采用问题空间词汇抽象方法还是采用用例(use case)驱动建模方法,目标都是找到系统以类或对象作为构造块的类图。如果采用用例驱动的系统分析方法,该内容也可以用用例视图加以模型规格说明,然后使其作为系统白盒测试依据。由于使用用例视图做的规格说明篇幅比较大,本文仅用文字描述说明这部分内容。
本文所例举的系统为一小型变频调速器系统。对任何一个三相交流电机,在输入单相交流电源的情况下,实现6Hz到[9Hz,50Hz]区间内任一频率的稳步启动运转。系统用户界面包括2位数码显示器、一个运行/停止指示器、电源开/关指示器、6个按钮键盘和电源开关。2位显示器用于显示电机当前正在运转的频率,6个按键分别代表启动、停机、正点动、反点动、频率加和频率减。启动命令使电机从6Hz以每步0、2Hz的步长稳步提升到当前设置频率上后在该频率上稳定运转;正点动命令使电机稳定在6Hz上正向运转;反点动命令时,电机转动频率与正点动上同,但旋转方向相反;频率加命令在电机运转时使电机以1Hz/s的速率增加运转频率和当前预置频率,在电机停止时仅改变预置频率;频率减命令与频率加命令相反;停机命令则无论电机运行在什么状态下,都使电机停止运转。
系统类图如图1所示。图中有2个硬件类Button*和Light*,1个主动类Microcontrollor和3个一般类Convertor、Watchdog和Display。Button*类代表所有按钮;Light*类代表2个发光数码管和1个运行指示灯;主动类Microcontrollor是系统主控模块,完成所有对象的调度和管理;3个一般类为3个功能独立的程序模块。
图2为系统实施图。微处理器节点是系统的主控节点,采用Atmel 89C52。其内部8KB Flash ROM和128B RAM资源已能满足系统需要,因此不再增加外部存储器。与其它节点的连接完全通过其本身的串并接口就可完成。按钮节点代表所有按钮,在系统变化时也可以用键盘取代,本例为6个单独机械按钮。显示节点代表系统显示部分,本例为2个数码管和1个表示电同运行状态的发光二极管。运行监控节点具有两部分功能,其一是通过WatchDog技术监视微处理器的运行状况,另一个是监视变换器输出的脉冲宽度。变换器邛树熊设计为专用电路,通过微处理器并行口接受三相正弦脉冲,根据电机功率转换成本相电机线圈所需要的脉冲电压。三相电机节点不属于嵌入式系统本身,但为了说明本嵌入式系统与控制对象关系而布置在同一实施图中。
图3为系统有限状态机行为模型。系统开机上电后,经过初始化处理自动进入到等待状态,在等待状态,Microcontrollor对象根据用户键盘按钮命令,调度相应的操作对象。当用户发出正或反点动命令时,系统进入点动运行态,此时Convertor对象输出6Hz正或反相序三相脉冲。当用户松开正或反点动按钮时,系统返回等待状态。在系统预置频率设定正确的情况下,用户按启动按钮时,系统先进入到启动运行态。在此状态时系统从6Hz开始按每步0、2Hz的步长稳步增加电机运转频率,直到达到预置频率时进入到稳定运行态。在稳定运行态用户可以改变预置频率,步长为1Hz。每次预置频率的改变事件,都会产生从稳定运行态到启动运行态的交替变动。当系统运行出现故障时,进入到故障处理状态处理,完成后自动返回到等待状态。
4 系统实现
4、1 数据处理
由于本文例举的系统为一小型变频调速嵌入式系统,所有三相正弦波形的PWM脉冲都由Atmel 89C52的P1、0~P1、5端口输出。当把任何频率正弦波形分解成N等分时(N为6的整数倍),则要用N个等幅而不等宽的矩形脉冲来等效,每个脉冲区间如图4。每个频率正弦波划分为6个相序,每个相序为60°。每个相序分为N/6个区间,每区间分为7个小区间。每个区间采用中心对称脉冲波形,因此在每个小脉冲边沿只有一相功率驱动开关换相而使驱动电源电流平衡变化。在任何一相换相时,由软件自动加死区保护(死区时间一相上下臂开关同时关闭,如图4中竖双线间部分),以免功率驱动开关在换相瞬间上下臂同时导通而损坏元件。
虽然对于不同频率每个相序内脉冲区间数和占空比有所不同,但输出的波形却是相同的。又因为每个区间的7个小区间波形是中心对称的,因此在输出最后3个小波形时,只要把前3个小波形的占空时间和输出波形数据倒读并输出就可以完成。另外,每个脉冲区间仅需要4个占空定时T区间,t2,t3,t4(见下节说明),并且每个相序仅需要4个脉冲波形数据就可以了。三相正弦波区间数据关系如表1、
表1 三相正弦波区间数据关系
相序IIIIIIIVVVI电压关系Ua>Ub>UcUb>Ua>UcUb>Uc>UaUc>Ub>UaUc>Ua>UbUa>Uc>Ub波形数据2AH,29H,19H,152AH,26H,25H,152AH,26H,16H,152AH,1AH,16H,15H2AH,1AH,19H,15H2AH,29H,19H,15区间数N/6N/6N/6N/6N/6N/6小区间定时t4,t3,t2,t1,t2,t3,t44、2 系统资源配置
当系统的分析与设计采用面向对象方法时,并不意味着所使用的编程语言也一定是面向对象的。事实上,这种分析设计方法的具体实现可以使用任何编程语言(如汇编语言或C语言);但是,在程序设计上要尽可能地使用面向对象的思想,如体现程序结构方面的封装性、消息传递等。这种才会使程序结构清晰,便于应付随着需求变化而产生的不断更新和系统维护。
在实现本系统时,系统最重要的资源是程序存储器和定时器。由于采用了上小节所讨论的数据处理技术,大大压缩了数据空间。在实现时,把6Hz~50Hz频率空间划分成7个大的区段,使每个区间的脉冲周期在900μs左右,区间周期定时使用单片机内部的T2定时器的常数自动重装入方式。由于区间周期与输出频率关系是确定的(T区间=1/Nf频率),片内T0定时器用于区间内小区间t2、t3、t4定时,而t1定时由t1=T区间-2×t2-2×t3-t4计算得到。T1定时器用于监视系统输出的脉冲宽度,当P1口任何一端输出脉冲宽度超过1000μs时,系统通过中断进入故障处理状态。另外,系统还设一WatchDog电路X5045,监视系统程序运行情况。当程序运行异常时,系统通过复位进入到故障处理状态。系统的显示接口通过单片机串行接口实现。