硬件开发工程师入门宝典
硬件工程师必阅--如何“0基础”从入门到精通?(附CAD使用指南)

硬件工程师必阅--如何“0基础”从入门到精通?(附CAD使用指南)作为一个好的硬件工程师实际上就是一个项目经理,你需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。
那么需要哪些具体的技能呢?掌握硬件总体设计所必须具备的硬件设计经验与设计思路1)产品需求分析2)开发可行性分析3)系统方案调研4)总体架构,CPU选型,总线类型5)数据通信与电信领域主流CPU:M68k系列,PowerPC860,PowerPC8240,8260体系结构,性能及对比6)总体硬件结构设计及应注意的问题7)通信接口类型选择8)任务分解9)最小系统设计10)PCI总线知识与规范11)如何在总体设计阶段避免出现致命性错误12)如何合理地进行任务分解以达到事半功倍的效果?13)项目案例:中、低端路由器等关于硬件设计的各种技术/标准/芯片/器件都要知道,需要的时候,能够信手拈来,功能性能,参数特性,优点缺点。
1.快速学习的能力:一方面,通信技术,标准,芯片更新的太快了,快到你根本来不及系统的了解它,只能通过特定的项目,需求进行了解;另一方面对于公司来说,需要做的硬件产品也是变化很快,客户需要T1,E1,PDH,SDH,Ethernet,VoIP,Switch,Router,没有人是什么都懂的,都需要能够结合客户的需求,选择的芯片方案进行详细了解,尤其对于接口协议和电气特性。
2.通信协议和标准的理解:通信设备,顾名思义,就是用来实现多种通信协议(比如T1,E1,V.35,PDH,SDH/SONET,ATM,USB,VoIP,WiFi,Ethernet,TCP/IP,RS232等等常用协议)实现通信的设备,各种电路,PCB板,电源都是为了通信协议服务的。
通信协议一般都是由芯片实现,要么是成熟的ASIC,要么是自己开发的FPGA/CPLD,芯片工程师或者FPGA工程师比硬件工程师跟靠近通信协议,他们需要对于通信协议理解很透彻,实现各种逻辑上的状态机以及满足协议规定的电气参数标准。
硬件工程师必懂的基础--21IC(精选5篇)

硬件工程师必懂的基础--21IC(精选5篇)第一篇:硬件工程师必懂的基础--21IC1、硬件工程师电路设计必须紧记的十大要点一、电源是系统的血脉,要舍得成本,这对产品的稳定性和通过各种认证是非常有好处的。
1.尽量采用∏型滤波,增加10uH电感,每个芯片电源管脚要接104旁路电容;2.采用压敏电阻或瞬态二极管,抑制浪涌;3.模电和数电地分开,大电流和小电流地回路分开,采用磁珠或零欧电阻隔开;4.设计要留有余量,避免电源芯片过热,攻耗达到额定值的50%要用散热片。
二、输入IO记得要上拉;三、输出IO记得核算驱动能力;四、高速IO,布线过长采用33殴电阻抑制反射;五、各芯片之间电平匹配;六、开关器件是否需要避免晶体管开关时的过冲特性;七、单板有可测试电路,能独立完成功能测试;八、要有重要信号测试点和接地点;九、版本标识;十、状态指示灯。
如果每次的原理图设计,都能仔细的核对上面十点,将会提高产品设计的成功率,减少更改次数,缩短设计周期。
2、为什么单片机内部有看门狗电路,还在外面接看门狗芯片?1、外狗使用灵活,方便(可能内部的看门狗的喂狗时间不够长或者不够短、内狗不是麻烦,而是在一些大的嵌入式应用中,涉及许多任务运行,你很难决定在哪里喂狗,比如在你的某个用户线程里喂狗,如果线程被挂起,是不是就该复位呢。
)例如:喂狗灵活,我以前做过将喂狗线直接挂在刷新显示的时钟引脚上,间接喂狗,方便啊。
2、内部看门狗可能没有时间窗,只有上限没下限。
3、增加可靠性。
3、IO口输出方式:一、开漏输出:就是不输出电压,低电平时接地,高电平时不接地,引脚呈现高阻态。
如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电源电压。
这种方式适合在连接的外设电压比单片机电压低的时候。
就像一个开关,输出低时,开关合上,接地!输出高时,开关断开,悬空,需要外部提供上拉才能为高电平,这样,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了.但是不接电阻上拉的时候,这个输出高就不能实现了.总结:1、输出高电平是开关断开,此时引脚不能提供电流输出,需要高电平要在外面加上拉电阻。
从事硬件研发工作需要掌握哪些专业技能

