基于LPC2132的體質(zhì)測試儀設(shè)計
引言
隨著我國體質(zhì)測試事業(yè)的發(fā)展,對體質(zhì)健康測試技術(shù)的要求也越來越高,目前,國內(nèi)普遍使用的都是機械式的測試儀,它存在不可避免的缺陷,如測量不準(zhǔn)確,操作不方便,使用年限短等,為適應(yīng)學(xué)校體育教育的蓬勃發(fā)展,改進傳統(tǒng)機械式測試儀缺點,筆者利用現(xiàn)在成熟的電子技術(shù),運用arm強大的控制能力,開發(fā)出這套體質(zhì)健康測試儀。
測試儀由測試儀主機或外設(shè)組成,主機和從機之間采用rs485主從通信方式。測試儀主要由身高體重、座位體前驅(qū)、肺活量、臺階心率、仰臥起坐、立定跳遠(yuǎn)的和握力共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,以及多達(dá)9個邊沿或電平觸發(fā)的外部中斷。下面詳細(xì)介紹一下各單元的硬件電路和實現(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ā)的一種串行總線,支持高達(dá)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標(biāo)準(zhǔn)只對接口的電氣特性做出規(guī)定,而不涉及接插件,電纜或協(xié)議,因此需要設(shè)計自己的應(yīng)用層通信協(xié)議,主要為發(fā)送和接收。
1.2.3 鍵盤和液晶顯示電路
lpc2132有多達(dá)47個通用、雙向的數(shù)字i/o引腳,其中大多數(shù)是基本功能和一般的i/o功能復(fù)用。也可通過配置寄存器設(shè)置成所需要的功能,鍵盤為4×5小鍵盤,有10(0-9)個數(shù)字鍵和10個功能鍵。數(shù)字鍵用來輸入班級、學(xué)號和參數(shù)值等。功能鍵主要為班級鍵、學(xué)號鍵、查詢鍵、自檢鍵、設(shè)置鍵、退出鍵、測試鍵、確認(rèn)鍵、上行鍵和下行鍵。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,立定跳遠(yuǎn)為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è)計指標(biāo)。
評論