移动3G嵌入式硬件开发流程与硬件工程师应当具备的技能

本文主要是介绍移动3G嵌入式硬件开发流程与硬件工程师应当具备的技能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 移动3G嵌入式硬件开发的基本过程:
    1、明确硬件总体需求情况,如CPU处理能力、存储容量及速度、I/O端口的分配、接口要求、电平要求、特殊电路要求等等。
    2、根据需求分析制定硬件总体方案,寻求关键器件及相关技术资料、技术途径和技术支持,充分考虑技术可行性、可靠性和成本控制,并对开发调试工具提出明确要求。关键器件可试着去索取样品。
    3、总体方案确定后,做硬件和软件的详细设计,包括绘制硬件原理图、软件功能框图、PCB设计、同时完成开发元器件清单。
    4、做好PCB板后,对原理设计中的各个功能单元进行焊接调试,必要时修改原理图并作记录。
    5、软硬件系统联调。一般情况下,经过调试后原理及PCB设计上有所调整,需要二次投板。
    6、可靠性测试、稳定性测试,通过验收,项目完成! 

    移动3G嵌入式硬件工程师应具备的基本技能:
    (1)由需求分析至总体方案、详细设计的规划创造能力;
    (2)熟练运用设计工具,设计原理图、PCB板的能力;
    (3)熟练运用单片机、ARM、DSP、PLD、FPGA等进行软硬件开发调试的能力;
    (4)熟练运用仿真工具、示波器、信号发生器、逻辑分析仪等调测硬件的能力;
    (5)掌握常用的标准电路的设计能力,如复位电路、常用滤波器电路、功放电路、高速信号传输线的匹配电路等;
    (6)故障定位、解决问题的能力;
    (7)设计文档的组织编写技能。  

移动3G嵌入式硬件设计工程流程

1.       需求分析及准备工作

a)         文档先行,项目一开始,就建立一个文档,命名类似090104MyPrj日志_xm.doc,日期放在前面,可以很容易按文件产生的先后顺序进行排列,便于查找;MyPrj为项目名称,可以写的更详细一些;xm为自己的姓名,在团队设计中很有用。可以将与本项目相关的任何内容按日期记录在本文档中,必要的时候将部分专题内容分离出来形成相应的文档;

b)        需求分析,划分功能块;

c)        为每个功能块选择实现电路,尽量选择成本低、元件容易购买、可靠性高的成熟电路;

d)        对自己不熟悉的电路进行仿真,并搭面包板进行调试;

e)         调试时要预先制定书面方案,按照预定方案进行调试;如果需要对方案进行更改,也要落实到书面,然后再按照更改后的方案进行调试;对试验过程和结果进行详细的记录。这样做的好处,一是在试验过程中不会漫无目的,也不会重复无用的试验,所有试验都是在思考分析的基础上进行的最有效的试验;二是书面记录的试验过程和结果可以作为强烈的客观依据,任何时候说给任何人都可以作为参考。我们也许有过这样的经验:对一个试验结果的描述使用“可能”、“也许”等字眼,原因是我们已经记不清试验的过程和结果了;

f)         单纯硬件电路仿真一般使用multisim;需要用到cpu的可以用protues

g)        用面包板搭建电路时,注意走线规范、清晰,搭完电路要仔细检查,确认无误后再开始调试;有条件的话,电源用红线,地线用黑色,输入、输出和中间连线分别使用不同的颜色;如果需要改变输入信号,则输入信号需要布置在容易操作的地方;

h)        然后就可以开始画原理图了;

2.       画原理图

a)         文档先行。按功能块确认各部分的电路,选用的元件,为什么选择这种元件,注意事项,参考电路,信号流经的通路等,这些都写清楚了,再开始画原理图。画图的过程中,如果有什么需要修改的,在这里写清楚了,再开始修改;

b)        如果有cpu,需要先分配好cpu的管脚,再开始画原理图,分配的管脚也要有书面记录,说明分配的位置、功能、分配原则和这样分配的原因(如c8051f的中断引脚只能放到P0口)等;

c)        在原理图上画出各功能块的原理图,不同部分之间使用网络标号进行连接,这样做的好处:容易划分各功能块,方便查看,便于移植。

d)        原理图上使用虚线对不同功能块进行分隔,并进行必要的注释,如功能、注意事项、跳线的默认设置等;

