咨詢電話
ENGLISH0755-88840386發(fā)布時(shí)間:2021-01-21 13:57:58 |來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載
1 前言
隨著嵌入式系統(tǒng)和微電子技術(shù)的發(fā)展,全自動(dòng)定量稱重系統(tǒng)的實(shí)現(xiàn)技術(shù)也在不斷地發(fā)展??删幊唐舷到y(tǒng)(SOPC)是一種靈活高效的SOC設(shè)計(jì)方式,它根據(jù)系統(tǒng)設(shè)計(jì)的需要將CPU、存儲(chǔ)器、I/O等各種IP核集成到一個(gè)可編程邏輯芯片(FPGA)上,構(gòu)成一個(gè)可編程的片上系統(tǒng)。采用SOPC設(shè)計(jì)方式可以很容易對(duì)已有的設(shè)計(jì)進(jìn)行修改,靈活性高[1]。
針對(duì)稱重儀表的自動(dòng)定量稱重系統(tǒng)所要求的高精度、高可靠性、多功能等特性,給出了基于多Nios II嵌入式軟核處理器的全自動(dòng)定量稱重系統(tǒng)的可編程片上系統(tǒng)(SOPC)軟硬件設(shè)計(jì)方法。采用稱重傳感器、模數(shù)轉(zhuǎn)換器AD7730、去極值平均濾波算法和預(yù)測(cè)控制算法,實(shí)現(xiàn)了顆粒、粉末狀等物料的高精度測(cè)量及自動(dòng)定量包裝控制。該系統(tǒng)具有開(kāi)發(fā)周期短、成本低、可靠性高、易于擴(kuò)充等特點(diǎn),現(xiàn)場(chǎng)測(cè)試結(jié)果表明,系統(tǒng)測(cè)量稱重誤差小于0.2%。
在化工、水泥、糧食、飼料等行業(yè)的生產(chǎn)過(guò)程中,需要對(duì)物料進(jìn)行定量稱重控制,完成自動(dòng)稱重包裝。物料可以劃分為顆粒、粉末、液體等類型。采用人工進(jìn)行的定量稱重定量包裝不但效率低,而且計(jì)量精度低。全自動(dòng)定量稱重系統(tǒng)不但滿足很高的計(jì)量精度,而且具有很強(qiáng)的穩(wěn)定性,且具有精度高、功能強(qiáng)大、操作簡(jiǎn)便等特點(diǎn)。
本文設(shè)計(jì)的定量稱重系統(tǒng)采用某公司的SOPC解決方案,它基于嵌入式軟核Nios II多核結(jié)構(gòu), Nios II軟核是一個(gè)32位RISC嵌入式處理器,性能超過(guò)200MIP,在性能上Nios II可滿足當(dāng)前的大部分嵌入式產(chǎn)品的設(shè)計(jì)。某公司提供了完整的開(kāi)發(fā)套件:Quartus II 、SOPC Builder、Nios II IDE和仿真工具等軟件,并將它們無(wú)縫地集成在一起,這為當(dāng)前嵌入式系統(tǒng)設(shè)計(jì)提供了新方法,并帶來(lái)了巨大的便利,可輕松實(shí)現(xiàn)從底層的硬件設(shè)計(jì)到上層的軟件開(kāi)發(fā),縮短開(kāi)發(fā)周期,降低開(kāi)發(fā)的復(fù)雜性。
2 系統(tǒng)總體設(shè)計(jì)概況
本稱重系統(tǒng)要求稱重測(cè)量誤差小于0.2%,且系統(tǒng)的功能比較復(fù)雜,既要實(shí)時(shí)處理采集過(guò)來(lái)的數(shù)據(jù),還要實(shí)現(xiàn)控制、顯示、存儲(chǔ)以及與上位機(jī)通訊等功能,同時(shí)還要實(shí)現(xiàn)復(fù)雜的稱重預(yù)測(cè)控制算法[2],一般在幾秒中之內(nèi)要完成物料的動(dòng)態(tài)稱重測(cè)量和定量包裝,特別地,系統(tǒng)若要控制多路稱重傳感器的測(cè)量和包裝,采用單CPU來(lái)控制的話,勢(shì)必會(huì)影響到系統(tǒng)的速度,很難實(shí)現(xiàn)高精度的稱重測(cè)量和控制需求??梢钥紤]采用多CPU系統(tǒng)來(lái)實(shí)現(xiàn)。傳統(tǒng)的SOC多處理器系統(tǒng)使系統(tǒng)結(jié)構(gòu)復(fù)雜,可靠性降低,且增加了系統(tǒng)的開(kāi)發(fā)難度。
采用SOPC的實(shí)現(xiàn)方案,很好地解決了系統(tǒng)實(shí)現(xiàn)功能復(fù)雜性和系統(tǒng)設(shè)計(jì)復(fù)雜性的矛盾,Nios II 5.0及以上版本支持多處理器系統(tǒng)的創(chuàng)建和調(diào)試。多個(gè)Nios II處理器能夠有效地共享系統(tǒng)資源,由于SOPC Builder允許用戶輕松添加多個(gè)處理器到系統(tǒng)中,建立多處理器系統(tǒng)的難點(diǎn)已不再是硬件的排列和連接,而在于多個(gè)處理器的軟件的設(shè)計(jì),使它們正常操作,相互之間不產(chǎn)生沖突。
為防止多個(gè)處理器的相互干擾,在Nios II開(kāi)發(fā)套件中包含一個(gè)硬件互斥核(mutex core)。這個(gè)硬件互斥核允許不同的處理器在某一時(shí)間段聲明對(duì)共享資源的所有權(quán)。一個(gè)處理器對(duì)資源的臨時(shí)所有權(quán)防止共享資源被其他處理器破壞。在Nios II IDE中,對(duì)多處理器系統(tǒng)的調(diào)試也比較容易[2]。
采用多處理器系統(tǒng)實(shí)現(xiàn)的全自動(dòng)稱重系統(tǒng),CPU功能劃分如下:CPU1完成鍵盤(pán)參數(shù)輸入、數(shù)據(jù)顯示、打印、與上位機(jī)通訊等功能,CPU2,CPU3,…,CPUn分別完成每路的物料的動(dòng)態(tài)稱重測(cè)量和控制,具體包括數(shù)據(jù)采集、數(shù)據(jù)濾波,稱重預(yù)測(cè)控制算法軟件或硬件實(shí)現(xiàn)以及自動(dòng)定量包裝控制等功能。圖1給出了包含2個(gè)Nios II CPU 的系統(tǒng)硬件結(jié)構(gòu)圖。CPU各自運(yùn)行獨(dú)立的軟件,之間通過(guò)片上存儲(chǔ)器實(shí)現(xiàn)數(shù)據(jù)的共享。
3 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)
本設(shè)計(jì)采用某公司的新一代低成本FPGA —Cyclone II實(shí)現(xiàn)SOPC設(shè)計(jì),系統(tǒng)硬件主要包括FPGA上的Nios II處理器系統(tǒng)和FPGA外的接口和外設(shè)兩部分。Nios II處理器系統(tǒng)主要由基于Avalon Bus 的Nios II CPU1、串行接口、PIO、存儲(chǔ)器控制器;Nios II CPU2、定時(shí)器、PIO控制器以及片上RAM、互斥核等IP組成。與FPGA相連的外設(shè)包括串行配置器件、Flash、SDRAM、鍵盤(pán)、LCD顯示器、打印機(jī)、AD7330、料位、料門(mén)開(kāi)關(guān)等,稱重傳感器與AD7330直接相連,通過(guò)定時(shí)器提供系統(tǒng)的定時(shí)時(shí)鐘和定時(shí)中斷請(qǐng)求信號(hào);串口通過(guò)RS485總線與上位機(jī)通訊,實(shí)現(xiàn)多Nios II系統(tǒng)的上位機(jī)監(jiān)控。通過(guò)PIO可實(shí)現(xiàn)對(duì)AD7330、料門(mén)開(kāi)關(guān)、鍵盤(pán)、LCD顯示器、打印機(jī)等外設(shè)的控制,存儲(chǔ)器控制器分別與片外SDRAM和Flash連接,實(shí)現(xiàn)對(duì)存儲(chǔ)器的訪問(wèn)。
本控制系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)的步驟如下:
首先在SOPC Builder中,使用某公司提供的IP Core,對(duì)Nios II CPU和各外設(shè)模塊的特性、參數(shù)大小及在系統(tǒng)中地址分配等進(jìn)行設(shè)定;然后啟動(dòng)SOPC Builder中的Generate,使之生成用于綜合和仿真的文件;最后,使用Quartus II軟件鎖定端口引腳,對(duì)生成的Nios II系統(tǒng)進(jìn)行仿真、綜合、適配、下載和FPGA 配置。
3.1 數(shù)據(jù)采集及其處理
數(shù)據(jù)采集及其處理由稱重傳感器、模數(shù)轉(zhuǎn)換AD7730和CPU2完成,AD7730的數(shù)據(jù)采集電路如圖2所示。圖中,由橋式壓力傳感器輸出電壓信號(hào)進(jìn)入到輸入通道AIN+和AIN-,經(jīng)過(guò)模數(shù)轉(zhuǎn)換,再經(jīng)過(guò)AD7730中的數(shù)字濾波器進(jìn)行濾波,濾波后的數(shù)據(jù)通過(guò)SCLK、DIN、DOUT等信號(hào)通過(guò)中斷的方式送給Nios II進(jìn)行相應(yīng)的處理,得到期望的精確數(shù)據(jù)。
AD7730 是美國(guó)某公司推出的一款高分辨率的A/D 轉(zhuǎn)換器, 采用雙通道全差分模擬輸入,可直接和傳感器輸入信號(hào)相連,并可自校準(zhǔn)和系統(tǒng)校準(zhǔn)[3]。AD7730 特別適合用于寬動(dòng)態(tài)范圍內(nèi)的低頻信號(hào)A/D 轉(zhuǎn)換, 具有優(yōu)良的抗噪聲性能。在稱重控制器中使用AD7730 分別與稱重傳感器和CPU2直接接口。為了能夠得到高精度的采集數(shù)據(jù),CPU2要有很高的工作頻率。CPU2的工作頻率設(shè)為50MHz,專門(mén)負(fù)責(zé)數(shù)據(jù)采集及算法的處理。每隔10ms,CPU2從AD7730中讀取A/D轉(zhuǎn)換值, 然后進(jìn)行數(shù)字濾波處理,得到期望的近似數(shù)據(jù)。
3.2 CPU功能的實(shí)現(xiàn)
CPU1主要完成顯示、存儲(chǔ)、打印和通訊等功能。這些功能由CPU1控制外圍I/O設(shè)備來(lái)實(shí)現(xiàn)。稱重開(kāi)始前,先通過(guò)液晶顯示屏和鍵盤(pán)進(jìn)行人機(jī)界面交互,輸入控制參數(shù),系統(tǒng)稱重開(kāi)始后,CPU1通過(guò)共享存儲(chǔ)器獲取并顯示CPU2檢測(cè)的稱重?cái)?shù)據(jù),CPU2把檢測(cè)值和標(biāo)定的參數(shù)值進(jìn)行比較,根據(jù)比較的結(jié)果進(jìn)行稱重預(yù)測(cè)控制算法[4]的計(jì)算,根據(jù)計(jì)算結(jié)果輸出控制信號(hào)進(jìn)行稱重控制。稱重結(jié)束后可以由CPU1把本次稱重以及累積稱重的結(jié)果打印出來(lái),同時(shí)把結(jié)果記錄在Flash中。CPU1可同時(shí)控制幾臺(tái)甚至十幾臺(tái)稱重控制器,且通過(guò)RS485與上位機(jī)通訊,實(shí)現(xiàn)定量稱重系統(tǒng)的遠(yuǎn)程監(jiān)控。
3.3 多路控制的實(shí)現(xiàn)
要實(shí)現(xiàn)多路控制,只需在圖1的基礎(chǔ)上增加Nios II和相關(guān)IP核來(lái)實(shí)現(xiàn),這對(duì)于FPGA 來(lái)說(shuō)是很方便的。例如要實(shí)現(xiàn)2路控制,只需增加一個(gè)Nios II軟核CPU3,添加和CPU2相同的定時(shí)器和PIO IP核,再增加相應(yīng)的數(shù)據(jù)采集和控制電路就可以實(shí)現(xiàn),注意多個(gè)處理器可共用片外的Flash和SDRAM,只要其容量足夠大,也即不需要重新制作FPGA 控制電路板。CPU3負(fù)責(zé)該路數(shù)據(jù)的采集、濾波和稱重控制算法的計(jì)算和控制量的輸出,以此類推,可以用同樣的方法設(shè)計(jì)3路、4路等等。這樣我們就可以用一臺(tái)控制系統(tǒng)去完成多路測(cè)量,實(shí)現(xiàn)一臺(tái)控制系統(tǒng)控制多個(gè)定量包裝系統(tǒng),從而在不影響稱重精度的基礎(chǔ)上大幅度降低成本。
4 軟件系統(tǒng)總體設(shè)計(jì)
4.1 軟件總體設(shè)計(jì)
軟件是基于Nios II 集成開(kāi)發(fā)環(huán)境(IDE)[5] ,采用C語(yǔ)言開(kāi)發(fā)完成的,CPU1主要是完成參數(shù)的輸入、打印、顯示和通信等功能,CPU1軟件主要包括鍵盤(pán)管理與參數(shù)輸入,狀態(tài)測(cè)試,稱量系統(tǒng)校正和與上位機(jī)通信等模塊。為了節(jié)約系統(tǒng)功耗,在設(shè)定完系統(tǒng)參數(shù)后,LCD顯示可關(guān)閉。在稱量參數(shù)設(shè)置完成后,就可以啟動(dòng)自動(dòng)稱量。在自動(dòng)稱量完成后,可以顯示靜重值和扣重值。CPU2主要是完成數(shù)據(jù)采集和預(yù)估控制算法的計(jì)算及稱重控制,數(shù)據(jù)采集采用中斷方式,中斷時(shí)間設(shè)置為10 ms。
4.2 去極值平均濾波算法
稱重測(cè)量的精度直接影響系統(tǒng)的定量包裝控制的準(zhǔn)確性,所以采集數(shù)據(jù)的精度對(duì)保證系統(tǒng)的精度至關(guān)重要。
工業(yè)現(xiàn)場(chǎng)環(huán)境惡劣,為了準(zhǔn)確地進(jìn)行稱重?cái)?shù)據(jù)的采集,必須對(duì)采集的數(shù)據(jù)進(jìn)行濾波處理,濾掉干擾信號(hào)。在實(shí)際應(yīng)用中采用了去極值平均濾波算法,既可以消除由系統(tǒng)外部環(huán)境偶然因素引起的突變性擾動(dòng)造成的尖脈沖干擾,又能夠使數(shù)據(jù)平滑。去極值平均濾波算法是一種比較典型的復(fù)合濾波算法,它是由中值濾波算法和滑動(dòng)平均濾波算法復(fù)合而來(lái)。由于它具有簡(jiǎn)單實(shí)用的特點(diǎn),所以得到廣泛運(yùn)用。
去極值平均濾波算法的原理是:建立一個(gè)固定長(zhǎng)度為N的隊(duì)列,對(duì)每一組新的采樣值,先用中值濾波算法濾除采樣值中的脈沖性干擾,即剔除M 個(gè)最大值和M個(gè)最小值(M
5現(xiàn)場(chǎng)測(cè)試分析
通過(guò)現(xiàn)場(chǎng)測(cè)試,得到對(duì)設(shè)定值為25kg 的大米進(jìn)行稱重定量包裝的數(shù)據(jù)如表1所示。結(jié)果表明:系統(tǒng)誤差小于0.2%。
表1 比較實(shí)際誤差
第一袋 第二袋 第三袋 第四袋 第五袋 第六袋
給定值/㎏ 25.000 25.000 25.000 25.000 25.000 25.000
測(cè)量值/㎏ 25.000 24.999 25.001 25.000 24.999 25.001
誤差/㎏ --0.000 -0.001 0.001 0.000 0.000 0.001
6 結(jié) 論
現(xiàn)場(chǎng)測(cè)試結(jié)果表明,系統(tǒng)測(cè)量稱重誤差小于0.2%。
本系統(tǒng)的創(chuàng)新點(diǎn)在于:基于SOPC的定量稱重系統(tǒng)具有開(kāi)發(fā)周期短、成本低、可靠性高、易于擴(kuò)充等特點(diǎn),其SOPC實(shí)現(xiàn)稱重技術(shù)可廣泛適用于各種測(cè)量與控制系統(tǒng)。
本文源于網(wǎng)絡(luò)轉(zhuǎn)載,如有侵權(quán),請(qǐng)聯(lián)系刪除
深圳市卓禾儀器有限公司是一家專門(mén)從事稱重儀表和全自動(dòng)包裝碼垛生產(chǎn)線的研發(fā)及生產(chǎn)的高新技術(shù)企業(yè),所生產(chǎn)的JY500系列稱重顯示控制器(包括配料秤儀表、皮帶秤儀表、包裝秤儀表、重量變送器等)高速高精度,使用壽命長(zhǎng)。卓禾儀器有十?dāng)?shù)年的現(xiàn)場(chǎng)校驗(yàn)經(jīng)驗(yàn),在業(yè)內(nèi)有良好的口碑,且有專門(mén)的售后工程師幫忙解決產(chǎn)品使用過(guò)程中遇到的技術(shù)問(wèn)題,客戶可以放心省心順心的使用我司的產(chǎn)品。如果對(duì)我司的產(chǎn)品感興趣,歡迎咨詢。