新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Simulink的嵌入式網(wǎng)絡(luò)化控制仿真實現(xiàn)

基于Simulink的嵌入式網(wǎng)絡(luò)化控制仿真實現(xiàn)

作者: 時間:2012-04-23 來源:網(wǎng)絡(luò) 收藏

摘要:/Real-Time Workshop(RTW)的系統(tǒng),構(gòu)建了以ARM7TDMI型CPU為核,運行uClinux操作系統(tǒng)的平臺。建立了廣域網(wǎng)范圍的網(wǎng)絡(luò)環(huán)境,通過延時測量實驗獲得了網(wǎng)絡(luò)延時統(tǒng)計特性,并針對該網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)的前向通道和反饋通道分別提出了延時補償方法。同時系統(tǒng)還為用戶提供了離線,和通過網(wǎng)絡(luò)在線指導現(xiàn)場的網(wǎng)絡(luò)遠程監(jiān)控功能。最后以直流電機為被控對象,在廣域網(wǎng)環(huán)境下進行了控制系統(tǒng)實驗,驗證了該系統(tǒng)的有效性。

本文引用地址:http://www.butianyuan.cn/article/171574.htm

引言

控制系統(tǒng)NCS(Networked Control Systems)是指控制系統(tǒng)的各智能設(shè)備即傳感器,控制器和執(zhí)行器分布在不同地域空間,通過網(wǎng)絡(luò)形成閉合回路,各節(jié)點之間的數(shù)據(jù)和信息的交換需要網(wǎng)絡(luò)來。它是將當今先進的網(wǎng)絡(luò)通信技術(shù),計算機技術(shù)和控制技術(shù)融為一體的分布式控制系統(tǒng)。雖然網(wǎng)絡(luò)化控制在工業(yè)控制,過程控制和樓宇自動化等方面得到了廣泛的應(yīng)用,但網(wǎng)絡(luò)控制系統(tǒng)的理論研究卻相當不成熟[1]。本文利用在工程領(lǐng)域廣泛使用的軟件,結(jié)合軍事和民用領(lǐng)域應(yīng)用成熟的微處理器構(gòu)架開發(fā)了網(wǎng)絡(luò)化控制仿真系統(tǒng),為進行網(wǎng)絡(luò)化控制系統(tǒng)的理論研究提供了有利工具。

由于目前工業(yè)控制領(lǐng)域使用的通信技術(shù)都是自成體系、互不開放的。國際上新頒布的IEC61158現(xiàn)場總線標準包括了8種不同的類型,要使它們之間互相兼容和互可操作幾乎是不可能的。因此,積極采用以太網(wǎng)技術(shù)已成為工業(yè)網(wǎng)絡(luò)的發(fā)展趨勢。目前以太網(wǎng)的網(wǎng)絡(luò)化控制系統(tǒng)得到了全世界自動化領(lǐng)域?qū)W者們的關(guān)注。鑒于此,本文所開發(fā)的仿真系統(tǒng)是專為以太網(wǎng)的網(wǎng)絡(luò)化控制而設(shè)計的。

由于網(wǎng)絡(luò)化控制系統(tǒng)是控制技術(shù)和網(wǎng)絡(luò)通訊技術(shù)相結(jié)合的產(chǎn)物,因而對它的分析設(shè)計也通常從控制和網(wǎng)絡(luò)兩個角度進行。從網(wǎng)絡(luò)角度考慮,一般是對通信協(xié)議進行改進,解決延時,丟包,亂序等網(wǎng)絡(luò)帶給控制系統(tǒng)的問題,減小對控制系統(tǒng)的影響;從控制角度出發(fā),則是在已有的網(wǎng)絡(luò)結(jié)構(gòu)和協(xié)議下,設(shè)計控制系統(tǒng)的結(jié)構(gòu),開發(fā)控制算法,補償網(wǎng)絡(luò)延時,以保證系統(tǒng)的穩(wěn)定。本仿真系統(tǒng)是從控制的角度設(shè)計的。

