以ARM和DSP嵌入式系統(tǒng)為核心的實時仿真平臺的開發(fā)_第1頁
以ARM和DSP嵌入式系統(tǒng)為核心的實時仿真平臺的開發(fā)_第2頁
以ARM和DSP嵌入式系統(tǒng)為核心的實時仿真平臺的開發(fā)_第3頁
以ARM和DSP嵌入式系統(tǒng)為核心的實時仿真平臺的開發(fā)_第4頁
以ARM和DSP嵌入式系統(tǒng)為核心的實時仿真平臺的開發(fā)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、以ARM和DSP嵌入式系統(tǒng)為核心的實時仿真平臺的開發(fā)以ARM和DSP嵌入式系統(tǒng)為核心的實時仿真平臺的開發(fā)類別:消費電子以ARM和DSP嵌入式系統(tǒng)為核心的實時仿真平臺的開發(fā)引言 一個大型的船舶輪機模擬器蘊含著30多個全物理過程的數(shù)學(xué)模型,涉及千余個實時參變量,通常采用功能分散的DCS網(wǎng)絡(luò)來實現(xiàn)。即便如此,個別仿真工作站由于模型復(fù)雜、任務(wù)繁重,難以滿足實時仿真的要求。 例如,動力推進系統(tǒng)的仿真是一個半實物在環(huán)的仿真系統(tǒng),其中既有虛擬的動力裝置即仿真計算機上運行的數(shù)學(xué)模型,又有真實的控制盤臺、物理顯示設(shè)備,是一種集實時控制和高速運算功能于一體的典型系統(tǒng)。 早期開發(fā)成功的SMSC2000型輪機模擬器采

2、用工控機作為仿真計算機,所有數(shù)據(jù)的處理和輸入輸出的控制都經(jīng)過它的數(shù)據(jù)采集卡來完成。推進系統(tǒng)仿真的精確度與實時性無法兩全。近期航運仿真中心在開展多模式機艙仿真實驗的同時,針對I/O點最多(200多個)、半實物環(huán)境最復(fù)雜的船舶推進系統(tǒng)進行了剖析,研制了嵌入式微機的新穎仿真平臺。 船舶推進系統(tǒng)仿真平臺的選取 船舶推進系統(tǒng)仿真平臺需要有很強的控制接口(輸入輸出)能力和高速的數(shù)字運算處理能力。TI公司的DSPC2000系列率先為電機的實時控制開拓了應(yīng)用領(lǐng)域,但并不適合于具有眾多I/O的復(fù)雜機電模型的仿真。由于市場上無現(xiàn)成的仿真裝置可購,只能針對機艙模擬器的對象自行探索。實際上,當代嵌入式芯片既提供了高速

3、的數(shù)字信號處理器(DSP),也提供了有強大控制功能的微控制器(MCU)。采用MCU DSP架構(gòu),就可兼?zhèn)鋬烧叩拈L處。 基于ARM核的32位RISC微控制器在監(jiān)視控制、人機接口方面的功能非常完善,數(shù)字信號處理器(DSP)對各種數(shù)字信號或數(shù)據(jù)處理的能力十分強大。因此,許多嵌入式實時應(yīng)用系統(tǒng)采用ARM DSP的結(jié)構(gòu)組合來充分發(fā)揮兩種處理器的優(yōu)勢,從每個處理器中獲得最大益處,以獲得更高性能。其中,ARM作為主處理器,負責任務(wù)管理、輸入輸出接口、對外部設(shè)備的控制,甚至運行嵌入式操作系統(tǒng);而DSP作為從處理器,僅僅負責快速的數(shù)據(jù)運算處理。兩個處理器核之間通過共用一部分存儲器等方式進行通信。 以ARM DS

