加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 引 言
    • 正 文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

IC知識干貨:一文極速理解數(shù)字電路?。ńㄗh收藏)

2022/12/16
2994
閱讀需 21 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

目 錄

1.數(shù)制與編碼

數(shù)制

編碼

2.門電路

3.邏輯代數(shù)

化簡

卡諾圖化簡

4.組合邏輯電路

小規(guī)模集成電路SSI

中規(guī)模集成電路MSI

高規(guī)模集成電路LSI

5.觸發(fā)器

6.時序邏輯電路

FSM(有限狀態(tài)機

FSM的分析和設(shè)計

7.進(jìn)階

74LS160、74LS194

施密特觸發(fā)電路、單穩(wěn)態(tài)電路、多諧振蕩電路

555定時器

AD/DA電路

引 言

放心鐵子們,本文會從最基礎(chǔ)的講起,適合剛接觸電子的童鞋,就算躺在床上,認(rèn)真看完本文你將無痛地對數(shù)字電路有個全面的了解!數(shù)電是一塊硬骨頭,對于很基礎(chǔ)的概念我會細(xì)說,對于一些進(jìn)階的概念我會盡量用語言解釋,所以我會盡量把數(shù)字電路涉及的知識點都囊括到,旨在讓各位先見識數(shù)字電路的全貌,為以后的學(xué)習(xí)打基礎(chǔ)!下圖是數(shù)字電路的知識框架,棕色的知識我會詳細(xì)說說,大家可以馬上掌握,藍(lán)色的知識我會盡量用語言講明白。希望對大家有幫助。

正 文

為什么要學(xué)數(shù)電?毫不夸張地說,數(shù)電帶來了信息化時代。大家身邊所有的電器,里面都會有一塊或多塊電路板,上面基本都會有若干個芯片,芯片內(nèi)部里面跑的全是數(shù)字信號0和1。

作為當(dāng)代人類最高智慧的結(jié)晶,芯片的重要性不言而喻,而芯片的最最基本原理,就是數(shù)字電路。各位想要為國家芯片事業(yè)做貢獻(xiàn)的有志少年,數(shù)電一定要學(xué)好。

OK,下面的內(nèi)容環(huán)環(huán)相扣,事不宜遲,我們開搞!1數(shù)制與編碼

數(shù) 制

數(shù)電里面跑的全是0和1,所以科學(xué)家們引入了二進(jìn)制。十進(jìn)制我們熟悉,9之后就進(jìn)一位;二進(jìn)制就是1之后就進(jìn)一位。10這個數(shù)字,在二進(jìn)制里,就是十進(jìn)制的2,同理1010,在二進(jìn)制里,就是十進(jìn)制的 23 + 0 + 21 + 0 = 8 + 2 = 10

除了二進(jìn)制,為了方便表示多位二進(jìn)制,還有八進(jìn)制和十六進(jìn)制。當(dāng)然只是給一個10我們不知道它是十進(jìn)制還是二進(jìn)制,所以一般我們用括號括住數(shù)字,然后在右下角表上字母BODH,表示二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制。這有個小技巧,BODH可以讀作“撥電話”,現(xiàn)在你肯定記住啦哈哈。對于這四個進(jìn)制,要懂得熟練地進(jìn)行相互轉(zhuǎn)換!

二進(jìn)制當(dāng)然也可以運算,要引入原碼、反碼、補碼三個概念。反碼是除了符號位全部取反,補碼是反碼+1,對于正數(shù),原碼反碼補碼不變!負(fù)數(shù)就按照上面規(guī)則變換為補碼后正常加減,結(jié)果再轉(zhuǎn)為原碼就是答案,有個技巧是補碼取反再+1就是反碼。

編 碼

上面說的十進(jìn)制轉(zhuǎn)為二進(jìn)制就是一種編碼。在數(shù)電里有很多的編碼方式,都有其意義。這里列出個人覺得挺重要的兩個。

1、格雷碼任意相鄰的兩位之間只相差一位!在正常工作電路中,輸入時常會變化,若輸入突然變化多個位,很容易導(dǎo)致輸出不穩(wěn)定,有毛刺。若把輸入編為格雷碼,會有不錯的效果。格雷碼在后面講到的卡諾圖化簡中會有極大的用處。

2、獨熱碼:這是最簡單的一種編碼了,每個狀態(tài)只有一位是1其他都是0,簡單且暴力,在后面設(shè)計有限狀態(tài)機的狀態(tài)變量時常常使用。

2門電路

下面進(jìn)入門電路,這里會涉及模電的知識。數(shù)電是由模電發(fā)展而來的,他們之間的緊密關(guān)系,就在門電路這章里體現(xiàn)。

學(xué)過模電那肯定很熟悉MOSFET場效應(yīng)管。在數(shù)電中,1表示高電平,0表示低電平,晶體管都處于開關(guān)狀態(tài),即可以看成一個開關(guān)。用一個NMOS和一個PMOS,NMOS下拉,PMOS上拉,就形成一個CMOS,一個CMOS就是最簡單的一個非門!?。?/p>

咱們看,輸入的A為0時,上拉的PMOS導(dǎo)通,輸出C為1。輸入為1時,下拉的NMOS導(dǎo)通,輸出為1,所以這個電路實現(xiàn)輸出對輸入取反的邏輯功能,就叫其非門。

常用的邏輯門還有與門:有0出0;或門:有1出1;與非門:有0出1;或非門:有1出0;

下圖中左圖是與非門,右圖是或非門。(技巧:只看下拉的NMOS!串在一起,就是與非門,并在一起,就是或非門。)

在數(shù)電,邏輯門還有許多許多:

大家也要很熟悉右邊對應(yīng)的邏輯符號哦。所以至此,了解了邏輯門的內(nèi)部構(gòu)造后,我們可以把它封裝成一個個邏輯符號,就如同我們把集成運放電路封裝成運放符號一樣。接下來,我們就可以放下模電,進(jìn)入純邏輯的數(shù)字電路!

3邏輯代數(shù)

在數(shù)電里,我們描述一個電路的功能,有三種方式。邏輯表達(dá)式,真值表和邏輯電路圖。

這仨說的是一個事情!就如同西紅柿和番茄。

知道了其中任何一個,其他兩個你就知道了。但其中最重要的,還是真值表,我們的關(guān)注點更多會落在它上面。真值表一寫出來,所有東西都明了了。

真值表的左邊,是變量的所有情況,如果兩個變量,那就是有 22=4 種狀態(tài),同理三個變量就 23=8種狀態(tài)。真值表的右邊,是不同狀態(tài)輸入電路之后的輸出。我們在輸出端一般只關(guān)注1,像上面的真值表,有三個1,則把他們對應(yīng)的狀態(tài)都相或,即寫成標(biāo)準(zhǔn)與或式(最小項之和),

Y?= A ′ B ′ + A ′ B + A B ′

經(jīng)過化簡,就是 Y = ( A B ) ′ Y = (AB)'Y=(AB)?′。

還有一個技巧,當(dāng)輸出很多1時,我們可以只關(guān)注0,那么寫出來的就是 Y′的表達(dá)式,再取反一下就行!

化 簡

邏輯表達(dá)式很復(fù)雜時,我們?nèi)绾位??常用的?strong>公式法和諾圖法。

