中心議題:
- 激光治療儀的輸入系統(tǒng)設計
解決方案:
- ADS7846作為控制器
- PIC16F876作為微處理器
如今各種觸摸屏的應用簡化了人機交互過程,本文介紹了四線電阻式觸摸屏的工作原理及在激光治療儀中的應用;闡述了ADS7846同微控制器PIC16F876的數據傳遞過程。
引 言
隨著社會自動化程度的提高,人機交互能力急需大的轉變,向著更方便使用、更直觀的方向發(fā)展。激光治療機主要應用激光的物理特性作用于人體,產生機體化學反應從而達到治療疾病的目的。激光治療機作為一種精密儀器需要精確的控制及防塵、防靜電、防潮等方面的嚴格要求。激光治療機輸入設備采用觸摸屏控制,既是基于以上要求也是從方便使用者操作和界面直觀的角度考慮的。觸摸屏的應用使得數據的顯示和數據的輸入結合為一體,簡化了整個設備。
1、觸摸屏原理
觸摸屏附著在顯示器的表面,與顯示器配合使用。通過觸摸產生模擬電信號,經過轉換為數字信號由微處理器計算得出觸摸點的坐標,從而得到操作者的意圖并執(zhí)行。觸摸屏按其技術原理可分為五類:矢量壓力傳感器、電阻式、電容式、紅外線式和表面聲波式,其中電阻式觸摸屏在實際應用中的較多。電阻式觸摸屏由4層的透明薄構成,最下面是玻璃或有機玻璃構成的基層,最上面是一層外表面經過硬化處理從而光滑防刮的塑料層,附著在上下兩層內表面的兩層為金屬導電層(OTI,氧化銦),這兩層由細小的透明隔離點進行絕緣。當手指觸摸屏幕時,兩層電層在觸摸點處接觸。
觸摸層的兩個金屬導電層分別用來測量X軸和Y軸方向的坐標。用于X坐標測量的導電層從左右兩端引出兩個電極,記為X+和X-。用于Y坐標測量的導電層從上下兩端引出兩個電極,記為Y+和Y-。這就是四線電阻觸摸屏的引線構成。當在一對電極上施加電壓時,在該導電層上就會形成均勻連接的電壓分布國。若在X方向的電極對上施加一確定的電壓,而Y方向電極對上不加電壓時,在X平行電壓場中,觸點處的電壓值可在在Y+(或Y-)電極上反映出來,通過測量Y+電極對地的電壓大小,便可得知觸點的X坐標值。同理,當在Y電極對上加電壓,而X電極對上不加電壓時,通過測量X+電極的電壓,便可得知觸點的Y坐標。測量原理如圖1所示。
五線式觸摸屏與四線式不同。主要區(qū)別在于五線觸摸屏將其中一導電層的四端均引出來作為四個電極,另一導電層僅僅作為測量的導體輸出X向和Y向的電壓,測量時要交替在X向和Y向上施加電壓。
2、觸摸層控制器工作原理
觸摸屏控制器有多種,主要的功能均是在微處理器的控制下向觸摸屏的兩個方向分時施加電壓,并將相應的電壓信號傳送給自身A/D轉換器,在微處理器SPI口提供的同步時鐘作用下將數字信號讀入微處理器??刂破鰽DS7846基本結構如圖2所示。
圖1觸摸點P處測量結果計算如下:
[page]
ADS7846內部可以通過寄存器的設置A/D轉換器的分辨率設為8位或12位,在本系統(tǒng)中A/D轉換器的分辨率取12位。則P點的二進制輸出代碼為:
其中:Vref_full為加在ADS6746內部A/D轉換器上的參考電壓。
觸摸屏控制器的運行是通過串行數據輸入口DIN輸入控制命令進行控制的??刂频幕靖袷饺缦拢?/p>
bit7指明發(fā)送命令開始,高電平有效。A2:A0用于選擇數據輸入通道,101選擇X坐標測量,001選擇Y坐標測量。MODE將內部模數轉換器的分辨率定義為8位(MODE=1)或12位(MODE=0)。SER/DFR為單端/雙端參考電壓選擇位。PD1:PD0根據省電模式的需要進行選擇設置。這些命令控制位的設置將在程序代碼部分得以應用。
3、系統(tǒng)硬件設計
激光治療機的輸入系統(tǒng)由三部分組成:觸摸屏、觸摸屏控制器和微控制器。微控制器采用Microchip公司的新型芯片PIC16F867。內部總線采用哈佛雙總線結構。在內部頻率相同的情況下,加快了數據的傳輸速度,避免了瓶頸現(xiàn)象。此芯片采用精簡指令集(RISC)易于使用,加快了開發(fā)速度。內部含有8KB程序存儲器(分頁操作),256字節(jié)EEPROM,368字節(jié)RAM,8路模數轉換器,1個通用串行口(SCI),1個I2C接口,1個串行外圍接口(SPI),3個定時器及看門狗電路(WathcDog)等許多重要資源。外圍許多接口功能上的復用使得整個微控制器簡潔,功能強大。
根據ADS7846與微控制器進行數據交換的接口特征,選用PIC16F876的SPI口。SPI口包括三個信號:SDO(串行數據輸出),SDI(串行數據輸入),SCK(串行同步時鐘)。硬件連接關系見圖3。
本文側重于激光治療儀輸入系統(tǒng)的設計,其它硬件的設計僅給出接口的含義。由于PIC16F876的內部集成度較高,所以外圍接口相當簡單,但是要完成復雜的控制功能必須進行內部寄存器的設置。[page]
4、軟件設計
按照以上設計思想設計了應用軟件,圖4為主程序與觸摸屏輸入檢測部分的程序流程圖。其中,坐標數據處理通常采用查表的方法,將用戶命令的坐標形成數據表,利用獲得的坐標信息進行變換快速查表,從而提高軟件的運行速度。
下面是PIC16F876同ADS7846接口的部分程序代碼。
CMDATA EQU 30H
XDATA_H EQU 31H
XDATA_L EQU 32H
YDATA_H EQU 33H
YDATA_L EQU 34H
;初始化寄存器
MOVLW 02H
MOVWF TRICB ;定義B口方向
MOVLW 90H
MOVWF TRISC;定義C口方向
BCF SSPCON,5
MOVLW 10H
MOVWF SSPCON;初始化SSPCON
BSF SSPCON,5;啟動SPI
;獲取X,Y坐標
GetXY
BCF PORTB,0,選口AD7846
MOVLW 0D4H;獲取X坐標命令
MOVWF SSPBUF;發(fā)送命令
BUSY
BTFSC PORTB,1;判忙?
GOTO BUSY
MOVF SSPBUF,W;12位數據
MOVWF XDATA_H;XDATA_H存放高字節(jié)
MOVF SSPBUF,W
MOVWF XDATA_L;XDATA_L存放低字節(jié)
…………………………………………
;Y坐標數據同樣處理
RETLW 0
5、結 語
本系統(tǒng)的設計使得輸入極其方便,而且外圍設備得到簡化,在實際應用中提高了人機交互的能力,收到良好的社會效益。系統(tǒng)設計的思想不僅能夠應用在醫(yī)療行業(yè),而且能夠應用在工業(yè)生產自動化以及手持設備等各行業(yè)。