??? 摘? 要: 在光電編碼器中需采用電位器將電流信號(hào)轉(zhuǎn)變?yōu)殡妷盒盘?hào),并調(diào)節(jié)信號(hào)幅值以適應(yīng)后續(xù)電路的應(yīng)用處理。文中提出用鼠標(biāo)控制數(shù)字電位器代替?zhèn)鹘y(tǒng)的手動(dòng)調(diào)節(jié)機(jī)械電位器,實(shí)現(xiàn)了數(shù)字化的信號(hào)調(diào)節(jié)。此方法避免了以往信號(hào)調(diào)節(jié)必須拆裝電路板的弊端;同時(shí),由鼠標(biāo)控制阻值變化使得信號(hào)的觀察與檢測(cè)極為簡(jiǎn)單直觀,大大縮減了檢測(cè)所需的工作時(shí)間,提高了工作效率。?
??? 關(guān)鍵詞: 數(shù)字電位器; 機(jī)械電位器; 鼠標(biāo); 光電編碼器
?
??? 在編碼器系統(tǒng)中[1],光柵讀數(shù)頭的信號(hào)由于受到環(huán)境因素、使用因素的影響,經(jīng)常需要重新調(diào)整。采用機(jī)械電位器進(jìn)行信號(hào)調(diào)節(jié),調(diào)整起來(lái)既不直觀又不方便且費(fèi)時(shí)費(fèi)力。采用PS/2鼠標(biāo)控制數(shù)字電位器進(jìn)行信號(hào)調(diào)節(jié),則實(shí)現(xiàn)了一種全新的數(shù)字化的信號(hào)調(diào)節(jié)方式。利用鼠標(biāo)控制電位器的滑動(dòng)端位置,調(diào)節(jié)電阻值,操作過(guò)程方便簡(jiǎn)單,無(wú)需對(duì)安裝好的電路系統(tǒng)進(jìn)行拆裝即可完成對(duì)信號(hào)的調(diào)節(jié);在信號(hào)檢測(cè)過(guò)程中只需滑動(dòng)鼠標(biāo)就可看到信號(hào)的變化,避免了以往邊手動(dòng)調(diào)節(jié)工作電路邊觀測(cè)信號(hào)所帶來(lái)的不便;同時(shí)由于貼片式數(shù)字電位器的封裝尺寸遠(yuǎn)小于機(jī)械電位器的封裝尺寸,因此大大縮減了系統(tǒng)電路的體積。?
1 PS/2鼠標(biāo)的應(yīng)用?
??? 利用PS/2鼠標(biāo)完成對(duì)電位器的切換以及對(duì)電位器阻值的調(diào)整。編碼器電路由多路信號(hào)處理電路構(gòu)成,每路信號(hào)都有一個(gè)與之對(duì)應(yīng)的電位器來(lái)對(duì)此路信號(hào)進(jìn)行調(diào)整,利用鼠標(biāo)的左右鍵來(lái)進(jìn)行電位器間的切換。當(dāng)選中的電位器是需調(diào)整的信號(hào)電路的電位器時(shí),利用鼠標(biāo)滾輪來(lái)調(diào)整阻值;當(dāng)信號(hào)調(diào)整完成后,按下鼠標(biāo)中間鍵使電位器記錄下此時(shí)的滑動(dòng)端位置。完成所有信號(hào)的調(diào)整工作后將鼠標(biāo)拔下即可。?
1.1鼠標(biāo)的工作原理?
??? PS/2鼠標(biāo)本質(zhì)是一個(gè)二維的角度或位移檢測(cè)裝置[2],只需時(shí)鐘線(CLK)、數(shù)據(jù)線(DATA)兩根連線就能實(shí)現(xiàn)主機(jī)與其通信。鼠標(biāo)不論是發(fā)送信息還是接收指令,CLK時(shí)鐘信號(hào)都由鼠標(biāo)產(chǎn)生。鼠標(biāo)正常工作時(shí),信息是無(wú)條件向主機(jī)發(fā)送,不需要主機(jī)應(yīng)答,設(shè)計(jì)中必須注意到這些特點(diǎn)以保證信息不丟失。?
1.1.1主機(jī)向PS/2鼠標(biāo)通信?
??? 該過(guò)程發(fā)生在主機(jī)上電自檢時(shí),主機(jī)發(fā)送測(cè)試信號(hào)檢測(cè)外設(shè)并對(duì)鼠標(biāo)初始化。主機(jī)向鼠標(biāo)發(fā)送數(shù)據(jù)時(shí),因?yàn)闀r(shí)鐘信號(hào)總是由鼠標(biāo)產(chǎn)生,所以主機(jī)要發(fā)送數(shù)據(jù),必須先將時(shí)鐘線和數(shù)據(jù)線設(shè)為請(qǐng)求發(fā)送狀態(tài),即:拉低時(shí)鐘線至少100μs來(lái)禁止鼠標(biāo)通信;拉低數(shù)據(jù)線使之處于請(qǐng)求發(fā)送狀態(tài)。此后主機(jī)釋放時(shí)鐘線,等待外設(shè)改變時(shí)鐘信號(hào)。主機(jī)在時(shí)鐘線為低時(shí)改變數(shù)據(jù),放到數(shù)據(jù)線上的數(shù)據(jù)在時(shí)鐘脈沖的上升沿被PS/2鼠標(biāo)讀取。主機(jī)在發(fā)送完數(shù)據(jù)位和奇偶校驗(yàn)位后釋放數(shù)據(jù)線,以此作為停止位。當(dāng)停止位被發(fā)送后,主機(jī)等待PS/2鼠標(biāo)拉低數(shù)據(jù)線也即鼠標(biāo)產(chǎn)生握手應(yīng)答信號(hào)[3]。?
1.1.2 主機(jī)接收PS/2鼠標(biāo)信息?
??? 該過(guò)程發(fā)生在鼠標(biāo)應(yīng)答主機(jī)發(fā)出的命令或工作人員進(jìn)行鼠標(biāo)操作時(shí)。主機(jī)對(duì)總線有控制權(quán),它可通過(guò)將時(shí)鐘線置為低電平來(lái)禁止PS/2設(shè)備與主機(jī)的通信。當(dāng)PS/2鼠標(biāo)要向主機(jī)發(fā)送信息時(shí),必須先檢查時(shí)鐘線是否為高電平,如果不是高電平則說(shuō)明主機(jī)禁止鼠標(biāo)向它發(fā)送數(shù)據(jù)。只有當(dāng)CLK和DATA都為高電平時(shí),鼠標(biāo)才會(huì)發(fā)送數(shù)據(jù)。主機(jī)在接收到時(shí)鐘的下降沿后到數(shù)據(jù)線上讀取數(shù)據(jù)。?
1.2 PS/2鼠標(biāo)的應(yīng)用實(shí)現(xiàn)?
??? PS/2 鼠標(biāo)和單片機(jī)的硬件接口很簡(jiǎn)單,其與89C51單片機(jī)的連接電路如圖1所示。
?
?
??? 筆者在設(shè)計(jì)中發(fā)現(xiàn)對(duì)PS/2鼠標(biāo)接口進(jìn)行操作與控制時(shí),鼠標(biāo)的初始化程序是其中較為困難的一部分。主機(jī)與鼠標(biāo)間的通信必須嚴(yán)格遵守時(shí)序要求[4],數(shù)據(jù)線上的數(shù)據(jù)處理盡量放在時(shí)鐘邊沿狀態(tài)查詢之外進(jìn)行,以保證鼠標(biāo)能在每個(gè)時(shí)鐘周期內(nèi)獲得正確的數(shù)據(jù)信息。同時(shí),由于不同的鼠標(biāo)其數(shù)據(jù)包格式也有所不同,要根據(jù)初始化過(guò)程中獲得的設(shè)備信息來(lái)確定鼠標(biāo)的數(shù)據(jù)包格式。鼠標(biāo)初始化程序框圖如圖2所示。?
?
?
2 數(shù)字電位器?
??? 設(shè)計(jì)中選擇了非易失數(shù)字電位器DS1804。DS1804是一種微調(diào)電位器,具有100個(gè)抽頭位置,工作于3V或5V電壓下,電位器的抽頭位置通過(guò)三個(gè)端口調(diào)節(jié),這三個(gè)端口提供有增/減計(jì)數(shù)控制接口,可進(jìn)行加減逐級(jí)控制。DS1804也可作為一次性可編程存儲(chǔ)器應(yīng)用,此時(shí)三端口的增減控制失效。?
??? 為便于觀察信號(hào)通道與電位器的選擇與切換,在電路中每個(gè)電位器都有一個(gè)發(fā)光二極管與之對(duì)應(yīng)。其電路連接如圖3所示。圖中只畫出了兩個(gè)電位器與單片機(jī)的連接情況。?
?
?
??? 將PS/2鼠標(biāo)應(yīng)用在編碼器電路中,使得用戶在進(jìn)行信號(hào)調(diào)整與檢測(cè)工作時(shí)如同操作PC機(jī)一樣簡(jiǎn)單方便。實(shí)驗(yàn)證明,該方案切實(shí)可行,操作簡(jiǎn)單,運(yùn)行可靠。將簡(jiǎn)單易用的常用設(shè)備引入到編碼器的系統(tǒng)電路中,使其更趨數(shù)字化、人性化,為編碼器系統(tǒng)的研究設(shè)計(jì)開辟了新的思路。同時(shí),該方案具有可移植性,適用于其他如人機(jī)交互、密碼管理等諸多領(lǐng)域中。?
參考文獻(xiàn)?
[1] 葉盛祥. 光電位移精密測(cè)量技術(shù)[M]. 成都:四川科技出版社, 2003.?
[2]?胡曉毅,解永軍. 基于PS/2鼠標(biāo)接口單片機(jī)輸入設(shè)備的實(shí)現(xiàn)[J]. 廈門大學(xué)學(xué)報(bào),2003,7(4):463-466.
[3] 談宏華,黎愛瓊,陳家林,基于嵌入式微處理器的PS/2鼠標(biāo)驅(qū)動(dòng)設(shè)計(jì)[J].測(cè)控技術(shù),2006,25(2):71-74.?
[4]?陳曦.PS/2接口協(xié)議解析及應(yīng)用[J].國(guó)外電子元器件,2004(4):14-17.