用光電編碼器實(shí)現(xiàn)單鍵飛梭功能
發(fā)布時間:2008/5/27 0:00:00 訪問次數(shù):1207
    
    
    “單鍵飛梭”作為一種用戶輸入方法,其輸入方式靈活可靠,特別適合應(yīng)用在嵌入式儀器設(shè)備和手持式設(shè)備上。本文利用cpld鑒相控制模擬開關(guān), 模擬手動按鍵得到統(tǒng)一的ps/2碼,從而簡化軟件設(shè)計,提高了用戶輸入效率。
    1 光電trim knob的工作原理
    光電trim knob又稱為光電編碼器(optical encoder),其中以bourns公司和greyhill公司的產(chǎn)品用得最廣泛。本文就以bourns公司的enc產(chǎn)品為例,介紹其工作原理。
    如圖1所示,trimknob有兩個發(fā)光二極管及兩個光敏三極管,中間是可自由轉(zhuǎn)動的遮光板。當(dāng)旋轉(zhuǎn)trimknob時,兩個光敏三極管會被遮光板有次序地遮擋而產(chǎn)生圖2所示的波形。
    
    
    
    如果是順時針從位置#1旋轉(zhuǎn)到位置#2,通道a會比通道b相位超前半個周期;反之如果是逆時針從位置#3旋轉(zhuǎn)到位置#1, 通道b會比通道a相位超前半個周期。通過檢測通道a和通道b的相位就能判斷是順時針還是逆時針轉(zhuǎn)動。通過記錄檢測通道a和通道b波形變化的次數(shù)就能得到轉(zhuǎn)動位置變化數(shù)目。
    2 holtek ht82k628a簡介
    ht82k628a是臺灣holtek公司為ibm pc/at及兼容機(jī)設(shè)計生產(chǎn)的專用鍵盤掃描控制芯片,支持101/102/104/109個鍵, ps/2接口。引腳定義如圖3所示。行線r0~r15為鍵盤矩陣的掃描輸出,列線c0~c7為鍵盤矩陣的掃描輸入。
    
    
    
    表1列舉了幾個行列線對應(yīng)的鍵值,關(guān)于此芯片的更詳細(xì)的應(yīng)用,請見參考文獻(xiàn)[1]。
    3 設(shè)計原理
    通過一個鑒相電路,輸入為通道a、b,輸出為cw、 ccw。cw、ccw控制模擬開關(guān)sw1、sw2。sw1的數(shù)據(jù)端分別連接在c6和r7上,從表1可以看出c6、r7對應(yīng)f8鍵。順時針轉(zhuǎn)動一個位置,cw 輸出一個脈沖,模擬開關(guān)sw1接通。從鍵盤掃描控制芯片ht82k628a角度看,效果和按下“f8”一樣,如圖4。
    4 實(shí) 現(xiàn)
    4.1 鑒相器的實(shí)現(xiàn)
    由于本系統(tǒng)其它邏輯部分電路用到xilinx公司的cpld xcr3032xl,所以我們把鑒相器電路也做在此cpld中。其中定義cw、ccw為輸出引腳,ch_a、ch_b為輸入引腳。狀態(tài)機(jī)變化邏輯如下:
    state_diagram qstate
    state st0: cw = 0;
    ccw = 0;
    if (!ch_a&ch_b) then st1
    else if (ch_a&!ch_b) then st4
    else st0;
    state st1: cw=1;
    ccw=0;
    if (ch_a&ch_b) then st2
    else st1;
    state st2: cw=1;
    ccw=0;
    if (ch_a&!ch_b) then st3
    else st2;
    state st3: cw=1;
    ccw=0;
    if (!ch_a&!ch_b) then st0
    else st3;
    state st4: cw=0;
    ccw=1;
    if (ch_a&ch_b) then st5
    else st4;
    state st5: cw=0;
    ccw=1;
    if (!ch_a&ch_b) then st6
    else st5;
    state st6: cw=0;
    ccw=1;
    if (!ch_a&!ch_b) then st0
    else st6;
    4.2 模擬開關(guān)的實(shí)現(xiàn)
    一般手動按下一個鍵的開關(guān)時間是20ms,所以設(shè)計中在cw、ccw輸出端加了一個單穩(wěn)電路作為時延,單穩(wěn)電路的輸出作為模擬開關(guān)mc74hc4066的控制。電路設(shè)計如圖5所示。
    
    
    
    當(dāng)鑒相器產(chǎn)生一個cw脈沖,u1就會觸發(fā)產(chǎn)生一個20ms寬的脈
    
    
    “單鍵飛梭”作為一種用戶輸入方法,其輸入方式靈活可靠,特別適合應(yīng)用在嵌入式儀器設(shè)備和手持式設(shè)備上。本文利用cpld鑒相控制模擬開關(guān), 模擬手動按鍵得到統(tǒng)一的ps/2碼,從而簡化軟件設(shè)計,提高了用戶輸入效率。
    1 光電trim knob的工作原理
    光電trim knob又稱為光電編碼器(optical encoder),其中以bourns公司和greyhill公司的產(chǎn)品用得最廣泛。本文就以bourns公司的enc產(chǎn)品為例,介紹其工作原理。
    如圖1所示,trimknob有兩個發(fā)光二極管及兩個光敏三極管,中間是可自由轉(zhuǎn)動的遮光板。當(dāng)旋轉(zhuǎn)trimknob時,兩個光敏三極管會被遮光板有次序地遮擋而產(chǎn)生圖2所示的波形。
    
    
    
    如果是順時針從位置#1旋轉(zhuǎn)到位置#2,通道a會比通道b相位超前半個周期;反之如果是逆時針從位置#3旋轉(zhuǎn)到位置#1, 通道b會比通道a相位超前半個周期。通過檢測通道a和通道b的相位就能判斷是順時針還是逆時針轉(zhuǎn)動。通過記錄檢測通道a和通道b波形變化的次數(shù)就能得到轉(zhuǎn)動位置變化數(shù)目。
    2 holtek ht82k628a簡介
    ht82k628a是臺灣holtek公司為ibm pc/at及兼容機(jī)設(shè)計生產(chǎn)的專用鍵盤掃描控制芯片,支持101/102/104/109個鍵, ps/2接口。引腳定義如圖3所示。行線r0~r15為鍵盤矩陣的掃描輸出,列線c0~c7為鍵盤矩陣的掃描輸入。
    
    
    
    表1列舉了幾個行列線對應(yīng)的鍵值,關(guān)于此芯片的更詳細(xì)的應(yīng)用,請見參考文獻(xiàn)[1]。
    3 設(shè)計原理
    通過一個鑒相電路,輸入為通道a、b,輸出為cw、 ccw。cw、ccw控制模擬開關(guān)sw1、sw2。sw1的數(shù)據(jù)端分別連接在c6和r7上,從表1可以看出c6、r7對應(yīng)f8鍵。順時針轉(zhuǎn)動一個位置,cw 輸出一個脈沖,模擬開關(guān)sw1接通。從鍵盤掃描控制芯片ht82k628a角度看,效果和按下“f8”一樣,如圖4。
    4 實(shí) 現(xiàn)
    4.1 鑒相器的實(shí)現(xiàn)
    由于本系統(tǒng)其它邏輯部分電路用到xilinx公司的cpld xcr3032xl,所以我們把鑒相器電路也做在此cpld中。其中定義cw、ccw為輸出引腳,ch_a、ch_b為輸入引腳。狀態(tài)機(jī)變化邏輯如下:
    state_diagram qstate
    state st0: cw = 0;
    ccw = 0;
    if (!ch_a&ch_b) then st1
    else if (ch_a&!ch_b) then st4
    else st0;
    state st1: cw=1;
    ccw=0;
    if (ch_a&ch_b) then st2
    else st1;
    state st2: cw=1;
    ccw=0;
    if (ch_a&!ch_b) then st3
    else st2;
    state st3: cw=1;
    ccw=0;
    if (!ch_a&!ch_b) then st0
    else st3;
    state st4: cw=0;
    ccw=1;
    if (ch_a&ch_b) then st5
    else st4;
    state st5: cw=0;
    ccw=1;
    if (!ch_a&ch_b) then st6
    else st5;
    state st6: cw=0;
    ccw=1;
    if (!ch_a&!ch_b) then st0
    else st6;
    4.2 模擬開關(guān)的實(shí)現(xiàn)
    一般手動按下一個鍵的開關(guān)時間是20ms,所以設(shè)計中在cw、ccw輸出端加了一個單穩(wěn)電路作為時延,單穩(wěn)電路的輸出作為模擬開關(guān)mc74hc4066的控制。電路設(shè)計如圖5所示。
    
    
    
    當(dāng)鑒相器產(chǎn)生一個cw脈沖,u1就會觸發(fā)產(chǎn)生一個20ms寬的脈
熱門點(diǎn)擊
- 用單片機(jī)控制字符型液晶顯示器TC1602A
- 利用16C554實(shí)現(xiàn)主從式單片機(jī)遠(yuǎn)距離通信擴(kuò)
- 采用三個放大器芯片組成的光功率自動控制電路
- 用光電編碼器實(shí)現(xiàn)單鍵飛梭功能
- IMP803高電壓電致發(fā)光燈驅(qū)動器原理與應(yīng)用
- uPD16312在DVD視盤機(jī)VFD顯示電路
- ADI公司發(fā)布具有無與倫比性能的XFP芯片組
- 光傳輸模塊產(chǎn)業(yè)發(fā)展現(xiàn)況
- 全彩OLED顯示屏LPSF096064A00
- TEC9503 AM/FM接收頻率顯示模塊及
推薦技術(shù)資料
- 硬盤式MP3播放器終級改
- 一次偶然的機(jī)會我結(jié)識了NE0 2511,那是一個遠(yuǎn)方的... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究