从事硬件研发工作需要掌握哪些专业技能在当今科技飞速发展的时代,硬件研发工作成为了众多领域中至关重要的一环。
从智能手机到智能家居,从航空航天到医疗设备,硬件的创新和优化不断推动着社会的进步。
那么,想要从事硬件研发工作,究竟需要掌握哪些专业技能呢?首先,扎实的电子电路知识是硬件研发的基石。
这包括对电路原理、模拟电子技术和数字电子技术的深入理解。
要明白电阻、电容、电感等基本元件的特性和作用,能够熟练分析和设计简单到复杂的电路。
比如,在设计电源电路时,需要精确计算各个元件的参数,以确保输出稳定的电压和电流。
对于模拟信号的处理,如放大器、滤波器的设计,也需要有深厚的模拟电子技术功底。
而在数字电路方面,掌握逻辑门、触发器、计数器等的工作原理,能够进行数字系统的设计和编程。
其次,精通微控制器和嵌入式系统是必不可少的。
常见的微控制器如 Arduino、STM32 等,需要熟悉其架构、指令集和编程环境。
能够运用 C 或 C++语言进行底层驱动程序的开发,实现对各种外设的控制,如GPIO、UART、SPI、I2C 等。
同时,要了解实时操作系统(RTOS)的原理和应用,以便在复杂的多任务环境中保证系统的稳定性和实时性。
再者,PCB(印制电路板)设计技能是硬件研发人员必须具备的。
要熟悉 PCB 设计软件,如 Altium Designer、KiCAD 等,能够根据电路原理图进行合理的布局布线。
在设计过程中,要考虑电磁兼容性(EMC)、信号完整性(SI)等因素,避免信号干扰和噪声。
合理的层数选择、电源和地线的规划、高速信号的走线等,都直接影响着电路板的性能和可靠性。
硬件研发还需要掌握一定的通信协议知识。
比如,常见的串行通信协议如 UART、SPI、I2C 等,以及网络通信协议如 TCP/IP、Ethernet 等。
了解这些协议的工作原理和数据格式,能够实现不同设备之间的高效通信。
在物联网时代,对于蓝牙、Zigbee、LoRa 等无线通信技术的掌握也变得越来越重要。
硬件工程师的基础知识

