電子之路:從模擬電路到C語(yǔ)言編程
?1897年,英國(guó)物理學(xué)家湯姆生發(fā)現(xiàn)了電子,拉開(kāi)了現(xiàn)代科技的開(kāi)端和信息時(shí)代的序幕。
隨后出現(xiàn)的電子三極管,讓人們構(gòu)造復(fù)雜的電子電路成為了可能。
1、電子三極管
電子三極管是一種真空的玻璃管,它的一端在高溫下可以放出電子(負(fù)極),另一端是可以接收電子的金屬板(正極)。
在管子的中間有一個(gè)柵極(基極),可以調(diào)節(jié)正負(fù)極之間的電子通量,從而影響電流的大小。

電子三極管的原理
上圖是簡(jiǎn)單的原理圖:
- 電子三極管的燈絲一般是由在高溫下很容易放出電子的金屬制成。
- 電子在電壓作用下飛向真空玻璃管的正極,所以它是可以單向?qū)щ姷摹?/li>
電子帶負(fù)電,所以它只能飛向正極,而不能反著。
如果沒(méi)有柵極,那么它就是個(gè)電子二極管。
- 加了柵極之后,柵極電壓的微小變化,就可以影響正負(fù)極之間的電子通量,從而影響整個(gè)回路的電流,所以它也有信號(hào)的放大作用。
在晶體三極管發(fā)明之前,人們就是用這種三極管來(lái)制作電子電路的。
俄羅斯在電子管領(lǐng)域應(yīng)該是很強(qiáng)的。
電子管設(shè)備的特點(diǎn)就是大,而且工作電壓高,笨重。
據(jù)說(shuō),米格25的雷達(dá)功率大到可以烤熟兔子?
2、晶體三極管
1947年,美國(guó)的肖克利發(fā)明了晶體管,讓電子電路的體積重量都迅速變小。
從這之后,電子設(shè)備攜帶更方便,使用更廣泛。
例如,過(guò)去老人們愛(ài)拿來(lái)聽(tīng)小說(shuō)的收音機(jī),也就一巴掌大小,它的核心元器件就是晶體三極管。
不過(guò),這些電路都是模擬電路。
3、模擬電路
模擬電路的特點(diǎn)就是,功能很強(qiáng)大,但精度不一定多高。
如下圖,一個(gè)電容卡在那里,就可以高通濾波!

電容的特點(diǎn)是通交流、阻直流,通高頻、阻低頻。
直流信號(hào)會(huì)被阻斷,而低頻信號(hào)和高頻信號(hào)的容抗不一樣,被削弱的程度也不一樣。
所以,一個(gè)電容就可以把不同頻率的信號(hào)分開(kāi)。
要是寫(xiě)代碼去濾波,至少也得寫(xiě)個(gè)快速傅立葉變換(FFT):
1)傅立葉變換之后,數(shù)字信號(hào)就從時(shí)域變到頻域了,
2)然后,把需要的頻率選出來(lái),不用的頻率對(duì)應(yīng)的系數(shù)清零,
3)再變回時(shí)域,
4)反正要寫(xiě)幾百行的代碼,比一個(gè)電容一個(gè)電阻麻煩多了。
如果要低通濾波,就把電容和電阻的位置互換就行:
高頻信號(hào)的容抗很小,都通過(guò)旁路電容流走了,剩下的低頻信號(hào)通過(guò)電阻傳遞到下一級(jí)。
如果寫(xiě)代碼去濾波,也要先FFT,然后把不用的頻率清零,再反FFT變回時(shí)域,一樣的麻煩。

