您当前的位置:首页 > 美文摘抄 > 内容

嵌入式开发和软件开发 嵌入式系统设计开发大全

嵌入式开发和软件开发 嵌入式系统设计开发大全

01嵌入式系统设计方法变化的背景

一般来说,嵌入式系统设计方法的演变是由于应用需求的牵引和IT技术的推动。随着微电子技术的不断创新和发展,LSI的集成度和工艺水平不断提高。硅与人类智慧的结合,产生了大量低成本、高可靠性、高精度的微电子结构模块,推动了一个全新技术领域和产业的发展。

在此基础上,可以利用器件可编程的思想和微处理器技术来改变和实现硬件的功能。微处理器、可编程大规模集成电路和半定制器件的广泛应用,创造了一个全新的应用世界,广泛影响并逐渐改变着人类的生产、生活、学习等社会活动。

随着计算机平台性能的大幅提升,许多复杂的算法和用户友好的界面得以实现,大大提高了工作效率,为复杂嵌入式系统的辅助设计提供了物理基础。

高性能EDA集成开发工具(平台)得到长足发展,自动化和智能化程度不断提高,为复杂的嵌入式系统设计提供了一个易学易用的集编辑、布局、布线、编译、综合、仿真、测试、验证和器件编程于一体的不同功能和层次的开发集成环境。

HDL(硬件描述语言)的发展为复杂电子系统设计建立各种硬件模型提供了工作介质。它具有很强的描述和抽象能力,给硬件电路尤其是半定制LSI设计带来了很大的变化。目前广泛使用的有已成为IEEE STD1076标准的VHDL,IEEE STD 1364标准的Verilog HDL,以及Altera公司的企业标准AHDL。

随着HDL的发展和标准化,世界上出现了一批使用HDL设计集成电路各种功能模块的公司。它的任务是按照通用或专用功能,用HDL描述集成电路的功能和结构,经过不同层次的验证,形成不同层次的IP内核模块,供芯片设计者组装或集成使用。

IP(Intellectual Property)内核模块是一种预先设计好甚至验证过的具有一定功能的集成电路、器件或元件。它有几种不同的形式。IP核模块分行为、结构、物理三个层次设计,分别对应三个层次:软IP核、硬IP核,主要描述功能行为,硬IP核,基于物理)3描述,通过技术验证。这相当于集成电路(器件或元件)的毛坯、半成品、成品的设计技术。

IP内核通常以一些HDL文本的形式提交给用户,经过了行为设计优化和功能验证,但并不包含任何具体的物理信息。因此,用户可以合成正确的门级网表,并可以设计后续结构,具有最大的灵活性。借助EDA综合工具可以方便地与其他外部逻辑电路结合,根据不同的半导体工艺设计成不同性能的器件。商用软IP核的一般电路结构有5000多个门。但如果后续设计不当,整个结果可能会失败。IP核也称为虚拟设备。

IP核是基于某种半导体工艺的物理设计,具有固定的拓扑结构和特定的工艺,并经过工艺验证,性能有保证。以电路物理结构掩膜版版图和全套工艺文件的形式提供给用户,是一整套可以马上使用的技术。

固体IP核的设计深度介于软IP核和硬IP核之间。除了硬IP核的所有设计,还完成了门级综合、时序仿真等设计环节。一般以门级网表的形式提交给用户。

TI,Philips,Atmel等厂商都是Intel授权的,他们使用自己的MCS51 IP内核模块开发与Intel MCS51兼容的个人MCU。

常用的IP内核模块包括各种CPU(32/64位CISC/RISC CPU或8/16位微控制器/单片机)、32/64位DSP、DRAM、SRAM、MRAM、EEPROM、Flashmemory、A/D、D/A、MPEG/JPEG、USB、PCIe、MIPI、标准接口等。丰富的IP内核模块库为asic和单片机系统的快速设计和尽快占领市场提供了基础保障。

软件技术的进步,特别是嵌入式实时操作系统EOS(嵌入式操作系统)和RTOS的推出,为开发复杂的嵌入式系统应用软件提供了底层支持和高效的开发平台。

02嵌入式系统设计方法的变化

以前擅长软件设计的程序员一般对硬件电路设计敬而远之,硬件设计和软件设计被认为是完全不同的技术。

