琚新剛, 郭海鷗
(河南教育學院 電路與系統(tǒng)重點學科組,河南 鄭州 450046)
基于可編程邏輯器件的計分器系統(tǒng)設(shè)計
琚新剛, 郭海鷗
(河南教育學院 電路與系統(tǒng)重點學科組,河南 鄭州 450046)
用可編程邏輯器件設(shè)計的計分器,本質(zhì)上是一個具有高集成度的單芯片系統(tǒng).考慮到實際操作中按鍵抖動問題,采用了易控制的計數(shù)器延時方案,實現(xiàn)防抖,時序仿真顯示,系統(tǒng)可以很好地完成計分功能.
計分器;單芯片系統(tǒng);防抖
在許多比賽中,常用到計分器.計分器包括計數(shù)器和用于數(shù)碼顯示的驅(qū)動電路,這兩個電路可以用單片F(xiàn)PGA實現(xiàn),即一個小型的SOC.
根據(jù)需要,以2位數(shù)(十進制)計分器為例,計分器計數(shù)范圍0~99,其輸入包括增、減、復(fù)位等控制.增控制信號為高電平時,計分器顯示的數(shù)字加1,減控制信號為高電平時,計分器顯示的數(shù)字減1,復(fù)位控制信號為高電平時,計分器復(fù)位,顯示數(shù)字為00.
圖1 計分器系統(tǒng)框圖Fig.1 System block diagram of scoring device
計分器電路由計數(shù)器和一個7段數(shù)碼管驅(qū)動電路,即譯碼器組成.增、減、復(fù)位、時鐘4個1位的輸入端,兩組4位的輸出端如圖1.
兩位BCD數(shù)字計數(shù)器用以記分,兩個7段數(shù)碼管用于顯示分數(shù),兩個譯碼器把每個BCD轉(zhuǎn)換為7段數(shù)碼顯示.考慮到使用中的誤操作情況,復(fù)位信號可設(shè)計為長按一段時間后作用,故復(fù)位用一個3位復(fù)位計數(shù)器[1].
該計分器系統(tǒng)的狀態(tài)圖見圖2,控制器是一個有限狀態(tài)機,只有兩個狀態(tài)S0和S1,初始狀態(tài)S0時,BCD計數(shù)器清零,復(fù)位計數(shù)器也清零,隨后進入下一個狀態(tài)S1,此狀態(tài)中計數(shù)器開始計數(shù).在每個時鐘周期,根據(jù)輸入信號計數(shù)器加1或減1;如果有復(fù)位信號rst,則復(fù)位計數(shù)器rstcnt加1;若rstcnt已經(jīng)為4,且在第5個時鐘周期時仍存在復(fù)位信號,則系統(tǒng)由狀態(tài)S1變?yōu)闋顟B(tài)S0,當inc信號出現(xiàn),而dec信號未出現(xiàn)時,BCD計數(shù)器遞增計數(shù),圖中右上角弧線處的add1表示BCD計數(shù)器遞增計數(shù);當dec信號出現(xiàn),而inc信號未出現(xiàn)時,BCD計數(shù)器遞減計數(shù),圖中右下角弧線處的sub1表示BCD計數(shù)器遞減計數(shù).在任何時鐘周期內(nèi),只要rst信號沒有出現(xiàn),則rstcnt計數(shù)器就清零.如果inc信號、dec信號同時出現(xiàn)或同時不出現(xiàn),則rstcnt計數(shù)器也清零,而BCD計數(shù)器則不變.
計分器電路的仿真結(jié)果如圖3所示,Segment7dl和segment7d2分別表示兩個7段顯示器,為無符號7位向量.系統(tǒng)具備計分功能.對于不可避免的毛刺信號,考慮到手動按鍵的抖動和其他干擾,系統(tǒng)需引進去抖動和干擾的功能模塊.
圖2 系統(tǒng)狀態(tài)圖Fig.2 System status diagram
圖3 仿真結(jié)果Fig.3 Simulation result
分別用兩個計數(shù)器對輸入信號的高電平和低電平的持續(xù)時間(脈寬)進行計數(shù)(在時間上是同時但獨立計數(shù))[2].只有當高電平的計數(shù)時間大于某值(比如9),才判為遇到正常信號,輸出1;若低電平的計數(shù)時間大于某值(比如7),則輸出0(圖4).由波形可見,輸出信號脈寬比邏輯方式輸出的信號要寬得多,實現(xiàn)了通過計數(shù)延時,消除抖動和干擾的影響.
圖4 防抖結(jié)果Fig.4 Result of anti shake results
計分牌按鍵防抖的延時采用計數(shù)器的方式,計分電路獲取增減信號由正常信號高電平的脈寬和工作時鐘頻率共同決定,不單純由時鐘決定,易控制,效果好,只是耗用資源較多.工作時鐘CLK的頻率大小要視干擾信號和正常信號的寬度而定,對于類似鍵抖動產(chǎn)生的干擾信號,頻率可以低一些,幾十kHz赫茲即可;若是比較高速的時鐘信號,則可利用FPGA內(nèi)的鎖相環(huán),使CLK能達到400 MHz以上.此外,用于延時的計數(shù)器位寬和計數(shù)值都可以根據(jù)具體情況調(diào)節(jié),很好地實現(xiàn)了實際計分功能.
[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ù)實用教程[M].4版.北京:科學出版社,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)重點項目(142102210422)
琚新剛(1973—),男,河南輝縣人,河南教育學院電路與系統(tǒng)重點學科組副教授,主要研究方向:EDA技術(shù).
10.3969/j.issn.1007-0834.2015.01.002
G642.0
1007-0834(2015)01-0004-02