在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 漢王手寫芯片的觸摸屏控制器應(yīng)用設(shè)計(jì)

            漢王手寫芯片的觸摸屏控制器應(yīng)用設(shè)計(jì)

            作者:北京大學(xué) 楊自鋒 趙建業(yè) 時(shí)間:2007-11-07 來(lái)源:中電網(wǎng) 收藏

            引言

            在PDA和中高端手機(jī)等手持設(shè)備中,已經(jīng)成為一種比較常用的輸入設(shè)備,用戶可以通過在上的點(diǎn)擊和寫劃完成與手持設(shè)備的交互。此外,由于基于的中文手寫輸入法更符合我國(guó)各個(gè)文化層次的人使用,因此越來(lái)越多地出現(xiàn)在時(shí)下流行的各種手持設(shè)備中。大多數(shù)中文手寫輸入法完全由軟件來(lái)實(shí)現(xiàn),將輸入法界面程序和后臺(tái)識(shí)別算法集成到一起。其好處是不改變系統(tǒng)的硬件結(jié)構(gòu),而且便于升級(jí);然而,使用商用的手寫識(shí)別算法,較為高昂的費(fèi)用和繁重的移植工作,會(huì)大大增加開發(fā)成本和延長(zhǎng)開發(fā)周期。若使用開源的手寫識(shí)別源代碼(如kanjipad)進(jìn)行移植開發(fā),則一方面涉及移植的工作量問題,另一方面識(shí)別率比較低。針對(duì)以上這些由軟件實(shí)現(xiàn)中文手寫輸入法所帶來(lái)的一系列問題,本文提出一種在“PXA255微處理器+Linux+Qtopia圖形界面”上由HW006同時(shí)實(shí)現(xiàn)中文手寫輸入及觸摸屏控制的設(shè)計(jì)方案。該方案有以下幾個(gè)優(yōu)點(diǎn):

            ◇ 軟件方面將觸摸屏驅(qū)動(dòng)和手寫識(shí)別的工作合二為一。
            ◇ 完全在用戶空間實(shí)現(xiàn)觸摸屏的驅(qū)動(dòng),減少了硬件平臺(tái)的依賴性,降低了驅(qū)動(dòng)設(shè)計(jì)的難度,分層的驅(qū)動(dòng)設(shè)計(jì)思想也不會(huì)破壞原有程序的完整性。
            ◇ 硬件方面,省去了專用的觸摸屏,降低了成本。
            因此,該方案在工作量、成本、難度方面均有著明顯的優(yōu)勢(shì),從而大大縮短了開發(fā)周期,增強(qiáng)了實(shí)用性。

            1  HW006簡(jiǎn)介

            HW006是一款漢王手寫,它內(nèi)置了觸摸屏控制電路和對(duì)外的UART接口,同時(shí)提供了靈活的控制命令接口,可以滿足觸摸屏分離型、觸摸屏一體型等不同情況下的各種應(yīng)用需求。

            1.1  HW006主要功能

            ◇ 支持6 763個(gè)簡(jiǎn)體中文(GB2312)、52個(gè)英文大小寫字母、10個(gè)數(shù)字、12個(gè)常用符號(hào)的手寫識(shí)別輸入,并可自由組合,設(shè)置識(shí)別范圍;
            ◇ 支持點(diǎn)擊模式、手寫模式和混合模式;
            ◇ 內(nèi)嵌觸摸屏控制硬件和軟件,可直接與觸摸屏相連接;
            ◇ 支持異步串行通信接口(UART),通信波特率可設(shè)置,便于與各種CPU進(jìn)行通信;
            ◇ 在手寫狀態(tài)下,識(shí)別參數(shù)可設(shè)置。
            可見,HW006完全可以實(shí)現(xiàn)預(yù)想的功能。根據(jù)實(shí)際需要,選用混合模式。

            1.2  HW006的通信協(xié)議

            HW006為從設(shè)備,主設(shè)備對(duì)該芯片發(fā)送控制命令,HW006可以執(zhí)行相應(yīng)的功能。

            (1) 主設(shè)備向手寫芯片發(fā)送命令

            格式如下:

            本文引用地址:http://www.biyoush.com/article/71389.htm

            (2)  手寫芯片向主設(shè)備發(fā)送數(shù)據(jù)

            這里主要介紹混合模式下的數(shù)據(jù)格式,如下:

            在混合模式下,手寫芯片先發(fā)送軌跡坐標(biāo),屬性表示該點(diǎn)的狀態(tài):0x00,落筆;0x05,移筆;0x0f,抬筆。EOF表示發(fā)送軌跡結(jié)束標(biāo)志,其值為0xff。之后發(fā)送識(shí)別字的編碼,低字節(jié)在前,高字節(jié)在后。

            1.3  命令碼的簡(jiǎn)單介紹

            對(duì)HW006進(jìn)行操作控制的主要命令碼如表1所列。

            表1  HW006的主要命令碼

            2  硬件框圖以及通信格式簡(jiǎn)介

            硬件框圖如圖1所示。

            圖1  硬件框圖

            UART通信格式: 上電默認(rèn)波特率,9 600 bps;數(shù)據(jù)位,8位;校驗(yàn)位,無(wú);停止位,1位;先低位后高位。觸摸屏采用了4線電阻屏,在觸摸屏與HW006連線處,需要加上濾波電容。

            上電初始化時(shí),默認(rèn)工作模式為點(diǎn)擊模式。用戶可根據(jù)應(yīng)用需要,設(shè)置相應(yīng)工作模式。使用混合模式時(shí)必須通過UART給系統(tǒng)發(fā)送4個(gè)數(shù)據(jù)X1、Y1、X2、Y2,以確定矩形手寫區(qū)域的范圍。

            3  手寫輸入法及觸摸屏驅(qū)動(dòng)的實(shí)現(xiàn)

            選用的圖形界面系統(tǒng)Qtopia是由Trolltech公司所開發(fā)的專門用于嵌入式Linux操作系統(tǒng)電子設(shè)備的應(yīng)用平臺(tái),這里使用開放源代碼的Qtopia PDA版。它具有可定制的用戶界面和集成的組件,其組件包括窗口操作界面、游戲和多媒體、PIM應(yīng)用程序、輸入法、本地化支持和無(wú)線支持等。對(duì)于輸入法,它提供了一系列的通用API,便于開發(fā)用戶自己的輸入法。

            Qtopia軟件平臺(tái)可分為4個(gè)層次,如圖2所示。

            圖2  Qtopia軟件平臺(tái)層次結(jié)構(gòu)

            其中在Qt/Embedded層提供了觸摸屏的API,在Qtopia層提供了輸入法的API。需要完成的工作: ①  在Linux層編寫觸摸屏庫(kù),提供給Qt/Embedded層調(diào)用;②  改寫Qt/Embedded層的觸摸屏API;③  在Qtopia層利用輸入法API完成手寫輸入法的手寫和識(shí)別字的界面。下面詳細(xì)介紹以上步驟。  

            3.1  在Linux層編寫觸摸屏庫(kù)

            主要是提供設(shè)置HW006工作模式、讀/寫HW006數(shù)據(jù)以及對(duì)讀到的數(shù)據(jù)進(jìn)行發(fā)送的接口函數(shù),最終編譯成動(dòng)態(tài)鏈接庫(kù),可供上層的應(yīng)用程序調(diào)用。主要的接口函數(shù)及程序的主要代碼如下:

            (1)  打開串口
            int *ts_open(const char * device) {

            *fd=open(device,O_RDWR| O_NONBLOCK);  
            if ( (*fd) < 0 ){
            printf(open error!n);
            return NULL;
            }
            return fd;
            }

            (2)  設(shè)置HW006的混合工作模式
            void ts_config(int* fd) {

            write(*fd,&SET_96,2); //設(shè)置HW006波特率為9600bps
            write(*fd,&SET_X1,2);
            write(*fd,&SET_Y1,2);
            write(*fd,&SET_X2,2);
            write(*fd,&SET_Y2,2);//設(shè)置手寫區(qū)域4個(gè)角的坐標(biāo)
            write(*fd,&WAIT_T,2);//設(shè)置漢字識(shí)別等待時(shí)間
            write(*fd,&REG_SCOPE,2);//設(shè)置識(shí)別范圍
            write(*fd,&REG_CAN,2);//設(shè)置識(shí)別字候選個(gè)數(shù)

            }

            (3)  讀串口
            int ts_read(int *fd,unsigned char *buf) {
            int res;
            res=read(*fd,buf,3);
            return res;
            }

            (4) 發(fā)送到有名管道
            void sendFifo(unsigned char* buf,int i) {

            fd=open(/dev/myfifo,O_WRONLY | O_NONBLOCK);
            write(fd,buf,i);
            close(fd);
            }

            3.2  改寫Qt/Embedded層的觸摸屏API

            對(duì)讀到的原始數(shù)據(jù)進(jìn)行處理,包括變換、校正、分發(fā)等。Qt/Embedded中提供觸摸屏API的文件是qwsmouse_qws.cpp,其中的類QCalibratedMouseHandler實(shí)現(xiàn)了對(duì)觸摸屏數(shù)據(jù)的讀取及其處理。本文所用的HW006是8位的,而分辨率是640



            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