嵌入式硬件成长之路

从电子到集成电路

现代电子电路最基础的单元就是电子,类似于物理学中的夸克,不管是简单的放大电路还是极其复杂的芯片IC,都是由这一最小单元组成。根据不同的离子掺杂工艺,发展出了PN结和MOS工艺,通过PN结或者MOS管的导电特性,工程师将原件进行逻辑布线,诞生0和1,而这,建立起了嵌入式与实体硬件的桥梁。

0与1的电平

不同物理层对0与1的定义是不同的,常见有TTL电平和CMOS电平。
TTL电平标准:

输出 0: <0.8V ; 1:>2.4V。

输入 0: <1.2V ; 1:>2.0V

TTL器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1。于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。

CMOS电平标准:

输出 0: <0.1Vcc ; 1:>0.9Vcc。

输入 0: <0.3Vcc ; 1:>0.7Vcc.

由于CMOS电源采用12V,则输入低于3.6V为低电平,噪声容限为1.8V,高于3.5V为高电平,噪声容限高为1.8V。比TTL有更高的噪声容限。
不同的电平标准,驱动能力(即挂载的外设数上限)、通信速度、对噪声的敏感度都有所不同,实际嵌入式开发过程中,需要根据外设的技术手册确定相关电平标准。当主控IC与外设的电平标准不同时,需要在通信线路中加上电平转换电路,防止电平不同造成的逻辑混乱、甚至电源灌流烧坏逻辑器件。
电平转换电路如下:
电平转换电路

0与1的逻辑运算

对于一个输出结果为0、1属性的电路(即数字电路),基本的运算电路为与、非、或,由几个基本逻辑单元,以有无同步时钟作为分水岭,诞生了组合逻辑电路与时序逻辑电路(在组合逻辑电路中,着重注意一下竞争和冒险)。
竞争:在组合电路中,信号经由不同的路劲达到某一会合点的时间有先有后的现象;
冒险:由于竞争而引起电路输出发生瞬间错误。表现为输出端出现了原设计中没有的窄脉冲(毛刺)。
以下电路来源于ycc_job

CMOS非门:
在这里插入图片描述
CMOS与非门:
在这里插入图片描述
CMOS或非门:
在这里插入图片描述
上述的电路通过不同的组合,可以实现不同逻辑的运算,MOS结构是IC内部的基本结构,无数个MOS组成的逻辑,上亿个晶体管,组成我们的运算器(即现在的CPU)。

运算模块之间的控制

当逻辑运算系统及其庞大时,就需要对信号流进行控制,否则极易产生竞争和冒险,所以,在庞大的数字电路系统中,我们需要很多MOS管组成的门进行信号流的分配、分流、控制,在参考时钟的有序控制下,进行精确的数字运算。众所周知,MOS管的开断通过栅极电压控制,这里,以此类推,对于一个门极,1是开启电压,0是关闭电压,所以我们可以用0和1控制一条线上的信号开断,无数个0和1组成了嵌入式最基础的机器码,所以机器码最根本的作用,就是对门极信号的控制。

机器码与汇编

