a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 基于SOPC的定量稱重控制系統的設計與實現

基于SOPC的定量稱重控制系統的設計與實現

作者: 時間:2008-04-21 來源:網絡 收藏
摘要:針對全自動所要求的高精度、高可靠性、多功能等特性,給出了基于多NiosII嵌入式軟核處理器的全自動的可編程片上系統()軟硬件設計方法。采用傳感器、模數轉換器AD7730、去極值平均濾波算法和預測控制算法,實現了顆粒、粉末狀等物料的高精度測量及自動包裝控制。該系統具有開發周期短、成本低、可靠性高、易于擴充等特點,現場測試結果表明,系統測量稱重誤差小于0.2%。
關鍵詞;NiosII軟核處理器;FPGA;AD7730;動態稱重

Abstract: For the needs of high accuracy, high reliability and multifunction of a weighting control system, the software and hardware design methods of a based on multiple Nios II Embedded softcore CPUs are given. Weighing senor,A/D converter AD7730, the mean filter algorithm which can remove extreme values and the predictive control algorithm are used to implement the high precision measurement and the automatic pack control of the pulverized material. The system has the advantages of low cost, high stability, short development period and good extensibility and so on. The field test result indicates that the weighting error of the system is less than 0.2%.

Key words: SOPC;Nios II softcore processor;FPGA;AD7730;dynamic weighing

1引 言

在化工、水泥、糧食、飼料等行業的生產過程中,需要對物料進行稱重控制,完成自動稱重包裝。物料可以劃分為顆粒、粉末、液體等類型。采用人工進行的定量稱重包裝不但效率低,而且計量精度低。全自動定量稱重不但滿足很高的計量精度,而且具有很強的穩定性,且具有精度高、功能強大、操作簡便等特點。

隨著嵌入式系統和微電子技術的發展,全自動定量稱重控制系統的實現技術也在不斷地發展。可編程片上系統(SOPC)是一種靈活高效的SOC設計方式,它根據系統設計的需要將CPU、存儲器、I/O等各種IP核集成到一個可編程邏輯芯片(FPGA)上,構成一個可編程的片上系統。采用SOPC設計方式可以很容易對已有的設計進行修改,靈活性高[1]

本文設計的定量稱重控制系統采用Altera公司的SOPC解決方案,它基于嵌入式軟核Nios II多核結構, Nios II軟核是一個32位RISC嵌入式處理器,性能超過200MIP,在性能上Nios II可滿足當前的大部分嵌入式產品的設計。Altera公司提供了完整的開發套件:Quartus II 、SOPC Builder、Nios II IDE和仿真工具等軟件,并將它們無縫地集成在一起,這為當前嵌入式系統設計提供了新方法,并帶來了巨大的便利,可輕松實現從底層的硬件設計到上層的軟件開發,縮短開發周期,降低開發的復雜性。

2 系統總體設計

本系統要求稱重測量誤差小于0.2%,且系統的功能比較復雜,既要實時處理采集過來的數據,還要實現控制、顯示、存儲以及與上位機通訊等功能,同時還要實現復雜的稱重預測控制算法[2],一般在幾秒中之內要完成物料的動態稱重測量和包裝,特別地,系統若要控制多路稱重傳感器的測量和包裝,采用單CPU來控制的話,勢必會影響到系統的速度,很難實現高精度的稱重測量和控制需求。可以考慮采用多CPU系統來實現。傳統的SOC多處理器系統使系統結構復雜,可靠性降低,且增加了系統的開發難度。

采用SOPC的實現方案,很好地解決了系統實現功能復雜性和系統設計復雜性的矛盾,Nios II 5.0及以上版本支持多處理器系統的創建和調試。多個Nios II處理器能夠有效地共享系統資源,由于SOPC Builder允許用戶輕松添加多個處理器到系統中,建立多處理器系統的難點已不再是硬件的排列和連接,而在于多個處理器的軟件的設計,使它們正常操作,相互之間不產生沖突。

為防止多個處理器的相互干擾,在Nios II開發套件中包含一個硬件互斥核(mutex core)。這個硬件互斥核允許不同的處理器在某一時間段聲明對共享資源的所有權。一個處理器對資源的臨時所有權防止共享資源被其他處理器破壞。在Nios II IDE中,對多處理器系統的調試也比較容易[2]