随着电子信息技术的发展,电子工程设计人员经常参与软件编程。其主要形式是通过微控制器(国内称为单片机)的应用来学习相应的汇编语言编程。在设计较大规模的分布式控制系统时,需要使用流行的PC机作为上位机,从而进一步学会使用C、C、Python等高级语言进行系统编程,设计系统界面,与单片机控制的前置机通过多机通信形成集中的分布式控制系统。

受过软件教育的设计师很少对研究应用电路设计感兴趣。但是,随着计算机技术的飞速发展,特别是硬件描述语言HDL的发明,系统硬件的设计方法发生了变化,数字系统的硬件组成和行为完全可以用HDL来描述和模拟。在这种情况下,设计硬件电路不再是硬件设计工程师的专利。擅长软件编程的设计人员可以使用HDL工具描述硬件电路的行为、功能、结构、数据流、信号连接关系和时序关系,设计出满足各种要求的硬件系统。EDA工具允许两种设计输入工具来满足硬件电路设计者和软件程序员的需求。让有硬件背景的设计师使用习惯的原理图输入方式,让有软件背景的设计师使用硬件描述语言输入方式。由于采用HDL描述作为输入,更接近系统行为的描述,更便于综合、时域传输和修改,也可以建立独立于工艺的设计文档。所以,擅长软件编程的人一旦掌握了HDL和一些必要的硬件知识,往往可以设计出比习惯传统设计的工程师更好的硬件电路和系统。所以习惯传统设计的工程师要学会用HDL来描述和编程。

为什么在大部分毕业生眼里,只有嵌入式、MCU、ARM、FPGA是技术?现在几乎所有的高校都开设了这个领域的专业。虽然这个领域有很多高层次的人才,高薪,但是这个东西并不适合所有人。起点低或者年级大部分都不应该做这些事情。

现在的嵌入式产品都是快餐。随着大学生的不断涌入,他们的价值越来越低,这些群体大多能做出东西,但是不稳定。最后,白菜的价格可以卖不出去,根本点在于对生产、质量、售后、测试、仿真这些基础知识的不淡漠。

中国经过这么多年的发展,实质上,它真正赚钱的是这些从事生产、质量、销售的群体。他们肯定不是R & ampd技术人员。但是技术人员总是把技术捧得高高的,支撑技术变成产品再卖出去的环节很冷漠,只能干一辈子。相反,如果你专注于其他环节,你可以发展成老板,自己聘请技术人员。

到目前为止,很少有一家公司的失败是因为技术问题,大部分是因为其他原因,比如市场、生产、质量等等。赚钱是一个系统。d只是其中之一。

可以说,对于大多数国内公司来说,在今天,贸易、工业和技术远比技术、工业和贸易更成功。

21ic引用一位标准技术人员的话说:我现在教同事的大部分都是工厂的东西:一个眼神,两个想法,三个动作,四个检查。其次是以事实为依据,用常识推理分析,让他们放弃所谓的高科技,善用常识。通过这两点做各种事情,不仅仅是技术。同时,尽可能避免大家都做的事情。大家都喜欢做嵌入式,所以我们可以做与嵌入式互补的设备,或者嵌入式群体可以做的设备不做。只有这样才能获得高额利润。

03嵌入式系统设计的三个层次

21ic专家了解到,嵌入式系统设计有三个不同的层次:

一级:以PCB CAD软件和ICE为主要工具的设计方法

这是我国SCM应用系统的设计者过去一直沿用到现在的方法,其步骤是先抽象后具体。

抽象设计主要是根据嵌入式应用系统的功能需求,提炼系统功能,将其划分为若干功能模块,绘制系统的功能框图,然后分配功能模块的软硬件功能。

具体设计包括硬件设计和软件设计。硬件设计主要是根据性能参数选择和组合各功能模块所需的元器件,其选择的基本原则是市场上能买到的性价比最高的通用元器件。必要时,应对每个不确定部分分别进行测试,并进行功能测试和性能测试。从模块到系统,要找到相对优化的方案,并画出电路原理图。硬件设计的关键步骤是使用印刷电路板(PCB)计算机辅助设计(CAD)软件对系统的元件进行布局和布线,然后是PCB加工、组装和硬件调试。

工作量最大的部分是软件设计。软件设计贯穿整个系统设计过程,主要包括任务分析、资源分配、模块划分、流程设计与细化、代码调试等。软件设计的工作量主要集中在程序调试上,所以软件调试工具是关键。最常用和有效的工具是在线模拟器(ICE)。