如果说机器码是简单的01组合成的庞大的指令,那么汇编是机器码之上的低级语言,在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。不同平台的汇编指令可能会有很大的区别,例如X86架构与ARM架构的汇编指令就有所区别。
例如:
X86和ARM的传递指令都是MOV
MOV X1 X2
而X86的出栈指令为POP,ARM的出栈指令为LDP
X86:POP
ARM:LDP x29, x30, [sp,#0x10]
所以,不同的架构,我们对照该架构的指令就能对目标地址、寄存器进行底层操作,从而达到简单的程序编写。
举例:

;hello-os
;TAB=4
;以下这段是标准FAT12格式软盘专用代码
 DB 0xeb,0x4e,0x90
 DB "HELLOIPL" ;启动区的名称可以是任意的字符串(8byte)
 DW 512  ;每个扇区的大小为512byte
 DB 1  ;簇的大小为1sector
 DW 1  ;FAT起始位置
 DB 2  ;FAT个数
 DW 224  ;根目录的大小
 DW 2880  ;该磁盘大小
 DB 0xf0  ;磁盘种类
 DW 9  ;FAT的长度
 DW 18  ;1个磁道18个扇区
 DW 2  ;磁头数
 DD 0  ;不使用分区
 DD 2880  ;重写一次磁盘的大小
 DB 0,0,0X29  ;
 DD 0xffffffff  ;
 DB "HELLO-OS   " ;磁盘名称11byte
 DB "FAT12   " ;磁盘格式名称8byte
 RESB 18  ;空18byte
 ;程序主题
  DB 0xb8,0x00,0x00,0x8e,0xd0,0xbc,0x00,0x7c
 DB 0x8e,0xd8,0x8e,0xc0,0xbe,0x74,0x7c,0x8a
 DB 0x04,0x83,0xc6,0x01,0x3c,0x00,0x74,0x09
 DB 0xb4,0x0e,0xbb,0x0f,0x00,0xcd,0x10,0xeb
 DB 0xee,0xf4,0xeb,0xfd
 ;信息显示部分
  DB 0x0a,0x0a  ;2个换行
 DB "hello world qian"
 DB 0x0a  ;
 DB 0
  RESB 0x1fe-$  ;填写0x00,直到0x001fe
 DB 0x55,0xaa
 ;以下是启动区以外部分的输出
  DB 0xf0,0xff,0xff,0x00,0x00,0x00,0x00,0x00
 RESB 4600
 DB 0xf0,0xff,0xff,0x00,0x00,0x00,0x00,0x00
 RESB 1469432

上述简单的汇编程序,实现了X86架构软盘自启动hello world的功能,利用PC独特BIOS指令实现对屏幕的输出。

嵌入式编程(待更新)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 《硬件工程师炼成之路笔记》是一本非常好的书籍,书中详细介绍了硬件工程师的各个方面和炼成之路。本书内容分为三个部分:基础篇、专业篇和实战篇。在基础篇中,书籍介绍了硬件工程师需要学习的基础知识,如计算机组成原理、数字电路、模拟电路等。在专业篇中,书籍介绍了硬件工程师需要掌握的专业知识和技能,如嵌入式系统设计、芯片设计等。在实战篇中,书籍介绍了硬件工程师需要具备的实战技能,如工程实践、项目管理等。 此外,本书还介绍了硬件工程师需要具备的软技能,如沟通能力、团队协作能力等。同时,本书也涵盖了硬件工程师的职业规划,包括职业发展方向、职业技能提升等。 《硬件工程师炼成之路笔记》对于想要成为硬件工程师的人来说,是一本非常有价值的参考书。通过深入学习本书,可以帮助读者全面了解硬件工程师的工作内容和技能要求,从而更好地规划自己的职业生涯。此外,本书对于现实工作中的硬件工程师也有很大的参考价值,可以帮助他们更好地了解自己的职业,提升自己的职业能力。总的来说,本书对于硬件工程师的职业成长和发展具有非常重要的作用。 ### 回答2: 《硬件工程师炼成之路笔记》是一本面向硬件工程师的宝典。它是由一位经验丰富、深入行业的硬件工程师编写,主要涵盖了硬件工程师需要具备的技能和知识。 这本笔记包含了硬件设计、电路分析、EDA工具使用、PCB设计等方面的内容。首先,它详细介绍了如何有效地进行电路设计,包括通过选型和仿真工具等方法确定电路方案,以及制定硬件实现方案的步骤。 其次,笔记还介绍了电路分析,包括电路理论、传输线理论、电磁场理论等内容。它可以帮助硬件工程师理解复杂电路和系统的设计和操作原理,从而更好地完成工作。 此外,笔记还介绍了EDA工具的使用方法,这些工具可以帮助硬件工程师优化电路设计和测试流程。这些工具包括仿真软件、连线程序、PCB设计软件等。 最后,笔记对硬件工程师需要具备的其他技能进行了介绍,如团队协作、项目管理和工作效率等。这些技能可以帮助硬件工程师在工作中更好地与其他人合作,更好地完成工作任务。 总而言之,《硬件工程师炼成之路笔记》对于想要学习和成为一名优秀的硬件工程师的人来说是一本非常有价值的手册。 ### 回答3: 《硬件工程师炼成之路笔记》是一本介绍硬件工程师成长之路经验分享手册。这本书并不是一本纯理论的教科书,而是对硬件工程师所需掌握的相关技能和知识的实践总结和经验分享。 在这本书中,作者分享了他在硬件工程领域的实践经验和心得,讲述了硬件工程师如何在学习和工作中提高自己的技能水平。作者强调了学习的重要性,学习包括了对硬件工程领域相关知识的深入理解和实践经验的积累。作者还介绍了一些常用的工具和框架,如EDA和PCB设计软件,以及多种模块化设计方案。 此外,作者还分享了一些硬件工程师必备的个人品质,如责任心、好奇心、创造力、团队合作精神等等。这些品质在实践中非常重要,能帮助硬件工程师在工作中更加自信和出色。 总之,《硬件工程师炼成之路笔记》是一本非常实用的手册,对于想要在硬件工程领域成为专家的人来说,这本书提供了指导和帮助。阅读这本书可以让读者更加深入地了解硬件工程领域的知识和技能,以及如何通过努力和实践提高自己的水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值