硬件工程师的基础知识硬件工程师啊,那可是个相当酷的职业呢。
这就好比是建筑行业里的泥瓦匠,不过硬件工程师搭建的可不是普通的房子,而是那些能让电子设备正常运行的“电子大厦”。
硬件工程师得懂好多好多东西呢。
比如说电路知识,这就像咱们走的路一样,电流就是在路上跑的小汽车。
要是路修得乱七八糟,那小汽车能跑得顺畅吗?肯定不能啊。
电路里面的各种元件,像电阻啊,就像是路上的减速带,控制着电流这个小汽车的速度。
电容呢,有点像路上的临时停车场,能储存一点电量,等需要的时候再放出来。
如果电阻电容这些元件的数值选错了,那就好比减速带设错了位置,停车场建错了大小,整个电路就乱套了。
再说说芯片吧。
芯片可是硬件里面的“大脑”啊。
这就像人的大脑一样,指挥着整个电子设备的运作。
一个好的硬件工程师得像了解自己的手掌纹路一样了解芯片的功能和特性。
不同的芯片有不同的作用,就像不同的人擅长做不同的事。
有的芯片善于处理图像,就像画家一样,能把各种颜色和形状组合得美轮美奂;有的芯片擅长计算,就像数学天才,能快速算出复杂的算式。
如果硬件工程师对芯片一知半解,那这个电子设备就像个没头脑的人,不知道自己该干啥。
硬件工程师还得会看电路板呢。
电路板就像城市的布局图。
上面的线路就像城市里的街道,各种元件就是街道两旁的建筑。
要是电路板设计得不合理,就像城市的布局乱七八糟。
比如说,两个需要频繁交流的元件离得老远,就像住在城市两端的两个人,要交流还得跑老远的路,这多耽误事儿啊。
而且电路板上的布线还有很多讲究,就像城市的道路规划,要考虑到交通流量、安全等因素。
线与线之间不能太近,不然就像两辆车在狭窄的路上并行,容易发生“碰撞”,也就是短路。
焊接也是硬件工程师的一项重要技能。
焊接就像把一个个小零件用胶水粘在一起,不过这个胶水可是高温熔化的焊锡。
这活儿可得细致,要是焊接得不好,就像搭积木搭得歪歪扭扭的,随时可能散架。
我曾经见过一个新手焊接的电路板,那焊点就像一个个小疙瘩,又大又难看,而且还不牢固。
硬件设计新手入门宝典之第一部

硬件设计新手入门宝典之第一部版权所有:微信公众号‘超硬工程师’目录前言 (3)第一章电路设计常用图例和标识 (5)1, 常用图例 (6)2, 信号连接标识 (10)第二章常用元件之电阻电容和电感 (13)1, 电阻及应用 (13)2, 电容及使用 (18)3, 电感及使用 (26)第三章二极管三极管和MOS管 (30)1, 二极管及使用 (30)2, 三极管及使用 (33)3, MOS管及使用 (38)第四章硬件设计功能模块框图 (45)1, 硬件系统架构简介 (45)2, 硬件设计功能模块框图 (50)前言大家都知道,硬件设计行业除了一些教授电路基本原理的书籍之外,没有专门的讲解专业硬件及系统产品开发技术及流程的书籍。
对于从事相关行业的朋友,提高更多是通过前人的传授和个人产品研发经验的累积。
为给从事硬件设计行业的朋友提供快捷高效的提升个人能力的渠道,微信公众号‘超硬工程师’全面系统地汇总硬件及系统设计知识和经验,并免费分享,从而帮助更多的从业者快速掌握获取相关知识和经验,在硬件设计职业生涯之路上达到全新的高度。
‘超硬工程师’微信号平台建立后,不少网友留言对未来觉得迷茫--学生朋友说学校里学不到实用知识,快毕业了还感觉什么都不会;参加工作的年轻朋友觉得在单位一直打下手,又没人指点,不知怎么入门。
大家都非常期望能够有人带一带。
超硬工程师觉得应当尽绵薄之力,帮助大家学有所成,尽快建立一些基本的设计能力。
因此通过连载的形式,发布一系列文章,详细剖解硬件设计基础知识和设计过程。
之前发布过精读datasheet系列文章,相信大家看了之后,应该知道如何去阅读元器件的技术文档了。
做硬件设计就是把不同元器件连接在一起,结合一些软件以实现产品设计所要达到的功能。
所以硬件设计另外一个重要的能力就是去读懂硬件设计电路原理图为将来设计硬件电路打下基础。
这个系列的文章就以一份基于X86平台的嵌入式设计为基础,来详细解析一下硬件电路原理图设计,常用电路及基本功能原理。
硬件工程师必会知识点

