龔國友
(成都電子機械高等專科學校 通信工程系,成都 610071)
在現(xiàn)代教學工作和演講中,教室和演講廳基本都采用PPT等多媒體方式進行講解與演示,使課程或演講內容豐富、講解生動。但是在演講過程中因為使用計算機鼠標,使得演講人操作不便,影響效果。計算機遙控鼠標或無線電子教鞭油然而生,本設計是基于單片機技術的紅外線PC遙控器,即利用單片機設計一個功能簡單的嵌入式USB外設[1],將其與PC機連接,通過USB接口實現(xiàn)PC機與外設之間的相互通信。
在紅外無線電子教鞭和遙控鼠標技術方面,國內外已經有各種較成熟的技術,包括2.4 GHz無線電、27 MHz無線電、藍牙無線等各種無線鼠標。但紅外線無線遙控鼠標還是比較少,筆者所研制的紅外線無線遙控器就是基于紅外的數據傳送與單片機相結合的產物。
實現(xiàn)計算機鼠標的所有功能:1)遙控器控鍵為:左鍵、右鍵、上下左右移動鍵、前后翻頁等功能鍵;2)遙控距離大于15 m,方向360°。
設計方案由發(fā)射電路和接收電路2部分組成,發(fā)射電路部分用紅外發(fā)射芯片編碼,接收部分用單片機解碼(見圖1),并用 PDIUSBD12芯片[2]功能實現(xiàn)USB接口與PC的通信。
接收電路選取STC89C52,它有64 kB的存儲容量,對于固件程序已經足夠使用了,而且這款單片機支持在線編程,這給程序的下載和使用帶來方便,程序設計采用C語言進行編程,軟件仿真平臺采用Keil C51。
為降低系統(tǒng)的成本,選用USB接口芯片PDIUSBD12,PHILIPS公司推出的PDIUSBD12是一款性價比很高的USB器件,它通常用作微控制器系統(tǒng)中實現(xiàn)與微控制器進行通信的高速通用并行接口,而且還支持本地的DMA傳輸(Direct Memory Access,直接存儲器存取,是一種快速傳送數據的機制)。
圖1 原理方框圖
紅外線的光譜位于紅色光之外,波長是0.76~1.5 μm,比紅光的波長還長。紅外遙控是利用紅外線進行傳遞信息的一種控制方式,紅外遙控具有抗干擾、電路簡單、容易編碼和解碼、功耗小、成本低的優(yōu)點。紅外遙控系統(tǒng)的主要部分為調制、發(fā)射和接收。
紅外遙控以調制的方式發(fā)射數據,即把數據和一定頻率的載波進行“與”操作,這樣既可以提高發(fā)射效率又可以降低電源功耗。調制載波頻率一般在30~60 kHz之間,大多數使用的是38 kHz、占空比1/3的方波,由發(fā)射端所使用的455 kHz晶振決定。在發(fā)射端要對晶振進行整數分頻,分頻系數一般取12,所以455 kHz÷12≈37.9 kHz≈38 kHz。
一幀完整的發(fā)射碼有引導碼、用戶編碼和鍵數據碼3部分組成。引導碼由一個4.5 ms高電平脈沖及4.5 ms的低電平脈沖組成;8位用戶編碼,被連續(xù)發(fā)送2次;8位的鍵數據碼也被連續(xù)發(fā)送2次,第1次發(fā)送的是鍵數據碼的原碼,第2次發(fā)送的是鍵數據碼的反碼。
“1”和“0”的區(qū)分取決于脈沖之間的時間,稱之為脈沖位置調制方式(PPM)。引導碼及位“0”和位“1”的波形見圖2。
圖2 紅外線編解碼方式
紅外接收電路通常被廠家集成在一個元件中,成為一體化紅外接收頭。內部電路包括紅外監(jiān)測二極管、放大器、限副器、帶通濾波器、積分電路、比較器等。紅外監(jiān)測二極管監(jiān)測到紅外信號,然后把信號送到放大器和限幅器,限幅器把脈沖幅度控制在一定的水平,而不論紅外發(fā)射器和接收器的距離遠近。交流信號進入帶通濾波器,帶通濾波器可以通過30~60 kHz的載波頻率,通過解調電路和積分電路進入比較器,比較器輸出高低電平,還原出發(fā)射端的信號波形。注意輸出的高低電平和發(fā)射端是反相的,以提高接收的靈敏度。
電路原理圖見圖3。
圖3 電路原理圖
1)串行接口引擎
PSIE實現(xiàn)了全部的USB協(xié)議層,且完全由硬件實現(xiàn)而不需要固件的參與。該模塊的功能包括:同步模式的識別,并行/串行的轉換,位填充/解除填充,CRC校驗/產生,PID校驗/產生,地址識別和握手評估/產生。
2)SoftConnect技術
SoftConnect與USB的連接是通過1.5 kΩ上拉電阻將D+設置為高電平實現(xiàn)的。1.5 kΩ上拉電阻集成在PDIUSBD12片內,默認狀態(tài)下不與電源相連,其連接的建立是通過外部/系統(tǒng)微控制器發(fā)送命令實現(xiàn)的。
3)GoodLink技術
GoodLink技術可以提供良好的USB連接指示。在枚舉過程中,LED指示燈根據通信狀況間歇閃爍。配置完成并裝安驅動程序后指示燈將一直亮[3]。
單片機最小系統(tǒng)主要包括其供電系統(tǒng)、時鐘電路和復位電路。將PDIUSBD12的8根DATA引腳和單片機的P0口相連。由于單片機的P0口在作為普通I/O口使用時不能輸出高電平,需要接上拉電阻。從PDIUSBD12芯片資料可以看出,DATA的驅動能力為2 mA,所以接了上拉電阻后,DATA口為0時電流不能超過2 mA。這里用的是5 V的電源,當電流為2 mA時,電阻為2.5 kΩ。因此選擇上拉電阻大于2.5 kΩ就可以了。因為數據總線上只有PDIUSBD12這個器件,所以片選信號CS_N直接接地,該芯片一直處于選中狀態(tài)。SUSPEND引腳是雙向的,當芯片處于掛起狀態(tài)時,其輸出為高,當發(fā)送遠程喚醒命令時,需要通過外部電路將其電位拉低。由于可以通過程序來檢查芯片是否掛起,所以在硬件連接上不需要用到這個引腳,直接接地即可。DMA中斷請求信號,這里沒有用到DMA功能,所以該引腳懸空即可。DMACK_N和EOT_N分別是DMA應答和DMA傳輸完成,這里沒有使用DMA功能,直接用1 kΩ的上拉電阻將其置為高電平。EOT_N還兼做Vbus檢查用,必須要接高電平,芯片才會進入正常的工作狀態(tài)。RESET_N是復位引腳,由于芯片內部已經有內置的上電復位電路,所以不需要連接額外的上電復位電路,直接將該引腳通過1 kΩ的電路上拉到高電平。
由計算機輔助軟件Protel 99生成的PCB文件并加工成PCB板,焊接上元件調試檢查無誤后的最終電路板如圖4所示。
用一條USB連接線把接收模塊和電腦連接起來,電腦自動檢測到接收模塊并自動加載驅動程序。使用遙控器按著翻頁鍵就可以實現(xiàn)PPT、Word、PDF等文件的翻頁功能,按向下鍵就可以控制鼠標向下移動,實現(xiàn)了設計的所有要求,演講者可以將該遙控器當電子教鞭使用,不必一直站在電腦面前按鼠標了。
圖4 電路板照片
單片機和PHILIPS公司的PDIUSBD12芯片為外設的核心,基于USB規(guī)范開發(fā)和紅外編碼解碼,設計了USB接口的紅外無線遙控鼠標(或稱電子教鞭),樣品經過教師在實際教學中試用,完全達到了設計要求,成功地實現(xiàn)了紅外無線控制單片機實現(xiàn)紅外無線遙控器的功能。
[1]陳逸.USB大全[M].北京:中國電力出版社,2001.
[2]馬春雷,申宇皓,劉于端.基于PDIUSBD12芯片的USB接口的研究與開發(fā)[J].微計算機信息,2005(13):140-142.
[3]任衛(wèi)華,葉明.基于PDIUSBD12芯片的USB接口實現(xiàn)方案[J].國外電子元器件,2005(6):25-27.
[4]徐愛鈞,彭秀華.Keil Cx51 V7.0單片機高級語言編程與Vision2應用實踐[M].北京:電子工業(yè)出版社,2004.
[5]周立功.PDIUSBD12USB固件編程與驅動開發(fā)[M].北京:北京航空航天大學出版社,2003.
[6]馬軍,李玉林.基于PDIUSBD12芯片的USB接口設計[J].微計算機信息,2006(2):285-287,181.
[7]黃煌,姜義成,林力.基于PDIUSBD 12的USB接口設計及應用[J].微計算機信息,2007(11):292-293,183.
[8]王立錦,于富強.單片機控制系統(tǒng)的紅外線遙控器接口[J].電子技術,1998(10):36-38.