公式法:有大名鼎鼎的摩根公式

還有下面這個公式也是用得非常非常多,推導(dǎo)的話由左往右推比較難,我們試試由右往左推,則會非常簡單。

其他公式(圖來自網(wǎng)絡(luò)):

卡諾圖化簡

學(xué)過數(shù)電的童鞋都會驚嘆卡諾圖的巧妙,它的本質(zhì)就是前面說的格雷碼的邏輯相鄰性,我們拿到一個真值表,就可以畫出一個卡諾圖。三變量的輸入有8個狀態(tài),然后在對應(yīng)的狀態(tài)框框中寫上它對應(yīng)的輸出,注意,卡諾圖中的變量時用格雷碼編碼,看下圖中的BC就能知道,只有這樣才能利用上它的邏輯相鄰性,這樣,一個卡諾圖就畫好了,但這只是開始。怎么利用它進(jìn)行化簡?

下圖中我給分別相鄰的兩個1畫了兩個圈圈,圈圈代表里面的狀態(tài)相或,因為邏輯相鄰性,則兩個狀態(tài)只有一位不同,所以由公式法(A+A'=1)可以消去這一位!即現(xiàn)在這兩個3位的狀態(tài) A′BC′+ABC′可以由一個2位的狀態(tài)代替,即 BC′!

因為前面說過整個輸出的邏輯表達(dá)式就是所有輸出為1的狀態(tài)相或,所以我們把所有1圈完,得到的BC'+AB'就是輸出!所以在卡諾圖上畫圈圈就可以把一個復(fù)雜的表達(dá)式化簡。

前面是最簡單的例子,要想正確使用卡諾圖化簡,要遵守兩個游戲規(guī)則

1、把1圈完;

2、圈大且少。

第二個尤為重要,即我們畫圈圈時,圈要盡量大,還要盡量少,這樣才能最好地化簡一個表達(dá)式。

比如下圖

這樣圈正確嗎?大大地錯誤!沒圈完1。下面這樣呢?

還是不行!因為圈不夠大。下面才為正確:兩個圈圈搞定,結(jié)果是 CD' + AB'

卡諾圖還有很多很多的技巧,這里說不完,推薦給大家一個很好的b站視頻:BV16E411s7TE4組合邏輯電路

終于!我們來到了數(shù)電的重頭戲之一,組合邏輯電路。其實下面我們才真正開始進(jìn)入數(shù)電。

在數(shù)電中,所有的電路,可以分為兩類,一類就是組合邏輯電路,還有一類是時序邏輯電路,這倆占了數(shù)電的大半江山。對于組合邏輯電路,定義為輸出只由輸入決定。你可能會問,那還會由什么決定?還會被狀態(tài)決定!這就是時序邏輯電路的特性,等下會講,先搞定這個組合邏輯電路。

 

小規(guī)模集成電路SSI

如上面這個圖,電路全是由基本邏輯門組成,我們稱其為小規(guī)模集成電路,集成就是邏輯門集成了若干個晶體管嘛,而晶體管是由N型半導(dǎo)體P型半導(dǎo)體形成,這些半導(dǎo)體是由沙子提煉的硅SI摻雜而成,怎樣,模電數(shù)電就串起來了。

對于SSI,我們無非就搞兩件事情,分析設(shè)計。

分析:就是給我一個電路圖,我對他一頓分析得出它的功能。圖→功能

設(shè)計:就是我想實現(xiàn)一個功能,通過設(shè)計畫出一個對應(yīng)電路圖。功能→圖

先看分析:現(xiàn)在我有一個電路圖:

然后我可以輕松地將他的表達(dá)式寫出,最好再用上化簡知識化簡一下:

然后由表達(dá)式我再輕松列出真值表:

由真值表,我們就能分析出它的功能!這回事一個半加器電路(C為進(jìn)位,S為和),很重要的哦。

再看看設(shè)計,現(xiàn)在我們拿到一個想要實現(xiàn)的功能:

由這個功能我們列出對應(yīng)的真值表,

由真值表輕松地寫出相應(yīng)的邏輯表達(dá)式:

對著表達(dá)式,我們就能畫出它的電路圖啦!

你看,組合邏輯電路的設(shè)計是分析的逆過程,就是這么程序化,送分的。

中規(guī)模集成電路MSI

一些邏輯門組合在一起能實現(xiàn)特定的功能,比如上面講的半加器,我們將其封裝起來,就成了MSI。

上圖就把所有常見的LSI列了出來,

編碼器如第一根引腳輸入1,則輸出為00;第二根引腳輸入1,則輸出為01,依此類推;

譯碼器如輸入為00,則第一根引腳輸出1;如輸入為01,則第二根引腳輸出1,依此類推;

選擇器:比較兩個輸入,如相等就在相等的引腳輸出1;

加法器半加器前面講過,全加器就是輸入多了一位以前的進(jìn)位。

譯碼器和選擇器尤為重要,因為它們很常用,且能實現(xiàn)任意的組合邏輯表達(dá)式。

高規(guī)模集成電路LSI

同理,就是一些MSI組合在一起能表示一個更全面的功能,就將其封裝在一起,變成LSI。

不如PLD可編程邏輯器件)和 FPGA,這章不是重點,但我想說一下FPGA,這個芯片是相對于單片機來說的另一大控制芯片,使用硬件描述語言(HDL)編程,并行執(zhí)行代碼且性能更強大,目前它的缺點就是太貴了,我相信以后隨著成本下來,它就逐漸進(jìn)入我們生活,帶來更加智能的世界。