第二层次:基于EDA工具软件和EOS的设计方法。

随着微电子技术的发展,各种通用可编程半定制逻辑器件应运而生。在硬件设计中,设计人员可以利用这些半定制器件,将一些原本由印刷电路板互连的标准逻辑器件,逐步制作成专用集成电路(ASIC),从而将印刷电路板布局布线的复杂性转化为半定制器件中配置的复杂性。

但是,半定制器件的设计并不要求设计者具备半导体工艺和片上集成电路布局布线方面的知识和经验。随着半定制器件的规模越来越大,集成器件越来越多,印制板上互连器件的布线、组装和调试成本越来越少,不仅大大减少了印制板的面积和连接器的数量,还降低了系统的综合成本,增加了可编程应用的灵活性。更重要的是,降低了系统的功耗,提高了系统的工作速度,大大提高了系统的可靠性和安全性。

这样,硬件设计人员从过去选择和使用标准的通用集成电路器件,逐渐转向自己设计和制造一些专用集成电路器件,而这些技术都有各种EDA工具和软件的支持。

半定制逻辑器件经历了可编程逻辑阵列PLA、可编程逻辑阵列PAL、通用阵列逻辑GAL、复杂可编程逻辑器件CPLD、现场可编程门阵列FPGA的发展过程。趋势是集成度和速度不断提高,功能不断增强,结构趋于合理,使用变得更加灵活方便。

设计人员可以使用各种EDA工具、标准CPLD和FPGA等。设计和自制用户专用大规模集成电路。然后,通过自下而上的设计方法,将自制的集成电路、可编程外围设备、选用的ASIC和嵌入式微处理器o

第三级:基于IP内核库,采用软硬件协同设计技术的设计方法。

自20世纪90年代以来,集成电路级的设计不断转移到集成系统级的设计。目前已经进入SOC(System o-n a chip)的设计阶段,开始进入实用阶段。这种设计方法并不是简单地将系统需要的所有集成电路二次集成到一个芯片上。如果这样实现单片机系统,就不可能达到单片机系统所要求的高密度、高速度、高性能、小体积、低电压、低功耗等指标,尤其是低功耗要求。

系统设计要从整个系统的性能需求出发,紧密结合微处理器、模型算法、芯片结构、外围电路和器件设计,通过基于一种全新理念的系统软硬件协同设计,在单个芯片上完成整个系统的功能。有时可以在几个芯片上制作系统。因为,事实上,并不是所有的系统都可以在单个芯片上实现;也可能是因为实现某个单片系统的工艺成本太高,以至于失去了商业价值。目前,实用的单片机系统仍然是简单的单片机系统,如智能ic卡。然而,几个著名的半导体制造商正在集中研究和开发复杂的单片系统,如单片PC。

从零开始设计系统既不现实也没有必要。因为设计不成熟,没有经过时间的考验,系统的性能和质量无法保证,设计周期太长也会失去商业价值。

为了加快单芯片系统的设计周期,提高系统的可靠性,目前最有效的方法是通过授权使用成熟优化的ip内核模块进行设计集成和二次开发,并使用GLT(Glue Logic Technology)将这些IP内核模块嵌入到SoC中。IP内核模块是单片机系统设计的基础。买哪个级别的IP内核模块,要看现有的基础、时间、资金等条件。

必然是买硬IP内核模块风险最低,但成本最高。但一般来说,购买IP内核模块不仅可以降低开发风险,还可以节省开发成本,因为一般购买IP内核模块的成本要低于单独设计验证的成本。当然,并不是所有需要的IP内核模块都可以从市场上买到。为了垄断市场,一些公司开发的一些关键IP内核模块(至少是暂时的)不愿意授权转让和使用。这样的IP内核模块还得自己开发。

这三个层次都有各自的适用范围。从应用程序开发的角度来看,前两种方法已经被采用了很长时间。第三级设计方法只能用于设计一般特定应用的简单单片机系统。而复杂的单片系统只能由一些大型半导体厂商来设计和实现,用这种方法实现的单片系统只能是那些应用广泛、规模较大、值得开发的应用系统。还有一些应用系统,因为技术问题或者商业价值问题,不适合单芯片实现。当它们以商品的形式引入相应的单片系统时,应用人员只能选择它们。

