琚新剛, 郭海鷗
(河南教育學(xué)院 電路與系統(tǒng)重點(diǎn)學(xué)科組,河南 鄭州 450046)
基于可編程邏輯器件的計(jì)分器系統(tǒng)設(shè)計(jì)
琚新剛, 郭海鷗
(河南教育學(xué)院 電路與系統(tǒng)重點(diǎn)學(xué)科組,河南 鄭州 450046)
用可編程邏輯器件設(shè)計(jì)的計(jì)分器,本質(zhì)上是一個(gè)具有高集成度的單芯片系統(tǒng).考慮到實(shí)際操作中按鍵抖動(dòng)問(wèn)題,采用了易控制的計(jì)數(shù)器延時(shí)方案,實(shí)現(xiàn)防抖,時(shí)序仿真顯示,系統(tǒng)可以很好地完成計(jì)分功能.
計(jì)分器;單芯片系統(tǒng);防抖
在許多比賽中,常用到計(jì)分器.計(jì)分器包括計(jì)數(shù)器和用于數(shù)碼顯示的驅(qū)動(dòng)電路,這兩個(gè)電路可以用單片F(xiàn)PGA實(shí)現(xiàn),即一個(gè)小型的SOC.
根據(jù)需要,以2位數(shù)(十進(jìn)制)計(jì)分器為例,計(jì)分器計(jì)數(shù)范圍0~99,其輸入包括增、減、復(fù)位等控制.增控制信號(hào)為高電平時(shí),計(jì)分器顯示的數(shù)字加1,減控制信號(hào)為高電平時(shí),計(jì)分器顯示的數(shù)字減1,復(fù)位控制信號(hào)為高電平時(shí),計(jì)分器復(fù)位,顯示數(shù)字為00.
圖1 計(jì)分器系統(tǒng)框圖Fig.1 System block diagram of scoring device
計(jì)分器電路由計(jì)數(shù)器和一個(gè)7段數(shù)碼管驅(qū)動(dòng)電路,即譯碼器組成.增、減、復(fù)位、時(shí)鐘4個(gè)1位的輸入端,兩組4位的輸出端如圖1.
兩位BCD數(shù)字計(jì)數(shù)器用以記分,兩個(gè)7段數(shù)碼管用于顯示分?jǐn)?shù),兩個(gè)譯碼器把每個(gè)BCD轉(zhuǎn)換為7段數(shù)碼顯示.考慮到使用中的誤操作情況,復(fù)位信號(hào)可設(shè)計(jì)為長(zhǎng)按一段時(shí)間后作用,故復(fù)位用一個(gè)3位復(fù)位計(jì)數(shù)器[1].
該計(jì)分器系統(tǒng)的狀態(tài)圖見(jiàn)圖2,控制器是一個(gè)有限狀態(tài)機(jī),只有兩個(gè)狀態(tài)S0和S1,初始狀態(tài)S0時(shí),BCD計(jì)數(shù)器清零,復(fù)位計(jì)數(shù)器也清零,隨后進(jìn)入下一個(gè)狀態(tài)S1,此狀態(tài)中計(jì)數(shù)器開(kāi)始計(jì)數(shù).在每個(gè)時(shí)鐘周期,根據(jù)輸入信號(hào)計(jì)數(shù)器加1或減1;如果有復(fù)位信號(hào)rst,則復(fù)位計(jì)數(shù)器rstcnt加1;若rstcnt已經(jīng)為4,且在第5個(gè)時(shí)鐘周期時(shí)仍存在復(fù)位信號(hào),則系統(tǒng)由狀態(tài)S1變?yōu)闋顟B(tài)S0,當(dāng)inc信號(hào)出現(xiàn),而dec信號(hào)未出現(xiàn)時(shí),BCD計(jì)數(shù)器遞增計(jì)數(shù),圖中右上角弧線(xiàn)處的add1表示BCD計(jì)數(shù)器遞增計(jì)數(shù);當(dāng)dec信號(hào)出現(xiàn),而inc信號(hào)未出現(xiàn)時(shí),BCD計(jì)數(shù)器遞減計(jì)數(shù),圖中右下角弧線(xiàn)處的sub1表示BCD計(jì)數(shù)器遞減計(jì)數(shù).在任何時(shí)鐘周期內(nèi),只要rst信號(hào)沒(méi)有出現(xiàn),則rstcnt計(jì)數(shù)器就清零.如果inc信號(hào)、dec信號(hào)同時(shí)出現(xiàn)或同時(shí)不出現(xiàn),則rstcnt計(jì)數(shù)器也清零,而B(niǎo)CD計(jì)數(shù)器則不變.
計(jì)分器電路的仿真結(jié)果如圖3所示,Segment7dl和segment7d2分別表示兩個(gè)7段顯示器,為無(wú)符號(hào)7位向量.系統(tǒng)具備計(jì)分功能.對(duì)于不可避免的毛刺信號(hào),考慮到手動(dòng)按鍵的抖動(dòng)和其他干擾,系統(tǒng)需引進(jìn)去抖動(dòng)和干擾的功能模塊.
圖2 系統(tǒng)狀態(tài)圖Fig.2 System status diagram
圖3 仿真結(jié)果Fig.3 Simulation result
分別用兩個(gè)計(jì)數(shù)器對(duì)輸入信號(hào)的高電平和低電平的持續(xù)時(shí)間(脈寬)進(jìn)行計(jì)數(shù)(在時(shí)間上是同時(shí)但獨(dú)立計(jì)數(shù))[2].只有當(dāng)高電平的計(jì)數(shù)時(shí)間大于某值(比如9),才判為遇到正常信號(hào),輸出1;若低電平的計(jì)數(shù)時(shí)間大于某值(比如7),則輸出0(圖4).由波形可見(jiàn),輸出信號(hào)脈寬比邏輯方式輸出的信號(hào)要寬得多,實(shí)現(xiàn)了通過(guò)計(jì)數(shù)延時(shí),消除抖動(dòng)和干擾的影響.
圖4 防抖結(jié)果Fig.4 Result of anti shake results
計(jì)分牌按鍵防抖的延時(shí)采用計(jì)數(shù)器的方式,計(jì)分電路獲取增減信號(hào)由正常信號(hào)高電平的脈寬和工作時(shí)鐘頻率共同決定,不單純由時(shí)鐘決定,易控制,效果好,只是耗用資源較多.工作時(shí)鐘CLK的頻率大小要視干擾信號(hào)和正常信號(hào)的寬度而定,對(duì)于類(lèi)似鍵抖動(dòng)產(chǎn)生的干擾信號(hào),頻率可以低一些,幾十kHz赫茲即可;若是比較高速的時(shí)鐘信號(hào),則可利用FPGA內(nèi)的鎖相環(huán),使CLK能達(dá)到400 MHz以上.此外,用于延時(shí)的計(jì)數(shù)器位寬和計(jì)數(shù)值都可以根據(jù)具體情況調(diào)節(jié),很好地實(shí)現(xiàn)了實(shí)際計(jì)分功能.
[1] CHARLES H R, JR LIZY K J. Digital Systems Design Using VHDL[M].2nd Ed. Beijing:Cengage Learning,2008:156-157.
[2] 潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程[M].4版.北京:科學(xué)出版社,2010:259-261.
Design of Scoring System Based on Programmable Logic Device
JU Xin-gang, GUO Hai-ou
(KeyDisciplineGroupofCircuitandSystem,HenanInstituteofEducation,Zhengzhou450046,China)
The scoring system based on programmable logic device is essentially a system on a chip with a high degree of integration. Considering that the key problem of jitter in the actual operation, an easily controlled counter delay scheme is used, and anti shake is achieved. The timing simulation shows that the system can complete the scoring function well.
scoring device; SOC; anti shake
2014-12-20
河南省科技攻關(guān)重點(diǎn)項(xiàng)目(142102210422)
琚新剛(1973—),男,河南輝縣人,河南教育學(xué)院電路與系統(tǒng)重點(diǎn)學(xué)科組副教授,主要研究方向:EDA技術(shù).
10.3969/j.issn.1007-0834.2015.01.002
G642.0
1007-0834(2015)01-0004-02