咨詢電話
ENGLISH0755-88840386發(fā)布時(shí)間:2020-10-16 11:14:08 |來源:網(wǎng)絡(luò)轉(zhuǎn)載
1引言
隨著計(jì)算機(jī)技術(shù)及微電子技術(shù)的發(fā)展,嵌入式系統(tǒng)的應(yīng)用已經(jīng)深入到各類產(chǎn)品:智能家電、工業(yè)控制、航空航天、醫(yī)療、軍事等各種智能化數(shù)字設(shè)備。
嵌入式系統(tǒng)是指以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件及硬件可以按需要剪裁并且對功能、可靠性、成本有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。其在稱重儀表的應(yīng)用將促進(jìn)稱重儀表的智能化、小型化、網(wǎng)絡(luò)化發(fā)展。
稱重儀表的發(fā)展趨勢是高精度、快速響應(yīng)傳感器的信號,但是傳統(tǒng)意義的51單片機(jī)順序編程大循環(huán)概念,A/D轉(zhuǎn)換釆用中斷、查詢方式,再加上離散器件組成系統(tǒng)的時(shí)延等因素,極大的阻礙了實(shí)時(shí)性需求的實(shí)現(xiàn)。因此開發(fā)基于SOGSystemOnChip)片上系統(tǒng)的多任務(wù)系統(tǒng)智能稱重儀表勢在必行。
在系統(tǒng)規(guī)劃及開發(fā)階段進(jìn)行系統(tǒng)軟件設(shè)計(jì)時(shí),采用Keil公司RTX51嵌入式實(shí)時(shí)操作系統(tǒng)作為多任務(wù)開發(fā)環(huán)境RTX51Tiny,適用于51系列的所有派生機(jī)型。因?yàn)镽TX51Tiny不僅是免費(fèi)的,而且功能強(qiáng)大,可以靈活的分配硬件系統(tǒng)資源(CPU,存儲器等)給各個(gè)任務(wù),對嵌入式操作系統(tǒng)在智能稱重儀表領(lǐng)域的應(yīng)用具有劃時(shí)代的意義。[1][2]
2硬件設(shè)計(jì)
2.1主處理器:
系統(tǒng)的硬件設(shè)計(jì)釆用美國Cygnal公司的C8051F020,C8051F020器件是完全集成的混合信號系統(tǒng)級MCU芯片,C8051F020具有64個(gè)數(shù)字I/O引腳,下面列岀了一些主要特性:高速流水線結(jié)構(gòu)的8051兼容的CIP-51內(nèi)核可達(dá)25MIPS全速非侵入式的在系統(tǒng)調(diào)試接口;片內(nèi)帶PGA真正12位100ksps的8通道ADC;模擬多路開關(guān),兩個(gè)12位DAC,可編程更新時(shí)序;64K字節(jié)可在系統(tǒng)編程的FLASH存儲器;4352(4096+256字節(jié)的片內(nèi)RAM);可尋址64K字節(jié)地址空間的外部數(shù)據(jù)存儲器接口;硬件實(shí)現(xiàn)的SPISMBus/FC和兩個(gè)UART串行接口;5個(gè)通用的16位定時(shí)器;具有5個(gè)捕捉/比較模塊的可編程計(jì)數(shù)器/定時(shí)器陣列;片內(nèi)看門狗定時(shí)器VDD監(jiān)視器和溫度傳感器。
具有片內(nèi)VDD監(jiān)視器看門狗定時(shí)器和時(shí)鐘振蕩器的C8051F020是真正能獨(dú)立工作的片上系統(tǒng),所有模擬和數(shù)字外設(shè)均可由用戶固件配置為使能或禁止,FLASH存儲器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲并允許現(xiàn)場更新;8051固件片內(nèi)JTAG調(diào)試電路,允許使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品MCU進(jìn)行非侵入式不占用片內(nèi)資源全速在系統(tǒng)調(diào)試,該調(diào)試系統(tǒng)支持觀察和修改存儲器和寄存器,支持?jǐn)帱c(diǎn)、觀察點(diǎn)、單步及運(yùn)行和停機(jī)命令。在使用JTAG調(diào)試時(shí),所有的模擬和數(shù)字外設(shè)都可全功能運(yùn)行,每個(gè)MCU都可在工業(yè)溫度范圍-45°C至Ij+85°C內(nèi),使用2.7V-3.6V的電壓,工作端口I/O/RST和JTAG引腳都容許5V的輸入信號電壓。
2.2A/D模塊
轉(zhuǎn)換部件釆用轉(zhuǎn)換技術(shù),真正的高速高精度數(shù)模轉(zhuǎn)換,采取特殊算法及硬件處理實(shí)現(xiàn)16位以上精度。
2.3通訊模塊
標(biāo)準(zhǔn)配置設(shè)計(jì)RS232串口,方便與PC機(jī)通迅,PC機(jī)上的程序釆用VB編制,根據(jù)具體的機(jī)型修改下位機(jī)的工作參數(shù)。這樣只要將上位機(jī)程序安裝在筆記本電腦中,可以方便現(xiàn)場維護(hù)、修改整定參數(shù)。
2.4顯示及鍵盤模塊
采用低溫液晶顯示,自制各種中文字庫,鍵盤采用輕觸銀漿按鍵,可以適應(yīng)各種溫度條件。
3軟件設(shè)計(jì)
3.1下位機(jī)軟件開發(fā):
使用KeilC51V7.0來進(jìn)行軟件的編寫和調(diào)試,全部代碼用C語言完成,利用Keil支持的RTX51Tiny嵌入式實(shí)時(shí)操作系統(tǒng)作為工具。該操作系統(tǒng)是一個(gè)準(zhǔn)并行的多任務(wù)環(huán)境,和Windows等現(xiàn)代操作系統(tǒng)相似,就是將CPU的時(shí)鐘切割成很小的等量時(shí)間片,然后分配給每個(gè)任務(wù),當(dāng)這個(gè)任務(wù)執(zhí)行了給定的時(shí)間片斷之后,還未完成,則保護(hù)現(xiàn)場之后,跳轉(zhuǎn)到下一個(gè)任務(wù)執(zhí)行,這樣不斷的循環(huán)執(zhí)行之,實(shí)際上,同一時(shí)刻只有一個(gè)任務(wù)在執(zhí)行,但是由于時(shí)間片非常短,一般為10ms數(shù)量級,所以相對上來說,就相當(dāng)于多個(gè)任務(wù)在同時(shí)執(zhí)行了。RTX51最小模式最多可支持16個(gè)任務(wù),很少的內(nèi)部RAM及ROM,不需要擴(kuò)展外部RAM,它利用51內(nèi)部的定時(shí)0來產(chǎn)生報(bào)時(shí),能滿足大多數(shù)簡單控制系統(tǒng)的需要。
利用RTX51操作系統(tǒng)的準(zhǔn)并行特性,對任務(wù)模塊進(jìn)行大小適當(dāng)?shù)膭澐郑Ω鱾€(gè)任務(wù)間的通信和時(shí)延進(jìn)行仔細(xì)的確認(rèn)。要指出的是在RTX51下進(jìn)行多任務(wù)編程和以往的順序單任務(wù)編程有以下幾個(gè)值得注意的不同點(diǎn):
(1)多任務(wù)編程CPU是輪流執(zhí)行每個(gè)任務(wù),所以可以將每個(gè)任務(wù)設(shè)計(jì)成死循環(huán)的模式,不斷重復(fù)的進(jìn)行數(shù)據(jù)計(jì)算或者訪問硬件,也不會影響別的任務(wù)的執(zhí)行,當(dāng)一個(gè)任務(wù)的數(shù)據(jù)計(jì)算完成之后,可以通過os_wait函數(shù)將CPU交出執(zhí)行別的任務(wù);而傳統(tǒng)的大循環(huán)順序單任務(wù)模式卻獨(dú)占了所有的CPU資源,尤其全局變量多時(shí),時(shí)常得擔(dān)心是否執(zhí)行時(shí)間太長而不能及時(shí)響應(yīng)外部的異步事件。
3.2數(shù)字濾波
數(shù)據(jù)采集后的數(shù)字濾波一直是稱重儀表的關(guān)鍵,在本文的軟件設(shè)計(jì)中,專門設(shè)計(jì)一個(gè)數(shù)字濾波任務(wù),用來完成數(shù)據(jù)采集后的濾波工作。經(jīng)過濾波后再執(zhí)行顯示、通訊等任務(wù)。
本文測量一個(gè)相對不變的直流信號及應(yīng)變儀輸出,可以用過釆樣和求均值技術(shù)改善有效分辨率[3]。
如果一個(gè)稱重裝置必須測量一個(gè)寬范圍的重量而同時(shí)又要能分辨很小的重量變化則過采樣和求均值能提高測量的有效分辨率。
對ADC測量數(shù)據(jù)求均值等價(jià)于一個(gè)降采樣低通濾波器,實(shí)現(xiàn)過采樣和低通濾波器的數(shù)字信號處理過程通常被稱為插補(bǔ),從這個(gè)意義上說用過釆樣實(shí)現(xiàn)兩個(gè)12位ADC碼之間的插值求均值的樣本數(shù)量越大則低通濾波器的選擇性越強(qiáng)插值的效果就越好。因此可以達(dá)到16位以上的分辨率,適應(yīng)稱重的要求。
但是由于過采樣是以犧牲時(shí)間來提高精度,對實(shí)時(shí)性要求較高的產(chǎn)品,本文釆用特殊處理的硬件、軟件來實(shí)現(xiàn),避免了系統(tǒng)數(shù)據(jù)建立延遲,可以在系統(tǒng)要求的時(shí)延內(nèi)達(dá)到18位以上精度,同時(shí)滿足釆樣的實(shí)時(shí)顯示,真正做到智能稱重儀表的要求。
3.3溫度補(bǔ)償
由于環(huán)境溫度的周期性變化,對應(yīng)的傳感器的精度受溫度影響較大,本文釆用的SOC自己帶有溫度傳感器,可以按照環(huán)境溫度的變化特性來實(shí)時(shí)更新精度矯正系數(shù),真正達(dá)到智能化稱重儀表的功能。重入問題,解決資源沖突和重入的方法可以參考相關(guān)文獻(xiàn)[4"
本系統(tǒng)實(shí)際使用證明:本系統(tǒng)穩(wěn)定可靠,實(shí)時(shí)性比釆用傳統(tǒng)C51編程更加優(yōu)越,可靠性更高。本系統(tǒng)在SOC單片機(jī)上釆用了RTX51嵌入式操作系統(tǒng),在智能稱重儀表應(yīng)用領(lǐng)域具有一定的超前意義。
文章來源于網(wǎng)絡(luò)轉(zhuǎn)載,侵刪