高速數(shù)據(jù)采集系統(tǒng)在基于ARM動(dòng)態(tài)稱重系統(tǒng)中的應(yīng)用
引言
隨著經(jīng)濟(jì)的不斷發(fā)展和各地物流業(yè)的不斷擴(kuò)大。有些人為了追求更高的局部利益,往往會擅自改裝運(yùn)輸工具,增大車載量,從而導(dǎo)致超載現(xiàn)象屢見不鮮。根據(jù)“四次方原則”,車輛超載給我國的公路,橋梁等交通基礎(chǔ)設(shè)施帶來了極大的破壞力。
動(dòng)態(tài)稱重系統(tǒng)能夠在車輛行駛過程中得知其重量,該系統(tǒng)由于不會給交通帶來堵塞而受到各交通部門的青睞。由于動(dòng)態(tài)稱重過程中得到的信號是短歷程、非平穩(wěn)信號,信號中混雜了很多于攏信號。因此,為了凈化信號,本設(shè)計(jì)引入了小波分析去噪和神經(jīng)網(wǎng)絡(luò)等新型算法,但這些算法計(jì)算量大的缺點(diǎn)嚴(yán)重影響到系統(tǒng)的運(yùn)行效率,即系統(tǒng)只有等整個(gè)算法運(yùn)行完后,才能開始新一輪的數(shù)據(jù)采集。為此,目前一些動(dòng)態(tài)稱重系統(tǒng)使用多CPU來解決這個(gè)問題,但這又增加了系統(tǒng)靈活性和復(fù)雜性,而且成本也會提高。
為了解決上述問題.本文設(shè)計(jì)了一個(gè)基于CPLD的數(shù)據(jù)采集通道,以配合動(dòng)態(tài)稱重系統(tǒng)完成對動(dòng)態(tài)稱重信號的數(shù)據(jù)采集。
1 系統(tǒng)結(jié)構(gòu)
本動(dòng)態(tài)稱重系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。圖中,稱重傳感器將壓力變換成電信號,并經(jīng)放大濾波電路后送入ADC進(jìn)行模數(shù)轉(zhuǎn)換,然后將數(shù)字信號寫入到CPLD中的一存儲體中。該存儲體存滿后,CPLD將向處理器申請DMA傳輸,同時(shí)將新AD值寫入到另一存儲體中。本動(dòng)態(tài)稱重系統(tǒng)采用S3C44B0X處理器,并將處理器內(nèi)部ZDMA設(shè)置為全服務(wù)模式(whole service mode)。當(dāng)DMA結(jié)束時(shí),系統(tǒng)將輸出清零信號以將當(dāng)前讀的CPLD存儲體清空。
2 系統(tǒng)設(shè)計(jì)
2.1 放大電路的設(shè)計(jì)
選用CS-l型稱重傳感器主要是因?yàn)樵搨鞲衅骶€性度好,重復(fù)性好,具有自動(dòng)復(fù)位和抗偏抗伸能力,而且安裝使用方便,互換性好。
本系統(tǒng)采用鉸鏈?zhǔn)椒Q重平臺。為了使平臺更穩(wěn)定設(shè)計(jì)時(shí)采用兩個(gè)傳感器來支撐載荷,兩傳感器輸出的信號分別經(jīng)儀表放大器放大和濾波,然后再疊加并經(jīng)濾波電路送給ADC電路。
由于ADC芯片MAX120為差分輸入,故可將其中一路信號反相后,再送入ADC電路,這樣便可實(shí)現(xiàn)兩路信號的疊加。
2.2 ADC電路的設(shè)計(jì)
MAX120是集采樣保持電路和精密電源電路于一體的12位ADC,它的轉(zhuǎn)換時(shí)間是1.6μs,采樣率是500 ksps,內(nèi)外采樣模式可選。
本系統(tǒng)的采樣速率為100 kbps,MAX120工作在模式5,即連續(xù)轉(zhuǎn)換模式,圖2是其連續(xù)轉(zhuǎn)換的ADC電路。在該模式下,MAX120每14個(gè)時(shí)鐘完成一次轉(zhuǎn)換,所以要求輸入時(shí)鐘為1.4 MHz,該時(shí)鐘可由處理器輸出的時(shí)鐘經(jīng)CPLD分頻得到。
本電路使用內(nèi)部精密參考電源。傳感器的信號經(jīng)濾波放大后送到MAX120,再經(jīng)內(nèi)部采樣保持電路后便開始轉(zhuǎn)換,然后經(jīng)14個(gè)時(shí)鐘周期后完成一次轉(zhuǎn)換,此時(shí)INT/BUSY變?yōu)榈碗娖剑⒂蒁0~D12送出轉(zhuǎn)換后的數(shù)字信號,并一直保持到下一次轉(zhuǎn)換結(jié)束。圖3是MAX120在模式5下的時(shí)序。該電路用INT/BUSY作為串行時(shí)鐘,并利用其下降沿將轉(zhuǎn)換后的數(shù)據(jù)打入CPLD中的存儲體。
2.3 CPLD模塊設(shè)計(jì)
EDA技術(shù)的快速發(fā)展使FPGA/CPLD的片上資源越來越豐富,尤其是其高速性能和片上RAM,使其特別適用于數(shù)據(jù)采集的設(shè)計(jì)。本設(shè)計(jì)選用Altera公司的FLEX10K30E器件.該器件含有8個(gè)EAB(嵌入式陣列),每個(gè)EAB能夠提供4K位存儲位,每個(gè)EAB都有雙口RAM實(shí)現(xiàn)能力:芯片可提供30000邏輯門;門級延時(shí)僅6.5 ns。本系統(tǒng)中的CPLD設(shè)計(jì)主要包含地址發(fā)生器、雙端口RAM、控制邏輯等,其功能框圖如圖4所示。
系統(tǒng)上電后,ADC一直處于連續(xù)轉(zhuǎn)換模式。為了對軸重的全程信號(車輪上稱重板到離開稱重板的檢測信號)進(jìn)行記錄,CPLD模塊內(nèi)部設(shè)計(jì)有一比較器??僧?dāng)重量達(dá)到一定值時(shí)(認(rèn)為有效軸重),打開與門以開始將AD值存儲存儲體中;而當(dāng)AD值低于有效軸重時(shí),認(rèn)為是車輪離開稱重板,此時(shí)將關(guān)閉與門并產(chǎn)生DMA請求,以請求將數(shù)據(jù)取走。
為了進(jìn)一步提高數(shù)據(jù)存取的效率,設(shè)計(jì)中采用了換體存儲技術(shù),即將2 K字的存儲器分為兩個(gè)存儲體I和II,I的地址為0x000~0x3FF,II的地址為0x400~0x7FF,它們均設(shè)計(jì)為雙口RAM。分為兩個(gè)存儲體的好處是在向I寫數(shù)據(jù)時(shí).處理器可以同時(shí)從II讀取數(shù)據(jù),反之亦然,這樣便可提高數(shù)據(jù)的訪問效率,同時(shí)可簡化雙口RAM的設(shè)計(jì)難度(如單元的讀寫不再會產(chǎn)生沖突)。
系統(tǒng)中的地址發(fā)生器是10位的加法計(jì)數(shù)器,它以MAX120的轉(zhuǎn)換信號INT/BUSY作為計(jì)數(shù)脈沖,其計(jì)數(shù)值可作為存儲體的地址,并在AD轉(zhuǎn)換完后由計(jì)數(shù)器產(chǎn)生一新單元地址,同時(shí)將AD值鎖存到數(shù)據(jù)緩沖中,并將數(shù)據(jù)存儲到該存儲單元中。當(dāng)?shù)刂钒l(fā)生器地址越界時(shí)(存儲體I或II滿),系統(tǒng)便向處理器發(fā)出DMA請求。
DMA處理結(jié)束后,由處理器產(chǎn)生DMA結(jié)束中斷。在中斷程序中,由軟件將源地址設(shè)為另一存儲體的地址,并激活清0信號CLR,以將剛讀過的存儲體清0,以便在下次DMA請求時(shí)傳輸另一存儲體的數(shù)據(jù)。需要說明的是本系統(tǒng)中的處理器心須在10 ms內(nèi)響應(yīng)DMA操作,否則,存儲體中的數(shù)據(jù)可能被破壞。
3 結(jié)束語
在高速數(shù)據(jù)采集電路中用CPLD來實(shí)現(xiàn)數(shù)據(jù)換體存儲及一些復(fù)雜的時(shí)序邏輯功能,可使電路大大簡化;同時(shí)與處理器配合并采用DMA數(shù)據(jù)傳輸方式可提高系統(tǒng)的運(yùn)行效率。事實(shí)上,本系統(tǒng)是針對動(dòng)態(tài)穩(wěn)重系統(tǒng)而設(shè)計(jì)的數(shù)據(jù)在采集電路,具有一定的通用性。
稱重傳感器相關(guān)文章:稱重傳感器原理
評論