作为一个好的硬件工程师实际上就是一个项目经理,你需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。那么需要哪些具体的技能呢?
掌握硬件总体设计所必须具备的硬件设计经验与设计思路
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工程师比硬件工程师跟靠近通信协议,他们需要对于通信协议理解很透彻,实现各种逻辑上的状态机以及满足协议规定的电气参数标准。
按照OSI的七层模型,硬件工程师尤其需要专注于一层物理层和二层数据链路层的协议标准,以Ethernet距离,物理层是由PHY/transceiver芯片完成,数据链路层是由MAC/switch芯片完成,对于从事Ethernet相关开发的硬件工程师来说,需要对于PHY和Switch芯片理解透彻,从编码方式,电气参数,眼图标准,模板,信号频率到帧格式,转发处理逻辑,VLAN等等。对于传统PDH/SDH/SONET设备就更是如此。
PDH/SDH/SONET是更硬件的设备,就是说主要协议都是通过ASIC实现的,软件的功能主要是管理,配置,监视,告警,性能,对于硬件工程师来说,必须要熟悉使用的相关协议和接口标准,尤其对于电气规范,眼图模板,这样在设计验证的时候才能胸有成竹。
3.写文档的能力:
诚如软件设计一样,好的软件设计需要好的设计文档,明确需求,实现什么功能,达到什么验收标准,随着芯片集成度的增加,接口速率的提高,单板复杂度的提高,硬件设计也越来越复杂以及对应热稳定性,可靠性,电磁兼容,环境保护的要求,已经不是通过小米加步木。
仓的游击战可以解决了,每一个硬件项目都是一场战争,都需要好好的规划,好好的分析,这就需要好好做文档。
对于硬件工程师来说,最重要的文档有两个:一个是硬件设计规范(HDS:hardwaredesignspecification)和硬件测试报告(一般叫EVT:EngineeringValidation&Testreport或者DVT:DesignValidation&Testreport),对于HDS的要求是内容详实,明确,主芯片的选择/硬件初始化,CPU的选择和初始化,接口芯片的选择/初始化/管理,各芯片之间连接关系框图(BlockDiagram),DRAM类型/大小/速度,FLASH类型/大小/速度,片选,中断,GPIO的定义,复位逻辑和拓扑图,时钟/晶振选择/拓扑,RTC的使用,内存映射(Memorymap)关系,I2C器件选择/拓扑,接口器件/线序定义,LED的大小/颜色/驱动,散热片,风扇,JTAG,电源拓扑/时序/电路等等。
对于DVT来说,要求很简单也很复杂:板卡上有什么接口,芯片,主要器件,电路,就要测试什么,尤其在板卡正常工作的情况下的电源/电压/纹波/时序,业务接口的眼图/模板,内部数据总线的信号完整性和时序(如MII,RGMII,XAUI,PCIe,PCMbus,TelecomBus,SERDES,UART等等),CPU子系统(如时钟,复位,SDRAM/DDR,FLASH接口)。
好的硬件工程师无论是做的文档还是报道都是令人一目了然,这个硬件系统需要用什么方案和电路,最后验证测试的结果如何。内容详实,不遗漏各种接口/电路;简单名了,不说废话;图文并茂,需要的时候一个时序图,一个示波器抓图就很能说明问题了。
4.仪表/软件的使用能力:
仪表包括电烙铁,万用表,示波器,逻辑分析仪,误码仪,传输分析仪,以太网测试仪Smartbits/IXIA,热量计,衰减器,光功率计,射频信号强度计等等;软件包括Office(Outlook,Word,Excel,PowerPoint,Project,Visio),PDF,常用原理图软件Pads或者OrCAD,常用PCB软件Pads或者Allegro,AllegroViewer,电路仿真软件PSPICE,信号仿真软件HyperLynx等等。
说到软件的使用想必工程师们都常用到CAD软件,下面小编就来给烧友们介绍下CAD软件的快捷键使用。
一、CAD快捷键:常用功能键
F1: 获取帮助
F2: 实现作图窗和文本窗口的切换
F3: 控制是否实现对象自动捕捉
F4: 数字化仪控制
F5: 等轴测平面切换
F6: 控制状态行上坐标的显示方式
F7: 栅格显示模式控制
F8: 正交模式控制
F9: 栅格捕捉模式控制
F10: 极轴模式控制
F11: 对象追 踪式控制
二、CAD快捷键:常用CTRL快捷键
Ctrl+B: 栅格捕捉模式控制(F9)
Ctrl+C: 将选择的对象复制到剪切板上
Ctrl+F: 控制是否实现对象自动捕捉(f3)
Ctrl+G: 栅格显示模式控制(F7)
Ctrl+J: 重复执行上一步命令
Ctrl+K: 超级链接
Ctrl+N: 新建图形文件
Ctrl+M: 打开选项对话框
Ctrl+O: 打开图象文件
Ctrl+P: 打开打印对说框
Ctrl+S: 保存文件
Ctrl+U: 极轴模式控制(F10)
Ctrl+v: 粘贴剪贴板上的内容
Ctrl+W: 对象追 踪式控制(F11)
Ctrl+X: 剪切所选择的内容
Ctrl+Y: 重做
Ctrl+Z: 取消前一步的操作
三、CAD快捷键:字母快捷键
AA: 测量区域和周长(area)
AL: 对齐(align)
AR: 阵列(array)
AP: 加载*lsp程系
AV: 打开视图对话框(dsviewer)
SE: 打开对相自动捕捉对话框
ST: 打开字体设置对话框(style)
SO: 绘制二围面( 2d solid)
SP: 拼音的校核(spell)
SC: 缩放比例 (scale)
SN: 栅格捕捉模式设置(snap)
DT: 文本的设置(dtext)
DI: 测量两点间的距离
OI:插入外部对相
四、CAD快捷键:其它组合快捷键
循环改变选择方式 【Ctrl】+【F】
默认灯光(开关) 【Ctrl】+【L】
删除物体 【DEL】
当前视图暂时失效 【D】
是否显示几何体内框(开关) 【Ctrl】+【E】
显示第一个工具条 【Alt】+【1】
网友评论