基于LPC2132的體質(zhì)測試儀設(shè)計
引言
隨著我國體質(zhì)測試事業(yè)的發(fā)展,對體質(zhì)健康測試技術(shù)的要求也越來越高,目前,國內(nèi)普遍使用的都是機械式的測試儀,它存在不可避免的缺陷,如測量不準確,操作不方便,使用年限短等,為適應(yīng)學(xué)校體育教育的蓬勃發(fā)展,改進傳統(tǒng)機械式測試儀缺點,筆者利用現(xiàn)在成熟的電子技術(shù),運用ARM強大的控制能力,開發(fā)出這套體質(zhì)健康測試儀。
測試儀由測試儀主機或外設(shè)組成,主機和從機之間采用RS485主從通信方式。測試儀主要由身高體重、座位體前驅(qū)、肺活量、臺階心率、仰臥起坐、立定跳遠的和握力共7個部分組成,從機或外設(shè)主要完成數(shù)據(jù)采集、處理、輸出及與測試儀主機通信聯(lián)絡(luò)的功能,測試儀主機將下位機所有信息進行綜合處理,完成顯示、設(shè)定與修改參數(shù)值和存儲測試數(shù)據(jù)等。本文主要介紹測試儀主機的設(shè)計。
1 測試儀硬件設(shè)計
1.1 硬件總體設(shè)計
測試儀主機的總體結(jié)構(gòu)如圖1所示,系統(tǒng)以LPC2132為核心,具有擴展的RS485接口、大容量存儲器、鍵盤、液晶顯示等外圍設(shè)備,LPC2132是一個支持實時仿真和跟蹤的32位ARM7TDMI-S核的微控制器,并帶64KB的高速Flash存儲器。4個通信接口,2個32位定時器,1個10位8路ADC,2個硬件I2C接口和47個GPIO,以及多達9個邊沿或電平觸發(fā)的外部中斷。下面詳細介紹一下各單元的硬件電路和實現(xiàn)的功能。
1.1.1 復(fù)位電路
由于ARM芯片的高速和低功耗,低工作電壓導(dǎo)致其噪聲容限低,對電源和時鐘源的穩(wěn)定性及電源監(jiān)控可靠性等諸多方面也提出了更高的要求,簡單的阻容復(fù)位電路不能保證在任何情況下都能產(chǎn)生穩(wěn)定可靠的復(fù)位信號,所以采用專門的復(fù)位芯片MAX809。其復(fù)位輸入引腳與三態(tài)們74HC125的使能端相連,由于在進行JTAG調(diào)試時,RST和TRST可由上位機控制復(fù)位,所以使用74HC125進行驅(qū)動。復(fù)位電路如圖2所示。
1.1.2 I2C接口
I2C是Philips公司開發(fā)的一種串行總線,支持高達400kHz的數(shù)據(jù)傳輸速率,LPC2132具有支持此總線的硬件I2C接口。由于在實際工作時要保存大量測試結(jié)果和對一些參數(shù)進行設(shè)置,所以為控制系統(tǒng)擴展了一片與I2C總線兼容的型號為CAT24WC256,存儲容量為64KB的串行E2PROM,其連接電路如圖3所示,IC卡芯片采用的是Philips公司的SLE4442,為學(xué)生用測試卡。由于該芯片也是通過I2C總線進行讀寫操作的,接口符合ISO/IEC14443系列協(xié)議,所以其硬件連接電路和E2PROM類型,在此不再重述。
? |
1.2 外圍硬件電路設(shè)計
1.2.1 模擬量、數(shù)字量接口電路
測試儀外設(shè)提供的信號一般不能直接送到A/D的輸入端供轉(zhuǎn)換,需要調(diào)理電路,這部分的電路連接如圖4所示,經(jīng)過調(diào)理電路后,信號可以直接送到LPC2132內(nèi)置的10位高速A/D輸入端。其中握力信號需調(diào)理,在此選用精度和穩(wěn)定性良好的OP-07,接成前級差分放大,后級跟隨電路,使輸出信號電壓范圍在0-3.3V。肺活量傳感器采用Motorola公司的MPX5010壓力傳感器,測壓范圍為0-75kPa,輸出電壓為0-5V,經(jīng)分壓后可以直接送到A/D輸入端。體前驅(qū)、仰臥起坐等脈沖量輸入信號可直接送到LPC2132的中斷引腳上,心率信號在從機中處理,只需將結(jié)果送給主機即可。
1.2.2 RS485接口
測試儀主機與從機之間采用RS485主從通信方式,RS485接口電路如圖5所示,RS485采用差分傳輸方式,是半雙工串行通信總線,由于485標準只對接口的電氣特性做出規(guī)定,而不涉及接插件,電纜或協(xié)議,因此需要設(shè)計自己的應(yīng)用層通信協(xié)議,主要為發(fā)送和接收。
1.2.3 鍵盤和液晶顯示電路
LPC2132有多達47個通用、雙向的數(shù)字I/O引腳,其中大多數(shù)是基本功能和一般的I/O功能復(fù)用。也可通過配置寄存器設(shè)置成所需要的功能,鍵盤為4×5小鍵盤,有10(0-9)個數(shù)字鍵和10個功能鍵。數(shù)字鍵用來輸入班級、學(xué)號和參數(shù)值等。功能鍵主要為班級鍵、學(xué)號鍵、查詢鍵、自檢鍵、設(shè)置鍵、退出鍵、測試鍵、確認鍵、上行鍵和下行鍵。HT1625為液晶顯示電路的控制芯片,HT1625通過一組控制總線進行指令和數(shù)據(jù)的傳遞。采用間接控制方式實現(xiàn)對液晶顯示模塊的控制,其和LPC2132的連接如圖6所示。
2 測試儀軟件設(shè)計
軟件不能的設(shè)計基于嵌入式C語言,采用模塊化設(shè)計思想,以主程序為核心設(shè)置了很多功能模塊子程序,使大浪的功能在子程序中實現(xiàn)的主程序流程,如圖7所示。
系統(tǒng)工作流程包括3個部分:系統(tǒng)初始化、自檢和進入主畫面。系統(tǒng)初始化主要包括:引腳配置初始化、A/D初始化、定時器初始化、中斷初始化、系統(tǒng)參數(shù)初始化等。自檢則主要檢查鍵盤、液晶屏、E2PROM和部分從機、外設(shè)的通信是否正常。主畫面即為進入測試前的畫面,顯示的內(nèi)容為當(dāng)前要測試項目的項目號,如身高體重為P01,立定跳遠為P02等。
軟件主要完成4個功能模塊:按鍵和顯示模塊實現(xiàn)相應(yīng)信號從ARM的輸入和輸出,通信模塊實現(xiàn)和從機之間的485通信,卡處理模塊實現(xiàn)對卡的識別和處理,測試模塊實現(xiàn)具體測試過程中的數(shù)據(jù)處理。
3 結(jié)論
由于設(shè)計充分使用了LPC2132的各種內(nèi)置功能,簡化了設(shè)計,降低了成本,基于ARM的體質(zhì)健康測試儀具有很高的性價比,通過在實際中的廣泛使用,證明該測試儀各單元工作可靠,實現(xiàn)了預(yù)期的設(shè)計指標。