基于ARM的醫用數據采集系統的人機接口設計
ADS7843可以通過連接觸摸屏X+將觸摸信號輸入到A/D轉換器,同時打開Y+和Y-驅動,然后再數字化X+的電壓,從而得到當前Y位置的測量結果,同理,也可以得到X坐標的邏輯坐標。當得到X、Y的邏輯坐標后,通過SPI接口將數據傳送給LM3S3748進行數據處理。其ADS7843的外部電路如圖3所示。

1.4 RS232串口通信電路
RS232串口主要用于手柄控制器與核心板的通信,這類似于人機接口中的鍵盤接口。它們之間通過Modbus協議進行通信。其RS232串口通信電路如圖4所示。

2 系統軟件設計
2.1觸摸屏軟件設計
ADS7843具有兩種工作模式,分別為單端基準模式和差分基準模式。同時還可以對其進行12位或8位轉換模式的選擇。本設計采用差分基準模式和12位轉換模式,即:
WriteCharTo7843(0xD0);∥送控制字10010000,
即用差分方式+12位轉換模式,讀X坐標;
……
WriteCharTo7843(0x90);∥送控制字11010000,
即用差分方式+12位轉換模式,讀Y坐標;
CPU采用中斷方式對坐標進行讀取。當未對屏幕進行觸摸時,ADS7843的引腳PENIRQ為高電平輸出,當對屏幕有觸摸動作時,引腳PENIRQ變為低電平輸出,每當CPU檢測到這個引腳的下降沿時,系統進入中斷讀取坐標。其坐標值讀取的流程如圖5所示。當CPU在每一次獲取邏輯坐標的過程中,實際上分別對X、Y坐標進行了11次讀取,然后將讀取到的邏輯坐標值分別存入兩個數組,并且對這兩個數組中的值進行冒泡排序,使其從小到大依次排列后,再去掉最大和最小的兩個數值,并將中間值作為基準,余下數值與基準值進行求差的絕對值運算。設計中可設定一個閥值(此閥值可根據實驗設置為5),如果絕對值大于閥值,則拋棄此值,最后將剩余數值求和平均,并將其作為最終邏輯坐標值。這就是流程圖中“數據處理”所完成的功能。

系統中的主程序流程圖如圖6所示。其中觸摸屏校準處理采用了一種較為通用的校準算法。由于電阻式觸摸屏有一個共性,那就是電壓成線性均勻分布,所以,只要求出邏輯坐標與物理坐標的比例系數,就可以實現邏輯坐標與物理坐標的轉換。首先可確定5個物理坐標點。并依次在屏幕上用“+”顯示,同時將其坐標值用數組Set_x[4]保存起來(以X坐標為例)。校準過程中讀出的邏輯坐標值則用數組Read_X[3]存儲。最后求出邏輯坐標與物理坐標的比例系數:
評論