基于WinCE操作系統(tǒng)的通用USB數(shù)控鍵盤設(shè)計(jì)
發(fā)布時(shí)間:2008/6/3 0:00:00 訪問次數(shù):685
關(guān)鍵詞: 嵌入式;usb;數(shù)控鍵盤;wince
引言
隨著網(wǎng)絡(luò)時(shí)代的到來,機(jī)械制造行業(yè)也面臨著如何適應(yīng)網(wǎng)絡(luò)化制造的問題。于是將計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和傳統(tǒng)的控制技術(shù)相結(jié)合,以嵌入式系統(tǒng)為主的數(shù)控系統(tǒng)正日益成為機(jī)械制造領(lǐng)域的熱點(diǎn)。對(duì)于一個(gè)具體的數(shù)控系統(tǒng),在通過鍵盤作為人機(jī)交互工具時(shí),按鍵的數(shù)目與功能上與其他的數(shù)控系統(tǒng)是不同的,實(shí)時(shí)性和高速率是工業(yè)現(xiàn)場(chǎng)所重視的,usb數(shù)控鍵盤相對(duì)于傳統(tǒng)的ps/2鍵盤具有高速率、支持熱插拔、可靈活配置等特點(diǎn),所以要為嵌入式數(shù)控設(shè)備研發(fā)出通用的數(shù)控鍵盤,來滿足現(xiàn)代化數(shù)控系統(tǒng)的需求。具體設(shè)計(jì)方案如圖1所示。
圖1 系統(tǒng)框圖
系統(tǒng)硬件電路設(shè)計(jì)
系統(tǒng)(圖1)有四個(gè)模塊組成:鍵盤模塊、usb接口模塊、usb和mcu通信模塊。usb數(shù)控鍵盤不需要顯示模塊,在實(shí)驗(yàn)中為了便于觀察結(jié)果,采用了1602液晶顯示器,來顯示鍵值和通信的狀態(tài)。at89s55單片機(jī)和zlg7290均采用上電復(fù)位電路,減少系統(tǒng)的不必要開支,整個(gè)電路的供電采用usb供電,有效的減少了電源干擾。
zlg7290鍵盤模塊
zlg7290鍵盤編碼顯示芯片具有i2c總線接口功能并可直接驅(qū)動(dòng)8 位共陰式數(shù)碼管(或64 只獨(dú)立的led),同時(shí)還可以掃描管理多達(dá)64 只按鍵,其中有8 只按鍵還可以作為功能鍵使用。zlg7290 內(nèi)部還設(shè)置有連擊計(jì)數(shù)器,能夠使鍵按下后不松手而連續(xù)有效。并提供鍵盤中斷信號(hào),方便與處理器接口;可檢測(cè)每個(gè)按鍵的連擊次數(shù),并具有鍵盤去抖動(dòng)處理、雙鍵互鎖處理等功能。
在設(shè)計(jì)的過程中可以連接64個(gè)按鍵,但是在試驗(yàn)的過程中,選取了具有代表性的4個(gè)按鍵,其中有一個(gè)功能鍵f1,如圖2所示。電路中晶振是4mhz,能夠穩(wěn)定地工作。mcu的地線一定要與zlg7290的地線相連接,避免i2c通信故障,使得i2c通信順暢。
圖2 鍵盤電路設(shè)計(jì)簡(jiǎn)圖
i2c 總線的器件sda 和scl 引腳都是漏極開路(或集電極開路)輸出結(jié)構(gòu)。因此實(shí)際使用時(shí),它們都必須要加上拉電阻。上拉電阻一般取值3~10kw。
usb接口模塊
usb 通過4線電纜接入主機(jī), 這4 條線分別為: vcc(總線電源)、gnd(地線)、d+和d-(數(shù)據(jù)線)。d12dm和d12dp分別連接到pdiusbd12芯片的 d- 和 d+引腳。d+和d- 線上必須串接18w+1%的精密電阻,d+和d- 線必須分別用1mw的上拉電阻(3.3v)和下拉電阻,usb接口的vbus為來自pc機(jī)的+5v電源,用于供給zlg7290、mcu和pdiusbd12的電源,vcc和gnd分別接2個(gè)電感,起到電源的濾波作用。
pdiusbd12和mcu通信模塊
sbd12是philips(編者注:現(xiàn)獨(dú)立為nxp)公司的一款特點(diǎn)突出的usb接口芯片,它支持多路復(fù)用、非多路復(fù)用和dma并行傳輸。pdiusbd12需要外接mcu來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。
pdiusbd12完全遵從usb1.1協(xié)議,它內(nèi)部集成有串行接口引擎(sie)、fifo存儲(chǔ)器、收發(fā)器以及電壓調(diào)整器。還有softconnecttm、pll鎖相環(huán)、可編程的時(shí)鐘輸出、低頻晶振、終止寄存器和goodlinktm,以及并行和dma傳輸。
由t89s55 和pdiusbd12 構(gòu)成的接口電路如圖3所示,在此at89s55沒有畫出,但是d12與mcu的連接都已標(biāo)出。 pdiusbd12 的8 位并行數(shù)據(jù)接入at89s55的p0口,設(shè)計(jì)電路中只有d12一個(gè)外部總線擴(kuò)展電路,那么d12 的a0引腳可通過10kw電阻到地。d12 的ale引腳與mcu的ale引腳相連。振蕩電路采用6mhz,經(jīng)過d12內(nèi)部倍頻電路以后,實(shí)際d12內(nèi)部時(shí)鐘為24mhz。注意兩個(gè)電容值的大小是不一樣的,采用22pf和68pf的。
圖3 pdiusbd12與mcu通信電路
gl_n通過一個(gè)電阻和紅色led串聯(lián)到vcc。當(dāng)usb設(shè)備枚舉成功后,該led常亮,當(dāng)pc機(jī)與d12有數(shù)據(jù)通信時(shí),該led閃爍。因?yàn)闆]有用到d12的dma功能,所以dmack_n 和eot_n 必須接上拉電阻,int_n也要通過電阻上拉到vcc,因?yàn)檫@個(gè)引腳是開漏的。
系統(tǒng)軟件
軟件設(shè)計(jì)包括zlg7290控制程序、i2c通信程序、usb固件程序、在wince下usb host驅(qū)動(dòng)程序和應(yīng)用程序。各部分采用模塊化程序設(shè)計(jì),便于升級(jí)和維護(hù)。wince下usb數(shù)控鍵盤的驅(qū)動(dòng)程序與硬件平臺(tái)關(guān)聯(lián)很少,usb數(shù)控鍵盤在wince操作系統(tǒng)下具有通用性,并且該鍵盤的按鍵數(shù)目根據(jù)用戶的要求可以剪裁,功能也可以在程序設(shè)計(jì)中定制,可以滿足不同數(shù)控系統(tǒng)的需求。
i2c通信程序
在程序設(shè)計(jì)時(shí)要注意:數(shù)據(jù)線sda 的電平狀態(tài)必須在時(shí)鐘線scl 處于高電平期間保持穩(wěn)定不變,s
關(guān)鍵詞: 嵌入式;usb;數(shù)控鍵盤;wince
引言
隨著網(wǎng)絡(luò)時(shí)代的到來,機(jī)械制造行業(yè)也面臨著如何適應(yīng)網(wǎng)絡(luò)化制造的問題。于是將計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和傳統(tǒng)的控制技術(shù)相結(jié)合,以嵌入式系統(tǒng)為主的數(shù)控系統(tǒng)正日益成為機(jī)械制造領(lǐng)域的熱點(diǎn)。對(duì)于一個(gè)具體的數(shù)控系統(tǒng),在通過鍵盤作為人機(jī)交互工具時(shí),按鍵的數(shù)目與功能上與其他的數(shù)控系統(tǒng)是不同的,實(shí)時(shí)性和高速率是工業(yè)現(xiàn)場(chǎng)所重視的,usb數(shù)控鍵盤相對(duì)于傳統(tǒng)的ps/2鍵盤具有高速率、支持熱插拔、可靈活配置等特點(diǎn),所以要為嵌入式數(shù)控設(shè)備研發(fā)出通用的數(shù)控鍵盤,來滿足現(xiàn)代化數(shù)控系統(tǒng)的需求。具體設(shè)計(jì)方案如圖1所示。
圖1 系統(tǒng)框圖
系統(tǒng)硬件電路設(shè)計(jì)
系統(tǒng)(圖1)有四個(gè)模塊組成:鍵盤模塊、usb接口模塊、usb和mcu通信模塊。usb數(shù)控鍵盤不需要顯示模塊,在實(shí)驗(yàn)中為了便于觀察結(jié)果,采用了1602液晶顯示器,來顯示鍵值和通信的狀態(tài)。at89s55單片機(jī)和zlg7290均采用上電復(fù)位電路,減少系統(tǒng)的不必要開支,整個(gè)電路的供電采用usb供電,有效的減少了電源干擾。
zlg7290鍵盤模塊
zlg7290鍵盤編碼顯示芯片具有i2c總線接口功能并可直接驅(qū)動(dòng)8 位共陰式數(shù)碼管(或64 只獨(dú)立的led),同時(shí)還可以掃描管理多達(dá)64 只按鍵,其中有8 只按鍵還可以作為功能鍵使用。zlg7290 內(nèi)部還設(shè)置有連擊計(jì)數(shù)器,能夠使鍵按下后不松手而連續(xù)有效。并提供鍵盤中斷信號(hào),方便與處理器接口;可檢測(cè)每個(gè)按鍵的連擊次數(shù),并具有鍵盤去抖動(dòng)處理、雙鍵互鎖處理等功能。
在設(shè)計(jì)的過程中可以連接64個(gè)按鍵,但是在試驗(yàn)的過程中,選取了具有代表性的4個(gè)按鍵,其中有一個(gè)功能鍵f1,如圖2所示。電路中晶振是4mhz,能夠穩(wěn)定地工作。mcu的地線一定要與zlg7290的地線相連接,避免i2c通信故障,使得i2c通信順暢。
圖2 鍵盤電路設(shè)計(jì)簡(jiǎn)圖
i2c 總線的器件sda 和scl 引腳都是漏極開路(或集電極開路)輸出結(jié)構(gòu)。因此實(shí)際使用時(shí),它們都必須要加上拉電阻。上拉電阻一般取值3~10kw。
usb接口模塊
usb 通過4線電纜接入主機(jī), 這4 條線分別為: vcc(總線電源)、gnd(地線)、d+和d-(數(shù)據(jù)線)。d12dm和d12dp分別連接到pdiusbd12芯片的 d- 和 d+引腳。d+和d- 線上必須串接18w+1%的精密電阻,d+和d- 線必須分別用1mw的上拉電阻(3.3v)和下拉電阻,usb接口的vbus為來自pc機(jī)的+5v電源,用于供給zlg7290、mcu和pdiusbd12的電源,vcc和gnd分別接2個(gè)電感,起到電源的濾波作用。
pdiusbd12和mcu通信模塊
sbd12是philips(編者注:現(xiàn)獨(dú)立為nxp)公司的一款特點(diǎn)突出的usb接口芯片,它支持多路復(fù)用、非多路復(fù)用和dma并行傳輸。pdiusbd12需要外接mcu來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。
pdiusbd12完全遵從usb1.1協(xié)議,它內(nèi)部集成有串行接口引擎(sie)、fifo存儲(chǔ)器、收發(fā)器以及電壓調(diào)整器。還有softconnecttm、pll鎖相環(huán)、可編程的時(shí)鐘輸出、低頻晶振、終止寄存器和goodlinktm,以及并行和dma傳輸。
由t89s55 和pdiusbd12 構(gòu)成的接口電路如圖3所示,在此at89s55沒有畫出,但是d12與mcu的連接都已標(biāo)出。 pdiusbd12 的8 位并行數(shù)據(jù)接入at89s55的p0口,設(shè)計(jì)電路中只有d12一個(gè)外部總線擴(kuò)展電路,那么d12 的a0引腳可通過10kw電阻到地。d12 的ale引腳與mcu的ale引腳相連。振蕩電路采用6mhz,經(jīng)過d12內(nèi)部倍頻電路以后,實(shí)際d12內(nèi)部時(shí)鐘為24mhz。注意兩個(gè)電容值的大小是不一樣的,采用22pf和68pf的。
圖3 pdiusbd12與mcu通信電路
gl_n通過一個(gè)電阻和紅色led串聯(lián)到vcc。當(dāng)usb設(shè)備枚舉成功后,該led常亮,當(dāng)pc機(jī)與d12有數(shù)據(jù)通信時(shí),該led閃爍。因?yàn)闆]有用到d12的dma功能,所以dmack_n 和eot_n 必須接上拉電阻,int_n也要通過電阻上拉到vcc,因?yàn)檫@個(gè)引腳是開漏的。
系統(tǒng)軟件
軟件設(shè)計(jì)包括zlg7290控制程序、i2c通信程序、usb固件程序、在wince下usb host驅(qū)動(dòng)程序和應(yīng)用程序。各部分采用模塊化程序設(shè)計(jì),便于升級(jí)和維護(hù)。wince下usb數(shù)控鍵盤的驅(qū)動(dòng)程序與硬件平臺(tái)關(guān)聯(lián)很少,usb數(shù)控鍵盤在wince操作系統(tǒng)下具有通用性,并且該鍵盤的按鍵數(shù)目根據(jù)用戶的要求可以剪裁,功能也可以在程序設(shè)計(jì)中定制,可以滿足不同數(shù)控系統(tǒng)的需求。
i2c通信程序
在程序設(shè)計(jì)時(shí)要注意:數(shù)據(jù)線sda 的電平狀態(tài)必須在時(shí)鐘線scl 處于高電平期間保持穩(wěn)定不變,s
熱門點(diǎn)擊
- PWM至線性信號(hào)轉(zhuǎn)換電路適于風(fēng)扇速度控制
- 人機(jī)界面的技術(shù)發(fā)展史
- 富士觸摸屏與西門子PLC通訊中的問題及解決方
- 基于uC/OS-Ⅱ的光盤伺服控制系統(tǒng)的設(shè)計(jì)
- 為微控制器提供4到20mA回路的電路
- 水位自動(dòng)控制器 二
- 單相電動(dòng)機(jī)調(diào)速方法及其實(shí)現(xiàn)
- 一種集升降溫控制功能為一體的溫控器
- 高速64點(diǎn)FFT芯片設(shè)計(jì)技術(shù)
- 國半100V半橋式PWM控制器有效減小設(shè)計(jì)空
推薦技術(shù)資料
- 自制經(jīng)典的1875功放
- 平時(shí)我也經(jīng)常逛一些音響DIY論壇,發(fā)現(xiàn)有很多人喜歡LM... [詳細(xì)]
- 電源管理 IC (PMIC)&
- I2C 接口和 PmBUS 以及 OTP/M
- MOSFET 和柵極驅(qū)動(dòng)器單
- 數(shù)字恒定導(dǎo)通時(shí)間控制模式(CO
- Power Management Buck/
- 反激變換器傳導(dǎo)和輻射電磁干擾分析和抑制技術(shù)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究