4、P為核心的嵌入式系統(tǒng)具有很強的控制接口能力和高速數(shù)字處理能力,用來代替以工控機為核心的仿真系統(tǒng),可以達到實時運行精確的船舶推進系統(tǒng)的數(shù)學(xué)模型、實時控制外圍物理設(shè)備的目的,從而實現(xiàn)精確實時的半物理實物在環(huán)的船舶推進仿真系統(tǒng)。 ARM DSP嵌入式船舶推進系統(tǒng)仿真平臺的硬件結(jié)構(gòu) ARM DSP嵌入式仿真平臺主要由以ARM,C5000DSP,C2000DSP3個處理器為中心的功能部分構(gòu)成。其中ARM部分的ARM核微控制器是主處理器,是整個系統(tǒng)的控制中心。ARM部分帶有自己的FLASH,RAM,A/D,D/A轉(zhuǎn)換器等外圍設(shè)備,主要負責上電后完成整個系統(tǒng)的自舉加載和系統(tǒng)的任務(wù)分配、從物理設(shè)備輸入和向物理

5、設(shè)備輸出信號、通過CAN總線與上位計算機通信等。 C5000DSP部分主要運行船舶推進系統(tǒng)的數(shù)學(xué)模型,并將仿真所得的轉(zhuǎn)速和轉(zhuǎn)矩的數(shù)據(jù)傳遞給C2000DSP部分的電機控制單元,以在電動機上表達出推進系統(tǒng)的實時狀態(tài),即用電動機來模擬推進主機。 C2000DSP部分的功能是接收C5000DSP部分數(shù)學(xué)模型的運算結(jié)果,按照該結(jié)果控制電動機達到仿真的轉(zhuǎn)速和轉(zhuǎn)矩,最終實現(xiàn)用電動機來模擬推進主機。這3個部分按一定的方式組合在一起,構(gòu)成一個整體,共同完成推進系統(tǒng)仿真的任務(wù)。其基本組織結(jié)構(gòu)如圖1所示。圖1ARM DSP嵌入式微機系統(tǒng)的基本組成 實際上,從可靠性角度考慮,對于ARM部分和C5000DSP部分,采用

6、一塊ARM7 C54x的雙核芯片(TI的TMS320VC5470)把兩部分的核心集成到一起。這兩部分的主要外圍設(shè)備有ARM側(cè)的FLASH,SRAM,SDRAM,鍵盤,LCD,CAN總線接口,A/D,D/A轉(zhuǎn)換器(用于模擬量的輸入輸出),光耦電路(用于數(shù)字量或開關(guān)量的輸入輸出),用于編程調(diào)試用的JTAG接口及DSP側(cè)的程序空間外擴SRAM,數(shù)據(jù)空間外擴SRAM,及I/O空間的FIFO(用于向C2000DSP部分傳遞數(shù)據(jù))。這兩部分的硬件組織結(jié)構(gòu)如圖2所示。 C5000DSP的硬件結(jié)構(gòu) hspace=0 src= width=400 border=0 圖2ARM和C5000DSP的硬件結(jié)構(gòu) C20

7、00DSP部分為任選部分。若省略這部分,則仿真結(jié)果僅顯示在LCD,LED狀態(tài)指示燈上。加上這部分后,仿真推進系統(tǒng)的各種動靜態(tài)轉(zhuǎn)速及轉(zhuǎn)矩特性可在C2000DSP部分控制的仿真電機上反映出來,達到用電機模擬推進系統(tǒng)主機的目的。圖3所示的C2000DSP子系統(tǒng)實際上是一個電機的閉環(huán)控制系統(tǒng),由DSP控制器、功率驅(qū)動放大電路、電機和轉(zhuǎn)速檢測環(huán)節(jié)(光電編碼盤)4個子部分構(gòu)成。可見,ARM DSP嵌入式船舶推進系統(tǒng)仿真平臺的硬件資源豐富,且有很大的可擴展空間。該系統(tǒng)平臺在硬件方面有以下一些特點。 (1)從處理器的速度上看,ARM最大為47.5MHz,C5000DSP最大為100MHz,C2000DSP最大