采用多處理器系統實現的全自動稱重控制系統,CPU功能劃分如下:CPU1完成鍵盤參數輸入、數據顯示、打印、與上位機通訊等功能,CPU2,CPU3,…,CPUn分別完成每路的物料的動態稱重測量和控制,具體包括數據采集、數據濾波,稱重預測控制算法軟件或硬件實現以及自動包裝控制等功能。圖1給出了包含2個Nios II CPU 的系統硬件結構圖。CPU各自運行獨立的軟件,之間通過片上存儲器實現數據的共享。

圖1 稱重控制系統結構圖

3 系統硬件設計與實現

本設計采用Altera 公司的新一代低成本FPGA ―Cyclone II實現SOPC設計,系統硬件主要包括FPGA上的Nios II處理器系統和FPGA外的接口和外設兩部分。Nios II處理器系統主要由基于Avalon Bus 的Nios II CPU1、串行接口、PIO、存儲器控制器;Nios II CPU2、定時器、PIO控制器以及片上RAM、互斥核等IP組成。與FPGA相連的外設包括串行配置器件、Flash、SDRAM、鍵盤、LCD顯示器、打印機、AD7330、料位、料門開關等,稱重傳感器與AD7330直接相連,通過定時器提供系統的定時時鐘和定時中斷請求信號;串口通過RS485總線與上位機通訊,實現多Nios II系統的上位機監控。通過PIO可實現對AD7330、料門開關、鍵盤、LCD顯示器、打印機等外設的控制,存儲器控制器分別與片外SDRAM和Flash連接,實現對存儲器的訪問。

本控制系統硬件設計與實現的步驟如下:

首先在SOPC Builder中,使用Altera公司提供的IP Core,對Nios II CPU和各外設模塊的特性、參數大小及在系統中地址分配等進行設定;然后啟動SOPC Builder中的Generate,使之生成用于綜合和仿真的文件;最后,使用Quartus II軟件鎖定端口引腳,對生成的Nios II系統進行仿真、綜合、適配、下載和FPGA 配置。這樣即實現了如圖1所示的SOPC硬件系統。

3.1 數據采集及其處理

數據采集及其處理由稱重傳感器、模數轉換AD7730和CPU2完成,AD7730的數據采集電路如圖2所示。圖中,由橋式壓力傳感器輸出電壓信號進入到輸入通道AIN+和AIN-,經過模數轉換,再經過AD7730中的數字濾波器進行濾波,濾波后的數據通過SCLK、DIN、DOUT等信號通過中斷的方式送給Nios II進行相應的處理,得到期望的精確數據。

圖2 AD7730數據采集電路圖

AD7730 是美國ADI 公司推出的一款高分辨率的A/D 轉換器, 采用雙通道全差分模擬輸入,可直接和傳感器輸入信號相連,并可自校準和系統校準[3]。AD7730 特別適合用于寬動態范圍內的低頻信號A/D 轉換, 具有優良的抗噪聲性能。在稱重控制器中使用AD7730 分別與稱重傳感器和CPU2直接接口。為了能夠得到高精度的采集數據,CPU2要有很高的工作頻率。CPU2的工作頻率設為50MHz,專門負責數據采集及算法的處理。每隔10ms,CPU2從AD7730中讀取A/D轉換值, 然后進行數字濾波處理,得到期望的近似數據。

3.2 CPU功能的實現

CPU1主要完成顯示、存儲、打印和通訊等功能。這些功能由CPU1控制外圍I/O設備來實現。稱重開始前,先通過液晶顯示屏和鍵盤進行人機界面交互,輸入控制參數,系統稱重開始后,CPU1通過共享存儲器獲取并顯示CPU2檢測的稱重數據,CPU2把檢測值和標定的參數值進行比較,根據比較的結果進行稱重預測控制算法[4]的計算,根據計算結果輸出控制信號進行稱重控制。稱重結束后可以由CPU1把本次稱重以及累積稱重的結果打印出來,同時把結果記錄在Flash中。CPU1可同時控制幾臺甚至十幾臺稱重控制器,且通過RS485與上位機通訊,實現定量稱重控制系統的遠程監控。

3.3 多路控制的實現

