1 微型光學手指導航模組簡介
微型光學手指導航模組,集感應測量光路、微型機械構造和數字/模擬微電子集成電路於(yu) 一體(ti) ,是高度微型化的機電一體(ti) 化人機輸入模塊,其核心技術是光學手指導航OFN(Optical Finger Navigation),又稱為(wei) 單
![]() |
簡單地說,OFN模組就是高度微型化的鼠標。
1.1 工作原理
OFN模組,通常由紅外LED光源、遮光觸摸麵板、光學透鏡組和具有光敏陣列的片上處理/控製芯片組成,一般製作在便於(yu) 集成應用的柔性線路FPC(Flexible Printing Circuit)板上。常用的OFNFPC,還集成了表麵按鍵,即所說的“鍋仔片(Metal Dome Switch)”,以簡單地實現“點擊確認”的功能。
OFN模組的工作原理如下:手指接觸遮光觸摸麵板,光敏陣列檢測到有目標活動,喚醒片上係統SoC投入正常工作狀態,紅外LED發光,啟動檢測光路,通過光學透鏡組的折射和聚焦,由光敏陣列得到一幕一幕的圖像數據信息;SoC從(cong) 中抽象出不同的運動矢量MV(Motion Vector),進而根據運動矢量在時間和空間上的相關(guan) 性,計算出每次手指移動的平麵相對量,形成運動數據,並及時通過數據接口向外傳(chuan) 輸出去。手指移出後,光敏陣列通過檢測還可以使SoC轉入休眠狀態,以節省功耗。
遮光觸摸麵板,需要能夠應對強光輻射幹擾及外界濕度變化影響。
運動相關(guan) 性的判斷與(yu) 計算是OFN的核心,通常沿用光電鼠標中成熟的簡化的13點、9點、7點或5點運動預測算法。還可以對得到的一係列數據,展開進一步的分析計算,得到“點擊”、“雙擊”、“拖動”等伴隨信息,進而實現傳(chuan) 統鼠標的各種功能。
OFN形成的數據信息一般包括兩(liang) 類:控製信息和運動信息。控製信息指示是否運動、點擊、雙擊、拖動等,運動信息即平麵的X方向與(yu) Y方向相對位移量。
1.2 技術特征
從(cong) 應用角度概括起來,OFN的性能特征如下:
① 超薄超小設計。通常,外形麵積在10 mm×10 mm以內(nei) ,有效感光孔徑在1.5 mm×1.5 mm以內(nei) ,厚度在28~51 mm,也有2 mm厚度的OFN推出。
② 極低功耗設計。工作電流在2~16 mA,通常為(wei) 3 mA;待機電流為(wei) 80~150 μA,大多數器件為(wei) 100 μA。
③ 直流供電需求。2.6~5.0 V範圍,常用為(wei) 2.8 V工作電壓,正在朝自適應、更低的電源供應發展。
④ 靈活的多接口支持。可以通過常規數字接口I2C(InterIntegrated Circuit)或SPI(Serial Peripheral Interface)上傳(chuan) 數據或接受主機配置,也有PS2鼠標接口或USB接口的;可以以中斷方式向主機隨時提示需要信息輸入;可以通過複位和開關(guan) 的形式接受主機統一調度。
⑤ 可選或自適應的光敏陣列分辨率,200~1250 CPI(Dots Per Inch)通常為(wei) 800CPI。
⑥ 位移數據設置。通常為(wei) 8位補碼格式。
⑦ 優(you) 良的EMC/EMI設計,2 kV以上的ESD(ElectroStatic Discharge)能力。
1.3 產(chan) 品化應用
OFN一經推出,就得到了迅速應用,特別是各種各樣的手機,無論是廉價(jia) 的功能手機(feature phones)還是高性能的3G(3rdGeneration)智能手機(smart phones),無論是Nucleus MTK、ThreadX展迅、Symbian體(ti) 係還是Windows mobiles、ARMLinux/androids、MACOSXiphoness體(ti) 係,如Samsung的i329/728/780/788/908/8510、Nokia的E72/N900、BlackBerry的8520/9700、LG的ks500/kt500、SonyEricsson的X1/X2/X3、Sharp的SH8020C、中興(xing) 的X60等,不勝枚舉(ju) 。
另外,在MID(mobiles Internet Devices)/MPC(Multimedia Personal Computer)/上網本、GPS導航、PMP(Portable Media Player)娛樂(le) 、數碼相機/攝像機等大眾(zhong) 化產(chan) 品中,也在不斷地得到廣泛應用。不著重考慮成本和功耗的工農(nong) 業(ye) 過程控製、儀(yi) 表儀(yi) 器設備等行業(ye) 領域,也在悄然進行OFN的擴展應用。
OFN應用前景十分壯觀,需求推動著OFN的應用,應用促進著OFN的不斷完善發展。
2 微型光學手指導航模組開發
2.1 應用器件選型
不少半導體(ti) 公司進行了OFN器件及其模組的研發與(yu) 生產(chan) ,如Avago的ABDSA320、ST的VD5376、ATLab的ATA2188MOF與(yu) MOA器件及其FO1R/FO3R/SMID/AP33M2I/P模組、CrucialTec的CT01~27係列模組、Apexone的A2815器件及其AMF813模組、Mitsumi的SFN11LE與(yu) SFN11GU等。特別值得一提的是SFN11GU,模組超薄化已經達到了2 mm。很多光電半導體(ti) 公司采用現有的OFN器件生產(chan) 不同規格的OFN模組係列產(chan) 品,如科特通信、世紀芯成、合盈光電等。
選擇OFN器件或模組,需要考慮的主要因素有:形體(ti) 大小、功率消耗、電源供給和硬件接口。形體(ti) 方麵更關(guan) 心的是厚度,越薄越適宜便攜式消費產(chan) 品,當然成本也會(hui) 越高。便攜式消費產(chan) 品的應用,特別注重形體(ti) 、功耗和電源供應,通常形體(ti) 小巧、工作與(yu) 待機電流小和可以更低電壓供電的OFN器件或模組更受青睞。工農(nong) 業(ye) 過程控製、儀(yi) 表儀(yi) 器設備等行業(ye) 應用,則更多考慮的是OFN器件或模組的穩定高效、連接方便和EMI/EMC/ESD能力。
這裏重點說明一下OFN的複合功能,導航及實時手指觸控與(yu) 位移檢測是OFN的基本功能,由此衍生OFN的複合功能包括:點擊、雙擊、拖動、滾屏、翻頁、卷屏等。通常采用的OFN器件,僅(jin) 有基本導航功能。為(wei) 適合常用的“點擊確認”需求,構成OFN模組時,常常在其FPC下附帶微型的“鍋仔片”機械按鍵,已經能夠滿足大多數應用場合了,非常經濟。一些OFN,則直接把常用的點擊、雙擊、拖動等簡單的複合功能集成在器件內(nei) ,把滾屏、翻頁、卷屏等複雜的複合功能設計成規範API函數庫,供OFN器件或模組用戶在具體(ti) 的應用係統的上層軟件中自由按需添加,CrucialTec的部分CTxx係列OFN模組就是如此。
2.2 硬件體(ti) 係設計
嵌入式係統中引入OFN,硬件電路設計上需要做到:
① 數字I/O接口的連接,主要考慮3個(ge) 方麵。
◆ I/O接口的連接。增加10~50 Ω限流電阻加以實現,特別是電壓規格不同的情形。
◆ 電磁幹擾的抑製。可以通過瓷片電容與(yu) 限流電阻構成簡潔的RC濾波電路加以實現。
◆ 驅動能力的增強。可以通過上拉電阻簡單加以實現。
② 供給電源的去噪濾波可以選用鉭電容與(yu) 瓷片電容,簡單加以實現。
圖1給出了一種典型的OFN模組硬件電路設計,其中Mode用於(yu) 選擇I2C或SPI總線形式,INT為(wei) 對外的實時中斷信號,#RST和#ShtDwn為(wei) 主機的複位和開關(guan) 控製端口,I2C信號為(wei) SCK與(yu) SDA,SPI信號為(wei) SCK、RxD、TxD和#CS。