本文建立了以32位嵌入式RISC(Reduced Instruction Set Computer)微處理器結(jié)構(gòu)ARM7TDMI S3C4510B為CPU核,基于/RTW開發(fā)的嵌入式網(wǎng)絡(luò)化控制仿真系統(tǒng)的軟硬件結(jié)構(gòu)平臺。結(jié)合對無刷直流電機的控制試驗實例,闡述了本仿真系統(tǒng)的具體應(yīng)用。

網(wǎng)絡(luò)化控制仿真系統(tǒng)

嵌入式系統(tǒng)平臺構(gòu)架

本系統(tǒng)以嵌入式系統(tǒng)為硬件平臺,其硬件構(gòu)架如圖1。該嵌入式系統(tǒng)硬件平臺選用Samsung 公司的基于ARM7TDMI核芯的S3C4510B微處理器作為嵌入式系統(tǒng)的CPU。S3C4510B 32位嵌入式RISC微控制器是為基于以太網(wǎng)的現(xiàn)場網(wǎng)絡(luò)控制系統(tǒng)提供的低成本高性能的微控制器。它支持8位、16位和32位尋址方式,具有16M×32位的尋址能力,可方便的構(gòu)建較大的存儲空間。為了降低整個系統(tǒng)的成本,S3C4510B將外圍設(shè)備和處理器內(nèi)核集成在一塊芯片上,提供片上外圍設(shè)備主要有2通道UART,2通道HDLC,1通道MII接口,Ethernet控制器,中斷控制器,JTAG接口,PLL 時鐘發(fā)生器和2個定時器等。

系統(tǒng)選用HY29LV160作為FLASH存儲器,每片提供1M×16位的存儲空間,兩片并聯(lián)構(gòu)成1M×32位的代碼存儲空間;選用HY57V641620作為SDRAM存儲器,每片提供4M×16位的存儲空間,兩片并聯(lián)構(gòu)成4M×32位的代碼運行空間,相對較大的RAM空間有利于提高系統(tǒng)性能和執(zhí)行較復雜的控制算法。有源晶振為S3C4510B提供外部時鐘信號,通過內(nèi)部的鎖相環(huán)(PLL)電路,作為系統(tǒng)的工作頻率,PLL兼有頻率放大和信號提純的功能,因此,系統(tǒng)可以較低的外部時鐘信號獲得較高的工作頻率,最高可達50MHz。

此外,目標系統(tǒng)還擴展了8路16位高速A/D和2路12位高速D/A,為被控對象提供控制接口。用100M/10M高速以太網(wǎng)物理層收發(fā)器DM9161擴展以太網(wǎng)控制器。4×4的鍵盤和數(shù)碼管顯示為系統(tǒng)提供了現(xiàn)場調(diào)試手段。

ARM7TDMI構(gòu)架的CPU不帶MMU即內(nèi)存管理單元,可選用uClinux作為相應(yīng)的操作系統(tǒng),這是一個完全符合GNU/GPL(通用公共許可證)公約的項目和完全開放代碼,是標準Linux的一個分支,專用于沒有MMU的CPU,并且為嵌入式系統(tǒng)做了許多小型化的工作,具有內(nèi)嵌網(wǎng)絡(luò)協(xié)議,支持多種文件系統(tǒng),編譯后內(nèi)核目標文件在600KB左右。

仿真系統(tǒng)軟件結(jié)構(gòu)

本仿真系統(tǒng)為用戶提供網(wǎng)絡(luò)和內(nèi)核兩類接口模塊。網(wǎng)絡(luò)模塊由Simulink 提供的專為用戶自行開發(fā)代碼的系統(tǒng)函數(shù)(S-Function),代碼采用C 語言編寫,主要有UDP/IP,TCP/IP 兩種通信協(xié)議模塊,同步機制模塊,延時測量模塊,控制算法模塊和延時補償模塊。