硬件工程师必会知识点一、知识概述《电路基础》①基本定义:电路嘛,简单说就是电流能跑的一个通路。
就像咱住的房子要有路才能进出一样,电也得有个道儿能走。
它由电源、导线、开关和用电器这些东西组成。
电源就像是发电站给电力来源,导线就是电走的路,开关就是控制电走不走的门,用电器就是用电干活儿的东西,像灯能照明。
②重要程度:在硬件工程师这行里,电路基础就像是建房的地基。
要是电路基础不牢,后面啥复杂电路、电路板设计都没法好好搞。
③前置知识:那得先知道基本的数学知识,像代数啊,能计算电阻、电压、电流之间的关系。
还有物理里的电学知识,啥是电,电的基本特性这些。
④应用价值:日常生活到处都是,就说家里头的电路,从电灯、电视到冰箱,哪一个离得开电路基础呢。
在电子设备制造上,设计手机、电脑主板啥的,也都得靠电路基础。
二、知识体系①知识图谱:在硬件这学科里,电路基础是最底层最基本的东西。
就像树根一样,从这上面生出各种分支,像模拟电路、数字电路这些。
②关联知识:和电磁场理论有关系,因为电场磁场和电路里的电有着千丝万缕的联系。
也和电子元器件知识分不开,毕竟元器件是电路的组成部分。
③重难点分析:- 掌握难度:对于初学者来说,理解电路里那些抽象的概念是个难点,像电压降、电势差这些。
就拿我刚学的时候,死活想不明白为啥电流从高电势往低电势跑。
- 关键点:得把电流、电压、电阻间的关系搞明白,特别是欧姆定律。
这个关系理顺了,分析简单电路就很容易。
④考点分析:- 在考试中的重要性:超级重要,大部分硬件工程相关的考试都会考到电路基础。
- 考查方式:选择题可能会出计算电阻值的题,简答题可能让你分析一个简单电路里某些点的电压情况。
三、详细讲解- 理论概念类①概念辨析:- 电流:可以看成是电的水流,就是电子在导线里定向移动。
想象一群小蚂蚁排着队在一根小管道里往前走。
单位是安培。
- 电压:这就像是水管里水的压力,电有个推动电子跑的力量叫电压。
电压单位是伏特。
硬件工程师必看-必杀技学习

硬件工程师必看——必杀技学习1.充分了解各方的设计需求,确定合适的解决方案启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。
比如某个项目的原始推动力来自于公司内部的一个高层软件小组,他们在实际当中发现原有的处理器板IP转发能力不能满足要求,从而对于系统的配置和使用都会造成很大的不便,所以他们提出了对新硬件的需求。
根据这个目标,硬件方案中就针对性的选用了两个高性能网络处理器,然后还需要深入的和软件设计者交流,以确定内存大小,内部结构,对外接口和调试接口的数量及类型等等细节,比如软件人员喜欢将控制信令通路和数据通路完全分开来,这样在确定内部数据走向的时候要慎重考虑。
项目开始之初是需要召开很多的讨论会议的,应该尽量邀请所有相关部门来参与,好处有三个,第一可以充分了解大家的需要,以免在系统设计上遗漏重要的功能,第二是可以让各个部门了解这个项目的情况,提早做好时间和人员上协作的准备,第三是从感情方面讲,在设计之初就让各个部门参与进来,这个项目就变成了大家共同的一个心血结晶,会得到大家的呵护和良好合作,对完成工作是很有帮助的。
2.原理图设计中要注意的问题原理图设计中要有“拿来主义”,现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。
当主要的芯片选定以后,关键的外围设计包括了电源,时钟和芯片间的互连。
电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等。
比如A项目中的网络处理器需要1.25V 作为核心电压,要求精度在+5%- -3%之间,电流需要12A左右,根据这些要求,设计中采用5V的电源输入,利用Linear的开关电源控制器和IR的MOSFET搭建了合适的电源供应电路,精度要求决定了输出电容的ESR选择,并且为防止电流过大造成的电压跌落,加入了远端反馈的功能。
硬件工程师需要掌握的知识点