因此,三个层次的设计方法将并存,后者不会简单地取代前者。初级应用程序设计人员将关注第一种方法;有经验的设计师会专注于第二种方法;专业设计师将使用第三种方法来设计和应用简单的单片系统。然而,所有设计者都可以应用由大半导体制造商介绍的第三种方法设计的特殊单片系统。

04嵌入式硬件系统设计

嵌入式设计是一项庞大的工程。嵌入式ARM在软件方面已经介绍过很多次了。详见文章《深度:嵌入式系统的软件架构设计!》。在硬件电路设计方面,21ic专家了解到有几个注意点。首先,让让我们了解一下嵌入式硬件架构。

我们知道,CPU是这个系统的灵魂,所有的外设配置都与之关联,这也凸显了嵌入式设计的一个特点:硬件可以裁剪。在设计嵌入式硬件时,需要注意以下几点。

编号一、电源确定

嵌入式供电系统的作用可以看作是空气对人体的作用,更重要的是:人呼吸的空气中含有氧气、二氧化碳和氮气,但含量是稳定的,相当于供电系统中的各种杂物。我们希望得到符合要求的纯净稳定的电源,但由于各种因素,这只是我们的梦想。这应该集中在两个方面:

A.电压嵌入式系统需要5v、3.3v、1.8v等各种电源。为了最小化电源的纹波,在嵌入式系统中使用LDO器件。如果DCDC被采用,它的涟漪也令人头痛。

B.当前嵌入式系统的正常运行不仅需要稳定充足的电源,还需要充足的电流。因此,在选择电源设备时,应考虑其负载。我设计的时候一般会留30%的余量。

如果是多层板,电源部分需要在布局中进行划分。这时候就要注意划分路径,尽量把一定量的电源放在一起。如果是双面板,布线宽度要注意,在板允许的情况下尽量加宽。合适的去耦电容应尽可能靠近电源引脚。

二、号晶体振荡器测定

晶振相当于嵌入式系统的心脏,其稳定性直接关系到其运行状态和通信性能。常见的振荡器有无源晶体振荡器和有源晶体振荡器。首先要确定振荡频率,其次要确定晶振类型。

A.无源晶体振荡器的匹配电容和匹配电阻的选择一般是根据参考手册。在单片机设计中,经常使用插入式晶体振荡器来匹配陶瓷电容。在ARM中,为了减少空间,方便布线,四角无源晶振常与片式电容配合使用。虽然我们对固定晶振的匹配电路很熟悉,但是为了万无一失,还是要参考参考手册来确定电容的大小,是否需要匹配电阻等细节。

b、有源晶振有更好更准确的时钟信号,但相比之下,它比缺失的晶振更贵,所以这也是硬件电路设计中需要注意的成本。

设计电路板时,需要注意晶振布线尽量靠近芯片,按键信号远离时钟布线。有条件时加接地保护环。如果是多层板,按键信号要远离晶振的痕迹。

三、号预留测试IO端口

在嵌入式调试阶段,管脚资源比较充裕的时候,我一般会预留一个IO口连接led或者扬声器,为接下来的软件编写做铺垫。嵌入式系统运行时,适当控制IO接口,从而判断系统运行是否正常。

编号四、外部扩展存储设备

如果一个嵌入式系统有电源、晶振、CPU,那么这就是我们所熟悉的最小的系统。如果嵌入式系统需要运行更大的操作系统,那么CPU不仅需要MMU,还需要外接SDRAM和NANDFLASH。如果cpu有SDRAM和NANDFLASH控制器,在硬件设计上就不要过多考虑地址线的使用。如果没有相关的控制器,就需要注意地址线的使用。

这是布局的一个关键点,原因是要让相关信号线长度相等,以保证信号延迟相等,时钟和DQS的差分信号线走线。布线时需要综合运用各种布线技巧,如与cpu对称分布、菊花链布线、T型布线等,这些都需要根据内存的多少来选择。一般来说,数量越多,布线越复杂,但知道了重点,一切就迎刃而解了。

编号五、功能接口

一个嵌入式系统最重要的是通过各种接口控制外围模块,从而达到设计者预设的目的。常用的接口有串口(可以用来连接蓝牙、wifi、3G模块)、USB接口、网络接口、JTAG接口、音文章接口、HDMI接口等等。由于这些接口与外部模块相连,所以设计电磁兼容性是一项重要任务。除此之外,还要注意布局中差分线的使用。