5觸發(fā)器

正式講時序邏輯電路之前,要講講時序邏輯電路的單位模塊,觸發(fā)器。

在平靜祥和的日子里,兩個普普通通的或非門在路上走著,非常純真無邪,

但是突然,一個科學(xué)家對它們做了這樣的處理:哈哈哈別害怕

這一搞,整個時代向前推進(jìn)了一大步!因為這就是RS觸發(fā)器

我們來看看它的真值表:

相信大家都能分析出來,先說說輸入為11時為什么不允許,因為11會得到輸出00,如果這時輸入再從11變?yōu)?0,那問題就出現(xiàn)了,電路會處于不定的狀態(tài),這肯定不行,所以就禁止了輸入為11的情況。我們重點看看輸入為00時,當(dāng)電路的狀態(tài)Q為0時,輸出為0;當(dāng)電路的狀態(tài)Q為1時,輸出為1!組合邏輯電路大為震驚,因為明明輸入是一樣的00,為什么輸出會不同?因為電路的狀態(tài)不同,這就是觸發(fā)器的魅力,也是時序邏輯電路的基礎(chǔ),也是數(shù)電的超級重點!

RS是最初的觸發(fā)器,所以會有一些小問題,隨著時代進(jìn)步,觸發(fā)器也經(jīng)歷了許多迭代,好奇的童鞋可以從你們的書上了解這段歷史,這里我直接列出現(xiàn)在用的最多的兩款觸發(fā)器:D觸發(fā)器JK觸發(fā)器

這兩款觸發(fā)器都有一個時鐘端,用于輸入時鐘脈沖CLK,輸出會隨著時鐘CLK的變化而刷新,且他們的時鐘觸發(fā)方式是邊沿觸發(fā),即在CLK的上升沿下降沿觸發(fā),非常的方便。

上圖中下面的公式為觸發(fā)器的輸出方程,對于時序邏輯電路來說就是狀態(tài)方程,是需要我們記住的,相當(dāng)于這款觸發(fā)器的說明書。我們著重關(guān)注D觸發(fā)器!因為它方程最簡單,是最易學(xué)的。

6時序邏輯電路

Finally,我們來到了數(shù)電的重中之中,也是其魅力所在,時序邏輯電路。

關(guān)于它的意義我可以再舉一個例子,有一個機器我每按一下按鈕它會依次輸出12345,這對于組合邏輯電路來說是不可能的任務(wù),因為每一次輸入都是相同的按一下按鈕,為什么輸出會不同,它不理解,而時序邏輯電路說我可以!因為它能記住當(dāng)前的狀態(tài),從而知道下一步應(yīng)該怎么走。

觀察上圖能知道時序邏輯電路里面也有組合邏輯電路,是由發(fā)展而來,主要是下面的那個存儲電路,能把電路的現(xiàn)態(tài)(現(xiàn)在的狀態(tài))給記住!從而影響次態(tài)(下一次觸發(fā)的狀態(tài))。

因為時序邏輯電路的主角是觸發(fā)器,也正是由于觸發(fā)器,它引入了時鐘和狀態(tài)這倆重要概念,使我們能通過電路實現(xiàn)的功能更加豐富。

FSM(有限狀態(tài)機)

對于時序邏輯電路,它所有的狀態(tài)變換都可以畫出來,即狀態(tài)轉(zhuǎn)換圖,就如同真值表描述了整個組合邏輯電路的功能,狀態(tài)轉(zhuǎn)換圖描述了整個時序電路的功能。這樣在不同狀態(tài)之間跳來跳去的電路或機器,我們就叫它有限狀態(tài)機(Finite State Machine)。(所以FSM肯定是時序邏輯電路)

比如下面這個就是一只貓在一天里的狀態(tài)變化:

這是某人一天的狀態(tài)變化:

寫專業(yè)點(給狀態(tài)編碼),可以是下面這樣,先別害怕,很好分析的:

 

FSM的分析和設(shè)計

各位應(yīng)該還記得前面組合邏輯電路的分析和設(shè)計是多么的簡單,F(xiàn)SM的分析和設(shè)計與其概念一樣,分析就是圖→功能,設(shè)計就是功能→圖,但過程很不一樣,也是很簡單的!

先看分析,現(xiàn)在我拿到一個電路圖,由兩個D觸發(fā)器組成,所以我知道這個電路狀態(tài)變量為2,即有4個狀態(tài):

由這個電路圖我可以寫出三個方程,激勵方程(輸入方程)、狀態(tài)方程和輸出方程。

激勵方程就是觸發(fā)器的輸入端的方程,D1和D0由圖看很容易寫出表達(dá)式;