8、為40MHz,屬于較高速處理器。 C2000DSP部分的硬件結(jié)構(gòu) hspace=0 src= width=400 border=0 圖3C2000DSP部分的硬件結(jié)構(gòu) (2)FLASH的容量很大。在ARM和C5000DSP(即TMS320VC5470)部分有8MB的外部FLASH;在C2000DSP(TMS320LF2407)部分有32KW的在片F(xiàn)LASH,而且還可以進行外擴。這樣,該系統(tǒng)就可以固化大量的程序代碼,適合開發(fā)大型的程序。 (3)SRAM的容量也很大。在ARM部分有16KB的在片高速SRAM和2MB的外部SRAM;在C5000DSP部分有72KW高速在片SRAM和64KW外擴程序S

9、RAM和64KW外擴數(shù)據(jù)SRAM;在C2000DSP(TMS320LF2407)部分有2.5KW的在片SRAM,而且還有64KW外擴程序SRAM和64KW外擴數(shù)據(jù)SRAM。這樣,大量的SRAM可以保證處理器在SRAM中讀取程序,以保證程序快速運行。 (4)系統(tǒng)的I/O端口資源豐富。既有數(shù)字量的輸入輸出,也有模擬量的輸入輸出;既提供了串行方式,也提供了并行方式。為數(shù)據(jù)采集、控制指令輸出、與上位機通信等奠定了硬 件基礎(chǔ)。 (5)C2000DSP的處理器TMS320LF2407是專用來進行電機控制的芯片,用來產(chǎn)生PWM信號和捕獲轉(zhuǎn)速反饋信號很容易,而且運算速度快,可以實現(xiàn)對電機的各種高效復(fù)雜的控制。

10、 (6)各部分間需要實時交換數(shù)據(jù),其硬件上都采用了共享存儲器的方式(ARM與C5000DSP之間的ARMPortInterface,簡稱API,C5000DSP與C2000DSP之間的FIFO)。這樣,通信速度很快,從硬件上滿足了實時要求。 (7)因為器件數(shù)量較多且速度相對較高,有些芯片采用的是先進的BGA(BallGridArray)封裝技術(shù),所以在設(shè)計印刷電路板時,采用了6層板,布線充分考慮了器件的高速性和封裝技術(shù)。 (8)該系統(tǒng)平臺提供了很多可擴展的接口,用戶可針對具體對象擴充硬件、添加新的功能。對于構(gòu)成SMSC2000輪機模擬器的其他工作站,無須擴展任何I/O接口,可見該系統(tǒng)具有通用性

11、。 ARM DSP嵌入式仿真平臺的軟件結(jié)構(gòu) ARM部分中的軟件 ARM部分是整個系統(tǒng)的控制中心,其運行的主要是系統(tǒng)軟件,包括自舉加載程序、指令響應(yīng)程序、鍵盤掃描程序、LCD顯示驅(qū)動程序、A/D與D/A轉(zhuǎn)換控制程序、直接數(shù)字量/開關(guān)量輸入輸出程序、CAN總線通信控制程序及與C5000DSP部分進行內(nèi)部實時數(shù)據(jù)交換的控制程序。 自舉加載程序是上電或復(fù)位后首要實現(xiàn)的任務(wù)。它先對ARM的一些關(guān)鍵寄存器(如時鐘、中斷等)進行初始化(即部分初始化);之后將ARM部分中要運行的主程序和各個子程序(如指令響應(yīng)程序、鍵盤掃描、LCD顯示驅(qū)動等)從片外的非易失性存儲器FLASH中加載到片內(nèi)或片外的SRAM中,以增