第六、页

这个功能是单独列出来的,因为可有可无。如果一个嵌入式系统只是作为连接外设模块的连接器,通过相关接口连接到电脑主机或者直接挂在网络上,那么屏幕就没有必要了。但如果是与用户交互频繁的消费品,就要唠叨几句。

电容是嵌入式屏幕的首选,所以在电路设计中要注意触摸屏连接线和显示屏连接线的布局。在走线的过程中,尽量短的接近主控cpu,同时注意配对信号的差线和RGB控制信号的等长。各种信号的布线间距遵循3W法则,避免相互干扰。在屏幕的设计上,既要保证电量,又要防止干扰,防止屏幕闪花。

06嵌入式产品开发流程

嵌入式产品和普通电子产品一样,在开发过程中需要遵循一些基本流程,这是一个从需求分析到总体设计、详细设计到最终产品完成的过程。然而,与普通电子产品相比,嵌入式产品的开发过程有其特殊性。包括嵌入式软件和嵌入式硬件,嵌入式软硬件的开发不需要涉及普通电子产品的开发。21ic了解到R & amp嵌入式产品的d流程如下:

下面,我们将详细讨论嵌入式产品的发展阶段。

阶段1:产品要求

在这个阶段,我们需要搞清楚的是,产品需求从哪里来,一个成功的产品需要满足哪些需求。只有需求明确了,我们的产品开发目标才能明确。在产品需求分析阶段,可以通过以下途径获取产品需求:1)市场分析研究,主要看市场需要什么,前沿技术是什么(从做一个产品的角度);2)客户调研和用户定位,从市场的广大客户中获取最精准的产品需求(注意分析市场、产品生命周期以及是否方便升级);3)利润导向(成本预算);4)如果它一个外包项目,我们需要客户提供产品需求(直接从客户那里拿,让他们签协议);

当一个项目完成后,如果客户突然增加需求和功能,你的项目周期会严重延迟,成本会急剧上升,所有测试过的产品可能都要重新测试,原来的设计可能不符合现在的要求。所以在你做项目之前,它最好与客户确认需求并签订协议。否则,你将在许多日日夜夜的努力后得到一个不可收拾的烂摊子!

第二阶段:产品规格

在前一阶段,我们收集了产品的所有需求。然后在产品规格阶段,我们的任务就是把所有的需求细化到产品的具体规格,比如一个简单的USB串口。我们需要确定产品规格,包括:

1)产品的外观;2)产品支持的操作系统;3)产品的接口形式和支持的规格;

诸如此类。记住,产品规范形成后,在后续的开发过程中一定要严格遵守。我们可以没有200%的理由,不要随意改变产品要求。否则,产品开发过程必然是一个无止境的过程。

055-79000主要从以下几个方面考虑:

1)考虑产品需要哪些硬件接口;2)在哪些环境下,产品应该有多大,耗电多少。如果它it 是消费品。设计是否美观,产品是否便于携带,从而决定了纸板的尺寸要求和是否防水;3)产品成本要求;4)产品性能参数描述(比如交换机,如果速率是100兆,在家庭和一般公司使用;如果用于全省交换,设计速率必须是几十万兆甚至更多。)所以,产品性能参数的不同会影响到我们设计考虑的不同,所以产品规格自然也会不同;5)需要适应和满足的国家标准、国际标准或行业标准;

第三阶段:整体产品设计方案

在完成产品说明书后,我们需要了解该产品目前有哪些可行的方案,对几个方案进行比较,包括考虑成本、性能、开发周期、开发难度等多方面,最终选择最适合我们的产品整体设计方案。

在这个阶段,除了确定具体的实施方案,我们还需要综合考虑产品的开发周期,很多人月的工作量,需要哪些资源或外部的协助,以及开发过程中可能遇到的风险和应对措施,形成整个项目的项目计划,来指导我们整个开发过程。

第四阶段:产品概要设计

产品概要设计主要是在总体设计方案的基础上进一步细化,具体从硬件和软件两个方面进行:

硬件概要设计

