隨著汽車智能化的不斷發展,汽車電子行業有著越來越大的市場。作為NXP在汽車電子上主推的控制器件,MPC系列高性能和高安全性MCU正在逐步提高自身的地位,發揮著更為顯著的作用。本文以MPC5746R的實際應用為例,講解雙核心之間如何互相協調,共同發揮更大的性能。
MPC5746R采用雙CPU核心機制,兩個獨立可編程的基于e200z425的內核0和內核1,每個內核主頻最高可達200M。另外還有一個基于e200z424的安全內核用于和內核0同步運行,以確保程序運行時的可靠性。
MPC5746R的兩個核心共享片內外設及內存單元。同時中斷控制器可以為兩個核心提供各自獨立的控制單元,使中斷請求可以根據用戶設置而交給不同的核心處理。
用戶可以為兩個內核編寫各自獨立的程序,看上去就像一個系統運行了兩個線程。事實也確實如此,兩個內核并行以200M的速度執行用戶為其各自編寫的程序,處理著各種復雜的任務。但是有時候也會出現一些問題導致不愉快的事情發生。
可以舉幾個例子:
1) 某一時刻,內核1要往某個寄存器寫數據來執行功能1,但不巧此時內核0也需要往這個寄存器寫數據來執行功能0。同時寫入沖突可能導致功能0和功能1都不能正常執行,這時應該何如避免。
2) 由于外設資源只有1份,假設用戶設定讓內核1初始化系統和資源,內核0需要在初始化完成后執行相關功能操作,那么內核0如何在第一時間內知道初始化已經完成。
3) 內核1和內核0合作處理復雜的算法,當內核0處理完了一部分算法之后想把處理結果交給內核1,這時候彼此獨立的雙核之間如何通信。通信時間如何節省。
其實芯片在設計的時候,早已考慮好了這些問題,并做出了相應的功能來保證雙核之間的協調運作。基于以上的示例,我們需要了解一個重要的知識點叫做信號量,信號量是一種在進程之間作用資源保護和同步的機制。
MPC5746R提供了16路的硬件信號量供用戶使用,用戶可以寫入處理器對應的號碼以鎖定某一路信號量并且只有鎖定該信號的處理器能解鎖該信號。這樣就為處理器之間的資源訪問保護及同步提供了硬件基礎。
我們以具體的方法來解決上訴三個例子所面臨的問題:
1) 內核在寫入某個寄存器之前,先檢測信號量是否鎖定,如果鎖定,等待信號解鎖再進行操作,如果沒有鎖定,則先鎖定一個信號量,等到操作完成后,再釋放信號量,這樣就不會出現共享資源的訪問沖突。
2) 內核0需要等待內核1初始化完成之后才能進行功能操作,即與內核1之間進行同步。可以在內核1程序開始的時候,上鎖信號量,等各項初始化完成之后,解鎖信號量。而內核0則在程序開始的時候就等待該信號量的解鎖,一旦解鎖,就說明初始化完成,即完成同步操作,也就解決了上訴第二個問題。
3) 兩個內核在通信的時候,最重要的一個問題是接收方如何隨時準備好接收數據而不過多消耗CPU資源。在MPC5746R中,可以通過軟中斷解決。內核1 需要發送數據給內核0的時候,先配置好軟件中斷的優先級,然后將中斷請求設置成內核0。在數據寫入之后,觸發中斷,中斷請求發送至內核0。而內核0只要寫好相應的中斷服務函數,就能在不過多消耗CPU資源的情況下,通過中斷接收數據,完成內核間的通信。
需要注意的是,對于獨立的雙核之間通信數據的存取,MPC5746R并沒有為此單獨開辟一個空間。但是在實際應用中,一種可行的方法是靈活的使用各通信模塊中,未使用的緩沖單元。例如CAN模塊中,最多有96個數據緩沖結構,CAN通信的過程中并不一定都會使用,我們可以根據實際需要使用幾個數據緩沖單元作為內核間數據傳輸的通道。需要發送數據的內核將數據寫入指定的數據緩沖結構體,然后觸發軟件中斷。接收一方在中斷服務函數中將數據從數據緩沖結構體中讀取出來。可以在緩沖結構體中設置一些標志位來判斷讀寫是否成功。
以上就是雙核之間資源保護,同步和通信的一些具體示例方法,當然方法并不是唯一的,希望讀者在使用過程中能夠舉一反三,靈活運用,最終達到“雙核交火,協同作戰”的目的。
-
cpu
+關注
關注
68文章
11054瀏覽量
216275
原文標題:MPC5746R “雙核交火,協同作戰”
文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
請問在z-stack中,終端和終端能不能互相發送消息,通過協調器轉發也可以?
【銀杏科技ARM+FPGA雙核心應用】STM32H7系列10——ADC
【銀杏科技ARM+FPGA雙核心應用】STM32H7系列13——SDRAM
【銀杏科技ARM+FPGA雙核心應用】STM32H7系列15——SDIO
Intel雙核心處理器
AMD雙核心處理器
Intel CEO確認雙核心Atom上網本處理器
Altera在28nm FPGA中整合雙核心ARM A9核心
聯發科揮軍雙核心市場 6577本月發布
NV-C2P10:雙核心異構 AI 硬盤錄像機

GS1-N2:雙核心異構 AI 硬盤錄像機

評論