基础知识
1)基本设计规范
2)CPU基础知识、架构、性能及选型指导
3)摩托罗拉PowerPC系列基础知识、详细性能讲解及选型指导
4)网络处理器的基础知识、架构、性能及选型
5)常用总线的基础知识和性能细节
6)详细的性能介绍、设计要点以及各种存储器的选型
7)数通、电信领域常用物理层接口芯片的基础知识、性能、设计要点及选型
8)常用器件选型要点及本质
9) FPGA、CPLD、EPLD详细性能介绍、设计要点及选型指导
10)VHDL和Verilog HDL
11) 网络基础知识
12)国内大型通信设备公司硬件研发历程
2、熟练掌握和使用行业最新、最流行的专业设计工具
1) ViewDraw、PowerPCB、Cam350
2)OrCad、快板; 广告; PADS
3)各种电路仿真工具
4)学会熟练使用VIEWDRAW、ORCAD、POWERPCB、SPECCTRA、ALLEGRO、CAM350等工具;
5) 各厂家的FPGA设计工具。
1.总体硬件设计
当启动一个硬件开发项目时,最初的驱动力会来自很多方面,比如市场需求、基于整个系统架构的需求、应用软件部门的功能实现需求、系统某些方面能力提升的需求等。 .,所以作为硬件系统设计者应该主动了解各方面的需求,并将它们综合起来提出最合适的硬件解决方案。
例如,项目A的最初推动力来自于公司内部的一个高层软件团队。 在实践中,他们发现处理器板原有的IP转发能力无法满足要求,这会给系统的配置和使用带来很大的不便。 因此,他们提出了对新硬件的需求。 根据这一目标,硬件方案中专门选择了两个高性能网络处理器,然后与软件设计人员深入沟通,确定存储器大小、内部结构、外部接口和调试接口的数量和类型,等等和其他细节。 例如,软件人员喜欢将控制信令路径和数据路径完全分开,这样在确定内部数据方向时必须仔细考虑。
在项目开始时,需要召开大量的讨论会。 应尽可能邀请各相关部门参与。 有三个好处。 首先,能够充分了解每个人的需求,避免在系统设计时遗漏重要功能。 其次,可以让各部门了解本项目的情况,提前在时间、人员等方面做好协作准备。 第三,从情感角度来说,从设计之初,各个部门都参与其中,这个项目成为大家共同努力的成果。 ,你会得到大家的关心和良好的配合,这对完成工作会有很大的帮助。
掌握整体硬件设计所必需的硬件设计经验和设计思路
1)产品需求分析
2)开发可行性分析
3)系统解决方案研究
4)总体架构、CPU选型、总线类型
5)数据通信、电信领域主流CPU:M68k系列,
PowerPC860、PowerPC8240、8260架构、性能及比较
6)总体硬件结构设计及应注意的问题
7) 通讯接口类型选择
8)任务分解
9) 最小系统设计
10)PCI总线知识及规范
11)整体设计阶段如何避免致命错误
12)如何合理分解任务,达到事半功倍的效果?
13)项目案例:中低端路由器等。
二.硬件原理图设计技术
目的:通过具体的项目案例,详细展开方案设计的全部经验,揭示设计要点和本质。
1)电信和数据通信领域主流CPU的原理设计经验和精髓
2)Intel PC主板原理图设计精髓
3)网络处理器的原理设计经验和本质
4)总线结构原理设计经验与精髓
5)内存系统原理设计经验及精髓
6)数据通信、电信领域通用物理层接口的原理设计经验和本质
7)电信、数据通信设备中常用的WATCHDOG原理设计经验及本质
8)电信和数据通信设备系统热插拔原理的设计经验和精髓
9)晶振及时钟系统原理设计经验与精髓
10)PCI总线原理图设计经验及精髓
11)项目案例:中低端路由器等。
原理图设计应注意的问题:
原理图设计要有“借用原则”。 现在芯片厂商一般都可以提供参考设计的原理图,所以我们应该尽量利用这些资源,在充分了解参考设计的基础上做出一些自己的努力。 主芯片选定后,最关键的外围设计包括电源、时钟以及芯片之间的互连。
电源是保证硬件系统正常运行的基础。 设计时需要详细分析:系统能够提供的功率输入; 单板需要产生的功率输出; 每个电源需要提供的电流大小; 电源电路的效率; 以及每个电源允许的波动。 范围; 例如,项目A中的网络处理器需要1.25V作为核心电压,要求精度在+5%到-3%之间,电流在12A左右。 基于这些要求,设计中采用5V电源输入,采用Linear的开关电源。 控制器和 IR MOSFET 构建了合适的电源电路。 精度要求决定了输出电容的ESR选择。 为了防止电流过大引起的电压下降,增加了远程反馈功能。
时钟电路的实现必须考虑目标电路的抖动和其他要求。 在项目A中,使用了GE的PHY设备。 一开始,采用内部锁相环的零延迟时钟分配芯片来提供100MHz时钟。 导致系统出现GE链路丢包。 后来通过更换简单的时钟缓冲设备解决了丢包问题。 分析表明内部锁相环引入了抖动。
芯片之间的互连必须保证数据传输无差错。 对此,高速差分信号线具有速度高、布线方便、信号完整性好的特点。 项目A中的多个芯片之间的互连均采用高速差分信号线,在调试和测试时没有任何问题。 您需要熟悉各种级别标准,以确保级别匹配。
三.硬件PCB图设计
目的:通过具体的项目案例,揭示PCB设计的全部经验,让您快速成长为一名优秀的硬件工程师
1)高速CPU板PCB设计经验及精髓
2)普通PCB设计的要点和本质
3)PowerPC、ARM、MIPS、微控制器的PCB设计精髓
4)Intel PC主板PCB设计精髓
5)PC主板、工业电脑主板、电信设备主板PCB设计经验精髓
6)国内知名通信公司PCB设计规范及工作流程
7)PCB设计中生产加工工艺的相关要求
8)高速PCB设计中的传输线问题
9)电信和数据通信领域主流CPU(PowerPC系列)的PCB设计经验和精髓
10)电信和数据通信领域通用物理层接口(100M、千兆以太网、ATM等)的PCB设计经验和精髓
11)PCB设计经验及网络处理器精髓
12)PCB走线的拓扑极其重要
13)PCB设计经验及PCI走线精髓
14)SDRAM和DDR SDRAM(125/133MHz)的PCB设计经验和精髓
15) 项目案例:中端路由器PCB设计
PCB设计需要注意的问题:
PCB设计的目的必须明确。 重要的信号线必须对布线长度和处理地环路有非常严格的要求,而低速和不重要的信号线可以放置在稍低的布线优先级上。 重要部分包括:电源部分; 内存时钟线、控制线和数据线长度要求; 高速差分线布线等
在该项目中,使用存储芯片来实现1G大小的DDR存储器。 该部分的接线非常关键。 必须考虑控制线和地址线的拓扑分布、数据线和时钟线的长度差异控制等。 在实现过程中,可以根据芯片的数据表和实际工作频率得出具体的布线规则要求。 例如,同一组中的数据线的长度相差不能超过几密耳,并且每个通道的长度相差不能超过几密耳。 当这些要求确定后,就可以明确要求PCB设计人员去实现。 如果设计中所有重要的布线要求都明确了,就可以将其转化为整体布线约束,并利用CAD中的自动布线工具软件来实现PCB设计。 这也是高速PCB设计的发展趋势。
四、硬件调试
目的:通过具体的项目案例传授硬件调试和测试经验及要点
1)硬件调试相当于黑盒调试。 如何快速分析、解决问题?
2)传授大量调试经验;
3)如何加快硬件调试过程;
4)如何快速解决硬件调试问题;
5)DATACOM终端设备的CE测试要求。
准备调试电路板时,首先必须仔细进行目视检查,检查焊接过程中是否有可见的短路和引脚焊接故障。 检查是否存在不正确的元件模型放置。 第一个引脚如果存在放置不正确或漏装等问题,则用万用表测量每个电源对地的电阻,检查是否存在短路。 这个好习惯可以避免仓促上电后损坏板子。 调试过程中一定要保持平静的心态。 遇到问题是很正常的。 你需要做的就是多做比较和分析,逐步排除可能的原因。 要坚信“凡事都有解决的办法”、“问题必须解决”。 这是有原因的”,这样最终调试才会成功。
五、软硬件联调
1)如何判断软件是否有问题?
2)如何与软件联合调试?
3)转让大量联调经验。
总结:
现在从技术的角度来看,每一个设计最终都是可以做出来的,但一个项目的成功不仅取决于技术实现,还与完成时间、产品质量、团队合作密切相关。 因此,良好的团队合作、透明坦诚的项目沟通、细致的研发安排、充足的物资和人员安排才能保证项目的成功。
一个好的硬件工程师实际上是一个项目经理。 他/她需要与外界沟通,获取自己设计的需求,然后总结分析成具体的硬件实现。 他们还需要联系许多芯片和解决方案供应商来选择合适的解决方案。 当原理图完成后,他/她要组织同事进行协同评审和检查,并与CAD工程师一起完成PCB设计。 。 同时需要准备BOM清单,开始采购准备材料,联系加工厂家完成贴板。 在调试过程中,必须组织软件工程师共同调试,配合测试工程师解决测试中发现的问题。 产品上线现场后,如果出现问题,需要及时支持。 因此,作为一名硬件设计师,需要具备良好的沟通能力、面对压力的调整能力、同时处理多件事的协调和决策能力以及良好平和的心态等。 。
技能要求
还有细心和认真,因为硬件设计上的一个小疏忽往往会导致很大的经济损失。 例如,我以前遇到过一块板子,PCB设计完成并制作制造文件时,由于误操作而导致电源层和地层被误连接。 同时,PCB板制作完成后,无需进行检验,直接放到生产线上。 直到测试才发现短路问题,但元件已经焊接到板上了,造成了几十万的损失。 因此,认真认真的检查、负责的测试、不懈的学习和积累,才能使一个硬件设计师不断进步,在业界取得成功。
工程开发的一个重要特点就是“步前人的后尘”。 通过过去几十年、上百年的工程实践,我们有大量针对各种情况的经验数据和经验方法。 例如,对于PCB布局,基本上每个公司都有自己的设计指南/检查清单。 这是公司在过去的很多项目中总结出来的。 他们每一个人都可以说付出了“血腥”的代价。 这是针对板级设计的; 对于核心芯片和设备来说尤其如此。 芯片或设备公司的数十名员工花了数年时间开发芯片和设备。 如何通过数百页的数据表完全理解它?
大多数情况下,了解主要接口、参数、功能和性能就足够了,尤其是芯片/器件公司提供的设计指南或应用笔记,一般都是芯片/器件工程师的心声和经验。 一般来说,十年、二十年工作经验的工程师都写不出这些东西。 虽然看起来很简单,看似废话,但是如果你仔细分析,结合电路定理和电磁定律,稍微分析一下,你就会发现每一个字都很简单。 刚毕业的好同学(一般善于学习,喜欢解决难题,学习能力强,求知欲强)一开始会发现硬件设计涉及到的知识点和技术点太多了。时间。 如果你想把这个知识点理解透,那么你也必须把那个知识点理解透。 你会发现一天24小时是不够的。 不过很抱歉,公司邀请你来这里不是为了让你学习,而是为了做硬件设计。 一个月后你就会看到示意图。 我还在这里拿着OrCAD手册逐条命令学习OrCAD使用技巧,研究为什么要串联电阻,研究电容应该是0.1uF还是0.01uF。
有求知欲是好事,但应该在工作和项目之后进行。 虚心向前辈学习,尽量利用各种设计指南,尽快完成设计工作,记录自己的知识短板,在业余时间努力学习,理解透彻。 通过设计验证/测试加深对知识点的理解才是正确的工作方法。
刚毕业的时候,我欣喜地发现传输线理论如此重要,于是我花了一个月的时间努力研究传输线理论,推导出了很多公式进行验证。 其实用几句话就可以概括:阻抗匹配,如果接收端的阻抗大于发射端的话,信号会发生什么情况呢? 如果少了,信号会怎样? 如果开路,会发生什么? 如果短路了,会出现什么情况? 这些基本上每本信号完整性的书上都有介绍,而且不会有很复杂的数学公式来推导,知道就可以了。 然后就是如何平衡发射机的阻抗,串联电阻,PCB阻抗,匹配阻抗等等,都是简单的数学公式。
你需要了解硬件设计的各种技术/标准/芯片/设备。 当需要时,您可以轻松掌握它们,包括功能性能、参数特点、优缺点。
1、快速学习能力:
一方面,通信技术、标准、芯片更新太快,你没有时间系统地了解它们。 你只能通过具体的项目和需求来了解它们; 另一方面,对于企业来说,他们需要做出的硬件产品也在快速变化。 客户需要T1、E1、PDH、SDH、以太网、VoIP、交换机、路由器。 没有人知道一切。 他们都需要能够根据客户需求详细了解所选择的芯片方案,尤其是接口协议。 和电气特性。
2、通信协议和标准的理解:
通信设备,顾名思义,就是用来实现多种通信协议(如T1、E1、V.35、PDH、SDH/SONET、ATM、USB、VoIP、WiFi、以太网、TCP/IP、RS232等常见协议)的设备。协议)通信设备、各种电路、PCB板、电源等都为通信协议服务。
通信协议一般由芯片实现,要么是成熟的ASIC,要么是自研的FPGA/CPLD。 芯片工程师或者FPGA工程师比硬件工程师更接近通信协议。 他们需要对通信协议有透彻的理解并实现各种逻辑。 状态机并满足协议规定的电参数标准。 根据OSI七层模型,硬件工程师尤其需要关注第一层物理层和第二层数据链路层的协议标准。 基于以太网距离,物理层由PHY/收发器芯片完成,数据链路层由MAC/交换芯片完成。 对于从事以太网相关开发的硬件工程师来说,需要对PHY和Switch芯片有透彻的了解,从编码方式、电参数、眼图标准、模板、信号频率到帧格式、转发处理逻辑、VLAN等。 。 对于传统的 PDH/SDH/SONET 设备尤其如此。 PDH/SDH/SONET更多的是硬件设备,这意味着主要协议都是通过ASIC来实现的。 软件的功能主要有管理、配置、监控、报警、性能等。 对于硬件工程师来说,必须熟悉所使用的相关协议和接口标准,尤其是电气规范和眼图模板,这样在设计验证时才能充满信心。
3、文档撰写能力:
就像软件设计一样,好的软件设计需要好的设计文档、明确的需求、实现什么功能、满足什么验收标准。 随着芯片集成度、接口速度、单板复杂度的提高,硬件设计也变得越来越复杂,对应热稳定性、可靠性、电磁兼容、环保等要求,现在已经不再是这样了小米嘉布穆。 仓库里的游击战就可以解决了。 每个硬件项目都是一场战争,需要良好的规划和分析,这需要良好的文档。
对于硬件工程师来说,最重要的文件有两份:一是硬件设计规范(HDS:硬件设计规范)和硬件测试报告(一般称为EVT:工程验证和测试报告或DVT:设计验证和测试报告)。 HDS的要求详细明确,包括主芯片选型/硬件初始化、CPU选型与初始化、接口芯片选型/初始化/管理、各芯片之间连接关系框图、DRAM类型/大小/速度、FLASH类型/尺寸/速度、片选、中断、GPIO定义、复位逻辑和拓扑图、时钟/晶振选择/拓扑、RTC的使用、存储器映射关系、I2C设备选择/拓扑、接口设备/线序定义、LED大小/颜色/驱动器、散热器、风扇、JTAG、电源拓扑/时序/电路等。
对于DVT,要求很简单也很复杂:板上有哪些接口、芯片、主要器件、电路,要测试什么,特别是板子正常工作时的电源/电压/纹波/时序。 业务接口的眼图/模板、内部数据总线(如MII、RGMII、XAUI、PCIe、PCM总线、电信总线、SERDES、UART等)的信号完整性和时序、CPU子系统(如时钟、复位、 SDRAM/DDR、FLASH接口)。
好的硬件工程师一眼就清楚这个硬件系统需要什么方案和电路,是文档还是报告,最终验证测试的结果是什么。 内容详细,不遗漏各种接口/电路; 名字简单,没有废话; 图文丰富。 当需要时,时序图和示波器捕获可以很好地解释问题。
4. 仪器/软件使用能力:
仪器包括烙铁、万用表、示波器、逻辑分析仪、误码仪、传输分析仪、以太网测试仪Smartbits/IXIA、热量计、衰减器、光功率计、射频信号强度计等; 软件包括Office(Outlook、Word、Excel、PowerPoint、Project、Visio)、PDF、常用原理图软件Pads或OrCAD、常用PCB软件Pads或Allegro、Allegro Viewer、电路仿真软件PSPICE、信号仿真软件HyperLynx等。
仪器和软件都是政治经济中的生产工具,促进生产力的提高。 作为一名硬件工程师,这些仪器和软件在你手中就像木头一样。 藏炮,硬件工程师的能力很大一部分体现在仪器和软件的使用上,尤其是原理图软件和示波器的使用,这一点非常重要。 原理图软件的使用是硬件设计的具体实现,通过一个各个器件的放置和各个NET的连接构成了一个非常复杂的硬件逻辑软件,这是整个硬件设计的核心工作。 原理图上的任何一个错误和差错造成的损失都是巨大的,真是“如履薄冰”,胆战心惊。”
另外,原理图软件的使用还体现在原理图的美观上。 好的设计是简单明了,注释也清晰。 无论是谁在追随这个想法,他们都可以很快弄清楚设计意图以及需要特别注意的地方。 不好 该设计有一个设备在东,另一个设备在西。 没有逻辑,命名怪异难懂,以后维护起来也相当麻烦。 在所有测试仪器中,示波器对于硬件工程师来说是最重要的,无论是原理图还是PCB。 工作,但任何设计都需要仔细的验证和测试,特别是在信号方面,这需要大量的示波器工作。 如果不正确使用示波器,就谈不上正确的验证。 接地是否正确连接? 测试点的选择、触发延迟、幅度、时间的选择都决定了测试结果。 如果示波器使用不当,必然会导致测试结果错误,这种情况下,原本错误的设计可能会被误认为是正确的,带来巨大的隐患; 原本正确的设计可能会被误认为是错误的,带来大量的时间和精力的浪费。
5、电路设计能力:
随着芯片集成度的提高,硬件设计似乎变得更加简单。 首先是逻辑连接,其次要考虑信号完整性、电源滤波和去耦所需的串联电阻选择和并联电容选择。 然而,对于优秀的硬件工程师来说,简单的逻辑连接(这个芯片同一总线的输出连接到另一个芯片的输入等)只是硬件设计最基本的技能。 电路是芯片功能、通信协议和各种软件的载体,对电路没有深入的了解,对硬件设计根本没有深入的了解,尤其是对电气性能的了解后面列出的参数是芯片或分立器件的各种参数。 如果随机连接它们,可能会卡在 3.3V 总线上。 可以工作,但是现在工作电压已经降到1V了。 这是什么概念? 信号线上的噪声已经足够大,足以导致采样误判。 随着信号速率的提高和工作电压的降低,数字信号已经变得越来越成熟。 越来越模拟化,这就需要对PCB阻抗、容抗、感抗、分立器件(电阻、电容、电感、二极管、晶体管、MOSFET、变压器等)、ASIC接口电气有深入的了解参数。 这都需要深入研究电路原理、模拟电路甚至电磁场理论。 电路可以说是电磁场理论的一个子集。 如果不了解电磁场理论,就无法了解电容、电感、串扰和电磁辐射。
尤其是在电源电路的设计上,现在芯片电压多样化,电压越来越低,电流越来越高。 运营商对通信设备的功耗和散热提出了严格的要求,这对电源设计提出了越来越大的挑战。 可以说,对于一个硬件设计来说,40%的工作在于原理图/PCB设计和电源电路的后测验证。 电源电路设计是硬件工程师电路能力的集中体现。 各种无源器件、半导体器件、保护器件以及典型的DC/DC转换拓扑都有很多参数,需要考虑和计算公式。
6、沟通能力和整体掌控能力:
硬件工程师通常在硬件项目中扮演团队领导的角色。 他们全面负责硬件项目,需要协调PCB工程师、结构工程师、信号完整性工程师、电磁兼容工程师等各种资源,与产品经理、项目经理、软件工程师、生产工程师、采购等一起工作工程师们紧密合作,确保所有环节都步入正轨。 他们需要对整个项目计划、每个子任务的发布时间、对可能出现的技术问题和风险的预估和控制有清晰的了解。