專利名稱:嵌入式實(shí)時(shí)仿真平臺(tái)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種仿真平臺(tái),尤其涉及一種嵌入式實(shí)時(shí)仿真平臺(tái)。
背景技術(shù):
在先技術(shù)中,仿真平臺(tái)有可編程遠(yuǎn)程終端(Programmable RemoteTerminal)、可編程邏輯控制器(Programmable Logic Controller)、工控機(jī)加數(shù)據(jù)采集卡等多種方式。船舶機(jī)艙和推進(jìn)系統(tǒng)的仿真是一個(gè)半實(shí)物在環(huán)的實(shí)時(shí)仿真系統(tǒng),其中既有虛擬的動(dòng)力裝置即運(yùn)行在仿真計(jì)算機(jī)上的數(shù)學(xué)模型,又有真實(shí)的控制盤臺(tái)、物理顯示設(shè)備,是一種集實(shí)時(shí)控制和高速運(yùn)算功能于一體的典型系統(tǒng)。航運(yùn)仿真中心早期開發(fā)成功的輪機(jī)模擬器采用工控機(jī)加數(shù)據(jù)采集卡的方式,以工控機(jī)作為仿真計(jì)算機(jī),構(gòu)成整個(gè)仿真系統(tǒng)的核心,通過數(shù)據(jù)采集卡完成輸入輸出,與外界進(jìn)行數(shù)據(jù)交換,而對(duì)數(shù)據(jù)的處理和對(duì)輸入輸出的控制也都直接由工控機(jī)來承擔(dān)。當(dāng)仿真對(duì)象的模型比較復(fù)雜時(shí),因?yàn)楣た貦C(jī)的處理器是通用個(gè)人計(jì)算機(jī)處理器,它對(duì)數(shù)字信號(hào)處理的效率較專用的數(shù)字信號(hào)處理器(DSP)芯片要低。由于復(fù)雜的仿真模型運(yùn)算比較費(fèi)時(shí),對(duì)處理器數(shù)字信號(hào)處理能力的要求較高,而工控機(jī)的通用處理器處理能力有限,并且仿真應(yīng)用程序又受到安裝在上面的視窗(Windows)這類非實(shí)時(shí)操作系統(tǒng)的限制,仿真的精確度與實(shí)時(shí)性很難得到兩全,通常只能通過犧牲仿真精度的辦法來換取近似的實(shí)時(shí)性。這樣,要想提高機(jī)艙和推進(jìn)系統(tǒng)仿真的精確度和實(shí)時(shí)性,增強(qiáng)仿真的逼真程度,必須拋棄原來以工控機(jī)為核心的原有技術(shù)方案,進(jìn)而采用更加高速有效的仿真平臺(tái)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種克服上述在先技術(shù)中的問題,能夠增強(qiáng)仿真的精度和實(shí)時(shí)性、改善仿真設(shè)備性能的嵌入式實(shí)時(shí)仿真平臺(tái)。
為了達(dá)到上述的目的,本發(fā)明提供的仿真平臺(tái),它包含處理器,與處理器連接的鍵盤,調(diào)試接口和可編程邏輯器件,通過并行總線與可編程邏輯器件連接的總線緩沖器件,與總線緩沖器件連接的顯示控制器和顯示器,通過串行外圍接口總線與可編程邏輯器件連接的模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器,分別與模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器連接的前置濾波放大電路和模擬量驅(qū)動(dòng)放大電路;其中處理器是包含微控制器和數(shù)字信號(hào)處理器的雙核處理器;包含與微控制器連接的鍵盤,通用輸入輸出接口,通過可編程邏輯器件和總線緩沖器件與微控制器連接的靜態(tài)存儲(chǔ)器、閃存器、第2擴(kuò)展接口和與光耦電路連接的鎖存器,通過可編程邏輯器件和串行外圍接口總線與微控制器連接的帶有控制器局域網(wǎng)絡(luò)接口的控制器局域網(wǎng)絡(luò)控制器和第3擴(kuò)展接口,通過可編程邏輯器件和內(nèi)部集成電路總線與微控制器連接的串行電可擦除可編程只讀存儲(chǔ)器和第1擴(kuò)展接口;分別與數(shù)字信號(hào)處理器相連的串行口外引接口、數(shù)據(jù)空間靜態(tài)存儲(chǔ)器和程序空間靜態(tài)存儲(chǔ)器。
如上述本發(fā)明的結(jié)構(gòu),串行外圍接口(SPI)總線從可編程邏輯器件(CPLD)引出,在總線上面接有多路模數(shù)(AD)轉(zhuǎn)換器與數(shù)模(DA)轉(zhuǎn)換器,及控制器局域網(wǎng)絡(luò)(Controller Area Network,簡稱CAN)總線控制器。外面輸入的模擬信號(hào)先經(jīng)過前置濾波放大電器后進(jìn)入模數(shù)(AD)轉(zhuǎn)換器,由模數(shù)(AD)轉(zhuǎn)換器將其模擬信號(hào)變換為數(shù)字信號(hào),通過串行外圍接口(SPI)總線輸入到處理器內(nèi)的微控制器(ARM),供處理器進(jìn)行處理;從處理器輸出的信號(hào),由微控制器(ARM)通過SPI總線輸出到數(shù)模(DA)轉(zhuǎn)換器,數(shù)模(DA)轉(zhuǎn)換器把數(shù)字信號(hào)變?yōu)槟M信號(hào),再經(jīng)過模擬量驅(qū)動(dòng)放大器輸出到外界系統(tǒng);連接在SPI總線上的CAN總線控制器通過CAN接口可與CAN總線相連,和其它連接在CAN總線上的系統(tǒng)以CAN方式進(jìn)行通信。
從可編程邏輯器件(CPLD)引出的內(nèi)部集成電路(I2C)總線連接有串行電可擦除可編程只讀存儲(chǔ)器(E2PROM)和第1擴(kuò)展接口。
從可編程邏輯器件(CPLD)引出并行總線包括外部地址總線(串行外圍接口(SPI)總線),外部數(shù)據(jù)總線(內(nèi)部集成電路(I2C)總線)及相關(guān)的外部控制總線(并行總線)。這些并行總線首先經(jīng)過總線緩沖器進(jìn)行緩沖(地址總線和控制總線通過單向總線緩沖器,數(shù)據(jù)總線通過雙向總線緩沖器),以提高帶負(fù)載的能力,然后再與微控制器(ARM)的外部擴(kuò)展的靜態(tài)存儲(chǔ)器(SRAM)、閃存器(FLASH)和同步動(dòng)態(tài)存儲(chǔ)器(SDRAM)相連。其中,SRAM與FLASH的地址線上設(shè)置了跳線,使SRAM與FLASH的地址映射空間可以互換,以滿足調(diào)試與獨(dú)立運(yùn)行時(shí)對(duì)低地址空間存儲(chǔ)器性質(zhì)的不同要求。顯示器也通過顯示控制器連接到并行總線上,作為系統(tǒng)的輸出顯示。另外,并行總線還連接有鎖存器,鎖存器連接有光耦電路。鎖存器按照數(shù)據(jù)傳遞方向的不同,分成兩組,一組用于輸入,另一組用于輸出,以實(shí)現(xiàn)應(yīng)用系統(tǒng)的多路數(shù)字量輸入輸出。并行總線同樣提供擴(kuò)展接口,供硬件擴(kuò)展使用。
數(shù)字信號(hào)處理器(DSP)外部擴(kuò)展了對(duì)應(yīng)于程序空間靜態(tài)存儲(chǔ)器和數(shù)據(jù)空間靜態(tài)存儲(chǔ)器以及串行口外引接口(也稱為多通道緩沖串行口(McBSP)),此接口可引出到擴(kuò)展接口上以供擴(kuò)展。
如上述的結(jié)構(gòu),可以說本發(fā)明是針對(duì)分布式仿真系統(tǒng)開發(fā)的專用仿真平臺(tái)。它具有以下特點(diǎn)●本發(fā)明由于包含微控制器(ARM)和數(shù)字信號(hào)處理器(DSP)雙核的處理器,兩個(gè)處理器核間通過共享內(nèi)存的方式交互數(shù)據(jù),所以本發(fā)明仿真平臺(tái)的仿真計(jì)算精度高、信號(hào)輸入輸出實(shí)時(shí)性好。在對(duì)一般的模型進(jìn)行實(shí)時(shí)仿真時(shí),其仿真步長可達(dá)微秒級(jí);●本發(fā)明在處理器的微控制器(ARM)與外圍設(shè)備的接口通過了可編程邏輯器件(CPLD),這樣使得外圍設(shè)備地址可以靈活映射,接口時(shí)序易于匹配,接口邏輯便于設(shè)置,可以滿足不同設(shè)備的接口需要,非常靈活;●本發(fā)明仿真平臺(tái)包括了處理器、存儲(chǔ)器、輸入輸出接口,是一個(gè)完整的計(jì)算機(jī)系統(tǒng),同時(shí)它又提供了系統(tǒng)總線和各種通信總線的擴(kuò)展和接口,所以它既可獨(dú)立運(yùn)行又可與其他系統(tǒng)組成更大的系統(tǒng)協(xié)同工作;●本發(fā)明仿真平臺(tái)上含有控制器局域網(wǎng)絡(luò)(CAN)總線的相應(yīng)接口,可直接與控制器局域網(wǎng)絡(luò)(CAN)總線相連,與連接在CAN總線上的各種設(shè)備進(jìn)行CAN總線方式通信,為以現(xiàn)場總線為基礎(chǔ)的分布式仿真方式提供了支持;●本發(fā)明仿真平臺(tái)本身就帶有易于現(xiàn)場操作的鍵盤和直接現(xiàn)場顯示的顯示器,便于現(xiàn)場監(jiān)控和調(diào)試;●本發(fā)明仿真平臺(tái)提供了充足的易失性存儲(chǔ)器(FLASH,E2PROM)和易失性存儲(chǔ)器(RAM),可以滿足不同的仿真運(yùn)行需要。既可以讓程序直接在非易失性存儲(chǔ)器FLASH中運(yùn)行,又可以把程序和數(shù)據(jù)保存在非易失性存儲(chǔ)器中。并在運(yùn)行時(shí)加載到易失性存儲(chǔ)器中,以加快程序運(yùn)行的速度和實(shí)現(xiàn)程序運(yùn)行中的動(dòng)態(tài)改變;●本發(fā)明仿真平臺(tái)提供了多種設(shè)備接口,可以連接相應(yīng)接口規(guī)范的設(shè)備用于功能和系統(tǒng)的擴(kuò)展,使系統(tǒng)能完成更加復(fù)雜的工作;●本發(fā)明仿真平臺(tái)所采用的芯片集成度都很高,盡量采用了3.3V低電壓集成塊,功耗都比較??;硬件采用8層印刷電路板,并采取了相應(yīng)的減小電測(cè)干擾的方式布線,使得系統(tǒng)的硬件體積較小,可靠性強(qiáng)。
圖1是本發(fā)明仿真平臺(tái)的結(jié)構(gòu)示意圖。
圖2是本發(fā)明仿真平臺(tái)用于船舶主機(jī)實(shí)時(shí)仿真系統(tǒng)中的結(jié)構(gòu)示意圖。
圖3是圖2例中嵌入于本發(fā)明仿真平臺(tái)中處理器內(nèi)微控制器(ARM)內(nèi)的操作控制系統(tǒng)的流程圖。
圖4是圖2例中嵌入于本發(fā)明仿真平臺(tái)中數(shù)字信號(hào)處理器(DSP)內(nèi)的操作控制系統(tǒng)的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的具體結(jié)構(gòu)作進(jìn)一步的描述。
圖1是本發(fā)明仿真平臺(tái)的結(jié)構(gòu)示意圖。如圖1所示,本發(fā)明的仿真平臺(tái)包含處理器5,與處理器5連接的鍵盤1、調(diào)試接口2和可編程邏輯器件(CPLD)12,通過并行總線13與可編程邏輯器件(CPLD)12連接的總線緩沖器件14,與總線緩沖器件14連接的顯示控制器11和顯示器10。通過串行外圍接口(SPI)總線19與可編程邏輯器件(CPLD)12連接的模數(shù)(AD)轉(zhuǎn)換器20和數(shù)模(DA)轉(zhuǎn)換器22,分別與模數(shù)(AD)轉(zhuǎn)換器20和數(shù)模(DA)轉(zhuǎn)換器22連接的前置濾波放大電路21和模擬量驅(qū)動(dòng)放大器23;處理器5包含微控制器(ARM)5-1和數(shù)字信號(hào)處理器(DSP)5-2的雙核;包含與微控制器(ARM)5-1連接的鍵盤通用輸入輸出接口(KBGPIO)27,通過可編程邏輯器件(CPLD)12和總線緩沖器件14與微控制器(ARM)5-1連接的靜態(tài)存儲(chǔ)器(SRAM)、閃存器(FLASH)15、第2擴(kuò)展接口16和與光耦電路18連接的鎖存器17;通過可編程邏輯器件(CPLD)12和串行外圍接口(SPI)總線19與微控制器(ARM)5-1連接的帶有控制器局域網(wǎng)絡(luò)接口26的控制器局域網(wǎng)絡(luò)(CAN)控制器25和第3擴(kuò)展接口24;通過可編程邏輯器件(CPLD)12和內(nèi)部集成電路(I2C)總線9與微控制器(ARM)5-1連接的串行電可擦除可編程只讀存儲(chǔ)器7和第1擴(kuò)展接口8;分別與數(shù)字信號(hào)處理器(DSP)5-2相連的串行外引接口6、數(shù)據(jù)空間靜態(tài)存儲(chǔ)器(SRAM)4和程序空間靜態(tài)存儲(chǔ)器(SRAM)3。
所述的包含微控制器(ARM)5-1和數(shù)字信號(hào)處理器(DSP)5-2的處理器5在本實(shí)施例中,選用含有ARM加DSP的雙核的TMS320VC5470處理芯片。在此芯片中,ARM(MCU)是32位RISC(Reduced Instruction Set Computing,即精簡指令集)微控制器(此微控制器被公認(rèn)為當(dāng)今世界先進(jìn)的微控制器)。它在監(jiān)視控制、通信接口方面的功能非常完善,是作為主處理器核。負(fù)責(zé)任務(wù)管理、輸入輸出接口、對(duì)外部設(shè)備的控制以及運(yùn)行嵌入式操作系統(tǒng);其中包含的數(shù)字信號(hào)處理器(DSP)5-2對(duì)各種數(shù)字信號(hào)或數(shù)據(jù)處理的能力十分強(qiáng)大,是作為處理器的從處理器核。僅負(fù)責(zé)快速的數(shù)據(jù)運(yùn)算處理。ARM+DSP雙核組合在一起,發(fā)揮優(yōu)勢(shì)互補(bǔ),能獲得更高的性能。兩個(gè)處理器核之間通過內(nèi)部的共享雙訪問RAM——API(Application Programming Interface,即應(yīng)用程序編程接口)——進(jìn)行通信。
在本實(shí)施例中,所述的雙核處理器芯片TMS320VC5470中的微控制器(ARM)通過它所提供的鍵盤通用輸入輸出接口(KBGPIO)可與3×8的鍵盤相連,能支持24個(gè)硬件按鍵的鍵盤。其余提供的KBGPIO與無復(fù)用的GPIO(部分通用輸入輸出接口)均引出到GPIO/KBGPIO擴(kuò)展接口,支持平臺(tái)上的硬件擴(kuò)展。對(duì)于微控制器(ARM)的外部地址總線,外部數(shù)據(jù)總線,相關(guān)的控制總線,串行外圍接口(SPI)總線以及內(nèi)部集成電路(I2C)總線由該處理器芯片引腳引出后,首先與可編程邏輯器件(CPLD)相連,經(jīng)過可編程邏輯器件(CPLD)對(duì)信號(hào)進(jìn)行變換譯碼(將從微處理器過來的信號(hào)分組,經(jīng)過適當(dāng)?shù)倪壿嬜儞Q組合或時(shí)序變換后,從CPLD輸出)后,分成3部分串行外圍接口(SPI)總線19部分,內(nèi)部集成電路(I2C)總線9部分和并行總線13(外部地址總線、外部數(shù)據(jù)總線和相關(guān)的外部控制總線)部分。
所述的連接于數(shù)字信號(hào)處理器(DSP)核5-2的程序空間靜態(tài)存儲(chǔ)器(SRAM)3和數(shù)據(jù)空間靜態(tài)存儲(chǔ)器(SRAM)4分別是64K程序SRAM和64K數(shù)據(jù)SRAM。
本實(shí)施例中,顯示器和顯示控制器采用液晶顯示器和液晶顯示控制器。
圖2是本發(fā)明仿真平臺(tái)用于船舶主機(jī)實(shí)時(shí)仿真系統(tǒng)中的結(jié)構(gòu)示意圖。本發(fā)明的仿真平臺(tái)可用于船舶推進(jìn)系統(tǒng)及其他大型系統(tǒng)的仿真中。圖2所示的是一種船舶推進(jìn)實(shí)時(shí)仿真系統(tǒng)應(yīng)用本發(fā)明仿真平臺(tái)的例子。系統(tǒng)主要包含主板上插有CAN卡02和數(shù)據(jù)采集卡03的工控機(jī)01,本發(fā)明仿真平臺(tái)06和CAN總線05。為了滿足教學(xué)和實(shí)踐的需要,系統(tǒng)添設(shè)了半實(shí)物的物理環(huán)境,包括實(shí)船操縱盤臺(tái)、顯示儀表及報(bào)警裝置04以及仿真電動(dòng)機(jī)模擬的推進(jìn)器和螺旋槳系統(tǒng)07,等等。其中,本發(fā)明的仿真平臺(tái)連接于工控機(jī)01與電動(dòng)機(jī)螺旋槳系統(tǒng)07之間,作為仿真計(jì)算機(jī)構(gòu)成整個(gè)仿真系統(tǒng)的核心。用以得到實(shí)時(shí)精確的船舶主機(jī)系統(tǒng)的數(shù)學(xué)模型和完成一些實(shí)時(shí)信號(hào)的輸入輸出,控制底層的仿真電動(dòng)機(jī)系統(tǒng)運(yùn)行。其仿真系統(tǒng)的上位機(jī)是工控機(jī)(PC機(jī)),通過CAN卡與本發(fā)明的仿真平臺(tái)通信,發(fā)送控制信息和仿真參數(shù),接收仿真結(jié)果及顯示。
本發(fā)明的雙核處理器的ARM(ARM核-微控制器)是主處理器,即為整個(gè)系統(tǒng)的控制中心。置于ARM內(nèi)部的軟件的底層運(yùn)行于嵌入式操作系統(tǒng)μC/OS-II(美國人(Jean J.Labrosse)提供的一種嵌入式實(shí)時(shí)操作系統(tǒng)的名稱),在該操作系統(tǒng)上是設(shè)備的驅(qū)動(dòng)程序和應(yīng)用軟件。另外為使該系統(tǒng)上電能啟動(dòng)運(yùn)行,并將軟件代碼加載到讀取和寫入方便且較快的RAM中運(yùn)行。軟件中還有引導(dǎo)加載程序來負(fù)責(zé)加電后從ARM外部的FLASH中把程序加載到RAM中,完成整個(gè)系統(tǒng)的引導(dǎo)裝載。ARM的任務(wù)程序是整個(gè)仿真的控制程序(主要包括起動(dòng)仿真、暫停仿真、停止仿真這些狀態(tài)的控制及傳遞給仿真模型輸入量,獲得仿真模型的輸出量)和通信控制程序(包括通過CAN總線通信裝置與CAN總線網(wǎng)絡(luò)上的上位工控機(jī)及其他設(shè)備通信的程序,來獲取上位工控機(jī)通過數(shù)據(jù)采集卡采集到的控制盤臺(tái)信息或者向上位工控機(jī)發(fā)出仿真結(jié)果信息。還有,直接接受本系統(tǒng)的外部輸入裝置鍵盤輸入的控制或參數(shù)信息,向本系統(tǒng)的液晶顯示器發(fā)出顯示信息的程序等)。因?yàn)锳RM上運(yùn)行有實(shí)時(shí)內(nèi)核μC/OS-II,所以所有這些ARM的程序都是以嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II任務(wù)的形式實(shí)現(xiàn),任務(wù)間通過調(diào)用μC/OS-II的消息郵箱和信號(hào)量來完成同步互斥和消息傳遞。
圖3是圖2實(shí)施例嵌入于ARM內(nèi)的操作系統(tǒng)的流程。操作程序主要由3個(gè)任務(wù)(進(jìn)程)及任務(wù)間通信所用的消息郵箱和信號(hào)量構(gòu)成。這三個(gè)任務(wù)分別是用于與外界進(jìn)行數(shù)據(jù)輸入輸出(這里是指CAN總線上的數(shù)據(jù)和控制信息的收發(fā))的任務(wù)001,仿真控制任務(wù)002,向DSP輸入仿真的輸入值再獲得DSP的仿真輸出結(jié)果的任務(wù)003。這三個(gè)任務(wù)有不同的優(yōu)先級(jí)以供操作系統(tǒng)調(diào)度,其中002的優(yōu)先級(jí)最高,003的次之,001的優(yōu)先級(jí)最低。
如圖3所示,任務(wù)001首先執(zhí)行第1-1步從CAN總線上收發(fā)數(shù)據(jù)或控制信息,接著第1-2步判斷是否是合法的數(shù)據(jù)或控制信息,如果是就執(zhí)行第1-3步,調(diào)用μC/OS-II操作系統(tǒng)的消息郵箱發(fā)送函數(shù)OSMboxPost()向消息郵箱007發(fā)送接收到的信息,否則跳過第1-3步。調(diào)用消息郵箱發(fā)送函數(shù)OSMboxPost()會(huì)使μC/OS-II內(nèi)核進(jìn)行任務(wù)的切換,此時(shí)任務(wù)002正在調(diào)用消息郵箱接收函數(shù)OSMboxPend()。第2-1步等待消息郵箱007中的信息,由于任務(wù)002的優(yōu)先級(jí)最高,所以任務(wù)002立即得到執(zhí)行,而任務(wù)001則進(jìn)入休眠狀態(tài)。任務(wù)002接下來執(zhí)行第2-2步,根據(jù)從消息郵箱007接收的消息改變表示仿真狀態(tài)的一個(gè)全局變量Sim_Ctrl的值,并把有關(guān)數(shù)據(jù)保存到仿真輸入緩沖隊(duì)列中,再將任務(wù)003的優(yōu)先級(jí)設(shè)置為次高優(yōu)先級(jí),然后跳到第2-1步繼續(xù)等待新的消息。這時(shí),任務(wù)001還沒有繼續(xù)執(zhí)行,因而沒有新的消息,所以任務(wù)002進(jìn)入等待消息的掛起狀態(tài),內(nèi)核再進(jìn)行任務(wù)調(diào)度,次高優(yōu)先級(jí)的任務(wù)003得以進(jìn)入運(yùn)行狀態(tài)。任務(wù)003首先執(zhí)行第3-1步,檢測(cè)全局變量Sim_Ctrl(為定義的一個(gè)全局變量的變量名)的值,看Sim_Ctrl是否為開始(START),如果不是則調(diào)用系統(tǒng)延時(shí)函數(shù)OSTimeDly()(μC/OS-II提供的延時(shí)函數(shù))延時(shí),進(jìn)行任務(wù)切換,運(yùn)行任務(wù)001;如果是則執(zhí)行第3-2步,產(chǎn)生仿真輸入數(shù)據(jù)放進(jìn)仿真輸入緩沖隊(duì)列或使用從外部獲得的已存入仿真輸入緩沖隊(duì)列的數(shù)據(jù),再執(zhí)行3-3步,調(diào)用系統(tǒng)的OSSemPend()函數(shù),等待初始化為0的二值信號(hào)量004。因?yàn)樾盘?hào)量004現(xiàn)在為0,所以任務(wù)003進(jìn)入等待信號(hào)量的掛起狀態(tài),進(jìn)入任務(wù)切換,運(yùn)行任務(wù)001。DSP接收仿真輸入緩沖隊(duì)列中的數(shù)據(jù)后依仿真算法進(jìn)行計(jì)算,完成后把仿真結(jié)果放到輸出緩沖對(duì)列,并向ARM側(cè)發(fā)出中斷,ARM接收到中斷后,進(jìn)行中斷服務(wù),中斷服務(wù)調(diào)用OSSemPost()系統(tǒng)函數(shù)將二值信號(hào)量004釋放信號(hào)005,這使得任務(wù)003進(jìn)入就緒狀態(tài)。中斷退出時(shí),內(nèi)核進(jìn)行任務(wù)切換,讓任務(wù)003得以繼續(xù)向下運(yùn)行,執(zhí)行第3-4步,從輸出緩沖隊(duì)列中讀出輸出值,調(diào)用OSMboxPost()向消息郵箱6中發(fā)出所得結(jié)果,并執(zhí)行第3-5步,調(diào)用系統(tǒng)延時(shí)函數(shù)OSTimeDly()延時(shí),然后任務(wù)再返回到其開始處,繼續(xù)執(zhí)行新的一輪輸入和輸出,任務(wù)003的延時(shí)會(huì)引起任務(wù)切換到任務(wù)001。任務(wù)001執(zhí)行第1-3步,在向消息郵箱007發(fā)出消息后執(zhí)行第1-4步延時(shí),等待消息郵箱006的消息,當(dāng)任務(wù)003向消息郵箱006發(fā)出,任務(wù)001運(yùn)行到此就執(zhí)行第1-5步,把該消息(仿真結(jié)果)向CAN總線上發(fā)送。
圖4是嵌入于DSP內(nèi)的操作系統(tǒng)的流程。DSP內(nèi)的操作程序主要是實(shí)時(shí)仿真模型的操作程序,該模型的操作程序主要是從ARM得到輸入量,經(jīng)過解算,得出模型的輸出量并將其傳回ARM。兩部分程序之間通過ARM和DSP共享的一些雙訪問RAM(API)進(jìn)行數(shù)據(jù)交換。兩個(gè)處理器核之間通過共享的在片存儲(chǔ)器進(jìn)行數(shù)據(jù)通信,速度很快,這在硬件上保證了仿真的實(shí)時(shí)性。在API存儲(chǔ)器中開辟兩段空間,一段為輸入緩沖隊(duì)列,另一段為輸出緩沖隊(duì)列。輸入緩沖隊(duì)列保存來自ARM的輸入值(隊(duì)列不能為空,否則模型便沒有輸入),輸出緩沖隊(duì)列保存DSP實(shí)時(shí)計(jì)算出的模型輸出值,兩個(gè)隊(duì)列用數(shù)組形式實(shí)現(xiàn)。
操作程序首先執(zhí)行第10步,為程序的入口-開始,接下來進(jìn)行第20步初始化,然后進(jìn)入主體程序部分。首先是第30步判斷控制模型狀態(tài)的變量的值,如果變量值表示沒有運(yùn)行仿真,則在此繼續(xù)判斷等待仿真變量的變化,如果變量值表示進(jìn)行仿真,則執(zhí)行第40步,進(jìn)入仿真模型的運(yùn)行狀態(tài)中查詢等待變量run。此時(shí)使能定時(shí)器周期中斷,每個(gè)中斷到來后,中斷服務(wù)程序執(zhí)行第100步,將一個(gè)標(biāo)志變量run置為1,主程序查詢r(jià)un為0時(shí),繼續(xù)查詢等待;當(dāng)run被中斷服務(wù)程序變?yōu)?時(shí),中斷返回后,開始向下面運(yùn)行;執(zhí)行第50步,從輸入緩沖隊(duì)列中讀取輸入值;然后執(zhí)行第60步,調(diào)用實(shí)時(shí)仿真對(duì)象的數(shù)學(xué)模型函數(shù),計(jì)算出模型在此時(shí)刻的輸出值;并執(zhí)行第70步,將其放入輸出緩沖隊(duì)列以及發(fā)送給仿真電動(dòng)機(jī)控制系統(tǒng);再執(zhí)行第80步,向ARM發(fā)出中斷,通知ARM、DSP輸出已完成;然后再執(zhí)行第90步,將run重新置0,跳到第30步。從實(shí)施例中,充分地顯示出使用本發(fā)明仿真平臺(tái)如同上面所述的優(yōu)越性。
權(quán)利要求
1.一種嵌入式實(shí)時(shí)仿真平臺(tái),它包含處理器,與處理器連接的鍵盤、調(diào)試接口和可編程邏輯器件,通過并行總線與可編程邏輯器件連接的總線緩沖器件,與總線緩沖器件連接的顯示控制器和顯示器,通過串行外圍接口總線與可編程邏輯器件連接的模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器,分別與模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器連接的前置濾波放大器和模擬量驅(qū)動(dòng)放大器;其特征在于處理器包含微控制器和數(shù)字信號(hào)處理器;還包含與微控制器連接的鍵盤通用輸入輸出接口,通過可編程邏輯器件和總線緩沖器件與微控制器連接的靜態(tài)存儲(chǔ)器、閃存器、第2擴(kuò)展接口和與光耦電路連接的鎖存器;通過可編程邏輯器件和串行外圍接口總線與微控制器連接的帶有控制器局域網(wǎng)絡(luò)接口的控制器局域網(wǎng)絡(luò)控制器和第3擴(kuò)展接口;通過可編程邏輯器件和內(nèi)部集成電路總線與微控制器連接的串行電可擦除可編程只讀存儲(chǔ)器和第1擴(kuò)展接口;分別與數(shù)字信號(hào)處理器相連的串行口外引接口、數(shù)據(jù)空間靜態(tài)存儲(chǔ)器和程序空間靜態(tài)存儲(chǔ)器。
2.根據(jù)權(quán)利要求1所述的嵌入式實(shí)時(shí)仿真平臺(tái),其特征在于所述的包含微控制器和數(shù)字信號(hào)處理器的處理器是含有微控制器和數(shù)字信號(hào)處理器雙核的處理芯片。
全文摘要
一種嵌入式實(shí)時(shí)仿真平臺(tái),它包含微控制器和數(shù)字信號(hào)處理器的雙核處理器,與微控制器連接的鍵盤通用輸入輸出接口,通過可編程邏輯器件和總線緩沖器件與微控制器連接的靜態(tài)存儲(chǔ)器、閃存器、第2擴(kuò)展接口、鎖存器和光耦電路。通過可編程邏輯器件和串行外圍接口總線與微控制器連接的帶有控制器局域網(wǎng)絡(luò)接口的控制器局域網(wǎng)絡(luò)控制器和第3擴(kuò)展接口。通過可編程邏輯器件和內(nèi)部集成電路總線與微控制器連接的串行電可擦除可編程只讀存儲(chǔ)器和第1擴(kuò)展接口。分別與數(shù)字信號(hào)處理器相連的串行口外引接口、數(shù)據(jù)空間靜態(tài)存儲(chǔ)器和程序空間靜態(tài)存儲(chǔ)器。本發(fā)明提供了一種含有多種設(shè)備接口,仿真計(jì)算精度高,信號(hào)輸入輸出實(shí)時(shí)性好,使用靈活的仿真平臺(tái)。
文檔編號(hào)G06F11/36GK1687902SQ20051002533
公開日2005年10月26日 申請(qǐng)日期2005年4月22日 優(yōu)先權(quán)日2005年4月22日
發(fā)明者鄭華耀, 黃學(xué)武, 陳巨濤, 池江, 厲善亨, 王華英 申請(qǐng)人:上海海事大學(xué)