硬件概要设计,主要是从硬件的角度出发,确认整个系统的架构,按照功能划分各个模块,确定各个模块的大致实现。首先要根据我们想要的外设功能和产品要完成的工作来选择CPU(注:CPU一旦确定,你的外设硬件电路要参照CPU厂商提供的方案电路来设计)。然后根据产品的功能需求来选择芯片,比如外部AD还是片上AD,什么样的通信方式,什么样的外部接口,最重要的是考虑电磁兼容性。

一般一个CPU的生命周期是5-8年。你在考虑选择的时候,就要注意了。唐不要选择马上就要停产的CPU,以免出现这样的结局:产品开发了1-2年,刚开发出来,还没有我还没赚到钱。CPU已经停产,要重新开发。很多公司就死在这上面。

软件模块概要设计

在软件概要设计阶段,根据系统的需求,将整个系统按功能划分成模块,并定义各功能模块之间的接口以及模块中的主要数据结构。

阶段5:详细的产品设计

硬件详细设计

就是主电路图和一些具体要求,包括PCB和外壳的相互设计和尺寸。接下来,我们需要根据硬件模块的详细设计文档的指导,完成整个硬件的设计。包括原理图和PCB图。软件模块的详细设计

函数接口的定义,完成任务时各个函数接口的函数、数据结构、全局变量、调用流程。软件模块的详细设计完成后,将进入具体的编码阶段。在软件模块详细设计的指导下,完成整个系统的软件编码。

一定要注意,软件进入实际编码阶段,硬件进入具体原理图和PCB实现阶段之前,需要完成模块的详细设计文档。这样才能尽量在设计之初就考虑周全,避免在设计过程中反复修改。为了提高开发效率,不要不要为了快速了解情况而没有完成详细设计就开始实际的设计步骤。

第67阶段:产品调试和验证

这个阶段主要是调整硬件或代码,修正存在的问题和bug,使其正常运行,尽量使产品功能符合产品需求说明书的要求。

硬件部分:

1)目视检查加工后的PCB板,看是否有短路

验证软件的单个功能是否实现,验证软件的整个产品功能是否实现。

阶段8:测试

功能测试(测试失败,可能有BUG);

压力测试(测试失败,可能是有BUG或者参数设计不合理的地方);

性能测试(应为未来客户提取产品性能参数参考,这是你产品特性的一部分);

其他专业测试:包括工业测试,如抗干扰测试、产品寿命测试、防潮测试、高低温测试(部分产品在极高或极低温度下工作异常甚至停止工作)。

设备的某些电子元件在特殊温度下会出现参数异常,导致整个产品失效。是的,设备可以在零下几十度的条件下根本启动不了,机器也不会启动不了;有些器件在高温下会出现电容或电阻的物理变化,影响产品质量。这就引出了一个话题。工业品和消费品有什么区别?工业产品应该避免这些异常和特殊问题。一些产品在深海、寒冷的洞穴、炎热的沙漠或颠簸的设备上工作,如汽车;或者需要防雷击;所以这就是工业品和消费品的区别。消费品不不需要做这么多测试。

第九阶段:产品

通过上一阶段的完整测试和验证,现阶段,我们已经成功开发了我们的产品。在这个阶段,我们可以将实际产品与最初的产品规格进行对比,看看产品在经过一个完整的开发过程后,是否完全符合最初的产品规格,或者中间发现问题时,对产品规格进行了多少次修改?

附录:嵌入式硬件开发流程

之前我们详细描述了嵌入式产品的开发过程。那么这一节我们就以嵌入式产品的硬件部分为例,再次说明开发过程。希望通过这一节,对嵌入式硬件的开发流程有更深入的了解,在以后的学习和工作中更加标准化和规范化,提高开发技能。嵌入式硬件开发流程大致如下图所示,分为8个阶段:

嵌入式产品有不同的硬件形式,从简单的4位/8位单片微处理器到32位ARM处理器等专用IC。另外,根据产品要求的不同,外围电路也不同。每一个硬件开发过程都需要考虑各种因素,根据实际需求选择最合适的方案。

硬件阶段1:硬件产品要求

要求和普通嵌入式产品一样。阶段1:产品需求。

硬件阶段2:总体硬件设计方案

一个硬件开发项目的需求可能来自很多方面,比如市场产品的需求,或者性能提升的需求。因此,作为硬件设计人员,我们需要主动了解和分析各方面的需求,根据系统要完成的功能,选择最合适的硬件方案。

