以下是小编帮大家整理的嵌入式系统相关开发个人简历(共含14篇),欢迎大家分享。同时,但愿您也能像本文投稿人“完美夏天”一样,积极向本站投稿分享好文章。
嵌入式指纹识别系统开发
摘要:介绍了指纹识别技术的基本原理,嵌入式操作系统的选择及定制。计算机控制单元的软件及硬件设计包括:指纹并口采集板设计及初始化程序,前台指纹建档(比对程序,局域网通讯程序,数据处理程序等。关键词:指纹识别 嵌入式 通讯 操作系统
生理测定技术是当前研究的热点之一。目前,有很多技术等生物测定技术可用于身份认证,包括:虹膜识别、视网膜识别、面部识别、签名识别、声音识别技术、指纹识别技术等。其中指纹因具有终生不变性及稳定性,是目前应用前景较好的生物识别系统。但指纹识别目前在国内乃至世界仍未普及的主要原因是:(1)速度慢:目前一般系统辨别需要数秒钟甚至更长;(2)性能差:错误拒识率(FRR)和错误接受率(FAR)过高,目前市场上出现的系统一般FRR<3%,FAR<1/106;(3)价格高:由于目前国内主要引用国外成熟的指纹识别技术,并且比对系统采用PC机处理,体积庞大,不便移动。本系统在对指纹识别技术优化的基础上,与嵌入式技术相结合,可较好地解决上述问题。
1 指纹识别原理
指纹识别的基本原理为:采用细节点坐标模型来做细节匹配,即对指纹的脊线末梢和指纹的脊线分支点提取特征点鉴定指纹。具体的自动指纹识别系统框图见图1。
(本网网收集整理)
指纹图像的预处理:目的是去除指纹图像中的噪音,将其转化为一幅清晰的点线图,便于提取正确的指纹特征。预处理影响指纹识别的效果,具有重要的意义。它分四步进行,即灰度滤波、二值化、二值去噪、细化。
对图像细化后,采用细节点模反提取出指纹图像的脊线末梢和脊线分支点的位置,将指纹认证问题转化成为点模式匹配问题。建档时将特征位置点坐标转化为极坐标后存入数据库,作为建档模板。指纹比对时,采用同样的方法,得到比对模板。由于要考虑指纹的平移和旋转(对极坐标只考虑旋转),对每个关键点A,在指纹图像上寻找两个与其最后的关键点R、S,把A、R、S点的类型(末梢或分支点)分别纪录为nType1、nType2、nType3;把连接点A与点R、点A与点S、点R与点S的3条虚拟线段所跨越的脊线数分别记为nCrossNum1、nCrossNum2、nCrossNum3。如果这两点满足一定茶杯条件,则认为点A与点B初匹配成功,如此可选择出最好的3组对应点,计算出比对模板相对建档模板的旋转角度,将比对模板矫正后,再进行细节点的精细匹配,根据隶属函数可计算两个指纹的相似度。如大于某个阈值,则认为是同一指纹。
2 系统的定制
2.1 选择嵌入式操作系统
随着微电子技术的进步,芯片的制造成本和销售价格都大大降低了,而功能和内部支持的端口却大大扩展了,16位和32位嵌入式处理器逐渐成为电子产品设计的主流。为了缩短产品设计周期和运行时间,使工作更稳定、更可靠和更高效并实现需要的'复杂功能,需要运行于嵌入式处理器上的嵌入式操作系统,才能形成完整的系统平台。当前嵌入式操作系统包括Microsoft Embedded NT 4.0、Microsoft Windows CE、Nucleus PLUS、pSOSystem等。由于指纹识别对系统计算能力要求较高,需要具有强大的管理功能,并不需要硬实时功能,在实际开发中选用Microsoft Embedded NT 4.0嵌入式操作系统,它具有操作系统的完善功能和强大的TCP/IP网络功能;开发环境可选用Visual C++ 6.0并支持组件对象模型、MFC、ATL等。经过实验验证,可满足设计要求。
2.2 系统硬件选择及开发
系统硬件框图见图2。
(1) 工控主板选用研祥PI6584V工控主板,并配如下部件:CPU(AMD K6-2)、内存(168线64MB)、PC 104以太网卡、32MB DOM。该部分采用5V供电,静态耗电50μA。峰值耗电量50mA。体积为50mm×80mm×20mm。工控主板在系统中所起作用:搭载系统应用软件;使用EPP1.9模式,通过并口从并口板读取指纹图像数据;将指纹图像数据通过指纹建档算法转化为指纹特征值存入DOM中;实时采集指纹与DOM中指纹特征值进行比对;接收键盘输入键值并根据按键功能定义进行相应操作;系统状态信息通过串口输出到控制板中,完成人机操作界面显示。
(2) 指纹采集头组件(COMS板)。COMS板的主要功能为:实时通过光学指纹采集仪将指纹图像折射到采像芯片上,由采像芯片完成模拟量到数字量的转换,并送往并口板存储器中暂存。COMS板的核心器件为OV7120和指纹采集仪。OV7120为黑白单元COMS VGA采像器件。指纹采集仪为光光采像头,型号为ZYZ202A。该型号采像头为长春方圆定型产品,主要技术参数:手指接触面:光学玻璃;采像有效面积:22mm×22mm;成像方式:棱镜折射式;图像分辨率:450dpi。
(3) 并口板主要功能为:通过I2C总线对COMS板中采像芯片OV7120设置有关参数;从COMS板提取指纹采像数据并暂存于存储器中;每存取一帧图像数据即通过并口(EPP模式)向工控主板发出请求信号;根据工控主板发出的数据提取信号将指纹图像数据输入系统进行有关处理;实时检测整机内部环境温度并控制相关排风扇的工作。并口板的核心器件为EPM7032、AT89C2051、IS61C1024L。EPM7032为FPGA,其主要作用是完成COMS板指纹图像数据到工控主板的数据传递。AT89C2051是通用8位单片机。IS61C1024L为128K×8bit高速COMS静态存储器,与并口板之间采用IDC-20P双排针接口。
(4) 控制板主要功能为:接受外部命令并将对应键值输入工控主板以完成相关操作,通过串口从控主板获取显示内容并转化为液晶屏显示所需格式。控制板含有15个铵键,为导电胶方式。按键包括:Menu、Cancel、OK、0~9、<、>共15个键。控制板的核心器件为键盘扫描芯片EM83050和标准8位单片机AT89C2051。与工控主板之间采用TJC3-3P插座;与液晶屏之间采用TJC3-9P插座。
(5) 液晶屏主要用来显示系统所处状态。液晶屏型号为WGM12232H,点阵大小122×32。
串口LED显示采用RS232/485接口与计算机通信,通信方式:RS232接口、115200bps、异步8位、1位起始位、8位数据位、1位停止位。
发送数据格式如下:
55H AAH XX显示数据
其中,55H AAH为数据头标志,XX为背光控制字:48H点亮背光,其余不点亮背光。
通信说明:通信主动方为PC,被动方向LCD。首先PC发送数据头命令55H、AAH,LCD接收到数据头后,判断是否正确。若正确则开始接收背光控制字并显示数据;否则退出接收状态。传输数据中,当LCD端检测到传输中断超时,即退出接收状态。LCD值守状态时处于背光熄灭状态,当检测有键按下或有指纹时,上位机发送背光控制字(48H)使背光点亮。
完成硬件设计,通过编写测试软件在PC平台上进行测试,基本可满足系统要求。
3 软件及驱动编写
3.1 嵌入式NT系统定制
硬件测试完成后,根据硬件的中断号、插槽及系统要求的性能,需要对嵌入式NT进行定制。在NT系统裁减器中,主要选择如下:
(1) 选择Minimal With Network Copy至Minimal With Network;
(2) System中Devices选择Display-NullVga,Serial Ports-com1/com2(中断号:5/6),Parallel Ports-LPT1;
(3) Networks:Network adapters-Novel NE Compatile Adapts,Network Protocol-TCP/IP,Network Services-LAN Manage Workstations、Simple TCP Service、DHCP client Winsock;
(4) Share System Component中选择Display Common、Keyboard driver common、Network Common、Virtual memory mamage;
(5) Applications中选择Shell-command Shell,Utilities-Windows NT Command Prompt。
生成操作系统后,做一张嵌入式NT启动盘,用启动盘格式化DOM,键入NTBoot>后将操作系统拷贝至DOM,NT操作系统即可运行。
3.2 软件编写
系统流程图见图3。
系统启动部分主要功能:初始化指纹识别模块InitFp;初始化串口和刷新液晶LCDInit(int(hWnd));初始化字库IniFontLib;初始化键盘响应InitKeySys();初始始化字库IniFontLib();初始化键盘响应InitKeySys();初始化并口采像设备InitParrel();初始化液晶显示InitDispary();将指纹库,密码库装入内存LoadAll()。系统启动完成后开始线程ThreadMain(),在线程中进入程序死循环,在循环中主要响应按键和采集图像进行指纹比对其中按键响应分三部分;
(1) 当输入的按键个数等于设定个数(人员代码长度+密码长度)时,进行密码考勤;
(2) 指纹考勤分为分组考勤(即输入接键的数字键数目为1时进行)、1:1考勤(即输入按键数目等于人员代码长度时进行);
(3) 值守状态下,按MENU键,输入正确系统密码进入管理状态。
系统菜单包括:值守,指纹建档,1:1建棣,密码建档,指纹删除,密码删除,指纹查询,指纹分组查询,密码查询,系统日期,系统时间,默认组设置,修改IP地址,语言设置,代码长度设置,系统密码。
采集图像进行指纹比对:在大循环中,先读图像:ReadImg(Img,50);如果读图像成功,进行比对:SysMatch(Img);比对成功后,显示人员代码、姓名。
3.3 数据传输部分
定义流水帐结构为:考勤时间:_SYSTEMTIME T;人员代码:char Code[16];出入标志:Byte Inout。网络传输采用标准TFTP和UDP协议进行通信,详细通信协议如下:
上传下载采用TFTP协议,主要完成的功能包括:上载人员名单、备份、下传流水帐、备份数据至主机。UDP主要负责打开、关闭TFTP服务。网络通信模块采用标准TFTP协议:
报头==0x81 下载
报头==0x82 上载
传递文件只能为流水账、配置表、指纹数据、密码装饰。
4 实验及测试结果
系统设计完成后,可脱机值守工作。122×32点阵LCD实时显示时钟、操作状态,并具有15键操作键盘,可独立完成建档及查询等功能。系统核查指纹1:N、1:1两种方式兼容,体积小巧,支持桌面及壁挂放置(外形尺寸:255mm×176mm×100mm),提供RS232/R485、RJ45接口,支持局域网连接。提供识别记录的标准数据格式,可用于二次开发或与人事工资等管理软件挂接。指纹登记个数≥3000枚,数据存储容量≥50万条记录。
为验证系统性能,选取1000枚指纹作实验,其中每300枚指纹为一组,实验结果如下:
(1) 指纹核查通过时间:<2s;
(2) 误识率(FAR):<0.001%;
(3) 拒识率(FRR):<1%;
(4) 功耗:<60W;
(5) 分辨率:450dpi。
上述指纹管理系统已初步通过实验检测,运行正常,并通过了有关部分初步验证。本系统将指纹识别与嵌入式技术结合在一起,降低了系统成本,可广泛用于生活小区物业管理,学校的考场管理,军事、政府部门的身份鉴别。应用前景广阔。
但是,该系统还存在两个问题:(1)对指纹质量比较差的指纹存在建档较难的问题(FFR过高);(2)算法过于复杂,影响系统性能。还对应算法和操作系统性能进一步优化。
嵌入式指纹识别系统开发
摘要:介绍了指纹识别技术的基本原理,嵌入式操作系统的选择及定制。计算机控制单元的软件及硬件设计包括:指纹并口采集板设计及初始化程序,前台指纹建档(比对程序,局域网通讯程序,数据处理程序等。关键词:指纹识别 嵌入式 通讯 操作系统
生理测定技术是当前研究的热点之一。目前,有很多技术等生物测定技术可用于身份认证,包括:虹膜识别、视网膜识别、面部识别、签名识别、声音识别技术、指纹识别技术等。其中指纹因具有终生不变性及稳定性,是目前应用前景较好的生物识别系统。但指纹识别目前在国内乃至世界仍未普及的主要原因是:(1)速度慢:目前一般系统辨别需要数秒钟甚至更长;(2)性能差:错误拒识率(FRR)和错误接受率(FAR)过高,目前市场上出现的系统一般FRR<3%,FAR<1/106;(3)价格高:由于目前国内主要引用国外成熟的指纹识别技术,并且比对系统采用PC机处理,体积庞大,不便移动。本系统在对指纹识别技术优化的基础上,与嵌入式技术相结合,可较好地解决上述问题。
1 指纹识别原理
指纹识别的基本原理为:采用细节点坐标模型来做细节匹配,即对指纹的脊线末梢和指纹的脊线分支点提取特征点鉴定指纹。具体的自动指纹识别系统框图见图1。
指纹图像的预处理:目的是去除指纹图像中的噪音,将其转化为一幅清晰的点线图,便于提取正确的指纹特征。预处理影响指纹识别的效果,具有重要的意义。它分四步进行,即灰度滤波、二值化、二值去噪、细化。
对图像细化后,采用细节点模反提取出指纹图像的脊线末梢和脊线分支点的位置,将指纹认证问题转化成为点模式匹配问题。建档时将特征位置点坐标转化为极坐标后存入数据库,作为建档模板。指纹比对时,采用同样的`方法,得到比对模板。由于要考虑指纹的平移和旋转(对极坐标只考虑旋转),对每个关键点A,在指纹图像上寻找两个与其最后的关键点R、S,把A、R、S点的类型(末梢或分支点)分别纪录为nType1、nType2、nType3;把连接点A与点R、点A与点S、点R与点S的3条虚拟线段所跨越的脊线数分别记为nCrossNum1、nCrossNum2、nCrossNum3。如果这两点满足一定茶杯条件,则认为点A与点B初匹配成功,如此可选择出最好的3组对应点,计算出比对模板相对建档模板的旋转角度,将比对模板矫正后,再进行细节点的精细匹配,根据隶属函数可计算两个指纹的相似度。如大于某个阈值,则认为是同一指纹。
2 系统的定制
2.1 选择嵌入式操作系统
随着微电子技术的进步,芯片的制造成本和销售价格都大大降低了,而功能和内部支持的端口却大大扩展了,16位和32位嵌入式处理器逐渐成为电子产品设计的主流。为了缩短产品设计周期和运行时间,使工作更稳定、更可靠和更高效并实现需要的复杂功能,需要运行于嵌入式处理器上的嵌入式操作系统,才能形成完整的系统平台。当前嵌入式操作系统包括Microsoft Embedded NT 4.0、Microsoft Windows CE、Nucleus PLUS、pSOSystem等。由于指纹识别对系统计算能力要求较高,需要具有强大的
[1] [2] [3] [4] [5]
系统开发个人简历模板
给简历贴标签应该遵循多面入手的原则,这就不同于求职目标尽可能讲究专一性,因为你并不是投简历给某一家企业,你是在等待被任何对你有兴趣的企业搜索,所以肯定讲究全面撒网。为此应该给简历贴上更多的标签,只要网站最多允许你贴上十个标签那你就该全部用上,这样就有十类搜索条件的企业会找到你。
那么给简历贴什么样的标签?第一,经验性标签,就是工作经验有多久,把时间写上去但是一定要写地范围适中一些,比如以整五为单位,五年以上工作经验或十年以上工作经验,这样更符合招聘者的搜索习惯和我们日常的习惯。第二,将专业词汇融入到标签当中,比如 MBA或者4S等词语。第三,将名企名称加入到标签比如大众、诺基亚、联想等等。
下面是yjbys小编分享的系统开发个人简历模板,更多内容请关注简历模板栏目。
个人信息
yjbys
目前所在:海珠区年 龄:30 岁
户口所在:云浮国 籍:中国
婚姻状况:未婚民 族:汉族
培训认证:未参加 身 高:168 cm
诚信徽章:未申请 体 重:56 kg
人才测评:未测评
我的特长:
求职意向
人才类型:普通求职
应聘职位:软件工程师:软件工程师
工作年限:2职 称:无职称
求职类型:全职可到职日期:随时
月薪要求:3500--5000希望工作地区:广州,,
工作经历
广州朝日信息技术有限公司 起止年月:-06-12 ~ -11-19
公司性质:私营企业 所属行业:计算机软件
担任职位:软件工程师
工作描述:OA办公系统,Portal门户网站开发
离职原因:
某科技公司 起止年月:-08-01 ~ -10-01
公司性质:私营企业 所属行业:计算机/互联网/通信/电子
担任职位:软件工程师
工作描述:BBS论坛系统
这是采用三层框架开发的一套网络虚拟社区系统。
本人在项目中全程参与了工程的开发,制定前期的项目开发计划,参与编写软件需求说明书及资料收集工作及系统分析设计,最后还参与系统的前台功能编码实现及后期测试工作。
开发环境与应用技术:Windows .net
基于.net技术的三层网站管理系统,客户端使用网页浏览器,后台使用sqlserver2000数据库。具体功能及实现:
1. 用户:管理个人信息,发帖留言等 游客模块:浏览帖子,注册。
2. 登陆实现了等级限制不同等级登陆页面不同,有管理员、版主、用户、游客四种等级模块。
3. 管理员模块:修改自身密码,添加、删除、修改、查询所有版主、用户资料
4. 版主模块:管理某一主题版块,管理会员的帖子
5. 论坛功能由前台功能和后台功能实现。前台功能实现游客和用户的权限操作功能。后台功能实现管理员和版主的权限管理操作功能。
6. 本人主要负责前台功能的实现,即实现游客的注册、浏览功能和用户的登陆、发帖留言、管理个人信息、收发短信、好友信息等功能;数据库业务逻辑及控制分页显示逻辑,调用数据库业务逻辑、分页显示相关的.逻辑,实现查询、增加、修改、删除及分页显示功能。
离职原因:
楹联公司 起止年月:-11-01 ~ 2005-06-01
公司性质: 所属行业:互联网/电子商务
担任职位:
工作描述:外贸业务管理系统 采用三层框架
由基本信息管理(产品管理、贸易公司管理、客户管理、供应商管理)业务管理(合同和出入库订单管理)帐务管理(销售及采购发票、应收应付)等模块功能组成。
OA管理系统
开发工具C#.NET2005 基于三层结构体系,主要由货仓管理及办公自动化模块组成。
离职原因:
教育背景
毕业院校:中山大学
最高学历:本科 获得学位: 毕业日期:2003-07-01
专 业 一:软件工程专 业 二:
起始年月终止年月学校(机构)所学专业获得证书证书编号
2004-06-01-03-01国家劳动部 全国计算机技术考试软件工程国家职业资格三级142133
语言能力
外语:英语 良好粤语水平:精通
其它外语能力:
国语水平:优秀
工作能力及其他专长
受过良好的普通高等教育,工作能力强,刻苦耐劳,专业技能过硬。
熟悉的开发工具:
熟悉的语言、工具:C、VB、UML、C++、XML、Java、C#.NET
熟悉的数据库: Access、SQL Server、Oracle
智能电梯监控系统 负责系统设计,编码及后期维护。
开发工具 vb.net2003 系统描述:通过串口数据接收及转发数据,实现对电梯运行状态的监控.系统除监控功能外还有故障报表预览打印,故障统计功能,电子地图位置显示功能,实时故障显示列表及手动故障记录功能,参数设置和用户注册及更改功能。
软件加密
图书订阅管理系统(vb)
外贸业务管理系统 采用三层框架
由基本信息管理(产品管理、贸易公司管理、客户管理、供应商管理)业务管理(合同和出入库订单管理)帐务管理(销售及采购发票、应收应付)等模块功能组成。
个人自我评价
有良好的团队合作精神,自学能力强,上进,自信,幽默很爱运动
yjbys
男 25岁 福建人
学历: 大专
工作年限: 1-2年
期望薪资: 面议
工作地点: 福州 - 不限
求职意向:其他电气/能源职位 | 电气工程师
工作经验(工作了2年4个月,做了2份工作)
深圳市沁芯微电子有限公司
工作时间:6月 至 8月[2年2个月]
职位名称:系统设计工程师
工作内容:
1、编写单片机程序(PIC和STM32)
2、设计、焊接单片机仿真器电路板
3、用C#开发仿真器和OTP烧录器的上位机程序
深圳市国宇源创科技有限公司
工作时间:203月 至 年5月[2个月]
职位名称:技术员
工作内容:负责公司产品(RFID火车车号识别)电路板的焊接调试
教育经历
2014年6月毕业 浙江机电职业技术学院 应用电子技术
项目/培训经验
1月-206月电子秤
项目/培训内容:包含人体秤和厨房秤,使用国产的仿PIC单片和汇编语言。
yjbys
男 24岁 福建人
学历: 本科
工作年限: 应届毕业生
期望薪资: 3000-5000元
工作地点: 福州 - 不限
求职意向:嵌入式硬件开发(主板机) | 嵌入式软件开发(Linux/单片机/PLC/DSP) | 电路工程师 | 自动控制工程师/技术员 | 电气工程师
教育经历
至今在校 辽宁工程技术大学 自动化
专业技能
Protel:一般 经验:2年
MATLAB:一般 经验:1年
Photoshop:一般 经验:1年
语言技能
英语:一般
证书奖项
证书名称:C1驾照 颁发时间:年9月
证书名称:全国计算机二级证书 颁发时间:2015年9月
证书名称:大学英语四级 颁发时间:209月
自我描述
1.了解计算机软件/plc/51单片机/机电专业知识背景。
2.积极勤奋能吃苦耐劳,责任心强,能承受工作的压力。
3.会使用AltiumDesigner,Matlab等软件
4.优秀的理解沟通能力和快速高效的学习能力
更多相关文章推荐阅读:
??1 嵌入式系统与Linux
按照电气工程师协会的一个定义:嵌入式系统是用来控制或监视机器、装置或工厂等的大规模系统的设备。具体说来,它是电脑软件和硬件的综合体;是以应用为中心,以计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。一般来说,嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,终端用户很难或者不可能改变固件。而Linux也早已成为IT界家喻户晓的一个名字。概括说来,将Linux应用于嵌入式系统的开发有如下一些优点:
① Linux自身具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越在嵌入式系统开发中仿真工具(ICE)的障碍。
② 内核的完全开放,使得可以自己设计和开发出真正的硬实时系统;对于软实时系统,在Linux中也容易得到实现。
③ 强大的网络支持,使得可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。
2 嵌入式系统设计的过程
按照嵌入式系统的工程设计方法,嵌入式系统的设计可以分成三个阶段:分析、设计和实现。分析阶段是确定要解决的问题及需要完成的目标,也常常被称为“需求阶段”;设计阶段主要是解决如何在给定的约束条件下完成用户的要求;实现阶段主要是解决如何在所选择的硬件和软件的基础上进行整个软、硬件系统的协调实现。在分析阶段结束后,通常开发者面临的一个棘手的问题就是硬件平台和软件平台的选择,因为它的好坏直接影响着实现阶段的任务完成。
通常硬件和软件的选择包括:处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等。
在上述选择中,通常,处理器是最重要的,同时操作系统和编程语言也是非常关键的。处理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发工具的选择。
3 硬件平台的选择
3.1 处理器的选择
嵌入式系统的核心部件是各种类型的嵌入式处理器。据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有30几个系列。但与全球PC市场不同的是,没有一种微处理器和微处理器公司可以主导嵌入式系统,仅以32位的CPU而言,就有100种以上嵌入式微处理器。由于嵌入式系统设计的差异性极大,因此选择是多样化的。
调查上市的CPU供应商,有些公司如Motorola、Intel、AMD很有名气,而有一些小的公司,如QED(Santa Clara.CA)虽然名气很小,但也生产很优秀的微处理器。另外,有一些公司,如ARM、MIPS等,只设计但并不生产CPU,他们把生产权授予世界各地的半导体制造商。ARM是近年来在嵌入式系统有影响力的微处理器制造商,ARM的设计非常适用于小的电源供电系统。Apple在Newton手持计算机中使用ARM,另外有几款数字无线电话也在使用ARM。
设计者在选择处理器时要考虑的主要因素有:
① 处理性能。一个处理器的性能取决于多个方面的因素,如时钟频率,内部寄存器的大小,指令是否对等处理所有的寄存器等。对于许多需用处理器的嵌入式系统设计来说,目标不是在于挑选速度最快的处理器,而是在于选取能够完成作业的处理器和I/O子系统。如果是面向高性能的应用设计,那么建议考虑某些新的处理器,其价格相对低廉,如IBM和Motorola Power PC。
② 技术指标。当前,许多嵌入式处理器都集成了外围设备的功能,减少了芯片的数量,降低了整个系统的开发费用。开发人员首先考虑的是,系统所要求的一些硬件能否无需过多的胶合逻辑(GL,Glue Logic)就可以连接到处理器上。其次是考虑该处理器的一些支持芯片,如DMA控制器,内存管理器,中断控制器,串行设备、时钟等的配套。
③ 功耗。嵌入式微处理器最大并且增长最快的市场是手持设备、电子记事本、PDA、手机、GPS导航器、智能家电等消费类电子产品。这些产品中选购的微处理器,典型的特点是要求高性能、低功耗。许多CPU生产厂家已经进入了这个领域。今天,用户可以买到一颗嵌入式的微处理器,其速度像笔记本中的Pentium一样快;而它仅使用普通电池供电即可,并且价格很便宜。如果用于工业控制,则对这方面的考虑较弱。
④ 软件支持工具。仅有一个处理器,没有较好的软件开发工具的支持也是不行的,因此选择合适的软件开发工具对系统的实现会起到很好的作用。
⑤ 是否内置调试工具。处理器如果内置调试工具可以大大缩小调试周期,降低调试的难度。
⑥ 供应商是否提供评估板。许多处理器供应商可以提供评估板来验证理论是否正确,决策是否得当。
3.2 硬件部件选择的其它因素
① 生产规模。打算做1套?多套?还是规模生产?如果生产规模比较大,可以自己设计和制备硬件,这样可以降低成本。反之,最好从第三方购买主板和I/O板卡。
② 开发的市场目标。如果想使产品尽快发售,以获得竞争力,此时要尽可能买成熟的硬件;反之,可以自己设计硬件,降低成本
。
③ 软件对硬件的依赖性。软件是否可以在硬件没有到位的时候并行设计或先行开发。
④ 只要可能,尽量选择使用普通的硬件。在 CPU 及架构的选择上,一个原则是:只要有可替代的方案,尽量不要选择 Linux 尚不支持的硬件平台。
4 软件平台的选择
图1所示的嵌入式软件的开发流程,主要涉及到代码编程、交叉编译、交叉连接、下载到目标板和调试等几个步骤,因此软件平台的选择也涉及到以下几个方面。
4.1 操作系统的选择
(1)操作系统选择应考虑的因素
硬件方案确定之后,操作系统的选择就相对轻松了。硬件的不同,会影响操作系统的选择。低端无MMU(Memory Management Unit,存储器管理单元)的CPU,要使用uClinux 操作系统;而相对高端的硬件,则可以用普通的嵌入式 Linux 操作系统。uClinux 和普通的 Linux 有各自的优势和缺点。可用于嵌入式系统软件开发的操作系统很多,但关键是如何选择一个适合开发项目的操作系统。经过多年的开发实践,笔者认为应该从以下几点进行考虑:
① 操作系统提供的开发工具。有些实时操作系统(RTOS)只支持该系统供应商的开发工具,因此,还必须向操作系统供应商获取编译器、调试器等;而有些操作系统使用广泛,且有第三方工具可用,因此,选择的余地比较大。
② 操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,避免操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度。
③ 操作系统的内存要求。均衡考虑是否需要额外花钱去购买RAM或EEPROM来迎合操作系统对内存的较大要求。
④ 开发人员是否熟悉此操作系统及其提供的API。
⑤ 操作系统是否提供硬件的驱动程序,如网卡等。
⑥ 操作系统的可剪裁性。有些操作系统具有较强的可剪裁性,如嵌入式Linux、Tornado/VxWorks等等。
⑦ 操作系统的实时性能。
(2)几类嵌入式Linux系统的比较
(本网网收集整理)
嵌入式Linux系统方面的产品主要分为三类:
第一类是专门为Linux的嵌入式应用而做的。如何让Linux更小、更容易嵌入到体积要求和功能、性能要求更高的硬件中去,是他们的产品开发方向,如MontaVista的MontaVista Linux等。第二类是专门为Linux的实时特性设计的产品。将Linux开发成实时系统尤其是硬实时系统,应用于一些关键的控制场合(不仅仅是信息电器)。如,Fsmlabs公司开发出来的RT-Linux产品已经用在工业控制的很多方面;葡萄牙的Coimbra大学已经利用RT-Linux实现了化工生产控制厂里用来控制反应和程序控制的系统。第三类的产品是将实时性和嵌入式方案结合起来的方案。很多公司都这么做,并且提供集成化的开发方案,如Lineo、TimeSys等等。
因此选择操作系统时,要根据自己的嵌入式要求和实时性要求,选择适合自己的嵌入式Linux;同时,和选择硬件的原则一样,如果可能,尽量选择使用普通的嵌入式 Linux 系统。
4.2 编程语言的选择
编程语言的`选择主要考虑以下因素:
① 通用性。不同种类的微处理器都有自己专用的汇编语言。这就为系统开发者设置了一个巨大的障碍,使得系统编程更加困难,软件重用无法实现。而高级语言一般和具体机器的硬件结构联系较少,多数微处理器都有良好的支持,通用性较好。
② 可移植性程度。汇编语言和具体的微处理器密切相关,为某个微处理器设计的程序不能直接移植到另一个不同种类的微处理器上使用,移植性差;而高级语言对所有微处理器都是通用的,程序可以在不同的微处理器上运行,可移植性较好。
③ 执行效率。一般来说,越是高级的语言,其编译器和开销就越大,应用程序也就越大、越慢;但单纯依靠低级语言,如汇编语言来进行应用程序的开发,带来的问题是编程复杂、开发周期长。因此,存在一个开发时间和运行性能间的权衡问题。
④ 可维护性。低级语言如汇编语言,可维护性不高。高级语言程序往往是模块化设计,各个模块之间的接口是固定的。当系统出现问题时,可以很快地将问题定位到某个模块内,并尽快得到解决。另外,模块化设计也便于系统功能的扩充和升级。
几种开发语言的比较:
在嵌入式系统开发过程中使用的语言种类很多,比较广泛应用的高级语言有:Ada、C/C++、Modula-2和Java等。Ada语言定义严格,易读易懂,有较丰富的库程序支持,目前在国防、航空、航天等相关领域应用比较广泛,未来仍将在这些领域占有重要地位。C语言具有广泛的库程序支持,目前在嵌入式系统中是应用最广泛的编程语言,在将来很长一段时间内仍将在嵌入式系统应用领域占重要地位。C++是一种面向对象的编程语言,目前在嵌入式系统设计中也得到了广泛的应用,如GNU C++。Visual C++,是一种集成开发环境,支持可视化编程,广泛应用于GUI程序开发。但C与C++相比,C++的目标代码往往比较庞大和复杂,在嵌入式系统应用中应充分考虑这一因素。Modula-2定义清晰,支持丰富,具有较好的模块化结构,在教学科研方面有较广泛的应用。虽然该语言的开发应用一直比较平缓,但近两年在欧洲有所复苏。J
ava语言相对年轻,但有很强的跨平台特性,目前发展势头较为强劲。Java语言的“一次编程,到处可用”的特性,使得它在很多领域备受欢迎。随着网络技术和嵌入式技术的不断发展,Java及嵌入式Java的应用也将越来越广泛,但是Java消耗硬件资源较大。
4.3 集成开发环境考虑的因素
集成开发环境IDE(Integrated Development Environment)应考虑以下因素:
① 系统调试器的功能。系统调试特别是远程调试是一个重要的功能。
② 支持库函数。许多开发系统提供大量使用的库函数和模板代码,如大家比较熟悉的C++编译器就带有标准的模板库。它提供了一套用于定义各种有用的集装、存储、搜寻、排序对象。与选择硬件和操作系统的原则一样:除非必要,尽量采用标准的 glibc。
③ 编译器开发商是否持续升级编译器。
④ 连接程序是否支持所有的文件格式和符号格式。
4.4 硬件调试工具的选择
好的软件调试程序可以有效地发现大多数的错误,但是如果再选择一个好的硬件调试就会达到事半功倍的效果。常用的硬件调试工具有以下几种:
① 实时在线仿真器(ICE,In-Circuit Emulator)。用户从仿真插头向ICE看,ICE应是一个可被控制的MCU。ICE是通过一根短电缆连接到目标系统上的。该电缆的一端有一个插件,插到处理器的插座上,而处理器则插到这个插件上。ICE支持常规的调试操作,如单步运行、断点、反汇编、内存检查、源程序级的调试等等。
② 逻辑分析仪。逻辑分析仪最常用于硬件调试,但也可用于软件调试。它是一种无源器件,主要用于监视系统总线的事件.
③ ROM仿真器。ROM仿真器用于插入目标上的ROM插座中的器件,用于仿真ROM芯片。可以将程序下载到ROM仿真器中,然后调试目标上的程序,就好像程序烧结在PROM中一样,从而避免了每次修改程序后直接烧结的麻烦。
④ 在线调试OCD或在线仿真(on-chip emulator)
特别的硅基材料以及定制和CPU引脚的串行连接,在这种特殊的CPU芯片上使用OCD (On-Chip Debugging),才能发挥出OCD的特点。用低端适配器就可以把OCD端口和主工作站以及前端调试软件连接起来。从OCD的基本形式看来,它的特点和单一的ROM监测器是一致的,但是不像后者那样,需要专门的程序以及额外的通信端口。
4.5 软件组件的选择
有些软件组件是免费的,有些软件组件是授权的。授权软件组件的费用一般都很高,但大都经过严格的测试,可靠性高,调试时间短。现在也有一些免费的自由软件组件,它们的性能、可靠性也很好。因此开发人员在选择的时候要加以权衡,确定哪种方案更好。
5 展 望
国外的开发已经如火如荼,国内的开发也不甘示弱。Linux在嵌入式系统中具有强大的生命力和利用价值,很多公司和大学都不同程度地表现出对这个方面的兴趣。有理由相信,嵌入式Linux的发展将带领我们进入嵌入式系统的新时代!
??1 嵌入式系统与Linux
按照电气工程师协会的一个定义:嵌入式系统是用来控制或监视机器、装置或工厂等的大规模系统的设备。具体说来,它是电脑软件和硬件的综合体;是以应用为中心,以计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。一般来说,嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,终端用户很难或者不可能改变固件。而Linux也早已成为IT界家喻户晓的一个名字。概括说来,将Linux应用于嵌入式系统的开发有如下一些优点:
① Linux自身具备一整套工具链,容易自行建立嵌入式系统的`开发环境和交叉运行环境,并且可以跨越在嵌入式系统开发中仿真工具(ICE)的障碍。
② 内核的完全开放,使得可以自己设计和开发出真正的硬实时系统;对于软实时系统,在Linux中也容易得到实现。
③ 强大的网络支持,使得可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。
2 嵌入式系统设计的过程
按照嵌入式系统的工程设计方法,嵌入式系统的设计可以分成三个阶段:分析、设计和实现。分析阶段是确定要解决的问题及需要完成的目标,也常常被称为“需求阶段”;设计阶段主要是解决如何在给定的约束条件下完成用户的要求;实现阶段主要是解决如何在所选择的硬件和软件的基础上进行整个软、硬件系统的协调实现。在分析阶段结束后,通常开发者面临的一个棘手的问题就是硬件平台和软件平台的选择,因为它的好坏直接影响着实现阶段的任务完成。
通常硬件和软件的选择包括:处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等。
在上述选择中,通常,处理器是最重要的,同时操作系统和编程语言也是非常关键的。处理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发工具的选择。
3 硬件平台的选择
3.1 处理器的选择
嵌入式系统的核心部件是各种类型的嵌入式处理器。据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有30几个系列。但与全球PC市场不同的是,没有一种微处理器和微处理器公司可以主导嵌入式系统,仅以32位的CPU而言,就有100种以上嵌入式微处理器。由于嵌入式系统设计的差异性极大,因此选择是多样化的。
调查上市的CPU供应商,有些公司如Motorola、Intel、AMD很有名气,而有一些小的公司,如QED(Santa Clara.CA)虽然名气很小,但也生产很优秀的微处理器。另外,有一
[1] [2] [3] [4] [5]
随着经济快速发展,我国已经进入到信息化时代,各种信息技术在改变着人们的生活。其中嵌入式技术就是被广泛应用到我们生活的各个方面,从智能穿戴到智能交通,都离不开嵌入式开发技术。本文主要介绍了单片机与嵌入式系统的开发方法,重点论述了开发者在开发过程中可能存在的问题,并结合自己的工作经验给出了切实可行的解决方案。
【关键词】信息化时代;嵌入式技术;智能穿戴;单片机;解决方案;开发方法
这些年随着信息化地不断发展,各种智能化产品被广泛应用在我们生活的各行各样。这其中离不开嵌入式技术的发展。从而智能家居到智能交通,处处体现着嵌入式技术发展,给人们的生活提供了极大的方便,促进了社会智能化发展。单片机嵌入式系统是基于单片机技术发展的一种数字系统。单片机给它提供了强有力的计算单元,是它能够完成对于数据的分析、计算,以及向执行器发送控制指令。同时单片机能够集成在很小的电路板上,这样更利于嵌入式技术能够产业化、集成化,这是因为这些特点使得单片机嵌入式技术能够被广泛应用在各个方面,如今基于单片机嵌入式开发技术已经很成熟了,在实际开发过程中仍然存在着很多问题,因此本文主要论述了单片机系统再设计时存在的一些问题,以及微核对于单片机技术设计的影响。希望能够更好促进单片机嵌入式技术的发展。
1嵌入式系统概述
单片机嵌入式系统主要使用单片机作为处理单元,同时结合传感器、执行器以及控制算法为一体的专用系统。它组成方面包括了处理器(单片机)、硬件设备(传感器)、操作系统(u-cos系统)等组成,具有远程控制、数据管理等强大功能。核心的器件技术单片机,能够对于传感器采集的数据进行分析、处理同时像控制单元发出控制指令,对于不同的项目需求可以把传感器、执行器与单片机集成在一块电路板上,这块电路板可以做的很小,像我们的运动手环,具体很高的集成度。这样就能高效完成项目需求,提高解决问题的效率和质量,从而最大程度提高人们的'生活水平。随着信息技术快速发展,单片机嵌入式系统往往具有了远程控制的功能,可以通过Wi-Fi技术、以太网模块等网络接口实现数据的联网功能。随着我国的单片机嵌入式技术已经取得了很大的发展,但是和国外发达国家相比仍然有很大的差距,尤其在单片机的制造上。除了8位单片机,在16位、32位单片机以及更高位数的单片机制造上和国外仍然有着很大的差距。除了集成度需要改进外,在容量和计算速度仍然有很大的提升空间,从而更好满足日益复杂的应用需求。
基于单片机嵌入式系统的开发与设计主要使用的是软件集成开发工具(Keil、IAR等)以及电路设计工具(PCB工具),在具体的开发过程中需要开发者结合项目具体的实际需求,将其项目功能具体系统级功能,然后在进行划分为具体的模块功能,然后根据模块设计思想以及自顶而下的设计思想进行模块设计,这样更容易开发,同时也更容易发现错误并改正错误。嵌入式系统的在实际过程中需要结合具体的型号参数进行科学合理的设置,只有充分掌握单片机的内外资源才能更好地进行单片机嵌入式的设计。此外,在设计工作中,要合理配置系统中的资源,并设计相应的代码,以达到预期的功能。嵌入式系统追求集成和模块化,需要将各个功能模块集成到单片机中,实现单片机的远程调度、信号控制、数据管理等功能。在设计过程中,为了便于多设备的交叉使用,我们可以将各种应用接口设置为统一的标准,使嵌入式系统在特定的应用中能够标准化和标准化。同时,为了确保嵌入式系统的发展的合理性,可以提前进行模拟操作,并通过仿真发现操作是否有问题,如果有问题,可以及时解决,有效地减少了开发时间和加快工作进度。
微核结构的设计应用可以很有效地提高嵌入式系统的移植性能力和扩展能力,但是随着项目需求难度不断增加,微内核的设计变得越来越复杂,这样不但没有提高单片机系统运行的性能,反正增加了单片机的功耗,特别是嵌入式系统在微控制器的通用性。当使用单片机在进行远程控制时,这个过程需要微核的参与,同时需要和数据进行不断交换,这大大增加了单片机的负担。因此设计者需要不断优化微内核,从而提高单片机系统的运行效率。对于微控制器来说,它主要是由系统时钟进行驱动的,在运行过程中需要根据时钟信号来不断完成读写指令地过程,当然这个过程可以使用软件进行控制,因此可以通过不断优化代码来提高微控制器的使用效率,从而最大程度发挥单片机的性能。另外在和微控制器在进行通信时主要实现的是消息机制,这样会大大增加微内核的开销。为了保证微内核的运行效率,需要对系统程序进行优化,使应用程序能够直接调用库程序,大大提高了微内核使用的灵活性。
4嵌入式技术的应用
嵌入式技术被广泛应用在各个行业,智能交通、智能家居、智能医疗等行业。这里我们主要介绍智能驾驶技术。首先打开汽车,选择自动驾驶,通过传感器采集复杂的路面信息、行人信息和交通标志信息,然后将融合的信息发给中央处理器进行处理,最后控制器控制汽车相关的执行结构,是汽车的速度方向等得到最完美的控制。其中嵌入式结合了传感器融合技术,人工智能算法,传感器网络通信技术等多种技术共同完成了无人驾驶功能。同时体现大数据处理以及需要高性能的CPU。因为汽车的行驶速度很快,要求处理处理一定要快,数据处理主要涉及的是图像处理,用到了卷积神经网络大大增加了计算量,所以高性能的CPU是必要的,这时候单片机就远远达不到要求,但是还是属于嵌入式技术一部分。
5结语
嵌入式技术一直是各个行业研究的热点,研究嵌入式技术是非常必要的。而且在科技发展的今天,嵌入式技术应用的产品在我们身边随处可见,加上人工智能算法和大数据的辅助,我国嵌入式技术一定会迎来快速发展,一定会使我们的生活变得更加美好。
参考文献
[1]苏燕,张建平,阮莹等.单片机嵌入式网络技术以及系统开发与实现[J].科技资讯,,14(13):28-29.
[2]彭铁牛.嵌入式实时操作系统在单片机上的开发应用研究[J].山东工业技术,2016(03):43-43.
姓名:国籍:中国
目前所在地:广州民族:土家族
户口所在地:湖南身材:170cm?58kg
婚姻状况:已婚年龄:31岁
培训认证:诚信徽章:
求职意向及工作经历
人才类型:普通求职
应聘职位:计算机类:系统开发、计算机类、
工作年限:5职称:高级
求职类型:全职可到职日期:两个星期
月薪要求:--3500希望工作地区:广东省
个人工作经历:公司名称:广州美业针织印染有限公司起止年月:-06~
公司性质:私营企业所属行业:纺织,服装
担任职务:系统开发员
工作描述:2004.6--.5系统维护,网络架设,服装部宣传网站设计开发。2005.6--.1系统开发,主要负责企业资源管理营业部分开发及实施,使用Visualbasic6,SQLSERVER2000及Crystalreport报计制作等2008.1--今新版本系统购买dynamicAx,负责需求调研,部分修改开发及用户培训。使用sqlserver2005的.SSIS、SSAS、SSRS等工具对ERP实施业务分析及建立DataWarehouse
离职原因:
公司名称:中山FirstGlory服装有限公司起止年月:-07~2004-05
公司性质:私营企业所属行业:纺织,服装
担任职务:网络及系统维护
工作描述:公司服装系统测试及维护,网络维护、管理和规划;
离职原因:
教育背景
毕业院校:吉首大学
最高学历:本科获得学位:学士毕业日期:2003-07-01
所学专业一:计算机科学与技术所学专业二:
受教育培训经历:起始年月终止年月学校(机构)专业获得证书证书编号
-092003-07吉首大学计算机科学与技术学士
语言能力
外语:英语良好
国语水平:优秀粤语水平:良好
工作能力及其他专长
系统开发方面:熟练使用visualbasic6.0,合作开发美业印染印染管理系统。自学C#.net。熟悉dynamicax2009,能使用X++简单开发。
WEB开发方面:熟练HTML,CSS语法、PHP+MYSQL开发及linux服务器搭建。主要建过美业服装宣传网站,及WEB物资管理系统。
数据库方面:主要使用SQL2000,mysql5,sqlserver2005的SSIS、SSAS、SSRS应用。
网络方面:网络计算机日常维护,网络建设,管理。linux服务器搭建。
详细个人自传
本人能吃苦耐劳,为人踏实,性格开朗,有亲和力,与人融洽相处,具团队精神。
个人联系方式
通讯地址:
联系电话:家庭电话:
手机:QQ号码:
电子邮件:个人主页:
嵌入式系统开发要素的选择分析
摘要:主要讨论在嵌入式系统开发中,设计人员如何考虑和选择嵌入式处理器、嵌入式操作系统、调试器、仿真器以及开发人员的技术水平和结构比例等组成要素;同时,以实例说明如何选择这些开发要素。关键词:嵌入式系统 嵌入式处理器 实时操作系统 仿真器 调试器
引 言
在计算机、互联网和通信技术高速发展的同时,嵌入式系统开发技术也取得迅速发展。这不仅表现在从事嵌入式系统开发研究的人员队伍日益壮大,嵌入式处理器和实时操作系统的性能增强和产品升级换代,更重要的体现在嵌入式技术应用范围的急剧扩大。
嵌入式系统拥有巨大的市场空间,我国应该抓住机遇,与时俱进,奋起直追,在嵌入式系统领域赶超世界先进水平。要达到这个目标,具有一定的现实可行性,这是因为同PC机系统相比,嵌入式系统更有自身的特征。在PC领域,虽有AMD系列处理器和Linux操作系统的市场冲击,但是Win_Tel(Windows+Intel)体系架构仍占主导地位;可是,嵌入式系统本身是一个相当分散的工业,典型特征是面向用户、面向产品、面向应用的,市场应用才是嵌入式系统开发的导向和前提,在当前的嵌入式市场中不存在垄断的局面。
嵌入式系统包含硬件和软件两部分:硬件架构上以嵌入式处理器为中心,配置存储器、I/O设备、通信模块等必要的外设;软件部分以软件开发平台为核心,向上提供应用编程接口(API),向下屏蔽具体硬件特性的板级支持包BSP。嵌入式系统中,软件和硬件紧密配合,协调工作,共同完成系统预定的功能。
对于不同的市场应用类型,嵌入式系统开发中的嵌入式处理器、实时操作系统、仿真器、调试器以及开发队伍的技术水平和结构比例等要素的选择是至关重要的。本文参考一些嵌入式系统开发的资料,结合具体的工程实践经验,系统总结了进行嵌入式系统开发时,如何全面考虑各开发要素并进行选择,最后结合一个具体实例进行详细阐述。
1 嵌入式处理器
嵌入式系统的功能软件集成于硬件系统之中,系统的应用软件与硬件一体化。在嵌入式系统的硬件设备中,嵌入处理器是整个系统的核心部件,其性能的好坏直接决定整个系统的运行效果。
PC机销售市场中,随着通用CPU技术的突破和工作频率的倍增,旧款低档CPU早已经不见踪迹。嵌入式系统开发面向具体应用,不同领域的应用市场需要不同款式和性能指标的处理器来开发,于是在嵌入式处理器市场中,中低端的4位、8位和16位处理器依然存在,高性能的32位处理器也有很多产品。随着超大规模集成电路技术和微电子技术发展,包含嵌入式处理器以及部分外围电路的微控制器产品也进入市场,片上系统SoC(System on Chip)产品也开始出现。这些产品的上市,不仅丰富了嵌入式处理器产品,而且也更加方便了工程技术人员进行嵌入式系统的技术开发和扩大嵌入式产品的应用领域。
由于嵌入式系统应用需求的多样性,市场上基于RISC结构的嵌入式处理器提供商也日渐增多。统计数字表明,底市场销售额排在前三位的公司分别是ARM、Motorola和MIPS,其中ARM公司的芯片销售量达1.5亿个,市场份额超过50%。
面对这样的嵌入式处理器市场,开发设计人员应该如何选择呢?这里有两个前提条件。
一是深入研究具体的嵌入式系统应用需求,充分的`应用需求分析后获取应用系统的性能指标。面向应用是嵌入式系统的特色,具体的应用需求决定着嵌入式处理器的性能选型。在工业控制等特殊领域,系统需求分析员不仅需要和工作人员、上级主管亲自面谈,而且要到工作现场获取第一手信息,收集充分的资料。应用需求分析后,需要定义产品具备的基本功能和性能指标,如系统处理的数据量大小和处理实时性要求、系统正常运行时的工作环境、系统运行过程中可能遇到的突发事件、系统的尺寸大小和功耗指标等。
第二个前提条件是,分析研究市场上各大厂商提供的各款嵌入式处理器的性能指标,如功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等。这些参数也是各个半导体芯片厂商之间竞争的热点。
开发人员通过应用需求分析获取了产品的功能性和非功能性指标,研究了市场上嵌入式处理器的性能参数后,能够对嵌入式处理器作出较好的选择。嵌入式处理器选择的基本原则是满足具体功能性和非功能性指标需求的、市场应用反应良好的、硬件配置最少的嵌入式处理器。如简单的智能仪器仪表设计考虑使用4位或者8位低档单片机8051;和数字信号处理密切相关的选用TI公司的TMX320x系列的DSP(数字信号处理)芯片;如果产品偏重于通信功能,考虑Motorola公司的嵌入式处理器68K系列;如果产品功能比较齐全,可选用嵌入式处理器领域的后起之秀ARM公司的高性能嵌入式处理器ARM芯片系列等。
除了上述的产品性能需求因素,选择嵌入式处理器时也需要考虑开发人员对此系列处理器的熟悉程度。因为不同公司开发的嵌入式处理器差别较大,从一类处理器转移到另一类处理器的难度比同一系列不同处理器间的转移难度大得多,风险多得多。
(本网网收集整理)
2 实时操作系统
以嵌入式处理器为中心,开发人员搭建好硬件电路时仅提供了裸机运行平台,要使整个系统有限的硬件资源充分利用起来,还需要(嵌入式)实时操作系统RTOS(Real Time Operating System)的软件支持。
RTOS与一般商用多任务OS(如Unix、Windows以及Linux等)有共同的一面,也有不同的一面。商用多任务OS主要目的是方便用户管理计算机资源和追求系统资源的最大利用率;而RTOS重点追求的是实时性、可确定性、可靠性,当然也包括有限资源的管理。一般RTOS内核都很小,在几KB~十几KB之间。流行的RTOS基本上都支持基于优先级的抢占式调度策略和时间片轮转,具有微内核结构,有标准
组件可供选用,支持虚拟存储技术和存储保护机制。
由于具体嵌入式应用的功能需求差异以及不同RTOS间不同的性能指标,RTOS的选择有三种方案:一是根据应用需要和公司技术实力,考虑自主开发研究(国内手机厂商宁波波导公司部分款式的手机操作系统就是自主开发的);二是充分考虑系统需求和流行RTOS的性能指标及性价比选择商用RTOS,如WinCE、VxWorks等;三是考虑嵌入式Linux(RT_Linux),RT_Linux是开放源代码的免费自由软件,互联网技术论坛较多,具备较好的裁减性以支持不同的应用范畴。
当前全球范围内商用RTOS多达200多种,应用领域的多样性使得市场反应较好的也将近有十几种,如VxWorks、pSOS、Nucleus、QNX、WinCE以及中科院软件研究中心研制的Hopen等。这些不同名称的RTOS,核心软件差异微妙而且难以琢磨,选择时重点是考虑它们的性能评价指标,主要包括调度算法、RTOS本身内存开销、RTOS内存管理模式、最大中断禁止时间和最大任务切换时间。当然,也包括RTOS的购买成本和提供的技术支持等相关因素。针对实时性要求较高的应用,需要重点考虑RTOS的最大中断禁止时间和最大任务切换时间。这两个参数越小越好。减小这两个参数值,除了选用较高工作主频的嵌入式处理器外,还和RTOS本身任务调度和中断处理机制密切相关。
选择RTOS时,通常还要考虑系统功能方面支持何种处理器硬件平台,何种API,是否支持核心态用户态、是否支持内存管理单元MMU、可移植性、调试支持、标准支持等。如果开发网络应用,还需要考虑该RTOS是否支持TCP/IP的网络组件和I/O服务等。如果开发游戏和娱乐市场,要着重研究该RTOS对多媒体的支持能力。市场应用需求的多样性,使得RTOS本身应该支持用户自定制能力,根据应用需要在微内核的基础上选用标准组件。
3 仿真器和调试器
调试是嵌入式系统开发过程的重要环节。嵌入式系统开发调试和一般PC系统开发调试有较大差别。在一般PC机系统开发中,调试器和被调试程序是运行在相同的硬件和软件平台上的两个进程,调试器进程通过操作系统专门提供的调试接口控制和访问被调试进程。而在嵌入式系统中,调试器是运行在桌面操作系统上的应用程序,被调试程序是运行在基于特定硬件平台的操作系统,两个程序间需要实时通信。
嵌入式系统调试时,主机上运行的集成开发调试工具(调试器)通过仿真器和目标机相连。仿真器处理宿主机和目标机之间所有的通信,这个通信口可以是串口、并行口或者高速以太网接口。仿真器通过JTAG口和目标机相连。三者间的关系如图1所示。
嵌入式系统开发调试方法有快速原型仿真法和实时在线调试法。快速原型仿真法用于硬件设备尚未完成时,直接在宿主机上对应用程序运行进行仿真分析。在此过程中系统不直接和硬件打交道,由开发调试软件内部某一特定软件模块模拟硬件CPU系统执行过程,并可同时将仿真异常反馈给开发者进行错误定位和修改。实时在线调试法在具体的目标机平台上调试应用程序,系统在调试状态下的执行情况和实际运行模式完全一样,这种方式更有利于开发者实时对系统硬件和软件故障进行定位和修改,提高产品开发速度。
选用的调试器是运行在主机上的集成开发环境,一般需要集编辑、汇编、编译、链接和调试环境于一体,支持低级汇编语言、C和C++语言,基于友好的图形用户界面(GUI),支持用户观察或修改嵌入式处理器的寄存器和存储器配置、数据变量的类型和数值,堆栈和寄存器的使用,支持程序断点设置,单步、断点或者全速运行等特性。
应用需求的多样性导致市场上仿真器和调试器的提供商也较多,Windriver公司的Tornado是一个很好的开发调试工具。根据实践经验,一般配套选择规模较大、信誉较好公司的仿真器和调试器,虽然价格偏高,但是这些公司技术实力强,售后服务好,调试器和仿真器开发结合紧密。如果在开发调试过程遇到技术障碍,可以通过电话或者电子邮件方式及时获取技术支持。如选用ARM系列的嵌入式处理器时,可以购买Multi-ICE仿真器,并附加ARM250集成开发调试环境等。
4 开发队伍的技术水平和结构比例
嵌入式系统开发中选择好了嵌入式处理器、RTOS、仿真器和调试器等设备外,还需要考虑开发队伍的技术水平和结构比例。经验丰富的开发小组都深有体会:民用产品开发中,产品能够在预计的时间内进入市场赢得效益,其整个技术范围内新技术比例至多只能达到20%,超过这个界限,估算的时间期限可能会出现较大偏差。从高层规划人员的角度分析:20%以内的新技术,公司可以集中力量,投入足够多的人力、物力和财力进行突破性研究,正常情况下可以达到满意效果。如果新技术超出20%这个范围,恐怕心有余而力不足。
公司运作以市场作为向导,是市场赋予它们生命。公司看重市场,付出的劳动有市场回报才能正常运转。公司在开发过程中一般都尽量避免风险,而且整个开发过程中始终将风险分析作为重要的参考因素。公司一般都选择保守的开发模式,基于当前开发人员的技术实力和已经达到的技术储备,在许多种备选方案的技术论证过程,充分分析成本收益、风险大小、投入资源、开发人员的技术水平等因素,全面考虑,权衡利弊,尽量选用可靠的,风险小的设计方案。
在项目开发中,分配开发人员时不仅要确保任务在给定时间期限内完成的成功性,而且也要体现在锻炼培养后继人才方面。任何项目的开发,依据需求分析后,经过概要设计和详细设计,都会形成模块化结构,其工作难度也有一定的层次性。这样,公司在选派项目人员时,需要合理的人员结构安排,现在一般公认的人才结构比例是1(博士或同等学历)∶3(硕士或同等学历)∶7(学士、大专或同等学历)。在项目开发中,除了开发人员的技术水平和结构比例外,小组内部的民主化、科学化管理决策也是很重要的环节。
5 应用实例解析
在详细讨论了嵌入式系统开发中的几个关键因素后,下面具体阐述这些因素在工作中的具体体现。图2是个人数字助理PDA和寻呼机二合一的手持式电子产品结构图。
该产品的基本功能包括:
① 个人数字助理――科学计算器、英汉互译辞典、电话号码簿、记事日程表等;
② 交通信息――列车时刻表的车次查询和车站查询、民航时刻表的航班查询等;
③ 寻呼信息――接收
个人和公共寻呼信息,个人寻呼内容实时语音合成并播放,寻呼方式更新列车和民航时刻表数据等。
分析产品功能结构图并结合产品的基本功能,可以获得产品对嵌入式处理器的性能要求:高速嵌入式处理器处理列车和民航时刻表查询、个人寻呼内容的实时语音合成并播放等。处理器外围需要自带语音录放电路完成语音录入和播放,串行口和红外通信口进行数据通信,LCD接口电路提供用户输入接口,也需要电源管理模块完成便携式电子产品的低功耗设计。
选用ARM公司的嵌入式微控制器EP7211:内含的32位微处理器ARM720T,提供18MHz、36MHz、54MHz和72MHz工作主频,而且允许用户在应用程序中对控制寄存器编程切换处理器工作频率,这种切换频率的工作方式,不仅满足了不同的应用需求,而且降低了系统的功耗。EP7211提供了SRAM和Flash存储芯片接口,2个RS232口(1个自带红外信号收发模块),支持G_729.a标准的语音录放Codec模块,有LCD接口和电源管理部分,支持低电压监测等。在休眠状态下,EP7211支持中断唤醒功能,唤醒时间是唤醒频率的2~3个周期,芯片提供8kHz的唤醒频率,使得在休眠状态下系统收到寻呼前导信号时能够及时唤醒。
选定了EP7211后就应选择RTOS了。从产品功能和程序流程的角度分析,系统基本上是单任务顺序处理,但要具备实时对寻呼中断的响应能力。RTOS的选择有两个方案:一是使用已经购买的用在油田测井系统SL3000型产品的商用Nucleus,二是使用自主开发的、专门面向嵌入式应用系统的XGW软件开发平台。
XGW软件开发平台功能强大,模块化设计,扩展性强;支持多种点阵和矢量字体;完善的中英文处理接口;支持汉王手写识别和拼音输入法等。XGW开发平台是自主研发的,软件产品升级和故障排除比较容易,产品成本费用相对较低。选择EP7211嵌入式处理器和XGW开发平台,还因为二者在“GPS汽车导航系统”项目中获得了成功应用。
关于集成开发调试环境,我们购买了ARM公司的ARM250。它基于GUI用户接口,一体化的编辑、汇编、编译、连接和调试多窗口工作环境,支持单步跟踪、断点设置和内存查看等;同时,ARM250开发调试界面和Microsoft 的VC6++集成环境相似,有助于开发人员快速熟悉和掌握。选用Multi_ICE仿真器,支持在线仿真调试,通过并行口连接主机,支持程序编译链接后的程序代码快速加载,加快了代码调试进度。
详细分析了产品的技术风险,对开发小组而言,只有寻呼系统是比较成熟的新技术,且工作频率高达155MHz,需要重点解决和其它功能模块的电磁兼容性,要投入较多的人力资源进行重点突破。关于嵌入式处理器EP7211和自主研发的XGW软件开发平台等,开发人员都有一定的技术积累和丰富的工作经验。
在系统开发中,设计了两套技术调试方案:一是基于内存SRAM模式,二是基于闪存Flash模式。在内存SRAM模式中,系统加电冷启动时,系统完成相关硬件初始化任务后执行一段代码,将系统编译连接生成的二进制可执行代码从Flash存储空间完全拷贝到SRAM内存空间中,整个应用程序调试完全在内存空间执行。此种方案极大加快了庞大应用程序的调试步伐,加快产品开发进度。二是在SRAM内存模式调试完应用程序的基础上,执行闪存Flash调试,系统启动后将中断服务程序ISR和少量的内核代码拷贝到SRAM后在SRAM中执行,其它应用程序在Flash中执行。Flash模式同SRAM模式相比,主要是修改系统启动代码段,应用程序代码完全保持一致。Flash模式减少了宝贵的SRAM资源需求、降低了产品开发成本,但是运行速度较SRAM模式慢。
6 小 结
本文详细阐述了在嵌入式系统开发中嵌入式处理器、嵌入式操作系统、调试器、仿真器以及开发人员的技术水平和结构比例等组成要素的选择原则,并且使用一个具体的实例来进一步分析说明。需要指出的是,这些要素之间不是彼此独立,而是紧密相关,可能还会在某些方面相互冲突。
嵌入式实时系统开发的正确选择
随着嵌入式实时系统复杂度的提高,设计工程师在定义和分析系统初始要求时必须认真考虑软硬件的协同关系。通常设计工程师还必须权衡系统的灵活性、速度、成本、计划和可用工具之间的关系。本文打算描述嵌入式系统和实时系统的关键特性,并探讨在选择或开发硬件和软件组件的基础上开发高效嵌入式系统的解决方案,同时详细说明嵌入式系统和实时系统开发所特有的关键工艺技术。嵌入式系统通常是一个包含微处理器的特殊计算机系统,是一个较大系统或设备的组成部分,它在很大程度上决定了设备的功能特性。许多具备数字接口的设备如微波设备、录像机(VCR)和汽车等都会用到嵌入式系统。有些嵌入式系统需要使用操作系统,有些则用单个程序实现整个逻辑,但所有嵌入式系统提供的功能都要比通用计算系统更专业些。嵌入式系统功能包括:
1. 监视环境-从输入传感器读取数据,然后处理数据并显示结果。
2. 控制环境-产生并向激励器发送命令。
3. 转换信息-转换并处理收集到的数据。
虽然通过传感器和激励器完成与外部世界的交互是嵌入式系统的重要特点,但这些嵌入式系统还提供适合它们所在设备的特殊功能。嵌入式系统一般用来执行控制程序、有限状态机和信号处理算法。这些系统还必须检测内部计算环境和周围电磁系统中发生的故障并对此做出响应。
嵌入式系统特性
嵌入式系统的设计挑战是使嵌入式系统的独特性能与设备的特殊约束条件相一致。以下是一些嵌入式系统的重要特性:
1. 特殊应用系统-嵌入式系统不同于通用处理器,它针对特殊应用进行了优化。
2. 反应性系统-反应性计算的意思是系统(主要是软件部分)根据传感器信息对环境作出响应,并利用激励器控制环境,同时系统速度能与环境速度同步。
3. 分布式-嵌入式系统的一般特征是多个通信进程在多个通过通信链路链接的CPU或ASIC上运行。
4. 异类性-不同的嵌入式系统一般具有不同的结构,以便在处理严格设计约束的嵌入式系统时能够提供更好的设计便利性。
5. 苛刻环境-许多嵌入式系统并不工作在受控的环境中,因此它们必须能够经受过热、振动、冲击、电源波动和其它恶劣的物理环境条件的考验。
6. 系统安全性和可靠性-由于嵌入式系统复杂度和运算量的不断增长,需要更多地考虑系统安全因素。
7. 小型化、重量轻-为了达到便携目的,许多嵌入式系统的重量必须设计得很轻。
8. 成本敏感性-不同的嵌入式系统对成本的敏感性有很大的不同。
实时系统的特性
实时系统要求在外部环境指定的`时间间隔内对来自环境的激励信号作出响应(包括物理时间的过渡)。从输入时间到输出时间的延迟必须足够小,以满足可以接受的时间值。通常实时系统需要对环境作出连续及时的响应。
计算的正确性不仅依赖于结果,而且取决于输出发生的时间。一个实时系统必须满足有限响应时间约束条件,否则会产生严重的后果。如果后果是性能的劣化而不是故障,那么这种系统可以看作是一个软实时系统。如果后果是系统发生故障,那么这种系统就是一种硬实时系统。
实时系统有反应式和嵌入式两种类型。反应式实时系统会与环境发生连续的互作用,而嵌入式实时系统主要用于控制大型系统中安装的特殊硬件。
嵌入式系统开发生命周期
许多系统设计工程师都会经历硬件/软件协同设计的过程(图1),此过程中硬件与软件将同时进行开发。理解硬件与软件功能相互之间的关系及界限有助于确保设计要求得到完整正确的理解和实现。
早在设计要求的定义与分析阶段,系统开发人员就必须与设计工程师协同分配硬件或/和软件方面的要求。这种分配的依据是早期系统仿真、原型设计和行为建模结果、工程师自己的经验以及上文提及的各种因素权衡结果(图2)。一旦分配结束,就可以立即着手具体的设计和实现。实时系统开发中软硬件的并行设计会使用到各种分析技术,包括:
1. 硬件与软件仿真;
2. 硬件/软件协同仿真;
3. 可调度的建模技术,如速率恒定分析;
4. 原型设计和渐进式开发。
可以在各种抽象层次使用的仿真技术主要用于开展早期的性能评估。低层仿真可以用来为总线宽度和数据流程建模,这对性能评估是非常有用的。高层仿真可以满足功能的交互,并促成硬件/软件权衡研究及有效性设计。利用仿真可以将一个复杂的系统向下抽象成基础组件和行为。仿真还助于解决功能性问题(数据与算法)、行为(进程排序)或性能问题(资源利用、吞吐量和时序)。
理解设计要求
在作执行任何类型的处理器评估时,首先要详细理解用户的功能和非功能性要求。功能性要求通常比较容易获得,而非功能性要求较难定量测量。但对于实时系统来说,定义响应时间这样的要求是非常重要的。实时要求可以有以下几种:
1. 激励-激励(S-S):到系统去的两个激励之间的实时关系;
2. 激励-响应(S-R):一个激励与来自系统的一个后序响应之间的实时关系;
3. 响应-激励(R-S):一个响应与到系统去的一个后序激励之间的实时关系;
4. 响应-响应(R-R):来自系统的两个响应之间的实时关系。
S-R和R-R关系定义了对指定系统的时序要求。这种情况下所实现的功能必须足够快(或足够慢)才能满足时序要求。S-S和R-S约束暗示系统必须能够从环境(可能是一个用户或另外一个系统)中检测出特定时序约束的破坏。这些约束与功能的快慢没有关系,相反它们能够检测出某些遭到破坏的时序约束并采取必要的措施。
计算机三级《嵌入式系统开发技术》练习题
1. GDB中,用来显示源代码的命令是( B )
A.kill
B.list
C.make
D.break
2. 1KB等于( B )
A.1024MB
B.1024B
C.1024GB
D.8bit
3. 以下不是嵌入式系统应用领域的是( A )
A.通用软件
B.工业控制
C.消费类电子产品
D.机器人
4. 十进制数100,用十六进制表达为( C )
A.62
B.63
C.64
D.65
5. ARM采用定长指令格式,所有指令都是32位,Bit[24:21]为( C )
A.目标寄存器编码
B.条件执行
C.指令操作符编码
D.永远是0
6. 80386处理器是( C )
A.8位处理器
B.16位处理器
C.32位处理器
D.64位处理器
7. ARM采用定长指令格式,所有指令都是32位,Bit[24:21]为( B )
A.目标寄存器编码
B.操作符编码
C.第一个操作数寄存器
D.永远是0
8. 80486处理器是( B )
A.64位处理器
B.32位处理器
C.16位处理器
D.8位处理器
9.1024KB等于( C )
A.1TB
B.1B
C.1MB
D.1GB
10. 在做低功耗优化时,以下说法错误的是( A )
A.采用什么算法与降低功耗无关
B.在采集系统中应尽量降低采集速率
C.在通讯模块中应尽量提高传输的波特率
D.CPU的工作时间与降低功耗有关