內(nèi)核模塊包括讀模塊,寫模塊,訪問系統(tǒng)硬件平臺片上外圍和擴展硬件資源的I/O 模塊,如A/D 模塊,D/A 模塊,外部中斷源模塊,定時器模塊等。內(nèi)核模塊除用系統(tǒng)函數(shù)完成用戶空間編程外,還需在uClinux 中進行內(nèi)核空間編程。

此外,仿真系統(tǒng)還提供了網(wǎng)絡(luò)監(jiān)控功能,使不在控制現(xiàn)場的用戶及時掌握控制系統(tǒng)的運行狀況。該功能主要由客戶端和服務(wù)器兩部分完成,即構(gòu)成Client/Server 模式??蛻舳颂峁┡c用戶的交互,由VC++編寫實現(xiàn),運行在Windows 操作系統(tǒng)的PC 主機,主要實現(xiàn)2 個功能:控制和監(jiān)視。控制功能響應(yīng)來自用戶的動作,如通過網(wǎng)絡(luò)修改遠程的控制器參數(shù),查看過程變量實時數(shù)值;監(jiān)視功能為用戶顯示變量實時趨勢圖。服務(wù)器端運行在嵌入式系統(tǒng)平臺,由ANSI C 編程實現(xiàn),主要處理來自客戶端的各種命令請求,并作出相應(yīng)的操作,使客戶端的用戶通過網(wǎng)絡(luò)實現(xiàn)各種監(jiān)控功能。使用TCP/IP 協(xié)議,客戶端采用WinSocket 服務(wù)器端采用Socket 實現(xiàn)通訊的監(jiān)控流程如圖2 所示。

系統(tǒng)實現(xiàn)

本系統(tǒng)采用Simulink/Real-time Workshop實現(xiàn)仿真系統(tǒng)中運行在嵌入式平臺的代碼部分。

Simulink是Mathworks公司推出的,用于控制算法設(shè)計和系統(tǒng)動態(tài)建模的可視化仿真分析環(huán)境,其Real-TimeWorkshop(RTW)工具箱能根據(jù)所組建的Simulink框圖自動生成優(yōu)化的C語言代碼,結(jié)合與目標硬件相關(guān)的接口模塊,實現(xiàn)對Simulink描述的控制系統(tǒng)的仿真,使用戶從編寫代碼的繁冗勞動中解脫,縮短程序開發(fā)周期。

嵌入式硬件平臺的應(yīng)用程序開發(fā)與傳統(tǒng)開發(fā)有所不同。受嵌入式系統(tǒng)有限資源的限制,應(yīng)用程序的開發(fā)一般采用主從模式,即程序的設(shè)計,編譯和鏈接在PC 機(通常運行有Linux)上進行,最終生成的可執(zhí)行代碼運行在嵌入式系統(tǒng)中,這個過程為交叉編譯過程。

利用RTW 實現(xiàn)將Simulink 的框圖生成在仿真系統(tǒng)的嵌入式平臺上運行程序的主要步驟為:

1) 編寫通用的與Simulink 框圖接口的網(wǎng)絡(luò)程序;

(2) 在裝有Matlab 的PC 機上安裝交叉編譯工具鏈arm-elf-gcc,包括編譯器,鏈接器,二進制工具等;

(3) 在Simulink 中構(gòu)建被控系統(tǒng)的仿真框圖;

(4) 根據(jù)目標硬件的不同,修改RTW 中集成的makefile模板文件,并將在(1)中編寫的代碼,加入到編譯鏈接的源碼列表,修改系統(tǒng)目標文件;

(5) 打開相應(yīng)RTW 對話框,選中要使用的系統(tǒng)目標文件后,代碼的生成,編譯,下載及在嵌入式系統(tǒng)上運行等一系列過程將在幾分鐘內(nèi)自動完成。

圖3 描述了仿真系統(tǒng)軟件整體結(jié)構(gòu)及Simulink/RTW 實現(xiàn)嵌入式應(yīng)用程序的過程。

由于Matlab 軟件通常安裝在Windows 操作系統(tǒng),為保證交叉編譯的順利進行,安裝軟件Cygwin,以提供在Windows 下的虛擬Linux 環(huán)境。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 4 5 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