要實現多路控制,只需在圖1的基礎上增加Nios II和相關IP核來實現,這對于FPGA 來說是很方便的。例如要實現2路控制,只需增加一個Nios II軟核CPU3,添加和CPU2相同的定時器和PIO IP核,再增加相應的數據采集和控制電路就可以實現,注意多個處理器可共用片外的Flash和SDRAM,只要其容量足夠大,也即不需要重新制作FPGA 控制電路板。CPU3負責該路數據的采集、濾波和稱重控制算法的計算和控制量的輸出,以此類推,可以用同樣的方法設計3路、4路等等。這樣我們就可以用一臺控制系統去完成多路測量,實現一臺控制系統控制多個包裝系統,從而在不影響稱重精度的基礎上大幅度降低成本。

4 軟件系統總體設計

4.1 軟件總體設計

軟件是基于Nios II 集成開發環境(IDE)[5] ,采用C語言開發完成的,CPU1主要是完成參數的輸入、打印、顯示和通信等功能,CPU1軟件主要包括鍵盤管理與參數輸入,狀態測試,稱量系統校正和與上位機通信等模塊。為了節約系統功耗,在設定完系統參數后,LCD顯示可關閉。在稱量參數設置完成后,就可以啟動自動稱量。在自動稱量完成后,可以顯示靜重值和扣重值。CPU2主要是完成數據采集和預估控制算法的計算及稱重控制,數據采集采用中斷方式,中斷時間設置為10 ms。

4.2 去極值平均濾波算法

稱重測量的精度直接影響系統的定量包裝控制的準確性,所以采集數據的精度對保證系統的精度至關重要。

工業現場環境惡劣,為了準確地進行稱重數據的采集,必須對采集的數據進行濾波處理,濾掉干擾信號。在實際應用中采用了去極值平均濾波算法,既可以消除由系統外部環境偶然因素引起的突變性擾動造成的尖脈沖干擾,又能夠使數據平滑。去極值平均濾波算法是一種比較典型的復合濾波算法,它是由中值濾波算法和滑動平均濾波算法復合而來。由于它具有簡單實用的特點,所以得到廣泛運用。

去極值平均濾波算法的原理是:建立一個固定長度為N的隊列,對每一組新的采樣值,先用中值濾波算法濾除采樣值中的脈沖性干擾,即剔除M 個最大值和M個最小值(MN/2);然后求出余下的N-2M個采樣值的平均值,選取這個平均值為本次采樣值。顯然,這種方法既能抑制隨機干擾,又能濾除明顯的脈沖干擾。

5現場測試分析

通過現場測試,得到對設定值為25kg 的大米進行稱重包裝的數據如表1所示。結果表明:系統誤差小于0.2%。

表1 比較實際誤差

第一袋

第二袋

第三袋

第四袋

第五袋

第六袋

給定值/K

25.000

25.000

25.000

25.000

25.000

25.000

測量值/K

25.000

24.999

25.001

25.000

24.999

25.001

誤差/K

­­0.000

-0.001

0.001

0.000

0.000

0.001

6 結 論

現場測試結果表明,系統測量稱重誤差小于0.2%。

本文的創新點在于:基于SOPC的定量稱重控制系統具有開發周期短、成本低、可靠性高、易于擴充等特點,其SOPC實現技術可廣泛適用于各種測量與控制系統。

參考文獻:

[1] Qingxu Deng , Hai Xu, Shuisheng Wei, An embedded SOPC system using automation design, Proceedings. 2005 International Conference on Parallel Processing Workshops, 2005, p 232-9

[2] 李蘭英. Nios II 嵌入式軟核 SOPC 設計原理及應用[M]. 北京:北京航空航天大學出版社, 2006.

[3] 劉書明. 高性能模數與數模轉換器件[M]. 西安:西安電子科技大學出版社, 2000.

[4] 陳寶遠,房國志,于曉陽.多級給料粉狀物料稱重系統的預測控制算法[J]. 電機與控制學報,2005,9(3): 287-290.

[5] Altera Corp.QuartusII Version 6.0 Hardbook. Altera, 2006.

[6] 袁景超,宋廣為. 連續稱重給料系統稱重精度的穩定提高[J].微計算機信息[J].2001,17(11),38-39

稱重傳感器相關文章:稱重傳感器原理


評論


相關推薦

技術專區

關閉