所以,模擬電路的功能是很強(qiáng)大的,但是精度不夠,因?yàn)閱蝹€(gè)元器件的精度受制于當(dāng)前的工藝。
并且,精度越高的模擬電路,越容易受到導(dǎo)線長(zhǎng)度的影響。
三極管的工作狀態(tài)一旦漂移了,那調(diào)試起來(lái)肯定非常的酸爽?
然后,人們就發(fā)明了數(shù)字電路。
4、數(shù)字電路
數(shù)字電路,只使用三極管的2個(gè)狀態(tài):導(dǎo)通和截止,不使用三極管的放大。
這樣,三極管的狀態(tài)就很難漂移了。
畢竟,三體問(wèn)題很難搞,但二體問(wèn)題還是很好搞的。
所以,數(shù)字電路的遠(yuǎn)比模擬電路更穩(wěn)定,整個(gè)電路系統(tǒng)的正常工作范圍更大,抗干擾能力更強(qiáng)。

數(shù)字電路,非門
如圖:
1)三極管只要導(dǎo)通的時(shí)候,輸出就是低電壓,被認(rèn)為是0,
2)三極管截止的時(shí)候,輸出就是高電壓,被認(rèn)為是1,
3)三極管的基極與發(fā)射極之間的電壓 Vbe > 0.7v 就導(dǎo)通,低于0.7v就截止。
在電子電路中,0.7v 是個(gè)很大的電壓范圍,它實(shí)際上就是電路狀態(tài)的一個(gè)容錯(cuò)區(qū)間。
只要輸入誤差別大到跟 0.7v 是一個(gè)數(shù)量級(jí),那么電路的狀態(tài)就是正常的。
可以要求輸入信號(hào)的電壓波動(dòng)范圍只能是0.1v,也就是4.9-5為高電位,0-0.1為低電位,那么就算有點(diǎn)誤差,三極管的狀態(tài)也不至于就漂移了。
至于更復(fù)雜的功能,當(dāng)然用更多組這樣的電路累積出來(lái)。
這樣,人們?cè)谠O(shè)計(jì)電路時(shí)就突破了工藝的限制。
既然是數(shù)字電路,可以進(jìn)行邏輯運(yùn)算,那它當(dāng)然是可編程的!
然后,軟件就誕生了!
5、軟件編程
數(shù)字電路可以編程,是它相較于模擬電路的一個(gè)巨大的優(yōu)點(diǎn)。
想改功能的時(shí)候可以不用改硬件,只改代碼就行了?
這在靈活度上,遠(yuǎn)不是模擬電路可比的!
這時(shí)可以認(rèn)為計(jì)算機(jī)和編程語(yǔ)言就出現(xiàn)了!
最早的編程語(yǔ)言,是在紙帶上打孔的機(jī)器語(yǔ)言:有孔或沒(méi)孔就表示0或1。
這種編程方式還是非常讓人頭疼的。
然后就有了匯編器,可以把簡(jiǎn)單的英文單詞或數(shù)字轉(zhuǎn)化成機(jī)器碼:這就是匯編語(yǔ)言。
匯編語(yǔ)言比機(jī)器語(yǔ)言倒是有了很大的進(jìn)步了,但一樣讓人頭疼。
匯編語(yǔ)言只能用寄存器名字表示數(shù)據(jù),沒(méi)法給每個(gè)數(shù)據(jù)起個(gè)有明顯含義的變量名字。
調(diào)過(guò)匯編代碼的都知道,函數(shù)大了之后跟蹤哪個(gè)寄存器里存的是哪個(gè)變量,非常的困難。
總之一句話,匯編代碼的可讀性很差。
然后,人們發(fā)明了很多高級(jí)語(yǔ)言,可以統(tǒng)稱為C前語(yǔ)言!
pascal, basic, 都是C語(yǔ)言出現(xiàn)之前就有的編程語(yǔ)言,但是說(shuō)實(shí)話,真不如C語(yǔ)言好用。
1970年,丹尼斯-里奇和肯-湯普森估計(jì)是受夠了這些老語(yǔ)言了,他們發(fā)明了C語(yǔ)言!
“物理學(xué)的大廈建成了,后人所能做的只是修修補(bǔ)補(bǔ)?!?


