狀態(tài)方程就是我們之前背的觸發(fā)器的“說明書”,有激勵方程就能輕松寫出Q1n+1和Q0n+1;

輸出方程最簡單,看著輸出端Y,寫出它的表達(dá)式就行。

由狀態(tài)方程和輸出方程就可以列出真值表!

由真值表就可以畫出這個FSM的狀態(tài)轉(zhuǎn)換圖:( X/Y 表示 輸入/輸出 ,該電路沒有輸入所以X沒有)

看著這個狀態(tài)轉(zhuǎn)換圖,我們可以發(fā)現(xiàn)它的含義,啊,原來它是我的一天的狀態(tài)變化,吃飽了就玩,玩累了就睡,睡醒了就感到餓,餓時突然有吃的,我就會“歡呼”。(歡呼代表輸出為1)

現(xiàn)在來看看設(shè)計過程!我有一個功能(我的一天狀態(tài)變化),現(xiàn)在想畫出一個實現(xiàn)該功能的電路:

先經(jīng)過狀態(tài)編碼,將吃編碼為00,玩編碼為01,餓編碼為10,睡編碼為11,歡呼定義為輸出1,ok,現(xiàn)在就可以畫出整個功能的狀態(tài)轉(zhuǎn)換圖了!

有狀態(tài)轉(zhuǎn)換圖,我們畫出對應(yīng)的真值表,也叫狀態(tài)轉(zhuǎn)換真值表

由真值表,我們細(xì)心地先看著Y項寫出輸出方程,再看著Q1n+1和Q0n+1寫出狀態(tài)表達(dá)式,再由我們背的觸發(fā)器“說明書”,寫出D1和D0的激勵方程,搞定!

三個方程有了,電路圖輕松畫出!

7進(jìn)階

至此整個數(shù)電最基礎(chǔ)的知識我都講到了,雖然很基礎(chǔ),但是越基礎(chǔ)的東西越重要,其實電路的分析和設(shè)計也可以搞得很難,上面那些只是便于大家理解最簡單的例子,想要深入掌握他們還得靠日積月累的做題和鞏固,這篇文章只是幫到大家形成知識框架。

74LS160、74LS194

之后大家會學(xué)到74LS160、74LS194這兩個芯片,非常非常的重要,一個是計數(shù)芯片,一個是移位芯片,就如譯碼器和選擇器能實現(xiàn)任意組合邏輯電路,它們能實現(xiàn)任意的時序邏輯電路,所以很多題目都會考到它們,讓你用這倆芯片之一設(shè)計一個現(xiàn)實生活中的功能。

施密特觸發(fā)電路、單穩(wěn)態(tài)電路、多諧振蕩電路

這三個電路會在波形的發(fā)送與轉(zhuǎn)換這一章學(xué)習(xí)到,三個電路都能用邏輯門手搭出來,實現(xiàn)的電路有多種,但波形就是下面這樣,分別是施密特觸發(fā)電路、單穩(wěn)態(tài)電路、多諧振蕩電路。

施密特觸發(fā)電路就是輸入增大到一個A值,輸出取反,但是輸入隨后減小到A值時,輸出沒變化,要繼續(xù)減小到B值,輸出再取反,然后它也還是要增大到A值,輸出才變化,這就是這電路的規(guī)則,很有意思!

單穩(wěn)態(tài)指輸出的穩(wěn)定狀態(tài)只有一個,輸入刺激以下輸出可能會變,但過一段時間它會自己回到穩(wěn)態(tài)。超市的門就是單穩(wěn)態(tài),你推開之后它會自動回到關(guān)閉狀態(tài)。

多諧振蕩電路一般就是生成一個方波三角波。

555定時器

555定時器的重要性就相當(dāng)于模電中的運放,它每一年的銷量都處于芯片的前列,因為它簡單且太實用了,上面說到的三個電路也可以通過555搭建出來。因為篇幅有限,555的知識得靠各位從書中理解了。

以下分別是555實現(xiàn)施密特觸發(fā)電路、單穩(wěn)態(tài)電路、多諧振蕩電路的電路

AD/DA電路

AD:模擬到數(shù)字轉(zhuǎn)換

DA:數(shù)字到模擬轉(zhuǎn)換

這章你們會學(xué)到如何自己手搭一個AD和DA電路。

最后再看一下數(shù)電所有知識的知識框架,希望能幫助各位對數(shù)電形成大致的了解。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