e)         画完原理图后要注意检查,确保没有任何错误。常见的错误有:VCC写成VDD+5V写成5VgndGND同时出现;网络标号没有与相应的导线连接到一起;不同地虽然使用不同的形状,但网络标号一样,实际上不会起到隔离作用。为了避免出现这些错误,可以使用一些简单的方法,如:放置一个网络标号时,如果已经有了这个网络标号,就不要再重新输入了,而是直接从已有的标号中选择;对于电源、地等,可以复制现有的网络标号而不是重新设置一个;

f)         关于元件的顺序号(designator):如果有30个电容,其中2个为15pF15个为0.1uF5个为1uF,其余为10uF,可以将15pF命名为CA?0.1uF命名为CB?1uF命名为CC?10uF命名为 CD?,焊接时很容易找到对应值的电容。对于结构类似的接插件,也可以命名为JUSBJCANJPW等,而不是J1J2J3等;

g)        原理图检查无误后,开始为每个元器件确定封装。确定封装时,首先得买到需要封装的元器件,如果买不到,就需要调整封装。

3.       PCB

a)         将原理图中的元器件封装导入到PCB中,检查设计的PCB大小是否可以足够放下所有的元器件并进行布线,如果有困难,最好重新设计PCB形状或大小;

b)        简单排列一下元器件,不要互相重叠,并且可以用一张纸打印出来。打印吧,检查每个元器件的封装是否和实际器件相符;检查PCB形状或大小是否跟你设计的盒体相适应;

c)        有的元器件封装,贴片和直插的管脚数目相同,但管脚定义不一样,需要仔细确认;同样的封装有的宽窄不一样,需要确认;有的贴片封装引脚伸出太短,焊接完后无法检查焊接质量,所以事先要将引脚外扩一些;焊盘大小也需要检查;

d)        开始布局:需要打孔的位置先放上焊盘,定好位置,然后锁止,打孔焊盘我一般从模板中抄袭,比如PC104模板;如果是插槽式的,就在内部再画一个KeepoutLayer层的内框来放置元器件,以避免元器件的放置位置干涉安装;

e)         先放置需要机械定位的元器件,如电源插头、USB接口、指示灯等;

f)         将每个功能块的元器件放到一块,然后根据连线方便的原理进行布局;

g)        pcb板上布置各功能块的位置,进行细节调整,如相邻的电阻位置对齐;

h)        将网络标号进行分类,主要依据是布线的宽度;

i)          根据上面制定的NetClass制定布线规范;

j)          手动布置关键部分,如:晶振;去耦电容;同一芯片内的星形接地;等等;

k)        不希望走线的部分可以在KeepoutLayer层画一个多边形,待其他部分走线完毕后,将这个多边形删除;

l)          自动布线时,好多时候会布不通,这时最简单的办法是调整布局,将元器件布置在容易布线的位置,而不是首先考虑美观。像武术一样,先实用,再美观,可以称之为功夫,如果倒置,就是花架子了。当然,在满足功能和容易布线的前提下,板子布置的美观一些是完全必要的;

m)      自动布线完成后,使用DRC检查,没有错误之后,逐个网络检查布线,调整影响功能和美观的布线;

n)        检查完成后,修改元器件标号的位置,便于查看;元器件标号的字体一般设置为线宽1mil,字高40mil

o)        在测试口上标注标号,如40脚测试点,在旁边间隔标注P00P04P10P14等,主要是便于调试时查找管脚,否则每次都得从头数起,既麻烦又容易出错;

p)        一般在下部标上“XmPrj090104”字样,这样在同一功能的电路板进行修改时,很容易定位到是哪一个版本;

q)        双面板的话,在顶层和底层要进行覆铜,并连接到地线,(可能)可以提高抗干扰能力;

r)         可以送出制板了;

s)         完成之后,一件重要的工作是将制板的PCB文件和原理图文件进行备份,并清楚的注释为某年月日的制板文件,便于调试时查看。这个文件就是以后修改的基线,所有的修改都需要在副本中进行,这两个文件就不要再动了,当然,设置为“只读”属性是一个好办法。

 

目前为Windows CE平台开发流程!

 

 

自己觉得自己胜任硬件工程师,可以Email:yincheng01@163.com,代朋友招聘,北京著名移动3G企业正在需求中。

 

这篇关于移动3G嵌入式硬件开发流程与硬件工程师应当具备的技能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/536443

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

python之流程控制语句match-case详解

《python之流程控制语句match-case详解》:本文主要介绍python之流程控制语句match-case使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录match-case 语法详解与实战一、基础值匹配(类似 switch-case)二、数据结构解构匹

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla