0和1的故事-3
抽時間更新.
之前講解的譯碼器,編碼器,多路選擇器,多路復用器,振蕩器等等均屬于組合邏輯的范疇,接下來準備講講時序邏輯.組合邏輯和時序邏輯最大的區別是什么呢?
這樣說吧,假設把各類組合邏輯實現的功能電路比作是人體的四肢,那時序邏輯就相當于是人體的大腦.通過時序邏輯我們可以實現組合邏輯的有序動作(即控制功能),同時也可以實現類似于人腦的記憶功能,即存儲功能.
微處理器的三大核心功能為控制運算存儲,此處不包括通常所說的輸入輸出功能.
其中運算功能可以通過加法器,譯碼器,編碼器等組合邏輯功能實現,而微處理器的控制及存儲功能就得靠時序邏輯功能實現.實際上如果想實現運算功能,還得組合邏輯和時序邏輯配合使用才行,并沒有分得那么清晰,我這樣講解純粹是為了方便大家理解,謝謝.
那時序邏輯的講解從哪里開始呢,當然是從各類基本的觸發器,定時器等開始講解了.基本的觸發器有SR觸發器,JK觸發器,主從觸發器,D觸發器,單穩態觸發器,邊沿觸發器等等.這一帖后面我會慢慢將時序邏輯的功能組件均梳理一遍,希望大家多多捧場,謝謝.
對于使用與非門實現的RS觸發器,當輸入端為1,1狀態時,輸出端的狀態保持不變,也就是我們所說的記憶功能,當輸入端為1,0或者0,1時,輸出端電平會實現翻轉.當輸入端為0,0時,此種狀態下,輸出端的電平信號不確定,這一狀態需要避免出現.
同樣的道理,使用或非門實現的RS觸發器,當輸入端為0,0狀態時,輸出端的狀態保持不變.當輸入端為1,0或者0,1時,輸出端電平會實現翻轉.當輸入端為1,1時,此種狀態下,輸出端的電平信號不確定,這一狀態也需要避免出現.
基本的RS觸發器通常的應用不是很廣,主要用于按鍵的硬件消抖問題,不過現在有比較簡單可靠的軟件消抖的方式,所以通過RS觸發器實現硬件消抖的應用越來越少見.
如何使上述兩種觸發器避免出現輸出端狀態不確定的情況呢,這就需要引入使能端控制,也就是時鐘信號輸入端.后續繼續更新講解.
觸發器在數字電路中的作用是非常大的,因為觸發器的發明,才使計算機電子化成為可能.把各種觸發器的原理都仔細梳理清楚,個人覺得是非常有意義的.
出差在外,不能及時更新,還望大家見諒.每天只要有時間就會看數字電子學相關的書籍和視頻,書籍看的多了,也就剩下兩本書個人認為是值得花大量的時間去學習的.那就是<數字電子技術基礎>,閻石編寫的,另一本就是
繼續更新.
出差在外,好不容易休息下來.今天不準備講數字電路的原理.講講我個人對于CPU技術的一點見解吧.
人類誕生以來,便不停的在發明各種各樣的工具,目的很簡單,就是讓自己活的更輕松一點.個人覺得人類最偉大的發明莫過于CPU的發明制作.小小一片CPU,內里的乾坤卻不小.個人覺得花多少的時間去學習設計制作CPU都是值得的.
看看我們周圍的一切涉及到電的設備,哪一樣能離開CPU,幾乎沒有.每天出差,我都必須帶一本關于微處理器相關的書籍,只要一閑下來我就會捧起書仔細的閱讀,這種學習方法其實效率并不高,不過鑒于我當初學習開關電源也是采用的類似的方法.雖然學習效果差,但是只要不斷堅持,日積月累,效果就出來了.再說我學習的目的是為了掌握CPU的原理,并不是為了考試,我為什么要在乎學習效率呢,與其閑下來玩手機,還不如花點時間學習,即使走了一點冤枉路,又如何.心安即可.
計算機及電子行業相比于任何其他的行業,吸引的人才是最多的.我這里說的是以電子元器件實現的計算機為例,至于說機械方式實現的計算器則不在此列.
無數的大牛先賢們通過努力,使CPU性能持續改進,體積及成本不斷降低.試問還有哪個行業有電子計算機行業發展迅猛呢,沒有.
我自己搞電源斷斷續續有八九年了,越來越感到電源技術領域的局限性.現在轉戰數字電子技術及CPU技術領域,覺得很有挑戰性,也很有意思.即使在CPU這一領域花費十年二十年乃至一輩子的時間,我覺得都是值得的.
想想CPU的時序控制邏輯,在不同的時間段有條不紊的控制各類功能部件的開關讀寫等等操作,不能有一絲一點的差錯,是不是很有意思.
因為有了CPU,工業控制領域的諸多工序可以通過CPU的控制實現.因為有了CPU,醫療電子領域,很多肉眼無法辨別的病癥可以通過電子儀器檢測出來.因為有了CPU,相隔兩地的人們可以通過手機實現通信.至于說各類家用電子設備,冰箱,洗衣機,空調,汽車等等,哪一樣也離不開CPU.
因為CPU的可靠運作,人類世界的很多領域得以正常的運轉.竊以為,我后一個十年乃至更長時間的方向終于找到了.了解掌握精通設計制作CPU.
努力,奮斗.
這幾天剛剛出差回來,瑣事很多。
在數字電路的仿真方面,感覺MULTISIM比LTSPICE好用多了,很多數字芯片都有現成的模型調用,相當方便。而LTSPICE在數字仿真方面相關的模型很少,只有一些基本的邏輯門電路,使用起來不方便,還時不時的提示步長過短。
等稍微休整休整,繼續更新帖子。
雖然出差在外,但時刻不忘帶本數字電路的書籍翻翻,越來越覺得數字電路不簡單,單個的邏輯電路確實很簡單,但是一旦將這些簡單的邏輯電路組合起來,你就會發現,分析電路內部的邏輯時序時,真的很頭大。
今天算是出差回來的第一個周末,早早起床捧了一會書籍,中午趁兒子睡著了,又抽空看了一會書籍。
個人覺得數字電路的知識需要掌握的太多了。CPU內部的各種邏輯關系雖然錯綜復雜,目前還處于一頭霧水的狀況,但硬著頭皮慢慢啃,總會啃通的。
學習本身是一件苦差事,特別是涉及到自己不熟悉的領域,需要時刻保持樂觀開朗的心態,與內心涌出的挫敗感抗衡。我本資質較差,唯有擺正心態,不計得失,埋頭苦學方有所斬獲。
稍微休整幾天,準備繼續更新數字電路方面的帖子。
昨天講解了JK觸發器,今天講講T觸發器。
JK觸發器是由基本的SR觸發器轉變得來,而T觸發器則是由JK觸發器轉換得到。
某些應用場合,當控制信號T處于高電平時,其輸出狀態Q需要隨時鐘狀態C的變化而變化。當控制信號T處于低電平時,其輸出狀態Q需保持不變。能實現該時序邏輯的觸發器便是T觸發器。下圖為T觸發器的時序邏輯輸入輸出關系表(圖片來源于閻石老先生編寫的《數字電子技術基礎》第五版):
如何實現T觸發器呢,很簡單,只需要將JK觸發器的輸入端口J和K連接作為輸入端口,便可以將JK觸發器轉換為T觸發器。
事實上,市場上可以買到的成品觸發器芯片只有JK觸發器和D觸發器兩大類。
通過上述兩種觸發器便可以實現SR觸發器,T觸發器等等。換句話說,我們日常提到的SR觸發器,JK觸發器,D觸發器以及T觸發器其實他們之間是可以實現相互轉化的。
接下來準備講講上述四種觸發器之間相互轉化的關系。
觸發器邏輯功能大至可以歸為四類,即保持,翻轉(計數),置0,置1。
JK觸發器的邏輯功能為保持,翻轉(計數),置0,置1。
SR觸發器的邏輯功能為翻轉(計數),置0,置1。
D觸發器的邏輯功能為置0,置1。
T觸發器的邏輯功能為保持,翻轉(計數)。
由這四類觸發器的邏輯功能對比可知,要想實現不同觸發器之間的轉換只需要使其邏輯功能一致即可。
邏輯功能最全面的觸發器是JK觸發器,就先將JK觸發器轉換為SR,D,T觸發器吧。