圖1 OFN的硬件電路設計示意圖
對於(yu) 抗幹擾、驅動和適應能力強大的OFN器件,可以不考慮濾波、限流和上拉電阻,具體(ti) 情況應視所選用的OFN模組的性能和電路設計需求而定。電路設計時需要注意參考廠家的推薦電路及其器件參數與(yu) 相關(guan) 的估算公式,特別是PCB或FPC的印製板設計。#p#分頁標題#e#
2.3 軟件體(ti) 係設計
OFN模組,作為(wei) 一種新興(xing) 的人機輸入微型接口設備,一般是以片外設備的身份,加入到以各類微處理器為(wei) 核心的嵌入式應用係統中的,嵌入式微處理器軟件體(ti) 係必需實現對OFN模組的驅動才能及時地從(cong) 中得到來自OFN的各種信息。
OFN模組的驅動程序主要包括3部分:初始配置、過程變化控製和數據的收發傳(chuan) 輸。初始配置完成對OFN光敏分辨率、休眠方式、連續中斷間隔等項的設置,如果不進行初始配置,OFN則按默認配置工作。過程變化控製用於(yu) 主機對OFN的開關(guan) 、複位及其工作參數變化的控製。數據收發傳(chuan) 輸是OFN的常規行為(wei) ,隻要有手指觸控,OFN就會(hui) 以一定的時間間隔按中斷的形式通知主機係統。可以采用中斷或查詢的方式實時地從(cong) OFN中獲取手指的觸控輸入信息。查詢操作往往需要使用周期定時器,在定時中斷中查詢並獲取必要的OFN數據。從(cong) 這層意義(yi) 上講,查詢方式也是一類中斷方式。主機可以在外部事件中斷或定時中斷服務中,通過I2C或SPI總線操作,得到必要的OFN檢測信息。
通過底層驅動程序得到OFN檢測信息後,對於(yu) 沒有嵌入式操作係統EOS(Embedded Operatig System)的直接軟件體(ti) 係,或諸如RTX、μC/OSII等微型嵌入式實時操作係統ERTOS(Embedded Real Time Operating System)的主機係統,上層應用程序直接用來進行屏幕指示、操作控製或數據的存儲(chu) 、轉發等活動,這主要針對工農(nong) 業(ye) 過程控製、儀(yi) 表儀(yi) 器設備、器件性能檢測完善等應用情形。對於(yu) 使用Nucleus MTK、ThreadX展迅、Symbian、windows ces/mobiles、ARMLinux/androids、MACOSXiphoness、VxWorks等典型EOS及其應用體(ti) 係的主機係統,還需要對OFN信息進行數據封裝或控製格式轉換,以便使原有係統的絕大多數應用程序都能直接使用,如鼠標數據包格式、觸摸屏數據包格式、方向鍵信息格式等。這種信息封裝或變換,操作簡單的直接在驅動程序中實現,操作複雜的則需要在應用層通過消息、隊列等軟件通信或同步機製做“二傳(chuan) ”或“三傳(chuan) ”加以實現。
具有EOS的軟件係統,OFN驅動程序需要遵循相應EOS公用驅動程序的編寫(xie) 、調試、加/卸載要求,如windows ces/mobiles的單/雙層、本地/流接口驅動、動態庫形式,ARMLinux的字符設備驅動、動態加/卸載、VxWorks的I/O設備驅動等。OFN驅動程序傳(chuan) 播的是係統公用的人機交互輸入信息,必須為(wei) 公用驅動程序。EOS驅動程序可以劃分為(wei) 專(zhuan) 用驅動程序或公用驅動程序兩(liang) 大類,公用驅動程序軟件要求很高,需要根據具體(ti) EOS的特點和要求,認真編寫(xie) 、調試和測試。
3 微型光學手指導航模組應用實踐
在各類嵌入式應用係統中開發使用OFN模組,軟硬件體(ti) 係設計的核心是OFN驅動程序的實現,其關(guan) 鍵在於(yu) OFN數據信息的實時采集和具體(ti) EOS下公用信息的形成。下麵針對一些最常見的OFN應用開發設計實踐,加以闡述。其中涉及的I2C、SPI、UART、LCD(Liquid Crystal Display)、定時器(Timer)、GPIO(General Port Input/Output)等的軟件驅動操作,限於(yu) 篇幅,這裏不再著重說明。
3.1 工業(ye) 測控/儀(yi) 表儀(yi) 器應用
工農(nong) 業(ye) 過程控製、儀(yi) 表儀(yi) 器設備、器件性能檢測等軟件體(ti) 係或微型ERTOS下的OFN應用,可以采用外部事件中斷或定時器查詢的方式,在其中斷服務程序中直接操作I2C或SPI總線,高效地從(cong) OFN中獲得手指觸控信息,並進行屏幕指示、操作控製或數據的存儲(chu) 、轉發等活動。
下麵的例程代碼(見網絡版)展示了ARM926T內(nei) 核的S3C2440微處理器平台上測試OFN模組A2815性能的情形。中斷服務程序中進行I2C或SPI總線操作,獲得手指觸控信息,在LCD屏上以“鼠標”形式隨動顯示,並通過UART接口上傳(chuan) 數據給PC機。
3.2 Nucleus MTK手機應用
聯發科技MediaTek推出的各種款式功能手機,以高度的性價(jia) 比具有極高的市場份額,其內(nei) 核是ARM7EJS或ARM9EJS微處理器,在MentorATI的優(you) 先級搶占調度和時間片輪轉的多任務ERTOS--Nucleus基礎上,形成了完整的人機接口MMI(Man Machine Interface)應用程序體(ti) 製,俗稱“MTK”。Nucleus MTK多數情況下采用可管理的逐級中斷機製:低級中斷LISR(Lower ISR)→高級中斷HISR(High ISR)→中斷任務處理ISR(Interrupt Serve Routine)。ISR可以與(yu) 其他任務進行通信或同步的交互。
Nucleus MTK係統不支持鼠標,但支持鍵盤和觸摸屏操作,而觸摸屏操作最終歸結在鍵盤操作上。因此在Nucleus MTK下應用OFN模組,需要把OFN的“觸控”信息轉換為(wei) “方向動作”信息,進而廣播為(wei) 可以公用的“方向按鍵”信息,從(cong) 而為(wei) 多數現有的和未來的應用程序所共享。不容忽視的是必須實現高度頻繁的OFN信息與(yu) 緩慢的方向按鍵之間的合理匹配,可以通過均值濾波和邏輯分析進行取舍算法達到這一目的。
需要注意的是,Nucleus MTK軟件體(ti) 係層次和等級較為(wei) 嚴(yan) 格,高低層之間除了通信、同步和信息傳(chuan) 遞,一般不允許函數互相調用;同時,為(wei) 保證中斷響應的及時性,不應在中斷服務程序中作過多的停留,因此傳(chuan) 統的設備驅動及其分析處理需要放在不同的層次上,按輕重緩急,分別加以實現。
按照上述Nucleus MTK的設備驅動規範和OFN信息的運用機理,設計OFN模組的Nucleus MTK軟件應用如下:定義(yi) OFN特定消息結構,分配中斷形式和總線接口;實時獲取OFN移動信息,取舍處理後,打包成OFN消息包,上傳(chuan) MMI應用處理層;MMI應用處理層拆包分析,變換成方向按鍵的“按下”和“釋放”消息,進而廣播給整個(ge) 係統。相關(guan) 的關(guan) 鍵程序開發如下:
① 基本設置。增加全局操作常量MSG_ID_MMI_OFN_MOVE_REQ,定義(yi) OFN消息結構體(ti) ofn_hdr_ind_struct{LOCAL_PARA_HDR, kal_uint8 Direction},並在係統自定義(yi) 設備驅動的初始化文件中加入對OFN初始化函數的調用。
② 底層驅動程序設計。限於(yu) 篇幅,這裏僅(jin) 列出I2C接口的定時器中斷查詢實現。
③ 公用信息形成。在上層主要程序文件MMITask.c中添加代碼。
3.3 windows ces/mobiles應用
windows ces/mobiles是一款在嵌入式係統,特別是智能手機中,廣泛應用的EOS。windows ces/mobiles按照“物理中斷IRQ(Interrupt ReQuest)→邏輯中斷SYSINTR(System Interrupt)→中斷服務線程IST(Interrupt Serve Thread)”的層層映射方式進行中斷處理,其設備驅動程序以用戶態下的DLL(Dynamic Link Library)文件形式存在,區分為(wei) 本地與(yu) 流接口驅動、獨立與(yu) 雙層驅動,可以在係統啟動時自動加載或動態加載。啟動時加載的驅動程序,需要特別進行注冊(ce) 表的配置添加。
OFN模組及其應用特點決(jue) 定了在windows ces/mobiles下,其驅動程序宜設計為(wei) 獨立的本地驅動形式,並在係統啟動時能夠自動加載。windows ces/mobiles支持鼠標操作,有鼠標消息結構體(ti) 的係統定義(yi) ,可以用來簡化OFN的驅動程序。OFN模組的windows ces/mobiles軟件應用可以完全在驅動程序中實現,中斷服務程序的編寫(xie) 和係統注冊(ce) 表的配置添加是OFN模組windows ces/mobiles驅動程序設計的關(guan) 鍵。以I2C總線接口、外部中斷事件觸發方式說明OFN模組windows ces/mobiles驅動程序的具體(ti) 實現,核心微處理器為(wei) ARM926T內(nei) 核的S3C2440。
3.4 ARMLinux/androids應用
ARMLinux/androids是一個(ge) 源碼開放、音/視頻性能優(you) 良、網絡功能強大、易於(yu) 擴展開發的EOS及其應用體(ti) 係,一經推出就在便攜式移動通信、微型筆記本電腦等諸多領域得到了廣泛運用。其底層多是基於(yu) CortexA8/A9、ARM1176、ARM9EJS等內(nei) 核的微處理器。Linux下設備驅動規範是將設備視作文件操作,稱為(wei) “設備文件”,應用十分方便。其設備驅動程序分為(wei) 字符型、塊型和網絡型三類,嵌入式係統的大多數外設或接口都可以作為(wei) 字符型設備進行驅動。根據應用的特點,Linux將所有輸入設備歸為(wei) 可以數據緩衝(chong) 的鏈表結構的字符型輸入子類(Input),包括鼠標、鍵盤、觸摸屏等,其中鼠標類驅動(mousedev)架構體(ti) 係十分完備。ARMLinux/androids體(ti) 係的這些特征,使得OFN模組的驅動應用開發簡便了很多:可以按照鼠標類驅動的實例化方式,快速實現OFN的驅動程序設計。Linux驅動可以動態加載,也可以在啟動時加載;OFN設備使用頻繁,宜選擇啟動時加載。這裏以常見的TI推出的CortexA8內(nei) 核的OMAP3530微處理器平台為(wei) 例,關(guan) 鍵的程序代碼略--編者注。#p#分頁標題#e#
4 結語
光學手指導航模組,性能高度集成,成本低,形體(ti) 小,在嵌入式應用係統中備受青睞。隻要按照各種嵌入式應用體(ti) 係的具體(ti) 特點,遵循各類嵌入式體(ti) 係及其操作係統下驅動軟件的開發規律,並因地製宜,具體(ti) 情況具體(ti) 分析,就可以無縫地將其融入到各個(ge) 已有的嵌入式應用軟硬件體(ti) 係中,並拓展到新的嵌入式應用產(chan) 品中。不斷豐(feng) 富完善的微型光學手指導航模組,應用前景極好,推動著人機輸入界麵的深遠變革和長足發展。
轉載請注明出處。








相關文章
熱門資訊
精彩導讀



















關注我們

