硬件工程师的穿透力和杀伤力
硬件工程师的穿透力和杀伤力
——
学习、成长历程和职业指南
作为一名硬件应用开发工程师,或者说比较时髦的嵌入式系统开发工程师,回头看看,好像需要学习
的东西特别多,
VHDL,SoC,FPGA,
……单片机,微处理器。而且这些东西,大多数在学@锩娓狙
安坏健
?br>所以,常常有人来问我们,你们是如何掌握这些东西的?实际上,我们的学习能力也非常
“
”
“
普通。如果非要总结一下,我想可能是我们都非常深刻的理解了任何数字系统的 可编程思想 或者说, 可
”
“
”
编程原理 。上面提到的所有微电子数字器件,你只要戴上 可编程的思想 的眼镜去看它,就都感觉,它们
不过是庖丁眼里的牛,丝丝缕缕,仅在眼前。
1. 开关引发可编程思想
霓虹灯的案例
很多年前,模拟电路中的集成运放有这样一个特性,外接电阻的变化,引起放大电路放大倍数的变化 。
我们设想:有 4 个这样的开关,他们将组合出来 0-15 种变化。
设想一下,如果我们是 8 个开关呢,你肯定可以知道,有 0-255 种变化。
那好,如果我们的放大倍数是由某处一个 8 位的数值来确定,而这个放大倍数一般不是“硬”性固定的,
是
“软”的,是可变化的。我们就称它为:可编程的。
实际上,这个存储在某处的 8 位数值,既可以是某个 8 位寄存器,也可以是内存中的某个字节。他们
是可以互换的,由此可见,数据存储和交换有了意义,远了,我们回去。
模拟量和数字量
开关的组合:命令或者数据
2. 数字芯片:从组合电路到 SoC
好了,既然我们理解了可编程思想,或者说软件的思想。那,我们来看看我们嵌入式系统工程师所常
常用到的数字器件,如何达到轻松理解他们原理的地步。
组合电路:这基本上是最硬的数字电路,他只能完成固定的逻辑,对我们来说,可编程基本上在于一
个开关,是让它完成这个动作,还是不做。所以,只有在时序脉冲下,根据现在的状态和一定的输入,转
换到另外一种状态的时序电路才是最广阔的世界。
寄存器:不用说了,保存数字量的器件,不管是命令还是数据。
内存:把它理解成一个成序列的 8 位寄存器即可,这个序列就是所谓的地址。只不过因为电子器件的
不同,有的能读能写,只能读出来(
ROM),有的暂时固定内容,但是可擦写(Flash)。