1897年,英国物理学家汤姆森发现了电子,拉开了现代科技的开端和信息时代的序幕。随后电子三极管的出现,使人们构造复杂的电子电路成为可能。1、电子三极管电子三极管是真空玻璃管,在高温下一端能发射电子(负极),另一端是能接收电子的金属板(正极)。管子中间有一个栅极(基极),可以调节正负极之间的电子通量,从而影响电流的大小。电子三极管的原理上图是一个简单的示意图:电子三极管的灯丝一般由金属制成,在高温下容易发射电子。电子在电压的作用下飞向真空玻璃管的正极,因此可以单向导电。电子带负电,所以它只能飞向正极,而不能反过来。如果没有栅极,那么它就是一个电子二极管。加了栅极后,栅极电压的微小变化就能影响正负极之间的电子通量,从而影响整个回路的电流,所以它也有信号放大的作用。在晶体三极管发明之前,人们用这种三极管来制作电子电路。俄罗斯在电子管领域应该很强。电子管设备的特点是体积大、工作电压高、重量大。据说米格25的雷达威力大到可以烤兔子。2、晶体管1947年,美国肖克利发明了晶体管,使电子电路的体积和重量迅速缩小。从那时起,电子设备变得更加便携和广泛使用。比如,过去老人们用来听小说的收音机,只有巴掌大小,其核心部件是晶体管。然而,这些电路都是模拟电路。3、模拟电路模拟电路的特点是功能非常强大,但精度不一定高。如下图,那里卡了一个电容,可以进行高通滤波!电容器的特点是通交流,阻直流,通高频,阻低频。直流信号会被阻挡,低频信号和高频信号的容抗不同,减弱的程度也不同。因此,电容器可以分离不同频率的信号。如果你写代码来滤波,至少你得写一个快速傅里叶变换(FFT):1)经过傅里叶变换后,数字信号从时域变为频域,2)然后,选择需要的频率并使用它。相应的系数清零,3)再变回时域,4)反正要写几百行代码,比一个电容和一个电阻麻烦多了。如果需要低通滤波,只需调换电容和电阻的位置即可:高频信号容抗很小,全部流经旁路电容,剩下的低频信号传给下一阶段通过电阻。如果写代码去滤波,就得先FFT,然后清除不用的频率,再反向FFT改回时域,同样麻烦。因此,模拟电路的功能很强大,但精度不够,因为单个元件的精度受限于目前的工艺。而且,模拟电路的精度越高,越容易受到导线长度的影响。一旦三极管工作状态漂移,调试起来一定很爽然后,人们发明了数字电路。4、数字电路数字电路只利用三极管的通、断两种状态,不利用三极管的放大作用。这样三极管的状态就很难漂移了。毕竟三体问题很难解决,而二体问题还是很容易解决的。因此,数字电路远比模拟电路稳定,整个电路系统的正常工作范围更大,抗干扰能力更强。数字电路,非门如图:1)三极管只要导通,输出就是低电压,认为是0,2)三极管关断,输出就是高电平电压,认为是1,3)三极管的基极当发射极与发射极之间的电压Vbe>0.7v时导通,低于0.7v时截止离开。在电子电路中,0.7v是一个很大的电压范围,实际上是电路状态的一个容错区间。只要输入误差没有大到与0.7v在一个数量级,那么电路的状态就是正常的。可以要求输入信号的电压波动范围只能是0.1v,即4.9-5为高电位,0-0.1为低电位,所以即使有一点误差,状态三极管的不会漂移。至于更复杂的功能,当然是多组这样的电路积累。这样,人们在设计电路时就突破了工艺的限制。既然是可以进行逻辑运算的数字电路,那当然是可编程的!然后,软件诞生了!5.软件编程数字电路是可以编程的,这是相对于模拟电路的一个巨大优势。当你想改变功能时,不需要改变硬件,只需要改变代码。这在灵活性上是模拟电路无法比拟的!这时候,计算机和编程语言也算是出现了!最早的编程语言是在纸带上打孔的机器语言:有孔或无孔,表示0或1。这种编程方式还是很头疼的。然后是汇编器,可以将简单的英文单词或数字转换成机器码:这就是汇编语言。汇编语言相对于机器语言有了很大的进步,但也让人头疼。汇编语言只能用寄存器名来表示数据,不可能给每个数据赋予一个意义明显的变量名。调过汇编代码的人都知道,当函数变大后,很难追踪到哪个变量存储在哪个寄存器中。总之,汇编代码的可读性很差。然后,人们发明了很多高级语言,可以统称为pre-C语言!Pascal,basic,都是在C语言出现之前就已经存在的编程语言了,但是说实话,都没有C语言好用。1970年,DennisRich和KenThompson可能受够了这些古老的语言,他们发明了C语言!“物理的大厦已经建成,后人能做的就是鼓捣它。”