12、加程序的運行速度;接著,開始負責對C5000DSP部分進行復(fù)位初始化,再把數(shù)學(xué)模型程序通過API控制加載到C5000DSP中。這樣,自舉加載程序就完成了兩個部分的自舉加載工作。 自舉加載完成后,ARM部分開始執(zhí)行系統(tǒng)的全部初始化,然后便進入系統(tǒng)的主程序(該主程序是一個無限循環(huán)等待程序),在主程序中再以中斷方式反復(fù)運行鍵盤掃描、LCD顯示驅(qū)動、指令解釋響應(yīng)、A/D與D/A轉(zhuǎn)換控制、數(shù)字量/開關(guān)量的輸入輸出及與C5000DSP部分通訊的程序。其中,指令解釋的響應(yīng)程序是一個核心程序,類似于操作系統(tǒng)的內(nèi)核程序,接受來自輸入處理子程序(鍵盤掃描、數(shù)字量/開關(guān)量的輸入等)的接口數(shù)據(jù),并根據(jù)它們的值啟動相應(yīng)

13、的任務(wù),如果需要將任務(wù)執(zhí)行的結(jié)果作為接口數(shù)據(jù)(指令)輸出給顯示或控制處理子程序,則經(jīng)由各輸出子程序再進行處理。該部分的軟件組織結(jié)構(gòu)如圖4所示。圖4ARM部分的軟件組織結(jié)構(gòu) C5000DSP部分的軟件 C5000DSP部分主要用來運行推進系統(tǒng)的數(shù)學(xué)模型,該推進系統(tǒng)可以是傳統(tǒng)的柴油主機推動系統(tǒng),也可以是新型的電力推動系統(tǒng),關(guān)鍵在于不同的推動類型對應(yīng)不同的數(shù)學(xué)模型。 C5000DSP程序?qū)嵸|(zhì)上是以實時循環(huán)迭代求解微分方程組為主的程序,該微分方程組即推進系統(tǒng)的數(shù)學(xué)模型,并且每循環(huán)求解一次,要確定有沒有從ARM部分傳遞來的指令及參數(shù)更改的信息。如果有,就改變相應(yīng)狀態(tài)及參數(shù)再求解微分方程組;如果沒有,則仍

14、按上一次的狀態(tài)和參數(shù)求解。在每個循環(huán)中,方程組完整求解一次,從而得到推動系統(tǒng)在該時刻的仿真數(shù)據(jù)。在每個循環(huán)的最后,把仿真數(shù)據(jù)結(jié)果傳送給ARM部分及C2000DSP部分(通過FIFO),用于顯示和控制。這部分的軟件程序結(jié)構(gòu)如圖5所示。 C5000DSP部分的軟件組織結(jié)構(gòu) hspace=0 src= width=400 border=0 圖5C5000DSP部分的軟件組織結(jié)構(gòu) C2000DSP部分的軟件結(jié)構(gòu) C2000DSP部分的主要任務(wù)就是讀取FIFO接收來自C5000DSP部分的仿真結(jié)果中的轉(zhuǎn)速和轉(zhuǎn)矩信號,并將之表達為電動機的相應(yīng)轉(zhuǎn)速和轉(zhuǎn)矩。該部分實際上是獨立構(gòu)成的一個專門控制交流電機的子系統(tǒng)

15、。 其中,C2000DSP處理器TMS320LF2407為該控制子系統(tǒng)的核心。它首先采用查詢的工作方式,檢測主控指令位是否指示打開該進程,檢查系統(tǒng)與主電路是否正常。如果主控指令位指示“關(guān)閉”,則切斷主電路,封鎖輸入輸出,再關(guān)閉系統(tǒng);如果不正常,則切斷主電路,封鎖輸入輸出,再關(guān)閉系統(tǒng),并發(fā)出警報;如果一切正常且主控指令位指示“打開”,則讀取此子系統(tǒng)的給定信號(由通信中斷服務(wù)程序從FIFO中讀出并存入相應(yīng)地址的存儲器中),即轉(zhuǎn)速和轉(zhuǎn)矩仿真結(jié)果數(shù)據(jù)的接收,再調(diào)用捕獲子程序從相應(yīng)接口輸入實際轉(zhuǎn)速和轉(zhuǎn)矩的反饋值。給定值和反饋值準備完畢,系統(tǒng)才開始使用某種控制算法對給定數(shù)據(jù)和反饋數(shù)據(jù)進行處理。 完成了一個

