超聲波是一種彈性機(jī)械波,其傳播時(shí)能量相對(duì)集中,衰減小,不受光線和周圍物體顏色的影響,廣泛應(yīng)用于工業(yè)檢測之中。
電子筆系統(tǒng)要精確完成筆跡形成和存儲(chǔ)的功能,首先是要利用超聲波檢測出各個(gè)采樣時(shí)刻筆觸所在位置。為此,需要一個(gè)超聲波發(fā)生器安裝于筆觸位置,兩個(gè)超聲波傳感器固定在一個(gè)主設(shè)備上。它們的幾何位置關(guān)系可以由圖1表示,其中R(L)和R(R)是兩個(gè)固定的超聲波傳感器,TX是筆觸上的超聲波發(fā)生器,a為R(L)與R(R)之間的距離,是一個(gè)已知常量。
在有紅外信號(hào)同步的情況下,b和c的大小可以通過渡越時(shí)間法實(shí)時(shí)測量得到。然后,以R(L)所在位置為原點(diǎn),以R(L)和R(R)的連線為x軸建立平面坐標(biāo)系,由簡單的幾何知識(shí)得到此時(shí)筆觸的位置坐標(biāo)為
通過反復(fù)測量,以75 Hz頻率采樣形成點(diǎn)跡,多個(gè)時(shí)刻的點(diǎn)跡最終形成連續(xù)筆跡。為了避免環(huán)境噪聲干擾和多套系統(tǒng)同時(shí)使用時(shí)產(chǎn)生的相互干擾,采用文獻(xiàn)敘述的兩步檢測和時(shí)隙跳變檢測方法。
2 系統(tǒng)硬件設(shè)計(jì)
超聲波電子筆系統(tǒng)由一個(gè)主機(jī)設(shè)備和一只電子筆組成。其中主機(jī)設(shè)備包含兩個(gè)位置固定的超聲波傳感器、超聲接收電路、信號(hào)采集和用于筆觸位置計(jì)算的DSP處理器。為了功能完善,DSP外接有SD卡存儲(chǔ)器、液晶顯示器(LCD),溫度傳感器和紅外發(fā)生器,其整體架構(gòu)如圖2所示。
接收電路分前級(jí)放大,帶通濾波,后級(jí)放大,整形電路幾部分。因?yàn)橹苯佑沙暡▊鞲衅鹘邮盏降男盘?hào)十分微弱,需要進(jìn)行前級(jí)放大,此處選用高精度單片運(yùn)算放大器OP07實(shí)現(xiàn)。帶通濾波采用壓控電壓源二階帶通濾波器,其電路原理如圖3所示,它通過改變RF和R4的比例就可改變頻寬而不影響中心頻率,電路參數(shù)由下面的公式計(jì)算得到,中心頻率
核心處理器選用TI公司的16位低功耗DSP芯片TMS320VC5509A。VC55-09A主頻最高達(dá)200 MHz,內(nèi)部有雙乘法器,支持DMA操作,集成有USBl.1控制器、多路A/D轉(zhuǎn)化器,并且它自帶MMC控制器,可以擴(kuò)展MMC卡和SD卡作為存儲(chǔ)設(shè)備。SD卡主要用于存儲(chǔ)形成的筆跡信息,用于事后通過片上集成的USB接口上傳至電腦作進(jìn)一步處理,比如通過文字識(shí)別軟件生成標(biāo)準(zhǔn)字體;液晶顯示器實(shí)時(shí)顯示筆跡信息,并且調(diào)整系統(tǒng)參數(shù)使有利于人機(jī)交互;溫度傳感器用于監(jiān)控環(huán)境溫度,由于超聲波在空氣中的傳播速度是一個(gè)與溫度有關(guān)的量,需要對(duì)檢測的筆跡結(jié)果作修正;紅外發(fā)生器配合電子筆中的紅外接收器工作,作為超聲波測距時(shí)的同步信號(hào)。
在與SD卡連接時(shí),直接利用TMS320VC5509A自帶的MMC控制器,通過對(duì)EBSR(外部總線選擇寄存器)的設(shè)置,來選擇工作于MMC/SD模式或MCBSP(多通道緩沖串口)模式,對(duì)SD卡的操作其接口方式,如圖4所示。
[!--empirenews.page--]
顯示部分,為了使編程方便,選用了日本SEIKOEPSON公司的SEDl335控制器,它可以直接與DSP相連,有較強(qiáng)功能的I/O緩沖器,在其內(nèi)部時(shí)鐘全周期內(nèi),可全速響應(yīng)DSP的訪問,使DSP的數(shù)據(jù)總線直接與控制器的數(shù)據(jù)接口連接。
電子筆部分,主要是在MCU的控制下產(chǎn)生超聲波信號(hào),出于小體積和低功耗的考慮,選擇了微芯公司8位閃存PIC單片機(jī)PICl0F。PICl0F是6引腳的SOT-23封裝,指令執(zhí)行速度可達(dá)2 MI/S,它具備8 MHz內(nèi)置振蕩器,具有波形生成功能。為了提高系統(tǒng)的抗干擾能力,借鑒雷達(dá)波形設(shè)計(jì)方法,波形設(shè)計(jì)為偽隨機(jī)的M序列,頻率設(shè)置為40 kHz。電子筆中的壓力傳感器安裝于筆觸頂端,用于檢測電子筆是否與書寫平面接觸,只有與書寫平面接觸時(shí),才啟動(dòng)其它電路,以節(jié)省功耗。
3 系統(tǒng)軟件設(shè)計(jì)
主設(shè)備的軟件系統(tǒng)采用μC/OS多任務(wù)系統(tǒng),其中點(diǎn)跡計(jì)算和筆跡形成部分利用VC5509A有雙乘法器的特點(diǎn),用匯編語言高效實(shí)現(xiàn),整體軟件功能,如圖5所示。
系統(tǒng)初始化時(shí)完成主程序的入口設(shè)置,將寄存器清零,設(shè)置中斷矢量,對(duì)ROM區(qū)和RAM區(qū)進(jìn)行初始化。
參數(shù)設(shè)置是對(duì)采樣時(shí)間,檢測方式等參數(shù)進(jìn)行配置。
來波檢測部分,首先由檢測電路引起的中斷計(jì)算出時(shí)間差,以此作為點(diǎn)跡計(jì)算的依據(jù),然后由坐標(biāo)轉(zhuǎn)換關(guān)系計(jì)算出當(dāng)前點(diǎn)跡位置。計(jì)算過程中包含開方運(yùn)算,采用牛頓迭代法完成。
SD卡的操作包括初始化和讀寫兩項(xiàng)操作。初始化時(shí)要分別對(duì)SD卡控制器和SD卡初始化。SD卡控制器的初始化主要是完成各種參數(shù)的配置,包括控制器與DSP數(shù)據(jù)傳輸?shù)腄MA方式、傳輸速率、讀寫超時(shí)設(shè)置和讀寫數(shù)據(jù)塊長度等;SD卡的初始化主要是檢測卡的電壓狀態(tài),分配相對(duì)地址。
DSP訪問液晶控制器時(shí),首先將指令代碼寫入指令緩沖器,隨后將該指令所需參數(shù)按順序通過數(shù)據(jù)輸入緩沖器寫入相應(yīng)的功能寄存器中。其中SEDl335指令代碼既可設(shè)置功能位,又是參數(shù)寄存器的選通碼。
手寫筆內(nèi)部MCU部分的程序既要通過壓力傳感的信號(hào)判斷筆觸是否已經(jīng)與紙張接觸,又要判斷主設(shè)備的紅外同步信號(hào),當(dāng)檢測就緒時(shí),才產(chǎn)生設(shè)定頻率的超聲波信號(hào)。