① 硬件工程师该具备的元器件知识与技能,你都会吗
一个好的硬件工程师应该具备的基本知识和能力
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实现的,软件的功能主要是管理,配置,监视,告警,性能,对于硬件工程师来说,必须要熟悉使用的相关协议和接口标准,尤其对于电气规范,眼图模板,这样在设计验证的时候才能胸有成竹。
如果你做智能家居的,你对蓝牙、WIFI、Zigbee的新标准应该要深入了解吧,各自的优劣势也应该了如指掌吧,最新的标准有啥提升和缺点也可以信手拈来,说不定这样你就能做出符合消费者需求的全新产品呢!也指不定在跳槽的时候,因为你掌握了一个别人还没有了解的技术,而获得成功呢!
3. 写文档的能力:
诚如软件设计一样,好的软件设计需要好的设计文档,明确需求,实现什么功能,达到什么验收标准,随着芯片集成度的增加,接口速率的提高,单板复杂度的提高,硬件设计也越来越复杂以及对应热稳定性,可靠性,电磁兼容,环境保护的要求,已经不是通过小米加步木。仓的游击战可以解决了,每一个硬件项目都是一场战争,都需要好好的规划,好好的分析,这就需要好好做文档。
对于硬件工程师来说,最重要的文档有两个:一个是硬件设计规范(HDS : hardware design specification)和硬件测试报告(一般叫EVT:Engineering Validation& Test report或者DVT: Design Validation & Test report),对于HDS的要求是内容详实,明确,主芯片的选择/硬件初始化,CPU的选择和初始化,接口芯片的选择/初始化/管理,各芯片之间连接关系框图(Block Diagram),DRAM类型/大小/速度,FLASH类型/大小/速度,片选,中断,GPIO的定义,复位逻辑和拓扑图,时钟/晶振选择/拓扑,RTC的使用,内存映射(Memory
map)关系, I2C器件选择/拓扑,接口器件/线序定义,LED的大小/颜色/驱动,散热片,风扇,JTAG,电源拓扑/时序/电路等等。
对于DVT来说,要求很简单也很复杂:板卡上有什么接口,芯片,主要器件,电路,就要测试什么,尤其在板卡正常工作的情况下的电源/电压/纹波/时序,业务接口的眼图/模板,内部数据总线的信号完整性和时序(如MII, RGMII, XAUI, PCIe,PCM bus, Telecom Bus, 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. 沟通和全局控制的能力:
硬件工程师在一个硬件项目中,一般处于Team leader的作用,要对这个硬件项目全权负责,需要协调好PCB工程师,结构工程师,信号完整性工程师,电磁兼容工程师等各种资源,并与产品经理,项目经理,软件工程师,生产工程师,采购工程师紧密配合,确保各个环节按部就班,需要对整个项目计划了然于胸,各个子任务的发布时间,对于可能出现的技术难题和风险的估计,控制。
对于外部来说,硬件工程师还要与芯片的分销商,FAE处理好关系,争取获得更大的技术支持和帮助;与EMC实验室,外部实验室打好交道,获得更灵活的测试时间和更多的整改意见。
② 推荐几本arm的书籍
刚踏入一个新的领域,一本好书如同一个朋友能随时指点自己,所以相当重要。如果你具备一定的C语言和单片机基础的话,学好ARM是不难的。
学ARM可以从ARM7学起,有利于你理解整个ARM嵌入式方面的概念。 推荐 刘凯 写的一套书籍《ARM嵌入式应用技术基础》和《ARM嵌入式接口技术》,里面的内容讲的非常地道,对初学者而言是相当不错的。
③ MSP430F2274的JTAG可以是4脚的么VCC、GND、RST/SBWTDIO、TEST/SBWTCK四个角可以么希望回答有图!!!
德州的官方网站上面 搜索 MSP430F2274
在下面的PDF下载中有个MIXED SIGNAL MICROCONTROLLER
里面有详细的引脚说明:
TEST/SBWTCK : Selects test mode for JTAG pins on Port1. The device protection fuse is
connected to TEST.Spy-Bi-Wire test clock input ring programming and test.
P1.4/SMCLK/TCK
P1.5/TA0/TMS
P1.6/TA1/TDI/TCLK
P1.7/TA2/TDO/TDI†
再就是复位脚 GND 和 VCC
一共是6跟引脚(JTAG标准) + 1 的转换选择
④ MT6225芯片有些什么功能及其参数。
完全引用别人pdf原文,不知哪位高人发的,有耐心就请看下文。
mt6225 是一个高度集成的单芯片解决方案GSM / GPRS 手机。基于 32 bitarm7ej -扫描隧道
显微镜的 RISC
处理器, mt6225 特点不仅高性能 GPRS的 12 级调制解调器,又是设计与支持为无线多媒
体应用,如先进的显示引擎,音频合成与 64个音复音,数字音频播放, Java加速,
MMS和等,此外, mt6225提供品种先进的接口,为功能的扩展,如三端口的外部记忆体
接口,3个港口8/ 16位并行接口,NAND快闪记忆体,通过红外,USB和MMC /SD / MS /
MS法典型应用
mt6225是有能力办好的 ARM7EJ-扫描隧道显微镜的 RISC 处理器高达104兆赫,从而提供
快速数据处理能力。除了高时钟频率,一个单独的代码缓存还补充说,为进一步提高整体系
统效率。
对于大量的数据传输,高性能的 DMA (直接记忆体存取)与硬体流量控制,是执行,从
而大大提高了数据移动速度,同时降低单片机的处理负荷。 外部记忆体接口提供最大扩展
能力和最高频宽数据密集型应用,如至于多媒体功能, mt6225 支持高达 3 外部国有企业利
用最先进的设备通过其 8 /16 位主机接口。
高性能的设备,如移动 RAM 和蜂窝RAM 的支持,为最大限度的带宽。
传统的设备,如水管爆裂/页模式下闪光,页数模式的 SRAM和伪 SRAM的,也是支持的。
为最大的兼容性,内存接口也可以用于连接遗留的设备,如颜色/并行液晶显示器,多媒体
传媒同伴芯片都支持透过这个接口。为了最大限度地减少电力消耗并确保低噪音,这个接口
是专为灵活输入/输出电压,并允许降低供电电压下降到1.8V 。驱动力量是可配置为号完
整性的调整。该数据总线,还采用了保留技术,以防止公共汽车从浮动
在翻过。
多媒体子系统
为了提供更多的灵活性和带宽多媒体产品,另外8 /16 位并行接口纳入其中。这个界面设计
专为支持与数码相机辅助芯片以及由于 LCD面板。此外, mt6225 有照相机的 YUV 接口,
可以连接到 CMOS传感器的分辨率高达以个 VGA 。此外,它可以连接 NAND快闪记忆体
装置提供一个解决方案,多媒体数据存储。为运行的多媒体应用速度更快, mt6225 整合也
有若干基于硬件的引擎。与硬件基础resizer 和先进的显示引擎,它可以显示和结合任意大
小的图像,最高可达 4 共混层。
用户界面
为用户互动, mt6225召集所有必要的周边块多种媒体的 GSM / GPRS 电话。它包括键盘扫
描仪与能力多重关键紧迫的 SIM 控制器, alerter ,实时性时钟,脉宽调制,串行 LCD控
制器和通用可编程 I /O 。为连接和数据存储, mt6225组成的 UART ,红外线, USB 1.1
的奴隶,的 SDIO 和的 MMC /SD /MS /MS的亲。
音频接口
采用了高集成度的混合信号音频前端, 该 mt6225 架构可以很容易地音频接口与直接连接
到音频探头。音频接口集成 D /A和 A/D转换为语音乐队,以及高分辨率的立体声数字/模
拟转换器像带。此外, mt6225还提供立体声投入与类比多工器。
mt6225 supportsamr codec ,以自适应优化讲话和音频质量。此外,他-的 AAC 编解码器是
实施提供 CD 质量的音频在低比特率。 总体而言, mt6225 的音频功能提供了丰富的平台
对于多媒体应用程序。
无线接口
mt6225 集成了混合信号基带前端设备在为了提供一个组织良好的无线接口与灵活有效的个
性化。它包含增益和偏移校准机制,并与过滤器可编程系数综合兼容性控制射频模块。这一
方法还允许使用的一个高分辨率数/模转换器,为控制压控振荡器或晶体,因而减少了需要
昂贵 tcvcxo 。 mt6225实现伟大调制解调器业绩利用 14位高分辨率A/D
变频器在射频下行轨道。此外,为了减少需要额外的外部电流驱动元件,驾驶实力的一些公
众宣传部门的产出是设计来配置的。
调试功能
JTAG接口,使在电路调试软件程序与获得ARM7EJ- S核心。与此规范调试界面, mt6225
规定开发商与一系列广泛的选项供您选择手臂开发套件由支持的 30个缔约方。为保安理由,
JTAG接口,可以由残疾人编程内部的 OTP (一次性可编程)保险丝。
电源管理
该 mt6225 提供多种低功耗功能,以协助降低系统电源消耗。这些特征包括:稍停模32khz
时钟,在待机状态下,电源关闭模式,为个人外设和处理器睡眠模式。
此外, mt6225 也是捏造的,在先进的低泄漏CMOS 制程,因此提供了一个整体超低泄漏
的解决办法。
软件包
该 mt6225 器件提供了一个 12毫米× 12毫米, 264球, 间距为 0.65mm , TFBGA封装。
6225平台的特点
一般综合语音频带,音像带和基带模拟前端
TFBGA可适用 12毫米× 12毫米, 264球, 0.65毫米间距软件包单片机子系统
获得 ARM7EJ- S的 32位 RISC 处理器
高性能多层 AMBA总线
Java 的硬件加速快速基于 Java 的游戏和应用程序获得 ARM7EJ- S 操作频率: 26/52/104
兆赫专用 DMA总线
14通道的 DMA
48k 字节片上SRAM
72k字节的 MCU专用紧耦合内存
16k字节码缓存单晶片的 BootROM工厂闪光编程看门狗定时器为系统故障恢复
2套通用定时器
circuittch数据协处理器师协处理器外部记忆体接口支持多达3外部设备支持8位或16位内
存元件最大规模高达 64M 字节,每个支持移动RAM和蜂窝内存
支持闪存和 SRAM同页模式或突发模式
支持伪静态存储器行业标准的并行 LCD接口支持多种媒体辅助晶片与 8/ 16 位数据宽度灵
活的输入/输出电压为 1.8V ? 2.8V的内存接口可配置的驱动力量,为记忆接口
用户界面六排× 7柱键盘控制器硬件扫描器支持多种关键塑机游戏
SIM 卡/控制器的 USIM 与硬件吨=0 /t =1处议定书控制
实时时钟( RTC )的运作与一个单独电力供应
通用 I /O (的 GPIO )
2套脉宽调制( PWM )输出
alerter输出改进型 PWM或 PDM的
4 ? 10个外部中断线路
连通
三 UART等硬件流量控制,并加快到 921600个基点
红外调制/解调器的硬件 framer 支持先生的运作模式
全速 USB 1.1设备控制器
多媒体卡/安全数字记忆
卡/记忆棒/记忆棒主办控制器
支援 SDIO 接口的 SDIO 外设作为以及 WiFi 的连接
戴/ PCM和 I2S接口,为音频应用
安全
支持安全的关键代码保护
143位独特/秘密芯片 ID
电源管理
电源关闭模式,为模拟和数字电路
处理器睡眠模式
稍停模式 32khz时钟,在待机状态
7通道配套的 10位模/数转换器充电器和电池监测和遥感图片
测试和调试
内置式数字和模拟环路返回模式音频和基带前端设备
戴港口遵守与 GSMrec.11.10
JTAG端口,为调试嵌入式微控制器
1.2调制解调器功能
无线接口和基带前端
gmsk 调制器,模拟 I和 Q通道产出
10位/模拟转换为上行基带 I和 Q 信号
14位高分辨率 A/D转换为下行基带I和 Q信号
校正机制的偏移和增益错配问题,为基带/数转换器和数字/模拟转换器
10位元数/模转换器 forautomatic 电源控制
13位高分辨率/模转换器自动频率控制
可编程无线电收发滤波器
2通道双向型基带串行接口( BSI )颁发同三线或四线管制
10针基并行接口(公众宣传局)可编程驱动力量
多波段支持
语音和调制解调器编解码器
拨号音代
语音备忘录
降噪
回声抑制/回波抵消
先进 sidetone振荡减少
数码 sidetone发生器可编程增益
两个可编程声波滤波器补偿
支持 GSM/ GPRS 四语音编码器,为自适应多速率( AMR )系统,增强型全速率(英法
俄) ,全速率(神父) 和半额(人力资源)
神父的错误隐藏
GSM的信道编码,均衡和 A5/1 个A5/ 2 和A5/3 加密
GPRS的 gea1 , gea2和 gea3加密
可编程的 GSM/GPRS调制解调器
packettched数据与 cs1/cs2/cs3/cs4 编码方案
GSM的 circuittch数据
GPRS的 12级
语音界面和语音前端
两个麦克风输入共用一个低噪音可编程增益放大器和自动增益控制( AGC )机制
话音功率可编程增益放大器
二阶Σ - △ A/D转换为语音上行之路
D/A转换为语音下行路径
支持半双工手机免提操作
兼容与 GSM03.50
1.3多媒体功能
液晶/ NAND快闪记忆体接口
18位并行接口支持 8 /16位的 NANDFlash及8/9/16/18位并行液晶显示器
8/ 16位 NAND快闪记忆体控制器与 1位 ECC的校正大规模货仓
2芯片选择适用于高密度 NAND 闪光装置
串行 LCD接口与 8/ 9 位格式支持
液晶显示控制器
硬件加速显示器
支持同步连接多达 2 平行液晶显示器和 1个串口液晶显示模块
支持格式: rgb332 , rgb444 , rgb565 , rgb666 , rgb888
支持 LCD面板,最大分辨率可达 800x600在 16bpp
支持硬件旋转显示
能力相结合的展示回忆最多四共混层
加快伽玛校正可编程伽马表。
图像信号处理器
8位的 YUV 格式影像输入
能处理图象的大小最多的 VGA
灵活的输入/输出电压为 1.8V ? 2.8V的
音频编解码器
wavetable合成多达 64吨
先进的立体声 wavetable合成器
wavetable包括基因改造全套 128 文书和 47 套percussions
中成药回放和记录
数字音频播放
他-的 AAC 解码支持
音频接口和音频前端
支持 I2S接口
高分辨率数字/模拟转换器为立体声音频回放
立体声模拟输入立体声音频源
类比多工器为立体声音频
立体声单声道转换
FM广播录音
.4一般说明
mt6225 基于双处理器架构,主要处理器的mt6225 是的 ARM7EJ- S ,其中主要是违背了
高层次的 GSM/GPRS协议软件,以及多媒体应用程序。与另外一个是数字信号处理器相应
的处理低级别调制解调器以及先进的音频职能。除了一些混合信号电路外,其他积木在
mt6225相连要么微控制器或数字信号处理器。
具体来说, mt6225包括以下子系统:
微控制器( MCU )的子系统,其中包括一名获得 ARM7EJ- S RISC处理器及其所附
内存管理和中断处理逻辑。
数字信号处理器( DSP )子系统,其中包括一个DSP 及其所附的记忆,记忆控制器和中
断控制器。
微处理器/ DSP的接口,如微控制器和 DSP的交换硬件和软件信息。
微控制器外围设备,其中包括所有的用户接口模块和射频控制接口模块。
微控制器的处理器,它打算用来运行计算密集型过程中发生的微控制器。
DSP的外围设备,这是硬件加速器,为 GSM/ GPRS通道编解码器。
多媒体子系统,它集成几种先进加速器,以支持多媒体应用。
语音前端,数据路径的输送模拟讲话,并以数字讲话。
音频前端,也该数据路径传送立体声音频立体声音频源
基带前端,数据路径传送数字信号和模拟信号的射频模组。
时序发生器,产生控制信号涉及到的 TDMA帧的时间。
电源,复位和时钟子系统,管理的权力,复位和时钟分配等内部 mt6225
⑤ 求画protel电路图,包括电源,串口还有JTAG口电路,我这有pdf原图 ,照着画,凑合着就可以了
已经画好了。。。
⑥ 无刷电机的驱动电路一般由哪些电路部分组成
首先得有电源吧:如果你买别人的开关电源那就有几个电解电容滤波就行了,或者自己设计板上的开关电源;
其次是三相桥式MOS管或者IGBT;
然后可能要加装L或者LC滤波器;
以上是主电路部分;
控制电路:
1、控制电源,5V、3.3V什么的;
2、采样电路:电机的霍尔传感器采样3个霍尔信号你要把他拿过来,可以选择用光耦隔离或者是磁藕隔离或者用运放转换或者其他什么方式,接到DSP的cap引脚上;电压、电流信号你要有AD运放电路,包括比例放大、低通滤波之类的;
3、PWM输出电路:DSP的PWM输出之后要接上光耦、磁藕隔离等。推荐TI的ISO7220。然后接到MOS管驱动IC上,现在主流的有IR2110\IR2130自己选。这些芯片的外围电路元件参数选择是很有讲究的,一定要熟读文档。
4、DSP和通信:DSP选择一样吧,把它的外围电路元件和参数好好设计一下。包括晶振、JTAG、去耦电容、AD那部分的外接元件。需要找这些的资料PDF,在官网上都有官方出的正式文档非常权威。通信选232就行了,如果有要求可以搞点USB啥的自己选吧。
5、保护:主回路上可能要加一个保险丝之类的,可选吧。然后三相桥上的MOS管可能要加点吸收电容。这些都是可选的。如果你要是第一次做,而且只是自己试验不是做产品卖给别人,这些都可以略去。
⑦ 嵌入式软件应用方向与计算机应用软件方向
硬件很重要 但现在趋向软了 趋势也是靠软 以下是一点点经验 也许可以参考。。。GOOD LUCK~~~~!!!!
一 首先说说ARM的发展
?????? 可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。
广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式微处理器;DSP;FPGA。
?????? 客观的讲,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。
?????? DSP因为数字处理与通信领域的空前发展而火暴,小到MP3 射象头,大到我们军品里的控制器,应用面很广。
?????? FPGA的兄弟一般做ANSIC(特殊芯片设计,好象是这么翻译的)。而ARM单纯说来并不比一个单片机强多少,但是它的独特就在于不断下降的价格和提升的性能。这完全依靠于ARM公司的战略,厉害!!很佩服他们的战略眼光!!
?????? 值得注意的是:在找工作中,企业(着名的,小的不算)对单纯的ARM硬件开发工程师并不比单片机重视,很少有大企业的职位里写“从事过ARM开发优先”。写的多的是什么?“嵌入式LINUX”到这相信大家看出来了吧,需要的是硬件中的软件。
二 ARM是硬件还是软件
?????? 很难说,ARM是硬件,LINUX是软件。ARM的硬件多半已经模块化了,像我这样把板子改成这样的就算动的多的了,这同样是ARM公司的战略,再次佩服。
?????? 实际中的LINUX的开发工作更多,更耗时。从这方面说ARM应该算是软件了。
?????? 在找工作中更是这样,举个例子,联想里和ARM最接近的是“BIOS工程师”是软件,MOTO里接近的是嵌入式LINUX工程师是软件。而其他很多公司把嵌入式产品开发归为硬件。所以,不要讨论这个,好好玩转自己的板子才是关键。实在不爽你就把自己叫“嵌入式开发工程师”
三 要不要买开发板 买哪家
??????
??????? 我的答案是“在你个人的学习方法”,但是如果看家是需要看这骗笔记的水平,个人推荐还是买现成的。
1 买
??????? 买板子可以把注意力集中在软件开发上,软件开发(尤其是驱动)可以不必担心自己硬件上的问题,我就是以便调试一边写驱动和程序,每次写驱动前就要先确认硬件没问题。另外,买板子更省钱和时间,我自己做的板子,原理图PCB花了2周以上!制版又15天,回来以后焊接44B0 160个脚!那叫一个麻烦~~花了多少钱呢?2层板,制版费就300块!当然 我把接口都外引了,还做了个20X18的LCD背板,板子比较大。总体下来 元件+LCD屏+PCB=11XX块!够2410的了。
?????? 再有就是买的资料相对来说比较全,但是不要指望有技术支持!都是骗人的,卖你之后就不会理你。
2 做
??????? 自己做可以更了解底层硬件,可以按照自己的要求加东西,比如我就加了GPS模块、 GPRS模块 、SD卡模块,扩了个IIC的35个键子的键盘、把LCD接口按照买的LCD改装了,可以用FPC线直接连接。做的很爽的。玩一把吗。
???????? 当然,你可以有策略的做,比如像我一样,把RAM和ROM,网络都保持和某现成的板子一样,这样他们的资料你就可以拿过来直接用,给自己留个退路。其他的如SD了 什么的自己做。都达到了~~就是费钱,费时间。
??????? 再有就是给做的朋友几点建议:尽量拿到现成的板子,尽量多搜集其他板子的全套资料,一定要拿到一张没问题的原理图。
???????? 网上流传的原理图多数是龚俊03年画的,再这里对龚俊表达一下我的敬意!!牛人!
但是那个图有个小BUG,我指的是03版的,后来的没这问题了。8019那地址线和地址有问题。还有人仿照他的PDF图画的SCH,更是漏洞百出!谴责!顺便谴责把龚俊板子偷卖的人。
3 买哪家
???? 个人感觉分3类吧
????? 1)首先是ZLG的,资料非常的全,感觉他是真正想教你怎么开发ARM,而不是像有的公司自己技术都没做好就做个板子出来卖钱。但是最大的不利就是价格太贵!而且主要是PHILIP的,货源比较麻烦~~可能有人说21XX系列的不贵啊,那是总线不外扩的,只能跑UCOS,不能跑UCLINUX。但是说是话,21XX系列才是ARM7的价格性能结合点。ARM7最适合做工业控制,ARM普及,销量都是怎么来的?都是ARM7来的,而44B0是典型的商业片子。但是,这里如果你看中的是为工作做准备,还是选能跑UCLINUX的吧。
但是仍然作为第一个推荐,因为菜鸟时期,合适的资料太重要了!!在这里被ZLG的务实精神感动!你看人家那代码写的。
????? 2)感觉立宇泰的44B0不错
硬件没别的,就是资料比较全的说,不像有些家,原理图直接拿人家的,还错的~~
????? 3)找个最便宜的
好象最便宜的有卖350的吧?也是没别的,就是即省了钱 还省时间搜集资料,至于资料全不全,别计较了~~硬件肯定好使就行吧。
四 要不要有51 AVR等单片机基础
???????? 有更好,但没有也无所谓。
??????? 两个月以前,我只是看别人做,耳濡目染~~,本科学过单片机,从来没做过。我们这的技术主干做AVR和51,我就跟他们调过C语言程序。你看出来了?我是个不折不扣的菜鸟吧?
但是做这个之前我特意找了ZLG的两本书,看了里面的例子和原理图,这很重要。例程里有汇编有C,都看懂了就OK,不用自己现写
五 开发都需要学习哪些软件
总结起来最主要的有以下几个吧
1 ADS调试用
确切的说是ADS+AXD。ADS里包含AXD。原来都用SDT后来ARM公司停止对SDT支持了,改支持ADS了,还是用ADS吧。
有的人的程序发布的仍然是SDT版本的,但基本都可以找到相应ADS的,新人在这里不要发蒙。ADS是编译器,AXD是调试器。便宜成AXF以后再在ARM的RAM里调试。
2 PLASHPGM
FLASH烧写的软件。AXD在RAM里调试,掉电就没有了,方便程序修改。调试好的程序再下到FLASH里,上电直接运行。
同类的软件还有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人还问FLASH不支持BIN格式文件的问题就要看我写的PLASHPGM使用了。
3 BANYANT调试代理(不知道名对不,起这么个难记的,我一般都叫它“半羊”因为知道它那几天刚吃了烤羊)
调试代理就是用它帮你使用更简单的JTAG(便宜啊)来实现原本1K才卖的JTAG仿真器的大部分功能。JTAG调试原理看我另一篇笔记。简单的就可以把他理解为你自己做的JTAG的驱动就行了。
调试代理还有很多种,什么H-JTAG了、ARM7了(不知道具体叫什么,就记得可执行文件叫ARM7.EXE)都是,BANYANT比较好。
需要注意的是,没种调试代理安装方法虽然都简单 但都不一样,需要看说明。而且AXD调试之前都要运行。省钱了,就别怕麻烦了。
4 ARM-ELF-TOOLS工具链
里面是UCLINUX开发用的工具比如ARM-ELF-GCC只类的。工具链就是把很多工具打包在一起发布的方便你开发的东西。具体安装方法看我另一篇笔记。
另外如果你开发LINUX就要用ARM-LINUX-TOOLS,不一样,不通用。
5 U-BOOT
大名鼎鼎的BOOTLOADER生成工具,同类的好象还有VIVI(名字很暧昧~~)
生成的BOOTLOADER烧到FLASH里,然后就可以用BOOTLOADER下载 烧写其他了
有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像电脑上的BIOS。当然UCOS的不用这个,用什么我不知道:)
最新版本是1.1.4 具体使用方法看我另一篇笔记吧。
6 UCLINUX包
UCLINUX的源码包,不用多说了吧?建议大家用现成的先体会一下,然后再自己编译,裁剪。因为单独UCLINUX的编辑技术上比较简单,但涉及的方面还是比较广的。
7 VMWARE
老牌的虚拟机软件,在一个机器上虚拟出一个机器装LINUX(PC上用的),省得你来回开关机了。记得装VMWARE-TOOLS,安装方法在我另一篇笔记里。
六 有哪些书推荐
?????? 主要推荐ZLG的三本书,有这3本再加网络就不用别的书了,其中主要推荐前2本,3是介绍体系结构的,也不错
1 ARM嵌入式LINUX系统构建与驱动开发,北航版
驱动写的很详细,前期开发介绍也很好
2 ARM 嵌入式系统实验教程(二),北航版
有ZLG2200的原理图,实验程序和注释,了解人家是怎么开发的。
3 ARM嵌入式系统基础教程
最重要的是体系结构,汇编部分介绍,看看吧,增加理论素质。
4 44B0数据手册
写在这里是强调它的重要。
不推荐ZLG早期出的红色皮的ARM什么体系结构~只类的
写的太多,看烦了。
其他的书没了几本,没看见好的,大家有看过的推荐吧。
七 选UCOS?UCLINUX?LINUX?VXWORKS?还是当单片机用
????? 1 搞开发,工程设计,用UCOS,小巧,多进程,简单,体现了ARM7的精髓。
????? 2 LINUX 正根的嵌入式系统,LINUX消费与通信领域用的比较多,但缺点是必须ARM9才能跑,ARM9的板子自己做就不行了,6层板太贵。买开发板1K达底吧。但是还是推荐选ARM9+LINUX
????? 3 UCLINUX 算投机嵌入式系统:)ARM7上可以跑,由有LINUX近亲,学好好可以比较方便的转向LINUX,像我一样的穷鬼用吧,呵呵
????? 4 VXWORKS
学好后可以找到高薪工作,但工作机会本身并不比LINUX好找。
???? 5 当单片机用
不推荐,虽然我景仰的ZLG一直号召这么干。因为对于学习来说多进程的系统设计才是ARM7的玩头,至少你也要整个UCOS啊:)
有朋友问我先学这个当基础不行吗?那当然可以~~但我当时就用了1周搞定,就是我先的ADS在RAM中调试的笔记。后来我清空FLASH用的小段程序还是当时写的LED闪烁程序呢。另外1周里其中还因为自己过于菜,没把OM设置好导致晶阵不阵
哈哈。这个是必须做的,但一带而过。目标放的远一点。
八 学习要用多长时间
??????? 我从菜鸟到现在两个多月,中间被打扰数次。仍然搞定了PCB设计与制版,RAM调试,FLASH下载,UBOOT移植和下载UCLINUX(没剪裁,用现成的),LCD驱动。
再次坦诚的说:我确实比较菜,说这些不是让大家羡慕,只是告诉你们“你们应该比这个更好”
我相信良好的态度+合适的方法+及时的总结=成绩
九 ARM都玩什么
就几点
1 硬件设计
2 系统移植
3 驱动开发
4 应用开发
没了。其中推荐把注意力放在后两个上,3有难度,4比较灵活,最重要的是都是找工作的砝码。
十 我用的什么板子
很多人问我这个问题,我特意写过一个的。再说一次吧。
我是自己做的,RAM、ROM、8019等比较麻烦而当时的自己不理解的都按照龚俊的做的。保持其他不便的情况下做了如下改动。
1 加了串口通信的GPS模块、 GPRS模块
一个UART0,一个UART1,当与要用超级终端时用跳线切换。
2 SD卡,和7843触摸屏
同时挂在SPI总线上,因为SPI只能挂一个设备,同时还做了I/O模拟的准备,把两个设备又通过跳线挂在4个IO上。
3 扩了个IIC的35个键子的键盘
用的ZLG的7290,不占用CPU,最大支持64个键子,只上了35个,其他留接口。
4 把LCD接口按照买的LCD改装了,可以用FPC线直接连接。
所以改动虽然多,但真正很移植了,初期调试有关的并没动,就是为了现在不那么菜的时候做准备:)
十一 开发流程
这里是我的开发流程
1 设计原理图(含WIGGLER的JTAG访真器)
2 设计PCB(含WIGGLER的JTAG访真器)
3 制版
4 焊接电压,确定电压没问题
5 焊接44B0+JTAG电路+WIGGLER的JTAG访真器+周边电路,用BANYANT+仿真器连接,BANYANT提示错误,但可以显示44B0编号,好象是0X0F0F0F0F只类的,说明44B0没问题
6 焊接晶体+RAM+ROM+周边电路,用BANYANT+仿真器连接,可以显示正确的44B0了
7 用BANYANT+仿真器连接,开AXD,在命令行窗口操作RAM,看可不可以修改,可以的话(用内存窗口看RAM地址)RAM就没问题
可以用这个命令“setmem 0xc000000,0xffffffff,32”
我的RAM挂在BANK6上 所以地址是0XC000000,你要是改了就也得改。
8 用我写的《自己写了个C工程模板又写了个使用说明 》里的方法调试程序吧,写个简单的,我当时写个LED闪烁的。看好使不。
9 把程序按照《FLASH烧写总结 》里的烧到FLASH里,测试一下
10 按照《UBOOT 移植操作》移植UBOOT
11 按照《UCLINUX下载简单说明》下个UCLINUX
12 看看驱动开发的方法,自己写个驱动看看
13 还有很多事东西着你玩 呵呵
十二 关于JTAG访真器
JTAG访真器现在用的多是简板的,一个244那种,用的没什么不好。
按照并口定义不同分几种,建议选WIFFLER定义的,因为支持的软件多。这个网上多的是,不多说了。
值得提的是有的JTAG访真器原理图上有跳线用来使能复位信号,这个一般不跳上。就是不用复位信号,因为JTAG协议里本身也可以控制44B0复位。
当然,板子上的复位信号跳线也不用跳。
十三 哪个公司的ARM
这个是问题比较简单。
1 ARM7主要就几个公司的
三星,PHILIP,ATMEL的
ATMEL的有比较便宜的AT91SAM7S32 和AT91SAM7S64 专为8位应用产品量身定做,价格很便宜好象《3刀吧。和PHILIP的21XX差不多,资料太少,项目中选还不错。
其他两家上面说了的不多说了吧
2 ARM9
这个玩2410和2440的多吧,现在2440还比较火啊 可以考虑买个了
但是2410就比较便宜了,作为学习来说反到和不错,推荐整一个:)
其实ARM9用的最多的领域应该是消费电子,比如手机PDA,而这上面用的多的应该是INTEL的和TI的吧。
但是INTEL的TI的入门材料少,价格高,自己看情况定吧。
⑧ 集成电路芯片的编码是怎样规定的
拿到一些芯片,上面写着74lvth245a、tms320f2812pgf、74hc08、rtl8201bl、ds1302、ref198等等。这些编码是如何规定的?有什么规律?能否看到这些编码大概知道它是个什么性能的电路?我们在protel里元件库中如何快速找到自己想要的芯片?
你说的这些芯片都是很常用的单片机及其外围芯片,如果你有相关经验很容易知道,比如第一个是个逻辑芯片,74是数字逻辑芯片的一个族,区别于54系列,后面那个lv表示低电压low-vol,可能工作在3.3v的电压下,第二个是ti出的dsp(数字信号处理器),tms320是ti起的名字,在公司的系列产品中有自己的意义,f表示用的是flash存储,2812是其代码,还有2407,5402等等,后面是封装参数。后面那几个芯片有基本逻辑和时钟芯片等,这里不再赘述,你上网查这些芯片的pdf全有,不过大多是英文的。
回答你后面的问题:这些编码有的是行业里的规定,比如74ls,74hc,54..基本的芯片,也有是公司自己起的名字,比如tms320f2812等,要说规律很简单,你有过设计经验,用过一些片子就知道的差不多了,要速成可以去看嵌入式硬件设计的书。
protel里找自己的芯片可不容易,你在搜索器件里找一下就可以了,事实上,用protel的老手,全部是用自己画的器件,以免在具体设计时出现这样或那样的偏差。
别学protel了,学那个altiumDesigner吧,他们公司新出的最新版,容易上手功能强大。
⑨ 16位单片机的管脚图是什么样的!
msp430是一个系列,就像平常中人们说的51单片机一样,并不是一个型号。
msp430的网络:
http://ke..com/view/215429.html?wtp=tt
在这里我跟你说说51与430的区别吧。
msp430系列单片机是一种新型的16位单片机,主要特点就是功耗小,速度快,主要开发语言是c。开发环境有iar集成开发环境。
msp430单片机有不同系列,有f系列,c系列。比如f系列msp40f135表示的是rom是flash型的。常用的是f系列的13系列14系列。13系列的有msp430f133和msp430f135两种。14系列的有msp430f149等。
我用的是msp430f135推荐你用msp430f149,msp4301f149有60KB的flash和2KB的ram。比起51的算是很大了。
c51单片机现在很少用了,都被s52单片机代替了。
51单片机和430单片机的主要区别是51是8位的,430是16位的。开发环境都有相应的c开发环境。
学习430单片机有了51的基础应该很容易入门,我是一开始就是接触430单片机,后来才接触51的,觉得430的不错,特别是功耗和速度方面。如果你想跑操作系统的话就买现在ti公司的新系列的单片机,ram有10k。
89C51单片机是8位单片机。其指令是采用的被称为“CISC”的复杂指令集,共具有111条指令。而MSP430单片机是16位的单片机,采用了精简指令集(RISC)结构,只有简洁的27条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。
其次,89C51单片机本身的电源电压是5伏,有两种低功耗方式:待机方式和掉电方式。正常情况下消耗的电流为24mA,在掉电状态下,其耗电电流仍为3mA;即使在掉电方式下,电源电压可以下降到2V,但是为了保存内部RAM中的数据,还需要提供约50uA的电流。而MSP430系列单片机在低功耗方面的优越之处,则是89C51系列不可比拟的。正因为如此,MSP430更适合应用于使用电池供电的仪器、仪表类产品中。
再者,89C51系列单片机由于其内部总线是8位的,其内部功能模块基本上都是8位的虽然经过各种努力其内部功能模块有了显着增加,但是受其结构本身的限制很大,尤其模拟功能部件的增加更显困难。MSP430系列其基本架构是16位的,同时在其内部的数据总线经过转换还存在8位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展8位的功能模块,还是16位的功能模块,即使扩展模/数转换或数/模转换这类的功能模块也是很方便的。这也就是为什么MSP430系列产品和其中功能部件迅速增加的原因。
最后,就是在开发工具上面。对于89C51来说,由于它是最早进入中国的单片机,人们对它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。但是如何实现在线编程还是一个很大的问题。对于MSP430系列而言,由于引进了Flash型程序存储器和JTAG技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程
⑩ 怎么向arm9开发板下载程序
如果你手上有开发板,你就应该不会问这些很容易的问题,因为你自己可以解决。
分两种情况:
1 开发板上有uboot,最简单的方法是通过tftp从网络下载到flash中,在PC端搞个tftp服务器,网络直接连接开发板;运行tftp addr file.bin
2 如果是裸板,通过仿真器下载