16、電機閉環(huán)恒轉(zhuǎn)速控制算法后,產(chǎn)生相應(yīng)的PWM信號輸出給電機功率驅(qū)動電路,再由驅(qū)動電路控制電機跟隨仿真給定轉(zhuǎn)速和轉(zhuǎn)矩信號,完成對推動系統(tǒng)轉(zhuǎn)速和轉(zhuǎn)矩的物理模擬。這里使用的控制算法可以是交流電機控制的各種算法,有要求較低的恒壓頻比、恒電動勢頻比算法,也有要求高的矢量控制算法和直接轉(zhuǎn)矩控制算法。完成此步控制算法輸出PWM信號后,再返回到開頭處。如此循環(huán),直到出現(xiàn)不正?;駻RM主控程序結(jié)束該任務(wù)進程。該部分程序的主要結(jié)構(gòu)如圖6所示。 C2000DSP部分的軟件組織結(jié)構(gòu) hspace=0 src= width=400 border=0 圖6C2000DSP部分的軟件組織結(jié)構(gòu) 芯片間的通信控制 該系統(tǒng)由3大部

17、分構(gòu)成,各部分之間的通信關(guān)系如圖1所示。ARM與C5000DSP之間相互通信,C5000DSP與C2000DSP之間相互通信,ARM與C2000DSP之間也相互通信。其中,前兩者是通過中斷方式來完成的,而后者是通過直接傳送的方式完成的。 ARM與C5000DSP之間通過ARM向C5000發(fā)出中斷信號,告知C5000要準備接收數(shù)據(jù)。然后ARM將數(shù)據(jù)放到兩方共享的API中。DSP接收到中斷信號后,開始中斷服務(wù)程序,從API的相應(yīng)位置取出數(shù)據(jù),之后向ARM發(fā)出回復(fù)信號,以表示數(shù) 據(jù)被取走,而后繼續(xù)準備開始接收新的數(shù)據(jù)。ARM接收到來自C5000的回復(fù)信號,開始發(fā)送新的數(shù)據(jù)。如此反復(fù),直到傳遞完所有數(shù)

18、據(jù)。反過來,由C5000DSP向ARM發(fā)送數(shù)據(jù),其過程與上面相同,只是收發(fā)方互換位置。 C5000DSP與C2000DSP之間的通信是單向的,即C5000只進行發(fā)送而C2000只進行接收。它們之間是通過FIFO進行緩沖的。C5000首先將仿真運算的轉(zhuǎn)速和轉(zhuǎn)矩數(shù)據(jù)通過總線放入接在其IO空間的FIFO中,再向C2000發(fā)送中斷請求。C2000收到后,響應(yīng)中斷,進行中斷服務(wù),從FIFO的相應(yīng)位置取出數(shù)據(jù)并存入特定地址的存儲器中,再回復(fù)C5000告知數(shù)據(jù)已經(jīng)被取出。如此周而復(fù)始,不斷進行數(shù)據(jù)的收發(fā)。 ARM與C2000DSP之間的通信主要是ARM主控打開或關(guān)閉C2000系統(tǒng),采用單向直接傳送方式。它們之間通過各自的一個GPIO(通用IO口)相連,ARM發(fā)送,C2000接收。ARM要打開C2000系統(tǒng)時,只需向其對應(yīng)的GPIO寫1,而ARM要關(guān)閉C2000系統(tǒng)時,只需向其對應(yīng)的GPIO寫0。在C2000部分,在主體循環(huán)程序中每次查詢C2000的對應(yīng)GPIO口,讀為1則表示繼續(xù)其進程,而讀為0則表示關(guān)斷其進程。 ARM DSP嵌入式仿真平臺與以工控機為核心的仿真平臺的比較 以ARM DSP為核心的嵌入式仿真平臺系統(tǒng)與以工控機為核心的仿真平臺系統(tǒng)相比在仿真的實時性和精確度方面具有很多

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論