資源描述:
《simulink模塊中bus和mux的區(qū)別》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、Simulink信號(hào)總線什么是復(fù)合信號(hào)?簡(jiǎn)短扼要的說,復(fù)合信號(hào)就是多路信號(hào)mux(向量)或者說總線信號(hào)bus,可以看作是各路信號(hào)的組合。在遇到共源極模型問題時(shí),你就會(huì)體驗(yàn)到使用mux和bus的精妙之處。MathWorks公司在2006年發(fā)布了一節(jié)新的Simulink文檔,專門討論復(fù)合信號(hào)(CompositeSignals)。在本帖里,我將分享我對(duì)mux和bus模型的理解。首先來看muxMux模塊的基本思想就是將多路信號(hào)集成一束,這一束信號(hào)在模型中傳遞和處理中都看做是一個(gè)整體。(Mux實(shí)際上代表多路信號(hào)。)與MuxBlock配套的是DemuxBl
2、ock,它將各路信號(hào)相互分離以便能對(duì)各信號(hào)進(jìn)行單獨(dú)處理。請(qǐng)看下面這個(gè)例子。Mux將三路信號(hào)x,y,z集結(jié)為寬為3的單路信號(hào)。Demux模塊則用來從復(fù)合的單路信號(hào)分離出各基本元素。Mux和Demux都不會(huì)將信號(hào)改變,它們只是“虛擬”的。當(dāng)模型運(yùn)行時(shí),這些模塊就像不存在一樣,只是源和目標(biāo)的連接保持著,就像這樣:使用mux的一個(gè)重要應(yīng)用就是構(gòu)造向量。這表示你可以將它的輸出當(dāng)作一個(gè)向量來使用。比如,將向量乘以2。這種類型的向量操作要求所有輸入Mux模塊的信號(hào)都是同種數(shù)據(jù)類型。從我的理解來看,只是為了使得它們組成的向量有意義。通常,這些信號(hào)元素都具有相同
3、的單位或者說它們是有特定作用的組。對(duì)于Mux模塊,你只需要定義輸入信號(hào)數(shù)量。使用虛擬向量形式的另一個(gè)好處是你可以使用selector模塊來索引并取出各路信號(hào)或再進(jìn)行連接。接著討論bus當(dāng)需要將不同類型的信號(hào)集結(jié)在一起,或者在使用向量不能方便的表達(dá)我的模型圖時(shí),我們可以使用bus??偩€bus信號(hào)確實(shí)可以使你的模型圖變整潔。BusCreator和BusSelector以圖示的形式方便了管理信號(hào)和組織模型。在我的想象中,bus就像是一系列七彩的信號(hào)線被綁在一起。如果不是這樣,我恐怕很快就會(huì)很難組織這些信號(hào)了。作為實(shí)例,請(qǐng)看AerospaceBlock
4、set中的anexamplemodeloftheDeHavilandBeaver。在模型的最上層,所有對(duì)象都整潔有序,這是因?yàn)樗性诟鱾€(gè)子系統(tǒng)內(nèi)計(jì)算的信息都被集入了一條總線。各個(gè)系統(tǒng)都使用BusCreator將相關(guān)信號(hào)打包裝入了一條總線內(nèi),接著將總線輸入需要這些信號(hào)的各系統(tǒng)。你能想象如果這些信號(hào)沒有集入總線是什么樣子?下圖是一個(gè)同樣的模型,但它看起來很亂。在這個(gè)模型里,許多組件子系統(tǒng)使用總線信號(hào)以形成較簡(jiǎn)潔的接口。我注意到,部分人只在別的系統(tǒng)需要時(shí)才將信號(hào)放入總線內(nèi)。以下就是用總線信號(hào)來定義接口的一個(gè)系統(tǒng)實(shí)例。瀏覽這個(gè)模塊圖,你會(huì)發(fā)現(xiàn)飛行參數(shù)(
5、FltParams)是由環(huán)境參數(shù)(EnvirBus)和飛行器信號(hào)(ACBus)計(jì)算而來。在這個(gè)子系統(tǒng)內(nèi)部,你可以看到使用了BusSelectors來從打包信號(hào)里將特定元素取出。計(jì)算出來的飛行參數(shù)通過一個(gè)BusCreator組合在一起來定義FltParams總線??偩€信號(hào)也可以表現(xiàn)不同層次我們來看一下EnvironmentBus中的層次結(jié)構(gòu)。這是一個(gè)將一路總線并入其他總線內(nèi)的例子。環(huán)境信號(hào)中重力加速度(g)和壓力(rho)以及windbus(Vwind)被導(dǎo)入BusCreator。而windbus則由bodyvelocities(uvw_wind
6、)和bodyrates(pqr_wind)來定義。下圖中的BusCreator對(duì)話框,表現(xiàn)了總線中的信號(hào)的組織。在它最基本的使用中,你只需要定義信號(hào)的輸入數(shù)目。各元素以其信號(hào)名稱加以區(qū)分。類似于MuxBlocks,buscreators也不完全不會(huì)改變信號(hào),所以我們可以認(rèn)為它們是虛擬的