摘要:介紹了一種基于在二進制計數器基礎上對觸發器驅動方程進行修正使之變為N進制計數器的設計方法,與傳統的計數器設計一般方法比較具有快捷、簡便易于理解、不易出錯的優點,在數字電子技術教學中應用對學生進一步掌握知識和拓展思維起到較好的效果。
關鍵詞:N進制計數器;設計;修正
0.前言
計數器的設計是數字電子技術課程教學中的重要內容之一。N進制計數器又稱為任意進制計數器,是一種常見的時序邏輯電路,但因其設計過程較為抽象、復雜,所以常常是學生(特別是高職生)感到較難理解和掌握的內容之一。目前在多數教材中介紹的設計方法基本是用同步時序邏輯電路的一般設計方法,即選定觸發器,且經過列狀態表和驅動表、卡諾圖化簡求各位觸發器的驅動信號方程、畫出計數器的邏輯電路圖和檢查計數器能否自啟動等一系列過程,這樣的設計過程較為復雜且容易出錯。使用一種基于在二進制計數器基礎上對觸發器驅動方程進行修正使之變為N進制計數器的設計方法不但快捷、簡便易于理解,而且不易出錯,在實際教學中應用起到了良好的效果,也在一定程度上擴展學生的思維。
1.計數器一般設計方法存在的問題
應用一般的設計計數器電路方法來設計N進制計數器雖然流程清晰,結構性強,但因為需要經過的推理計算步驟較多,設計過程較為繁瑣復雜,也很容易出錯,作為初學者特別是高職學生往往較難準確把握。
2.基于二進制計數器基礎上修正驅動方程的設計方法
下面我們以由JK觸發器構成的14進制同步加計數器為例進行說明。
首先,這種設計方法需要將待設計的N進制計數器與相對應的二進制計數器進行對比,即把N進制計數器與模為M(M≥N)的二進制計數器對比。因此,我們將14進制計數器與最小模值為16的二進制計數器進行對比(這個計數器需要有4位JK觸發器組成),然后根據兩者運行規律的差別,找出14進制計數器驅動方程的修正方法。
(1)兩種計數器工作狀態的對比
將14進制加法計數器的輸出(Q3 Q2 Q1 Q0)與模為16的二進制加計數器的輸出通過列狀態表進行逐一對比,觀察兩種計數器狀態的變化規律和特征。
(2)14進制計數器驅動方程的導出
從狀態表中可觀察到,由JK觸發器構成的二進制計數器各觸發器的驅動信號應為:J0=K0=1,J1=K1=Q0, J2=K2=Q1Q0,J3=K3= Q2Q1Q0,這是因為從初態0000開始,當J0=K0=1時,每來一個計數脈沖CP,最低位觸發器就翻轉一次;而其它位的觸發器僅在Ji=Ki=Qi-1Qi-2···Q0=1的條件下,當CP的邊沿來到時才翻轉,從而構成了二進制計數器的運行規律。
再觀察14進制計數器和二進制計數器狀態的區別,可發現兩者僅在第14個CP來到時(即14進制計數器最末狀態的次態處)不同,其余狀態都相同,故可對模為16的二進制計數器各觸發器的驅動方程做如下修改,使之變成14進制計數器:
①對于Q0來說,因為二進制計數器和14進制計數器的所有現態、次態都相同(一一對應),故與其對應的觸發器驅動方程不需要修改,仍為原來J0=K0=1,即每來一個計數CP,Q0的狀態都翻轉一次;
②對于Q1來說,從第13個CP到第14個CP到來,14進制計數器的Q1要求保持0不變,而二進制計數器的Q1卻是從0跳變到1,兩者出現了不同,這時要對二進制計數器Q1對應觸發器的驅動方程進行修改,使之適應14進制計數器特征要求。若將二進制計數器Q1對應觸發器的驅動方程J1=K1=Q0修改為 ,則在且僅在1101狀態時J1=K1=0,Q1的次態將保持0不變,而1101之前的其余任何狀態Q1對應觸發器的驅動方程都將與原方程結果一致,即 ,Q1仍是按二進制計數器規律變化,這樣Q1位就滿足了14進制計數器的特征要求。
③對于Q2和Q3來說,從第13個CP到第14個CP到來,二進制計數器與14進制計數器的Q2、Q3變化也不相同,故也需要對二進制計數器Q2、Q3對應觸發器的驅動方程進行修改,使它們適應14進制計數器的要求。因為在1101狀態時二進制計數器Q2、Q3的次態都保持1不變,現需要讓它們的次態都翻轉變為0,因此需將Q2對應觸發器的驅動方程修改為 ,而將Q3對應觸發器的驅動方程修改為 ,這樣在且僅在1101狀態時可使二進制計數器Q2、Q3對應觸發器的驅動方程為J2=K2=1,J3=K3=1,Q2、Q3的次態將變為0,而在1101之前的任一狀態Q2、Q3的驅動方程都與原方程結果一致,即Q2、Q3仍按二進制計數器規律變化,滿足了14進制計數器的特征要求。
綜上所述,可以歸納出由JK觸發器構成的計數器,通過二進制計數器修正驅動方程得到N進制計數器方法如下:
將待設計的N進制計數器的最末狀態到次態變化情況與相同位數的二進制計數器對應的狀態到次態變化情況逐位進行比較:
(1)若某位對比狀態變化結果完全相同(如Q0),則該位觸發器的驅動方程不需要改變;
(2)若某對比位狀態變化結果出現不同,則要修改二進制計數器原驅動方程。只有兩種可能出現的情況:
①如果二進制計數器該位狀態是從0跳變到1(如Q1),需將原驅動方程與待設計N進制計數器的最末狀態對應的最小項相“與”,得到一個新的驅動方程;
②如果二進制計數器該位狀態保持1不變,即現態到次態都是1(如Q2和Q3),則將原驅動方程與待設計N進制計數器的最末狀態對應的最小項相“或”,得到另一個新的驅動方程。
由其它觸發器構成的計數器修正原理相同,即亦將待設計的N進制計數器的最末狀態到次態變化情況與二進制計數器對應狀態的現態到次態變化情況進行逐位比較,變化相同的位觸發器驅動方程不變,變化不同的位,則需要修改對應觸發器驅動方程。
3.結束語
這種基于修改二進制計數器驅動方程的N進制計數器設計方法相比常規的設計方法更為簡單、快速,雖然最后的驅動方程不一定是最簡的,但由于驅動方程的修改都是和狀態對應最小項有關,而且都是由二進制計數器方程修改變來的,因此修改后的新驅動方程所建立的邏輯電路是具有自啟動功能的。在數字電子技術教學中如能適當加以應用,對學生進一步掌握知識以及提高分析問題的能力都將起到較好的促進作用。
參考文獻:
[1]康華光.電子技術基礎(數字部分). [M] .北京:高等教育出版社,2002
[2]葛仁華.數字電子計數. [M] .廣州:華南理工大學出版社,2007
[3]劉樹平,吳勇靈,錢莉.小規模集成電路異步十一進制加法計數器設計分析[J]. 黔南民族師范學院學報,2014(2)
作者簡介:雷志坤,男,1966.5,大學本科,廣西機電職業技術學院電氣工程系,副教授,研究方向:電路電子技術、實驗實訓教學。