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