硬件工程师需要掌握的知识点一、知识概述《硬件工程师需要掌握的知识点》①基本定义:硬件工程师就是搞硬件相关设计、开发、测试、维护的技术人员。
简单说,就像盖房子时负责砌墙、铺管道那些基础活儿的人,只不过硬件工程师摆弄的是电子元件之类的东西。
②重要程度:硬件工程师在电子信息学科里那可太重要了。
没有他们,你手机就没法生产出来,电脑也只能是个概念。
他们就像大厨后面的配菜员,少了配菜再好的厨师也做不出菜来。
整个电子产品能不能正常工作,很大程度上就看硬件工程师的活儿好不好。
③前置知识:像基本的数学知识,像代数、几何之类的,因为硬件设计里好多计算。
还有电路原理得懂吧,就像了解水在水管里咋流动一样,你得知道电在电路里咋跑的。
电子元件的基本特性也要掌握,这就像建筑工人要知道砖头有多结实、水泥怎么混合一样。
④应用价值:比如说你想做个智能手环,硬件工程师就能把传感器、电池、显示屏这些硬件设备组合起来,让这个手环能监测心率、显示时间。
应用场景多得很,家里的智能电器、汽车的控制系统,到处都有硬件工程师的功劳。
二、知识体系①知识图谱:硬件工程师的知识体系就像一张蜘蛛网。
电路知识是中心的一大块,周围延伸出微控制器知识、硬件描述语言、信号完整性分析等好多分支。
②关联知识:硬件工程师和软件工程师关系密切。
软件运行得有硬件支持,就像演员得有舞台一样。
还和工业设计有关联,一个漂亮实用的电子产品得硬件和外观设计相匹配。
还有测试工程师,硬件做完了得测试,看有没有问题。
③重难点分析:- 掌握难度:掌握像高速电路设计这种知识就比较难。
比如说要处理高速信号的布线、信号完整性这些问题的时候,就像在高速路上既要保证所有车能按规则跑,又不能碰撞到一起,需要考虑好多因素。
- 关键点:我觉得关键是理解各个硬件组件之间的相互关系。
就拿电脑主板来说,CPU、内存、硬盘这些组件如何高效协同工作,这要是搞混了,电脑就容易出问题。
④考点分析:- 在硬件工程师考试里,电路设计原理相关的题目肯定是重点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
获取更多权威电子书请登录ARM嵌入式系统开发综述ARM开发工程师入门宝典获取更多权威电子书请登录 前言嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们是整个系统的控制核心,提供人机交互的信息等。
所以,嵌入式系统的开发通常包括硬件和软件两部分的开发,硬件部分主要包括选择合适的MCU或者SOC 器件、存储器类型、通讯接口及I/O、电源及其他的辅助设备等;软件部分主要涉及OS porting和应用程序的开发等,与此同时,软件中断调试和实时调试、代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键。
嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述,而本文的出发点主要是为嵌入式开发的初学者者提供一个流程参考。
因为对于初学者在面对一个嵌入式开发项目的时候,往往面临着诸多困难,如选择什么样的开发平台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式OS 等等。
希望通过本文,能帮助初学者了解有关ARM嵌入式系统开发流程。
获取更多权威电子书请登录目录前言 (2)1 嵌入式开发平台 (4)1.1 ARM的开发平台: (4)1.2 器件选型 (7)2 工具选择 (11)3 编译和连接 (13)3.1 RVCT的优化级别与优化方向 (16)3.2 Multifile compilation (21)3.3调试 (22)4 操作系统 (23)4.1 哪里可以得到os 软件包 (Open Source and LinuxKernel) (25)4.2 安装镜像 (26)4.3 交叉编译 (26)总结 (27)获取更多权威电子书请登录 1 嵌入式开发平台通常嵌入式开发的平台主要包括基于SoC或MCU开发板,板上提供常用的外设、接口和其他功能模块,开发者一般根据自己的应用需要选择适合自己板级开发平台。
在这样的平台上开发者可以进行硬件的扩展,操作系统移植和应用软件的开发、调试及固化,并最终形成自己的产品推向市场。
但是基于该平台的软件开发工作往往需要等到硬件平台完成后才能开展,这显然不利于缩短TTM (Time to Market),同时调试的过程也是需要反复迭代和修改设计的过程,因此硬件方案的变动在所难免。
因此在系统方案没有最终定型前,急于搭建硬件平台不仅费时费力,而且也会造成系统开发成本的提高。
因此在进行方案设计的时候,利用CPU或者其他外设的模型进行早期的评估是非常必要的。
1.1 ARM的开发平台:! ARMulator仿真平台这是一套最基础的ARM指令集仿真器,内嵌于ADS和RVDS中,是每一位ARM 开发者的很好的起点。
ARMulator可以模拟执行开发人员编写的C或汇编程序,支持源代码调试,帮助开发者确定代码编写的正确性。
另一方面,ARMulator 还能大致统计出,诸如:代码执行周期数,Cache命中率,存储器访问等利于我们优化代码的信息。
但ARMulator是基于CPU的模拟,缺点在于比较难于模拟整个芯片系统的行为。
! RealView Integrator-CP平台获取更多权威电子书请登录 /products/DevTools/IntegratorFamily.htmlRealView Integrator-CP平台(RealView Integrator Compact Platform)可以整合Core Module。
Core Module FPGA 还整合了ARM PrimeCell 系列周边器件和内存控制器,包括LCD,MMC卡,音频解码,以及客户自己开发AHB接口器件。
! Versatile PB/AB平台/products/DevTools/VersatileFamily.htmlVersatile Platform Baseboard(Versatile PB)是一个可以开发软硬件的PCB平台,可以用LogicTile,AnalyzerTile进行扩展,用来连接用户开发的器件,逻辑分析仪等。
而Versatile Application Baseboard(Versatile AB)主要区别是硬件扩展功能有限,因而主要用来进行软件应用开发。
! Emulation Baseboard(EB)/products/DevTools/EB.htmlEB平台有一块相对大的FPGA(Xilinx Virtex2 XC2V6000)可以放下用户设计的周边器件,EB可以通过CoreTile 和LogicTile进行扩展,使用户做原型验证更加方便。
! ESL虚拟平台/products/DevTools/RealViewCREATE_Family.html ARM ESL虚拟平台利用SystemC模型构建整个SoC系统,可以基于两种模型构建:时钟精确型(CA)和时钟近似型(CX),CA模型提供了和实际硬件时钟节拍一直的精确度,利用ESL SoC Designer工具在ESL CA模型构建虚拟获取更多权威电子书 请登录仿真平台上,SoC 硬件工程师利用ESL 工具提供的强大的诸如Core 运行状态监视、Bus Profiling 、Cache 工作状态和Memory Mapping 等可视化插件对系统性能观测和分析,定位系统性能的瓶颈,实现硬件的性能优化和功能划分。
此外,对于嵌入式软件开发工程师而言,ESL 虚拟平台带来的最大好处是让软件开发在更早的阶段开展,而不必等到在硬件平台上进行此工作。
这样以来软硬件开发工作可以并行提高,缩短产品上市时间,软硬件的协同开发还可以尽早发现系统bug ,降低开发风险和成本。
同时该虚拟平台还提供了ARM 软件开发调试工具接口同步进行软件调试,在ESL 虚拟平台上实现软硬件的协同仿真,可以实现优化软件的目的。
从图1看,传统流程中容易引起反复的环节,而对引入ESL 的开发流程,可将诸如驱动开发调试等,提前放置到虚拟开发平台上进行,实现系统设计的优化、缩短开发周期等。
而且仿真环境所能提供的调试手段,是FPGA 平台所无法比拟的。
图1 传统和引入ESL 工具的SoC 开发流程获取更多权威电子书请登录 ! RTSM/products/DevTools/RealTimeSystemModel1176.html RTSM(实时系统模型)是对整个芯片系统在指令集层面上的仿真,它能提供快速、准确的指令仿真,以及与RealView Debugger的无缝连接。
大型应用程序的开发可以使用 RTSM模拟技术来完成。
RTSM模拟包括LCD显示器、键盘和鼠标等外设的仿真。
不到5s,就可以利用PC在ARM处理器上对OS的启动过程进行模拟,用户可以在ARM提供的RTSM上进行快速的软件仿真。
这是OEM在开发软件系统时成本最低的方法。
想象一下,芯片公司不用等到芯片生产出来,也不用把缓慢的FPGA板交给方案厂商或OEM;只需要将整个芯片的模型交付,下游厂家就可以尽早尽快地将软件方案开发完毕。
最终产品几乎可以从芯片生产出来就准备上市。
1.2 器件选型器件的选择归根结底是为嵌入式系统选择合适的处理器芯片。
ARM处理器是最常见的嵌入式处理器之一,它以低功耗、低成本和高性能而深受业界的青睐。
而且ARM是目前产业中资源最为广泛的嵌入式处理器,基于广大的ARM合作伙伴计划,开发者可以在这个联盟里寻求到各种自己意想不到的帮助。
从图2给出了常见的ARM处理器的架构和支持的操作系统。
目前在业内广为人知的ARM处理器主要有ARM7系列和ARM9系列,同时为了关注今后嵌入式系统的发展,也有必要了解一下最新的ARM11和ARM Cotex系列处理器。
获取更多权威电子书 请登录图2 ARM 体系结构ARM7系列ARM7TDMI 是ARM7系列中使用最广泛的,它是从最早实现32位地址空间编程模式的ARM6内核发展而来的,并增加了64位乘法指令,支持片上调试、16位Thumb 指令集和EmbeddedICE 观察点硬件。
ARM7TDMI 属于ARM v4体系结构,采用冯诺伊曼结构,3级流水处理,平均0.9DMIPs/Mhz 性能。
不过ARM7TDMI 没有MMU (Memory Management Unit )和Cache ,所以仅支持那些不需要MMU 和Cahce 的小型实时操作系统,如VxWorks 、uC/OS-II 和uLinux 等RTOS 。
其他的ARM7系列内核还有ARM720T 和ARM7E-S 等。
ARM9系列ARM9TDMI 相比ARM7TDMI ,将流水级数提高到5级从而增加了处理器的获取更多权威电子书请登录 时钟频率,并使用指令和数据存储器分开的哈佛结构以改善CPI和提高处理器性能,平均可达1.1DMIPs/Mhz,但是ARM9TDMI仍属于ARM v4T体系结构。
在ARM9TDMI基础上又有ARM920T、ARM940T和ARM922T,其中ARM940T 增加了MPU(Memory Protect Unit)和Cache;ARM920T和ARM922T加入了MMU、Cache和ETM9(方便进行CPU实时trace),从而更好的支持象Linux 和WinCE这样的多线程、多任务操作系统。
ARM9E系列ARM9E系列属于ARM v5TE,在ARM9TDMI的基础上增加了DSP扩展指令,是可综合内核,主要有ARM968E-S、ARM966E-S、ARM946E-S和ARM926EJ-S(v5TEJ指令体系,增加了Java指令扩展),其中ARM926EJ-S 是最具代表性的。
通过DSP和Java的指令扩展,可获得70%的DSP处理能力和8x的Java处理性能提升。
另外分开的指令和数据Cache结构进一步提升了软件性能;指令和数据TCM(Tightly Couple Memory:紧耦合存储器)接口支持零等待访问存储器;双AMBA AHB总线接口等。
ARM926EJ-S可达250Mhz 以上的处理速度,很好地支持Symbian OS、Linux、Windows CE和Palm OS 等主流操作系统。
ARM11系列ARM11系列主要有ARM1136、ARM1156、ARM1176和ARM11 MP-Core 等,它们都是v6体系结构,相比v5系列增加了SIMD多媒体指令,获得1.75x 多媒体处理能力的提升。
另外,除了ARM1136外,其他的处理器都支持AMBA 3.0-AXI总线。
ARM11系列内核最高的处理速度可达500Mhz以上(其中90nm获取更多权威电子书 请登录工艺下,ARM1176可达到750Mhz )以及600DMIPS 的性能,请参考和图3相关描述。