在这个阶段,我们需要分析整个系统设计的可行性,包括方案中主要器件的可购买性、产品开发投入、项目开发周期预测、开发风险评估等。并针对开发过程中可能出现的问题提前选择解决方案,保证硬件的顺利完成。

硬件阶段3:硬件电路原理图设计。

系统方案确定后,我们可以进行相关的设计工作。原理设计主要包括系统的总体设计和详细设计,最后产生详细的设计文档和硬件原理图。

原理设计和PCB设计是设计师最重要的两项工作之一。在原理设计的过程中,我们需要规划硬件的内部资源,比如系统存储空间和各个外围电路模块的实现。此外,系统的主要外围电路如供电、复位等也需要仔细考虑。在一些高速设计或特殊应用中,还应考虑EMC/EMI。

电源是保证硬件系统正常运行的基础。设计中要做详细的分析:系统能提供的电源输入;单板产生的功率输出;每个电源所需的电流;电路效率;每个电源的允许波动范围;整个供电系统所需的通电顺序等。

为了保证系统稳定可靠的运行,复位电路的设计也非常重要。如何保证系统在外界干扰下不会异常复位,如何保证系统在运行异常时能够及时复位,如何合理复位保证系统完全复位,这些都是我们在原理设计时需要考虑的事情。

同样,时钟电路的设计也是一个非常重要的方面。时钟电路设计不好,可能会造成通信产品数据包丢失,产生较大的EMI,甚至导致系统不稳定。应该有拿来主义在原理图设计中!现在芯片厂商一般都能提供参考设计的原理图。因此,我们应该尽量利用这些资源,在充分理解参考设计的基础上做出一些努力。

硬件阶段4: PCB图设计

在PCB设计阶段,原理图设计转化为实际可加工的PCB电路板。目前主流的PCB设计软件有PADS,Candence,Protel。

PCB尤其是高速PCB的设计需要考虑EMC/EMI、阻抗控制、信号质量等。这就对PCB设计师提出了更高的要求。为了验证设计的PCB是否符合要求,有的需要PCB仿真。根据仿真结果,调整PCB布局,完成整个设计。

硬件阶段5: PCB加工文件制作和PCB打样。

PCB图完成后,在这个阶段,我们需要生成加工厂可识别的加工文件,也就是光图文件,交给加工厂进行PCB毛坯板的打样。一般1~4层板一周就可以打样了。

硬件阶段6:硬件产品的焊接和调试。

从加工厂的打样会上拿到PCB毛坯后,接下来,我们需要检查PCB毛坯是否和我们的设计预期一样,是否有明显的短路或断痕。检验通过后,我们需要将前期购买的元器件和PCB毛坯交给厂家进行焊接(如果PCB电路不复杂,为了加快进度,我们也可以直接手工焊接元器件)。

PCB板焊接完成后,在调试PCB板之前,需要仔细检查是否有短路、焊针等可见故障,检查是否有元器件放置错误、首针放置错误、漏装等问题。然后用万用表测量各电源对地的电阻,检查是否有短路,以免贸然上电后损坏单板。在调试的过程中,要有一个平静的心态。遇到问题是很正常的。我们需要做的是多做对比分析,逐步排除可能的原因,直到最终调试成功。

在硬件调试过程中,常用的调试工具有万用表、示波器、逻辑分析仪等。用于测试和观察信号电压、信号质量和信号时序是否符合要求。

硬件阶段7:硬件产品测试

硬件产品调试通过后,我们需要对照产品的要求逐一测试,确认是否达到预期要求。如果他们达不到要求,我们就需要对硬件产品进行调试和修改,直到满足产品的文明要求(一般以需求规格文档作为判断句,明显的需求规格错误除外)。

硬件阶段8:硬件产品

我们最终开发的硬件是成功的。满足产品要求的完整硬件产品可以不能解释一个成功的产品开发过程。我们仍然需要按照预定的计划按时高质量地完成它。是一个成功的产品开发过程。

原标题:干货:嵌入式系统设计与开发大全!(一万字总结)

来源:【微信微信官方账号:硬件攻城狮】欢迎添加关注!请注明文章出处。

审计唐子红


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 摩托罗拉rocke2(摩托罗拉ROCK E2 的蓝牙具体怎么使用,请高手解析)

下一篇: 索尼tx100v价格(索尼tx100)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号