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

1.4 RS232串口通信電路
RS232串口主要用于手柄控制器與核心板的通信,這類(lèi)似于人機接口中的鍵盤(pán)接口。它們之間通過(guò)Modbus協(xié)議進(jìn)行通信。其RS232串口通信電路如圖4所示。

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

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