摘 要: 在分析了現(xiàn)有系統(tǒng)問題的基礎(chǔ)上,提出了基于PC/104總線的、以C8051F060MCU為核心的動(dòng)態(tài)稱重測量接口板的設(shè)計(jì),C8051F060具有獨(dú)立的雙通道16 位逐次比較型A/D轉(zhuǎn)換器等功能。經(jīng)一年多的實(shí)際使用證明該設(shè)計(jì)具有簡化了硬、軟件設(shè)計(jì)、增強(qiáng)了系統(tǒng)的工作可靠性、降低了造價(jià)等優(yōu)勢。
關(guān)鍵詞:PC/104總線; 動(dòng)態(tài)稱重; 模數(shù)轉(zhuǎn)換器
被測對象處于非靜止?fàn)顟B(tài),即被稱重或測力的物體在運(yùn)動(dòng)則形成了動(dòng)態(tài)稱重測量狀態(tài)[1],如對公路上行駛的汽車或鐵道上運(yùn)行的火車進(jìn)行實(shí)時(shí)稱量測量等被稱為動(dòng)態(tài)稱重。貨物汽車超重載荷已是貨運(yùn)領(lǐng)域一個(gè)共知的事實(shí)。貨物汽車的超重載荷對公路運(yùn)輸安全、公里路面保養(yǎng)狀況影響巨大,國家有關(guān)部門已專項(xiàng)加以整頓,而汽車動(dòng)態(tài)稱重測量系統(tǒng)是治理貨物汽車超重載荷的有力的技術(shù)武器之一。
在汽車動(dòng)態(tài)稱重測量領(lǐng)域已有一些動(dòng)態(tài)稱重儀器在使用中,但它們主要以單片機(jī)為核心、采用低精度、低速度、多元件來構(gòu)成系統(tǒng),這雖制造成本較低,但其可靠性、工作性能和指標(biāo)等受到了極大的限制[2,3,4]。鑒于工程的實(shí)際需求,我們設(shè)計(jì)了與便攜式PC/104總線計(jì)算機(jī)相配合的高性能的汽車動(dòng)態(tài)稱重測量接口板,克服了上述缺點(diǎn)并達(dá)到了預(yù)期的設(shè)計(jì)指標(biāo)。
與便攜式PC/104總線計(jì)算機(jī)相配合的高性能的汽車動(dòng)態(tài)稱重測量接口板的硬件電路由兩部分組成:信號采集部分和與PC/104總線的接口部分。
1 信號采集部分設(shè)計(jì)
當(dāng)前測控儀器中采用的高分辨率A/D轉(zhuǎn)換器多為獨(dú)立的集成電路芯片,如此構(gòu)成的高精度測控系統(tǒng)不免在抗干擾、轉(zhuǎn)換精度、電路板體積以及價(jià)格等方面存在著眾多的、難以解決的實(shí)際問題。使用將高分辨率A/D轉(zhuǎn)換器與MCU(微控制器或稱為單片機(jī))集成到一起的集成芯片不失為解決上述問題的一種好方法。C8051F060是一個(gè)由CYGNAL公司生產(chǎn)的、高速的、數(shù)字與模擬電路混合的集成電路MCU芯片,它具有25MIPS的峰值工作速度、靈活的外部存儲器接口和59條數(shù)據(jù)I/O接口線及兩個(gè)片內(nèi)的、獨(dú)立通道的16 位逐次比較型A/D轉(zhuǎn)換器等 [5]。這兩個(gè)獨(dú)立通道的16位逐次比較型A/D轉(zhuǎn)換器具有如下特點(diǎn):
Ø 16 位分辨率。
Ø ±0.75 LSB INL,保證無失碼。
Ø 可編程的轉(zhuǎn)換速率,最大可達(dá)1 Msps。
Ø 芯片內(nèi)部集成了模擬輸入量的跟蹤保持及采樣電路。
Ø 可軟件設(shè)定為兩個(gè)單端輸入的或一個(gè)差分輸入的A/D轉(zhuǎn)換器。
Ø 偏移和增益在一定范圍內(nèi)可調(diào)整。
Ø 可進(jìn)行直接存儲器存取操作,數(shù)據(jù)直接存儲到RAM 中,不需要額外的軟件開銷。
Ø 具有與數(shù)據(jù)相關(guān)的窗口中斷發(fā)生器。
Ø 專用的內(nèi)部電壓基準(zhǔn)或可使用外部電壓基準(zhǔn)源。
兩個(gè)獨(dú)立通道的16 位逐次比較型A/D轉(zhuǎn)換器表達(dá)為ADCn(n=0是第一個(gè)A/D轉(zhuǎn)換通道ADC0,n=1是第二個(gè)A/D轉(zhuǎn)換通道ADC1)。其中,ADC0有4種轉(zhuǎn)換啟動(dòng)方式;ADC1有5種轉(zhuǎn)換啟動(dòng)方式。可以通過查詢ADnINT位或以中斷的方式來確定A/D轉(zhuǎn)換何時(shí)轉(zhuǎn)換結(jié)束并加以處理。
圖1是動(dòng)態(tài)稱重測量板的信號采集部分原理圖。在圖中,通道1的ADC0 IN端子接于測重傳感器的電橋輸出端,用于采集汽車動(dòng)態(tài)重量信號,該電橋輸出為毫伏級的直流電壓信號。因此,采用儀用放大器AD620——AMP2作為放大元件將信號放大到MCU(這里指C8051F060)內(nèi)部A/D轉(zhuǎn)換器通道0(ADC0)能夠接受的模擬量轉(zhuǎn)換范圍(0-2.4V)。在AMP2前后的C5、R3和C9用于抗干擾濾波;D1和D2用于MCU內(nèi)部A/D轉(zhuǎn)換器通道ADC0的電壓輸入過載保護(hù)。放大通道的放大倍數(shù)由電阻R4的阻值(RG)決定,當(dāng)RG=∞(未接放大電阻)時(shí),通道的放大倍數(shù)(G)為1。
[align=center]
圖1 動(dòng)態(tài)稱重測量板的信號采集部分原理圖[/align]
AMP2的輸出經(jīng)濾波后送到C80C51F060片內(nèi)的16位A/D轉(zhuǎn)換器通道(ADC0)的外部輸入引腳AIN0(MCU的18腳),數(shù)據(jù)的采樣、保持和A/D轉(zhuǎn)換等全部在MCU芯片內(nèi)部通過軟件的控制來完成。
在圖1中,起始于ADC1 IN端子的A/D通道2的信號處理過程和原理與上述的相同。
C80C51F060片內(nèi)的16位A/D轉(zhuǎn)換器(通道0和通道1)的參考電壓取自MCU內(nèi)部的電壓基準(zhǔn)電路。MCU內(nèi)部的電壓基準(zhǔn)電路由一個(gè)1.2V的、溫度穩(wěn)定性好(典型值為15ppm/℃)的、負(fù)載調(diào)整率優(yōu)(典型值為0.5ppm/µA)的帶隙電壓基準(zhǔn)發(fā)生器和一個(gè)兩倍增益的輸出緩沖放大器組成。內(nèi)部基準(zhǔn)電壓可以通過VREF引腳(MCU的4腳)連到器件的外部。將VREF引腳與通道0參考電壓端的VREF0引腳(MCU的21腳)和通道1參考電壓端的VREF1引腳(MCU的6腳)相連,為兩個(gè)16位ADC提供參考電壓。該參考電壓值(典型值是2.43V)決定了ADC的模擬量輸入范圍。
接于測重傳感器電橋輸入端的給定電壓也源自于MCU內(nèi)部的基準(zhǔn)電壓源,由雙運(yùn)算放大器AMP3以及R7、R8、R6和V1等組成參考電壓放大、穩(wěn)幅和擴(kuò)流輸出等電路,完成測重傳感器電橋輸入電壓的精密給定。
由圖1中可以看到,包括放大電路和測重傳感器電橋輸入電壓的精密給定在內(nèi),該動(dòng)態(tài)稱重測量板的信號采集部分的硬件電路設(shè)計(jì)非常簡潔。顯而易見,它與傳統(tǒng)的由多片器件組成的A/D轉(zhuǎn)換器相比具有工作可靠、抗干擾能力強(qiáng)等優(yōu)點(diǎn),且價(jià)格也極具競爭能力(一片C80C51F060MCU僅售不足300元人民幣)。
當(dāng)二個(gè)通道的A/D轉(zhuǎn)換器的啟動(dòng)工作由MCU的Timer3的溢出來啟動(dòng)并采用中斷方式來取轉(zhuǎn)換結(jié)果值時(shí), ADC0或ADC1的轉(zhuǎn)換結(jié)果值在相應(yīng)通道的中斷子程序中讀取,根據(jù)需要再進(jìn)行保存或做進(jìn)一步的處理。在設(shè)置中應(yīng)注意使Timer3的定時(shí)時(shí)間要大于或等于ADC的轉(zhuǎn)換時(shí)間與轉(zhuǎn)換結(jié)果值的讀取時(shí)間(中斷子程序的運(yùn)行時(shí)間)之和。
2 測量板接口部分設(shè)計(jì)
PC/104是嵌入式PC的機(jī)械標(biāo)準(zhǔn),他秉承了IBM PC開放式總線結(jié)構(gòu)的優(yōu)點(diǎn),與IBM PC完全兼容,它具備嵌入式控制的特殊要求:體積小、高可靠性、長壽命、編程調(diào)試方便,所以在測試領(lǐng)域基于PC104的智能儀器得到了廣泛應(yīng)用[6]。由于PC/104總線裝置具有體積小、高可靠、長壽命、編程調(diào)試方便等特點(diǎn),適合于制作高密度、小體積的便攜式測試儀器或控制裝置。PC/104總線系統(tǒng)的開發(fā)平臺與現(xiàn)有的其它通用計(jì)算機(jī)系統(tǒng)完全相同,故現(xiàn)有的所有開發(fā)軟件均可以使用,所以,在測控領(lǐng)域基于PC/104的智能測控系統(tǒng)得到了廣泛應(yīng)用。為了便于系統(tǒng)的開發(fā)與使用,本動(dòng)態(tài)稱重測量系統(tǒng)采用了PC/104總線系統(tǒng)作為系統(tǒng)的設(shè)計(jì)、開發(fā)和使用平臺,測量板與之配合來完成信號的采集、存儲和傳輸?shù)裙ぷ鳌?由于MCU與PC/104總線在信號工作頻率和接口時(shí)序等方面很難一致,因此,MCU與PC/104總線的I/O數(shù)據(jù)接口應(yīng)采用異步并行緩沖接口方式,即采用74HC373、74HC374等器件鎖存PC/104總線一方數(shù)據(jù)總線的輸出數(shù)據(jù)及握手信號,MCU一方依據(jù)握手信號來進(jìn)行數(shù)據(jù)的讀取或傳送;而MCU一方的輸出數(shù)據(jù)多采用通用并行口,其帶有數(shù)據(jù)保持功能,因此,可用74HC244、74HC245等總線驅(qū)動(dòng)芯片來進(jìn)行MCU向PC/104總線的數(shù)據(jù)隔離與驅(qū)動(dòng),如此可實(shí)現(xiàn)雙方向的異步數(shù)據(jù)傳送功能[7]。
C8051F060的外部存儲器接口接有一個(gè)128KB的RAM(IS62LV1024)芯片用于數(shù)據(jù)存儲, MCU與PC/104總線的數(shù)據(jù)接口在C8051F060一側(cè)由通用并行接口(P0、P1、P2和P3等)來完成,其通用并行口帶有數(shù)據(jù)保持功能,因此,采用了8位總線驅(qū)動(dòng)器74HC245來進(jìn)行MCU指向PC/104總線的電平轉(zhuǎn)移(C8051F060為3V工作電源,PC/104總線為5V工作電源)與數(shù)據(jù)驅(qū)動(dòng)、而PC/104的數(shù)據(jù)總線不具有數(shù)據(jù)保持功能,因此,采用了具有三態(tài)輸出控制功能的8D數(shù)據(jù)鎖存器74HC374來進(jìn)行PC/104總線指向MCU的數(shù)據(jù)傳送、保持工作(C8051F060可直接接收5V信號電平)。由于C8051F060的P2口需雙向操作功能,因此,PC/104總線與MCU的數(shù)據(jù)傳送方向由來自PC/104總線的鎖存信號來決定和指明。
[align=center]
圖2 PC/104總線系統(tǒng)接口傳送控制函數(shù)流程圖[/align]
由于測量板需要的不止是一個(gè)譯碼地址,為此,在使用了8位模似比較器——74HC688作為比較譯碼芯片進(jìn)行地址譯碼的基礎(chǔ)上又增加了74HC393(二——四譯碼器)進(jìn)行細(xì)分地址譯碼[8]。設(shè)計(jì)中為了節(jié)省芯片而放棄了地址線A0參與譯碼,因此,地址譯碼輸出R1/W1及R2/W2各占二個(gè)地址,如R1/W1可通過改變JUM1的跳線設(shè)定為200H——3C0H或201H——3C1H。這樣,通過MCU與PC/104總線計(jì)算機(jī)的軟件配合即可實(shí)現(xiàn)微機(jī)之間的命令與數(shù)據(jù)的傳送。
[align=center]
圖3 MCU程序處理流程簡圖[/align]
3 控制軟件設(shè)計(jì)
MCU與PC/104總線間的數(shù)據(jù)傳送采用主/從方式,PC/104總線系統(tǒng)為主機(jī),MCU為從機(jī)。為了保證主/從方式的數(shù)據(jù)傳送能順利實(shí)施, MCU采用中斷方式(對應(yīng)于PC/104總線D3位的MCU的P02引腳已預(yù)編程為中斷響應(yīng)引腳INT0并采用邊緣觸發(fā)方式)響應(yīng)PC/104總線系統(tǒng)的數(shù)據(jù)傳送啟動(dòng),可隨時(shí)進(jìn)行任意字節(jié)值的雙向數(shù)據(jù)傳送。PC/104總線系統(tǒng)用C語言操作接口讀、寫分別采用inportb()函數(shù)和outportb()指令,其工作流程框圖如圖2所示。
在C8051F060MCU的程序設(shè)計(jì)中,接收PC/104總線微機(jī)的命令和與之進(jìn)行數(shù)據(jù)交換采用外部程序中斷方式;數(shù)據(jù)采樣采用ADC中斷的方式。其中,數(shù)據(jù)采樣包括基值采樣(無車輪壓下條件的兩路測重傳感器輸出)和軸重采樣(兩路測重傳感器一次測汽車一個(gè)軸的重量)。C8051F060MCU程序處理流程簡圖如圖3所示。在軸重采樣中,MCU根據(jù)所給定的車輛軸數(shù)和采樣門限條件自動(dòng)判斷車輪和測重傳感器之間的位置并自動(dòng)進(jìn)行重量值采樣。當(dāng)車輪停在測重傳感器上面時(shí),MCU將根據(jù)設(shè)定的超限時(shí)間值大小自動(dòng)停止數(shù)據(jù)采樣。
4 結(jié)束語
現(xiàn)今市售的PC/104總線的接口板種類有限且價(jià)格較高,隨著PC/104總線系統(tǒng)的大量采用,PC/104總線的接口板設(shè)計(jì)將成為了系統(tǒng)成敗的瓶頸。提升PC/104總線的接口板的性能并降低其價(jià)格,對PC/104總線系統(tǒng)的應(yīng)用會(huì)起到極大的推動(dòng)作用。
基于PC104總線的動(dòng)態(tài)稱重測量板的設(shè)計(jì)經(jīng)一年多的實(shí)際使用證明具有如下優(yōu)點(diǎn):
ü 使用的元件少并簡化了硬、軟件設(shè)計(jì);
ü 增強(qiáng)了系統(tǒng)的抗干擾能力和工作可靠性;
ü 充分利用了MCU的資源;
ü 具有產(chǎn)品價(jià)格的競爭優(yōu)勢。
參考文獻(xiàn)
[1] 施昌彥.動(dòng)態(tài)稱重測力技術(shù)的現(xiàn)狀和發(fā)展趨勢[J]. 計(jì)量學(xué)報(bào).2001,22(3): 201-205.
[2] 魏魯原,伍斌,崔霞. 動(dòng)態(tài)稱重系統(tǒng)的設(shè)計(jì)[J]. 自動(dòng)化儀表. 2002,23(8): 34-37.
[3] 徐志玲. 動(dòng)態(tài)公路車輛電子秤的設(shè)計(jì)[J]. 衡器. 2002,31(6): 18-20.
[4] 李業(yè)德,賈茂盈. AD7705在汽車重量測量中的應(yīng)用[J]. 山東工程學(xué)院學(xué)報(bào). 2002,16(2): 51-54.
[5] CYGNAL Integrated Products Inc. C8051F060/1/2/3 Mixed-Signal ISP FLASH MCU Family [EB/OL]. http://www.xhl.com.cn, 2004-12.
[6] 姚志軍,張平,白向林. 一種基于PC104的測試儀器[J]. 現(xiàn)代電子技術(shù). 2003,1(1): 57-58.
[7] 王明順. PC/104總線與MCU之間的接口設(shè)計(jì)[J]. 工業(yè)控制計(jì)算機(jī). 2004,9(9): 41-43.
[8] 張國范,顧樹生,王明順. 計(jì)算機(jī)控制系統(tǒng)[M] . 北京:冶金工業(yè)出版社,2004:25-26.
基于PC/104總線的動(dòng)態(tài)稱重測量板的設(shè)計(jì)