μC/OS-Ⅱ設計的線控轉向中的FlexRay總線通信技術
FlexRaY是時間觸發(fā)的通信總線,對實時性要求較高,因此僅僅依靠由簡單循環(huán)和中斷服務程序組成的嵌入式程序將無法滿足要求。同時,F(xiàn)lexRay通信在啟動和運行過程中,需要利用循環(huán)對總線狀態(tài)進行查詢,既浪費大量的系統(tǒng)資源,又容易造成程序死鎖,成為應用中的難點問題。
????? 近年來,隨著汽車工業(yè)和電子工業(yè)的不斷發(fā)展,汽車線控轉向技術成為了研究的熱點,并提出了包括路感模擬、轉向穩(wěn)定性以及總線技術等諸多關鍵性問題并加以研究。其中的總線技術,已經(jīng)得到了眾多知名汽車公司的積極研究與應用。一些汽車制造商目前計劃采用FlexRay總線,這是一種特別適合下一代汽車應用的網(wǎng)絡通信總線,具有容錯功能和確定的消息傳輸時間,能夠滿足汽車控制系統(tǒng)的高速率通信要求。
基于上述問題,本文基于μC/OS-II實時操作系統(tǒng),設計了線控轉向中FlexRay總線的通信部分。在滿足實時性要求的基礎上,利用其多任務的特點,節(jié)約了系統(tǒng)資源,避免了死鎖問題的出現(xiàn),并增加了通信故障檢測報警功能,為今后開發(fā)線控轉向系統(tǒng)奠定了基礎。
?
1 FlexRay總線技術
?
為了滿足汽車線控技術的需求,F(xiàn)lexRay聯(lián)盟于2005年發(fā)布了FlexRay總線協(xié)議。其主要特點有:雙通道傳輸,每個通道的傳輸速率高達lO Mb/s;具有靈活的使用方式,支持多種網(wǎng)絡拓撲結構;負載率高;提供冗余機制。
?
從開放式系統(tǒng)互連參考模型角度來看,F(xiàn)lexRay通信協(xié)議定義了四層結構:物理層、傳輸層、表示層和應用層,各層功能描述見表1。表示層中,通信狀態(tài)切換控制整個FlexRay通信的運行過程,具有十分重要的作用。

?
?
FlexRay協(xié)議操作控制(Proposal Operation Control,POC)將通信狀態(tài)分為幾種狀態(tài),分別為:配置狀態(tài)(默認配置、配置);就緒狀態(tài);喚醒狀態(tài);啟動狀態(tài);正常狀態(tài)(正常主動、正常被動);暫停狀態(tài)。其狀態(tài)轉換圖如圖1所示。當控制器主機接口(Controller Host InteRFace,CHI)給通訊控制器(CC)發(fā)送命令后,CC從暫停狀態(tài)進入默認配置狀態(tài),滿足配置條件后進入配置狀態(tài),完成網(wǎng)絡初始化和節(jié)點通信任務初始化;之后可以進入就緒狀態(tài),完成節(jié)點內(nèi)部通信設置,如果沒有滿足通信就緒條件,就返回配置狀態(tài)繼續(xù)配置;在就緒狀態(tài),CC可以發(fā)送喚醒幀,喚醒網(wǎng)絡中沒有在通信的節(jié)點,也可以獲得CPU的啟動通信命令,完成與FlexRay網(wǎng)絡時鐘同步;啟動成功后進入正常狀態(tài),完成數(shù)據(jù)的收發(fā);當出現(xiàn)錯誤時,可由正常狀態(tài)進入暫停狀態(tài),重新等待CHI命令。

由此可見,控制器需要按照POC狀態(tài)進行相應操作,因此會出現(xiàn)對POC狀態(tài)的循環(huán)檢測,容易造成程序死鎖以及占用大量系統(tǒng)資源。按照操作系統(tǒng)的介紹,其任務是以循環(huán)的形式存在的,因此可以將檢測POC狀態(tài)放入任務中單獨執(zhí)行,通過操作系統(tǒng)進行任務調(diào)度,可以避免影響到其他任務中程序的運行,并且提高程序的執(zhí)行效率。
?
2 基于MC9S12XF512的μC/OS-Ⅱ移植
μC/OS-Ⅱ是源碼公開的操作系統(tǒng),具有執(zhí)行效率高、占用空間小和實時性能優(yōu)良等特點。利用該操作系統(tǒng)的任務機制,設計實現(xiàn)Flex-Ray協(xié)議,可以大大提高系統(tǒng)的實時性和穩(wěn)定性,并且可以避免檢測POC狀態(tài)時的死鎖現(xiàn)象。
?
目前市場上支持FlexRay通信的單片機較少,只有Freescale公司的技術比較成熟。考慮到成本問題,選擇16位單片機MC9S12XF512作為系統(tǒng)控制器芯片。操作系統(tǒng)的使用首先要解決的就是移植問題。根據(jù)μC/OS-Ⅱ的文件結構,移植時需要對OS_CPU.H,(OS_CPU_A.ASM和OS_CPUC.C三個文件進行修改,以適合MC9S12xF512芯片的需要。
2.1 修改OS_CPU.H文件
OS_CPU.H文件定義與CPU相關的硬件信息,包括各種數(shù)據(jù)類型對應的存儲長度等。針對MC9S12xF512中的堆棧是由高地址向低地址增長的,所以常量OS_STK_GROWTH必須設置為1。同時,定義任務調(diào)度函數(shù)OS_TASK_SW()設置為軟中斷源。
?
2.2 修改OS_CPU_A.ASM文件
OS_CPU_A.ASM文件是使用匯編語言編寫與任務調(diào)度部分有關的代碼。包括任務級任務切換函數(shù)OSCtxSw()、中斷級任務切換函數(shù)OSIntCtxSw()、以及讓優(yōu)先級最高的就緒態(tài)任務開始運行的函數(shù)OS-StartHighRdy()。
MC9S12XF512芯片不僅設有FLASH頁面管理寄存器PPage,也有RAM頁面管理寄存器RPage、E2PROM頁面管理寄存器EPage以及全程寄存器GPage。當時鐘節(jié)拍中斷發(fā)生時,芯片會自動把CPU寄存器推入堆棧,但是并不包括上述各寄存器,因此在OS_CPU_A.ASM文件三個函數(shù)中,均需要加入將寄存器入棧和出棧的語句。由于篇幅有限,僅以PPage代碼為例:?

寄存器的入棧必須按照GPage,EPage,RPage,PPage的順序,出棧則相反。
?
2.3 修改OS_CPUC.C文件
OS_CPUC.C文件是使用C語言編寫與任務調(diào)度部分有關的代碼,包括任務堆棧初始化函數(shù)OSTaskStklnit()和時鐘節(jié)拍中斷服務子程序OSTicklSR()。
?
2.3.1 修改任務堆棧初始化函數(shù)0STaskStkInit()
由于μC/OS-Ⅱ是利用中斷方式來實現(xiàn)任務調(diào)度的,因此需要使用函數(shù)OSTaskStklnit()來模擬發(fā)生一次中斷后的堆棧結構,按照中斷后的進棧次序預留各個寄存器存儲空間,而中斷返回地址指向任務代碼的起始地址。編寫時需要根據(jù)芯片的中斷后,X,Y,A,B,SP等寄存器入棧順序來進行代碼編寫。首先在例程OSTaskStkInit()函數(shù)處設置斷點,然后單步執(zhí)行程序,觀察X,Y,A,B,SP等寄存器狀態(tài)是否與程序編寫的存儲值對應。發(fā)現(xiàn)對應于堆棧指針SP值的存儲區(qū)地址是模擬中斷時進棧的存儲地址,而其中保存任務程序指針地址的內(nèi)容是錯誤的,即不是任務的指針地址,因此每次在需要調(diào)用任務執(zhí)行時都進入了錯誤的地址進行執(zhí)行,并沒有找到任務的代碼。通過單步執(zhí)行OSTaskStkI-nit()函數(shù),可以發(fā)現(xiàn)原程序在存儲任務代碼指針PC值時,只存儲了PC指針的高8位,但后8位未存,導致指針指向錯誤。因此修改程序為:
?
*--wstk=(INTl6U)((INT32U)task);
?
2.3.2 修改時鐘節(jié)拍中斷服務子程序OSTickISR()
時鐘節(jié)拍中斷服務子程序OSTickISR()負責處理所有與定時相關的工作,如任務的延時、等待操作等。在時鐘中斷中將查詢處于等待狀態(tài)的任務,判斷是否延時結束,否則將重新進行任務調(diào)度??梢酝ㄟ^調(diào)用OSIntEnter()。OS_SAVE_SP(),OSTimeTick()和OSIntExit()四個函數(shù)進行實現(xiàn)。OSintEnter()函數(shù)通知μC/OS-Ⅱ進入中斷服務子程序,OS_SAVE_SP()函數(shù)用來保存堆棧指針,OSTimeTick()函數(shù)給要求延時若干時鐘節(jié)拍的任務延遲計數(shù)器減1,當反復運行該程序后,計數(shù)器為0時,則表明該任務進入了就緒狀態(tài),OSintExit()函數(shù)標志時鐘節(jié)拍中斷服務子程序結束。
?
之后最重要的一點,就是要將中斷服務子程序OSTickISR()與任務級任務切換函數(shù)OSCtxSw()添加到系統(tǒng)中斷向量表的相應位置中。這里使用的是實時時鐘中斷模塊(RTI)來實現(xiàn)時鐘中斷的產(chǎn)生,因此要將OSTickISR()連接到向量表RTI位置。OSCtxSw()函數(shù)是利用軟中斷來實現(xiàn)任務的切換功能的,因此軟中斷服務子程序的向量地址必須指向OSCtxSw()。
?
在進行上述程序編寫后,下載代碼到硬件中,μC/OS-Ⅱ就可以在本系統(tǒng)上實現(xiàn)運行了。
?? ? ? ?3 通信程序設計
利用任務形式來解決POC狀態(tài)的檢測問題,不僅可以提高程序效率以及避免死循環(huán)現(xiàn)象,同時,還可以建立通信故障檢測報警任務,在不同的通信狀態(tài)下,對駕駛員提供故障信息,方便處理。
?
線控轉向程序結構包括系統(tǒng)初始化、通信控制、數(shù)據(jù)采集和控制算法四大部分。這里只對其中的系統(tǒng)初始化及通信控制部分進行了設計。
?
3.1 系統(tǒng)初始化
在主程序main()中,首先對MC9S12XF512芯片進行初始化,包括:時鐘初始化、I/O口初始化、A/D模塊初始化、PWM模塊初始化以及FlexRay協(xié)議配置初始化。之后,調(diào)用OSInit()函數(shù)對μC/OS-Ⅱ操作系統(tǒng)進行初始化。接著創(chuàng)建三個任務,按照優(yōu)先級順序9、1l、13,分別為FlexRay通信啟動任務、數(shù)據(jù)接收發(fā)送任務和故障檢測報警任務,由這三個任務實現(xiàn)線控轉向系統(tǒng)的通信部分功能,其他部分功能可通過創(chuàng)建其他任務進行擴展。最后調(diào)用OSStart()啟動內(nèi)核運行,讓任務在操作系統(tǒng)的管理與調(diào)度下運行。
?
3.2通信任務設計
以Freescale公司開發(fā)的針對該芯片的FlexRay通訊傳輸層和表示層的驅動程序為基礎,進行應用層的程序設計,即編寫通信任務程序,完成協(xié)議的運行過程。
?
3.2.1 FlexRay通信啟動任務
按照上文介紹的FlexRay協(xié)議中定義的協(xié)議運行過程,當對FlexRay通信進行初始配置后,協(xié)議將進入就緒狀態(tài),之后發(fā)送啟動節(jié)點命令等待協(xié)議狀態(tài)由啟動狀態(tài)變?yōu)檎V鲃訝顟B(tài);在正常主動狀態(tài)中,首先發(fā)送關鍵幀啟動網(wǎng)絡中的其他節(jié)點,發(fā)送完成后進入到節(jié)點喚醒狀態(tài),然后開啟FlexRay通信的各種中斷,包括:傳輸中斷、接收中斷、存儲區(qū)中斷以及定時器中斷等,最后掛起任務等待檢測到通信故障時進行喚醒;協(xié)議正常被動狀態(tài)是在通信出現(xiàn)故障時,重新配置協(xié)議,進行協(xié)議的重啟。需要注意的是用戶必須在多任務系統(tǒng)啟動以后再開啟時鐘節(jié)拍器,也就是在調(diào)用Osatart()之后,由任務優(yōu)先級最高的那個任務開啟RTI中斷,否則系統(tǒng)容易死鎖。程序流程圖如圖2所示。?

3.2.2 數(shù)據(jù)接收發(fā)送任務
FlexRay數(shù)據(jù)的接收發(fā)送是通過中斷服務程序進行的,因此在該任務中,只需判斷POC狀態(tài)是否進入正常主動狀態(tài),如果是則使用全局變量對接收函數(shù)Fr_receive_da()和發(fā)送函數(shù)Fr_transmit_data()的消息緩沖區(qū)進行數(shù)據(jù)的讀取和更新。
?
3.2.3 故障檢測任務
在通信過程中,當其他節(jié)點因故障重啟或是通信線路中斷時,可以利用故障檢測任務檢查POC狀態(tài),當協(xié)議運行在正常被動狀態(tài)時,則判斷為通信線路出現(xiàn)故障,將故障LED指示燈設定為閃爍狀態(tài);當協(xié)議運行在暫停狀態(tài)時,則判斷為節(jié)點控制器故障,故障LED指示燈設定為常亮狀態(tài),并對FlexRay通信啟動任務進行解掛,重新對協(xié)議進行配置,待故障解決,系統(tǒng)可以自動啟動節(jié)點運行。程序流程圖如圖3所示。

4 實驗驗證
使用Vector公司的CANoe軟件,可以方便地觀察FlexRay總線上的數(shù)據(jù)流情況。實驗中,將CANoe軟件提供的FlexRay接口板VN3600接入總線網(wǎng)絡中,之后參考MC9S12XF512芯片手冊中FlexRay通信的MicroTick定義為25 ns,因此在FlexRay初始化定義中,設置參數(shù)P_MICRO_PER_M-ACRO_NOM為40,則一個MareroTick等于40個MicroTick,也就是說,F(xiàn)lexRay通信配置的基準時間片為lμs。據(jù)此,配置通信周期為5 000 μs;1個靜態(tài)時槽長度為24μs,共有91個;1個動態(tài)時槽為5μs,共有289個;特征窗與網(wǎng)絡空閑時間為1 371μs。
程序中對節(jié)點Node_A和Node_B的時槽定義如表2所示。

實驗結果如圖4所示,運行時間2 289 s,時槽變化與周期數(shù)均與設計一致,數(shù)據(jù)收發(fā)正常。由圖5可知,幀速率為3 200幀/s,總計傳輸7 369 600幀,沒有出現(xiàn)無效幀與錯誤幀,達到了實時性和穩(wěn)定性的要求。


?
在通信過程中,分別進行故障模擬實驗。
(1)突然斷開總線來模擬應用現(xiàn)場出現(xiàn)線路故障的情況,可以發(fā)現(xiàn)數(shù)據(jù)停止更新,故障檢測LED指示燈閃爍,說明程序檢測到了線路故障問題并進行報警。當再次連接總線后,故障檢測LED熄滅,數(shù)據(jù)繼續(xù)更新,說明通信自動重新啟動。
?
(2)將任意一個控制器進行掉電,模擬單一控制器故障情況,可以發(fā)現(xiàn)數(shù)據(jù)停止更新,故障檢測LED指示燈開始常亮,說明程序檢測到了任意節(jié)點故障導致通信中斷的問題并進行報警。當再次開啟掉電控制器后,故障檢測LED熄滅,數(shù)據(jù)繼續(xù)更新,說明通信自動重新啟動。通過以上兩個實驗,驗證了故障檢測報警功能良好。
?
5 結語
針對線控轉向系統(tǒng)FlexRay通信過程中存在的問題,將實時操作系統(tǒng)μC/OS-Ⅱ應用于系統(tǒng)中,進行了代碼移植和通信任務設計。之后通過硬件實驗,對數(shù)據(jù)結果和故障檢測進行了測試,從實驗結果可以看出,該系統(tǒng)解決了FlexRay總線應用的復雜問題,并利用μC/OS-Ⅱ操作系統(tǒng)保證了系統(tǒng)實時性、穩(wěn)定性和安全性的要求,為今后實現(xiàn)線控轉向系統(tǒng)在汽車輔助駕駛和智能駕駛方面的應用奠定了基礎。
- 總線(91436)
- FlexRay(23655)
相關推薦
熱點推薦
安森美推出FlexRay通信協(xié)定的總線收發(fā)器IC—NCV7381
安森美半導體(ON Semiconductor)擴充汽車網(wǎng)絡產(chǎn)品陣容,推出一款符合最新修訂版FlexRay通信協(xié)定的總線收發(fā)器IC——NCV7381
2012-08-03 09:26:47
4695
4695示波器的LIN、CAN和FlexRay串行總線調(diào)試
I2C 和SPI協(xié)議通常應用在電子控制單元(ECU)的芯片間通信。對于各種汽車子系統(tǒng)(例如舒適性控制系統(tǒng)、防盜鎖、傳動系統(tǒng)和引擎控制)之間的長距離串行通信和控制,CAN、LIN和FlexRay協(xié)議是當今汽車行業(yè)中最常見的串行總線應用。
2016-01-29 11:47:06
5959
5959揭秘高速汽車總線系統(tǒng)FlexRay:CAN總線已OUT?!看看寶馬X5協(xié)議解碼分析之道
FlexRay通訊協(xié)議是一種具備故障容錯的高速汽車總線系統(tǒng),已經(jīng)成熟運用在BMW X5的電控減震和主控懸吊系統(tǒng)中。本文和大家共同了解FlexRay協(xié)議及對應的解碼方案。
2017-09-06 09:48:55
28786
28786
FlexRay技術的三個主要領域
總線的要求,而FlexRay通信協(xié)議的開發(fā)正是為了滿足這些要求。 FlexRay技術可以被分為三個主要領域:配置和管理FlexRay簇的軟件、實現(xiàn)FlexRay協(xié)議的數(shù)字邏輯及模擬信號驅動器。在此,我們
2019-04-09 07:00:08
線控轉向系統(tǒng)FlexRay通信過程的故障怎么檢測?
近年來,隨著汽車工業(yè)和電子工業(yè)的不斷發(fā)展,汽車線控轉向技術成為了研究的熱點,并提出了包括路感模擬、轉向穩(wěn)定性以及總線技術等諸多關鍵性問題并加以研究。其中的總線技術,已經(jīng)得到了眾多知名汽車公司的積極
2019-10-11 08:02:45
FPGA中I2C 總線解析 I2C 總線是什么
在現(xiàn)代電子系統(tǒng)中,有為數(shù)眾多的 IC 需要進行相互之間以及與外界的通信。為了簡化電路的設計,Philips 公司開發(fā)了一種用于內(nèi)部 IC 控制的簡單的雙向兩線串行總線 I2C
2018-09-29 09:37:11
[原創(chuàng)]uC/OS-Ⅱ的學習書籍
我現(xiàn)在學習uC/OS-Ⅱ,其中的V2.5以上的版本我都是知道的,我把V2.5以上的版本拿來貢獻給大家。
2009-04-26 15:27:08
uC/OS-Ⅱ的主要特點
公開源代碼,系統(tǒng)透明,很容易就能把操作系統(tǒng)移植到各個不同的硬件平臺上??梢浦残詮?,uC/OS-Ⅱ絕大部分源碼是用ANSI C寫的,可移植性 (Portable)較強。而與微處理器硬件相關的那部
2011-06-07 14:12:06
uC/OS-Ⅲ實時操作系統(tǒng)內(nèi)核原理是什么
學習uC/OS-Ⅲ時做的一些記錄,整理了一下,結合自己的理解,做一篇總結(本總結適合有一定的基礎的同學食用,主要還是自己看)
2022-01-14 09:00:27
μC/OS-Ⅱ在MSP430F149上怎么移植?
μC/OS-Ⅱ是一個源代碼公開的嵌入式實時操作系統(tǒng)(RTOS),該操作系統(tǒng)理論上最多可以管理64個任務,一般應用時需要留出8個任務給系統(tǒng)本事使用,因此用戶的應用程序最多可以有56個任務,μC/OS-
2019-10-10 07:25:04
μC/OS-Ⅱ操作系統(tǒng)筆記總結
μC/OS-Ⅱ操作系統(tǒng)筆記總結(總)μC/OS-Ⅱ操作系統(tǒng)筆記(二)------中斷和時鐘μC/OS-Ⅱ操作系統(tǒng)筆記(三)------事件
2021-12-16 07:37:26
μC/OS-II在DSP Flash存儲器中運行的關鍵問題
智能化控制系統(tǒng)的開發(fā)中,出現(xiàn)了智能化挖掘機軌跡控制系統(tǒng)不按照預先設定好的軌跡運行和嵌入式實時多任務操作系統(tǒng)μC/OS-Ⅱ調(diào)度紊亂等失控問題。該智能化系統(tǒng)中采用了μC/OS-Ⅱ,通過位移傳感器實時采集挖掘機
2019-06-19 07:36:09
μC/OS-Ⅱ在芯片內(nèi)Flash存儲器運行的關鍵問題分析
智能化控制系統(tǒng)的開發(fā)中,出現(xiàn)了智能化挖掘機軌跡控制系統(tǒng)不按照預先設定好的軌跡運行和嵌入式實時多任務操作系統(tǒng)μC/OS-Ⅱ調(diào)度紊亂等失控問題。該智能化系統(tǒng)中采用了μC/OS-Ⅱ,通過位移傳感器實時采集挖掘機
2019-07-24 08:24:16
μC/OS-II在DSP Flash存儲器中運行有什么問題?怎么解決?
在作為國家863計劃子項目挖掘機智能化控制系統(tǒng)的開發(fā)中,出現(xiàn)了智能化挖掘機軌跡控制系統(tǒng)不按照預先設定好的軌跡運行和嵌入式實時多任務操作系統(tǒng)μC/OS-Ⅱ調(diào)度紊亂等失控問題。該智能化系統(tǒng)中采用了μC
2019-09-18 07:33:01
μc/Os-Ⅱ就緒表在ARM上改動算法有什么利弊?
μc/Os-Ⅱ的就緒表設置、清除、查找算法,是高效的、跨平臺的程序。它使用了兩個查找數(shù)組OSMapTbl[8]和OSUnMapTbl[256],以提高查找就緒表的速度,盡快獲取就緒任務的最高優(yōu)先級。
2020-03-06 08:21:49
μc/os-Ⅱ移植后的時鐘SYSTICK延遲該怎么得到?
在STM32上移植了μc/os-Ⅱ,μc/os-Ⅱ的系統(tǒng)時鐘是由SYSTICK來提供的,但是以前很多外設使用的延時程序也是由SYSTICK來提供的,比如對18b20的操作。請教大家問題是: 是不是在
2019-10-07 23:40:58
【圖書分享】Cortex-M3 + μC/OS-II嵌入式系統(tǒng)開發(fā)入門與應用
知識,然后對μC/OS-Ⅱ的內(nèi)核移植、驅動開發(fā)、應用程序開發(fā)進行了介紹,最后綜合運用所學知識介紹了一個μC/OS-Ⅱ的程序設計實例。本書內(nèi)容由淺入深,為加深理解,列舉了很多程序設計的相關實例。本書適合
2014-03-13 11:02:28
使用MC9S12實現(xiàn)FlexRay總線
有一個項目,使用飛思卡爾MC9S12實現(xiàn)FlexRay總線與RS422的協(xié)議轉化,請問哪位大神搞過這個?飛思卡爾官網(wǎng)提供完整FlexRay源碼例程。是否可提供有償技術支持,或其他合作模式?MC9S12FX512 本身自帶兩路UART和A/B通道雙冗余FlexRay總線接口,需完善軟件方面的設計。
2018-06-08 15:57:38
關于μC/OS-Ⅱ系統(tǒng)中OSTimeDly()函數(shù)的問題
在當前任務的OS_TCB中OS_EXIT_CRITICAL(); //打開中斷OS_Sched(); //既然任務已經(jīng)不再處于就緒狀態(tài),(任務調(diào)度) //任務調(diào)度程序會執(zhí)行下一個優(yōu)先級最高的就緒任務
2013-12-13 17:08:40
基于LPC2214和μC/OS-Ⅱ的iButton接口
操作系統(tǒng)μC/OS-Ⅱ中的接口的軟硬件設計,已在智能點檢機中推廣應用。隨著相關技術的發(fā)展,iButton信息識別技術在工業(yè)領域的應用會越來越廣泛,其經(jīng)濟作用會越來越大。
2018-12-03 15:27:30
基于μC/OS-Ⅱ和GPRS的無線RFID 讀寫器的研究與開發(fā)
數(shù)量的硬件堆棧。(5)處理器具有將寄存器、堆棧指針讀出和存儲到堆棧中的指令。對于ARM7系列的微處理器LPC2148及其開發(fā)環(huán)境ADS1.2的編譯器,完全能夠滿足上述條件,可以確保μC/OS-Ⅱ在
2011-08-03 10:39:29
基于μC/OS-Ⅱ的通信電源監(jiān)控系統(tǒng)方案設計
監(jiān)控系統(tǒng)的發(fā)展趨勢。與傳統(tǒng)的51單片機開發(fā)的通信電源監(jiān)控系統(tǒng)相比,通過μC/OS-Ⅱ與TMS470R1A288結合開發(fā)的通信電源系統(tǒng)有足夠的實時性、可靠性和可擴展性,同時成本更低。
2019-06-20 06:32:31
如何去改動μc/Os-Ⅱ就緒表算法?
在ARM上改動算法的有什么利弊嗎?什么是μc/Os-Ⅱ就緒表算法?如何去改動μc/Os-Ⅱ就緒表算法?μc/Os-Ⅱ就緒表算法有哪些適用范例?
2021-04-27 06:04:03
如何將嵌入式操作系統(tǒng)μC/OS-Ⅱ面向數(shù)控系統(tǒng)改進?
嵌入式操作系統(tǒng)μC/OS-Ⅱ是一個可裁剪、源碼開放、結構小巧、搶先式的實時多任務內(nèi)核,主要面向中小型嵌入式系統(tǒng),具有執(zhí)行效率高,占用空間小,可移植性強,實時性能優(yōu)良和可擴展性強等特點。
2019-10-30 07:42:24
如何采用FPGA實現(xiàn)μC/OS-Ⅱ任務管理模塊?
本文針對傳統(tǒng)實時操作系統(tǒng)內(nèi)核占用系統(tǒng)資源、影響系統(tǒng)實時性的問題,提出了用單獨的硬件電路實現(xiàn)實時操作系統(tǒng)中的系統(tǒng)調(diào)用和任務調(diào)度器的方案。重點給出了采用FPGA實現(xiàn)μC/OS-Ⅱ任務管理模塊的過程。仿真結果表明,任務管理的硬件實現(xiàn)保持了系統(tǒng)調(diào)用的正確性,同時減少了系統(tǒng)調(diào)用的執(zhí)行時間、降低了處理器系統(tǒng)開銷。
2021-04-26 06:14:59
嵌入式實時操作系統(tǒng)μc/os-Ⅱ學習心得分享
/os-Ⅱ操作系統(tǒng)的初衷是把它移植到DSP中的,我的研究課題是單相PWM整流,MCU選的是TI的C28系列TMS320F28335,至于為什么要上操作系統(tǒng)呢,說實話,主要是顯著圓滿一些。查了下資料,我這款芯片...
2021-12-14 08:09:44
嵌入式操作系統(tǒng)μC/OS-Ⅱ在數(shù)控系統(tǒng)應用怎么改進?
嵌入式操作系統(tǒng)μC/OS-Ⅱ是一個可裁剪、源碼開放、結構小巧、搶先式的實時多任務內(nèi)核,主要面向中小型嵌入式系統(tǒng),具有執(zhí)行效率高,占用空間小,可移植性強,實時性能優(yōu)良和可擴展性強等特點。數(shù)控系統(tǒng)是一個
2020-03-11 06:47:49
招聘flexray、can總線兼職講師
企業(yè)培訓公司面向單位員工培訓,長期招聘flexray、can總線老師,一般三天左右的短周期培訓,周末為主,有2人左右的小輔導,也有30人左右的培訓大班,待遇優(yōu),北京,上海,成都,廣州,深圳等,如您想
2018-08-31 13:12:44
有沒有學汽車通信的,車載以太網(wǎng)總線,Flexray總線
現(xiàn)在以太網(wǎng)總線是很火,我學習了FLEXRAY總線,感覺有點過時了,有沒有對以太網(wǎng)總線比較了解的,給點資料,學過FLEXRAY總線的朋友,可以互相交流一下
2016-08-13 17:06:24
汽車FlexRay總線解碼分析
FlexRay通訊協(xié)議是一種具備故障容錯的高速汽車總線系統(tǒng),已經(jīng)成熟運用在BMW X5的電控減震和主控懸吊系統(tǒng)中。這里將喝大家一起來了解FlexRay協(xié)議及對應的解碼方案。一、FlexRay總線介紹
2020-06-12 07:00:00
車載網(wǎng)絡FlexRay拓撲結構的優(yōu)化
車載網(wǎng)絡FlexRay 拓撲結構的優(yōu)化 網(wǎng)絡拓撲結構對于汽車安全系統(tǒng)有著重要的影響。該文從新型FlexRay 線控剎車網(wǎng)絡入手,結合拓撲結構的基本理論和FlexRay 的總線特點,由簡到繁,漸
2008-10-24 14:57:30
36
36如何提高移植uC/OS-Ⅱ的ARM嵌入式系統(tǒng)執(zhí)行效率和實時性
如何提高移植uC/OS-Ⅱ的ARM嵌入式系統(tǒng)執(zhí)行效率和實時性
2009-03-28 09:48:59
26
26嵌入式實時操作系統(tǒng)μC/OS-Ⅱ在ARM處理器上的實現(xiàn)
嵌入式實時操作系統(tǒng)μC/OS-Ⅱ在ARM處理器上的實現(xiàn),講的非常詳細哦。
2009-03-28 09:49:08
17
17基于μC/OS-II 的CAN總線驅動程序設計
在將嵌入式實時操作系統(tǒng)μC/OS-II 成功移植到TMS320LF2407A 型號的DSP 的基礎上,論文介紹了如何在電力系統(tǒng)集散式的數(shù)據(jù)采集系統(tǒng)中基于μC/OS-II 實時系統(tǒng)開發(fā)相應的CAN 總線遠程通
2009-05-26 13:27:44
16
16基于μC/OS-Ⅱ的實時分層調(diào)度算法研究
實時應用系統(tǒng)可能由功能不相交的任務子集組成,需要操作系統(tǒng)提供分層調(diào)度機制。
針對這一問題,提出在μC/OS- Ⅱ實時內(nèi)核中加入固定時間分配方案來實現(xiàn)兩層的調(diào)度策
2009-07-07 13:13:18
11
11基于μC/OS-Ⅱ的北斗導航接收機設計
多任務處理是北斗導航接收機設計的關鍵環(huán)節(jié),本文采用μC/OS-Ⅱ實時操作系統(tǒng),完成了在北斗導航接收機中的多任務處理及任務間的通信,解決了實時性、穩(wěn)定性的問題。研究并設
2009-08-06 11:15:29
63
63一種基于μC/OS-Ⅱ的IPMC開發(fā)方案
針對高級電信計算架構(ATCA)刀片中核心組件智能平臺管理控制器(IPMC)的開發(fā),給出一種采用實時操作系統(tǒng)μC/OS-Ⅱ的開發(fā)方案,可以幫助ATCA 廠商快速開發(fā)出符合PICMG3.0 規(guī)范
2009-08-17 09:21:17
37
37μC/OS-Ⅱ在MSP430F149上的移植
通過對TI公司16位微處理器MSP430F149的性能結構的分析, 結合嵌入式操作系統(tǒng)μC/OS-Ⅱ的可移植性給出了該操作系統(tǒng)在微處理器MSP430F149上移植的方法,并測試內(nèi)核自身的運行狀況和建立
2009-08-25 08:57:45
22
22μC/OS-Ⅱ在S3C44B0X上的移植
本文簡介了一種實時多任務內(nèi)核μC/OS-Ⅱ。并根據(jù)S3C44B0X 芯片的硬件特性,給出了一種把μC/OS-Ⅱ移植到S3C44B0X 上的方案。關鍵詞:實時多任務內(nèi)核;μC/OS-Ⅱ;S3C44B0X;移植嵌
2009-08-31 11:46:40
18
18μC/OS-Ⅱ時間管理
在3.10節(jié)時鐘節(jié)拍中曾提到,µC/OS-Ⅱ(其它內(nèi)核也一樣)要求用戶提供定時中斷來實現(xiàn)延時與超時控制等功能。這個定時中斷叫做時鐘節(jié)拍,它應該每秒發(fā)生10至100次。時鐘節(jié)拍
2009-09-28 14:29:22
34
34移植µC/OS-Ⅱ教程
這一章介紹如何將µC/OS-Ⅱ移植到不同的處理器上。所謂移植,就是使一個實時內(nèi)核能在某個微處理器或微控制器上運行。為了方便移植,大部分的µC/OS-Ⅱ代碼是用C語言寫的
2009-09-29 10:08:19
31
31µC/OS-Ⅱ的任務管理
在前面的章節(jié)中,筆者曾說過任務可以是一個無限的循環(huán),也可以是在一次執(zhí)行完畢后被刪除掉。這里要注意的是,任務代碼并不是被真正的刪除了,而只是µC/OS-Ⅱ不再理會
2009-09-29 10:54:26
25
25ARM與C/OS-Ⅱ嵌入式系統(tǒng)設計與實例開發(fā)
ARM與C/OS-Ⅱ嵌入式系統(tǒng)設計與實例開發(fā)希望大家有所收獲1、掌握一種學習方法
2、學習了解嵌入式技術研發(fā)的基本概念、方法和知識
3、獲得嵌入式開發(fā)設計實踐
2010-04-14 14:56:20
34
34線控轉向控制系統(tǒng)SbW
線控轉向控制系統(tǒng)(SbW)是一種將駕駛員對方向盤的操作信號轉換為電信號,再傳遞給轉向機,從而控制車輪完成相應的轉向動作的技術。線
2024-12-06 11:14:30
FlexRay總線控制器和TC1796的MLI接口設計
FlexRay總線控制器和TC1796的MLI接口設計
研究了FlexRay總線控制器CIC310和微處理器TC1796的微連接口(MLI)的數(shù)據(jù)傳輸原理和總線協(xié)議,使用TC1796和CIC310實現(xiàn)MLI
2009-03-29 15:09:24
3717
3717
利用TJA1080的FlexRay總線接口設計
利用TJA1080的FlexRay總線接口設計
介紹基于TJA1080的FlexRay總線在數(shù)字信號處理器(DSP)C5509上的實現(xiàn)。整個系統(tǒng)以DSP為核心,采用TJA1080總線控制器實現(xiàn)F
2009-03-29 15:13:40
10669
10669
XCP on FlexRay在Audi上的應用
XCP on FlexRay在Audi上的應用
為了對通過FelxRay總線進行通信的ECU進行優(yōu)化,Audi公司采用XCP on FlexRay對其進行標定。Audi的需求之一是AUTOSAR要兼容ECU內(nèi)部的XCP嵌入式軟件模塊
2009-11-23 10:29:50
1466
1466嵌入式DSP上實現(xiàn)FlexRay總線的方法
嵌入式DSP上實現(xiàn)FlexRay總線的方法
引 言 FlexRay總線是最近推出的一種采用點對點(星型拓撲結構)連接,借助無屏蔽或屏蔽雙絞線電纜的先進高速
2009-12-22 17:38:51
1008
1008
基于S3C44B0X和μC/OS-Ⅱ智能家居嵌入式系統(tǒng)設計
基于S3C44B0X和μC/OS-Ⅱ智能家居嵌入式系統(tǒng)設計
隨著社會經(jīng)濟的飛速發(fā)展及計算機控制技術等科技的進步,人們對自身的生活和工作環(huán)境有了更高的要求,由此對家
2010-02-26 12:26:34
819
819
采用μC/OS-Ⅱ的數(shù)據(jù)采集系統(tǒng)設計與應用
采用μC/OS-Ⅱ的數(shù)據(jù)采集系統(tǒng)設計與應用
摘要:通用串行總線因 (USB)具有傳輸速度快、即插即用、易于擴展、占用系統(tǒng)資源少等優(yōu)點;嵌入式實時操作系統(tǒng) (RTO
2010-03-04 10:46:00
1059
1059
根據(jù)μc/Os-Ⅱ就緒表算法在ARM架構上的改動
根據(jù)μc/Os-Ⅱ就緒表算法在ARM架構上的改動
????? μc/Os-Ⅱ的就緒表設置、清除、查找算法,是高效的、跨平臺的程序。它使用了兩個查找數(shù)組OSMapTbl[8]和OS
2010-04-21 09:05:57
1076
1076
μC/OS-Ⅱ的線控轉向FlexRay通信控制技術
隨著汽車工業(yè)和電子工業(yè)的不斷發(fā)展,汽車線控轉向技術成為了研究的熱點,并提出了包括路感模擬、轉向穩(wěn)定性以及總線技術
2010-07-21 15:29:35
1210
1210
FlexRay總線系統(tǒng)理想入門套件FlexDevel Starter
FlexDevel Starter是FlexRay總線系統(tǒng)的理想入門套件。該套件包括2個易用的通信節(jié)點,可以用來建立了一個FlexRay網(wǎng)絡。為進一步分析,此套件還包括了帶有簡單軟件解決方案的FlexCard。
2011-04-28 17:26:48
41
41基于μC/OS-Ⅱ的1553B和ARINC429總線實時協(xié)議轉換系統(tǒng)的設計
近年來,ГOCT18977、1553B和ARINC429已成為我軍機載設備間、飛機與導彈間數(shù)據(jù)通信所廣泛采用的總線標準。本文針對某型飛機加掛某型導彈的實際應用,設計了一個基于μC/OS-Ⅱ的1553B和ARINC4
2011-09-15 10:10:18
2591
2591
通信協(xié)議標準FlexRay總線的功能安全性詳解
世界上90%的都采用基于CAN總線的系統(tǒng),而FlexRay是下一代通信協(xié)議事實上的標準,它的功能安全性如何是至關重要的。本文就通信協(xié)議標準FlexRay總線的功能安全性進行詳細解析
2013-01-22 11:47:13
10911
10911FlexRay在車內(nèi)網(wǎng)絡中的應用
,FlexRay適用于線控操作(X-by-Wire)。 本篇技術背景報告為我們大致介紹了FlexRay在車內(nèi)網(wǎng)絡中的應用,并描述了其網(wǎng)絡協(xié)議,包括幀格式、拓樸、總線信號和節(jié)點狀態(tài)轉移。報告中還對FlexRay和CAN進行了比較,最后還附加了有關FlexRay芯片的資料以及得益于富士通微
2017-09-08 11:04:41
9
9μC/OS-Ⅱ嵌入式以太網(wǎng)通信的設計解析
uC/OS-Ⅱ是一個源碼開放的搶占式實時操作系統(tǒng)。它內(nèi)核短小精悍、可裁減、執(zhí)行時間確定。系統(tǒng)大部分代碼采用C語言編寫,與硬件有關的部分都集中在兩個文件中,給出了規(guī)范的接口說明,移植相當方便,可應用
2017-10-23 11:19:52
0
0基于μC/OS-Ⅱ實時操作系統(tǒng)的內(nèi)存管理改進方案
的通信與同步)和中斷管理上是比較完善的,具有可以接受的穩(wěn)定性和可靠性;但在內(nèi)存管理上顯得過于簡單,內(nèi)存分區(qū)的建立方式有不合理之處。 1 內(nèi)存管理不足之處的分析 在分析許多C/OS-Ⅱ的應用實例中發(fā)現(xiàn),任務??臻g和內(nèi)存分區(qū)的創(chuàng)
2017-10-30 11:05:43
0
0基于STM32和μC/OS-Ⅱ的熱力站監(jiān)控系統(tǒng)設計
結合工程實際,采用GPRS技術組建通信網(wǎng)絡,給出了基于STM32微處理器和C/OS-Ⅱ實時操作系統(tǒng)的熱力站監(jiān)控單元的軟、硬件設計,用于測量和傳輸熱力站溫度、壓力等工況參數(shù)以及變頻器運行參數(shù)。結合
2017-11-30 04:42:28
430
430基于μC/OS-Ⅱ的嵌入式以太網(wǎng)通信的設計與實現(xiàn)
uC/OS-Ⅱ是一個源碼開放的搶占式實時操作系統(tǒng)。它內(nèi)核短小精悍、可裁減、執(zhí)行時間確定。系統(tǒng)大部分代碼采用C語言編寫,與硬件有關的部分都集中在兩個文件中,給出了規(guī)范的接口說明,移植相當方便,可應用
2017-11-30 08:16:52
876
876
采用操作系統(tǒng)μC/OS-Ⅱ實現(xiàn)數(shù)控執(zhí)行控制器的系統(tǒng)設計
嵌入式操作系統(tǒng)μC/OS-Ⅱ是一個可裁剪、源碼開放、結構小巧、搶先式的實時多任務內(nèi)核,主要面向中小型嵌入式系統(tǒng),具有執(zhí)行效率高,占用空間小,可移植性強,實時性能優(yōu)良和可擴展性強等特點。數(shù)控系統(tǒng)
2020-03-06 08:03:00
2177
2177
基于FPGA的車電總線通信設計方案
CAN總線是一種有效地支持分布式控制或者實時控制的串行通信網(wǎng)絡,具有多主機、高性能以及高可靠性。然而隨著汽車電子技術的發(fā)展,早期的CAN總線已經(jīng)不能很好地解決眾多電子設備之間的實時通信問題。由
2019-06-11 15:25:28
1594
1594
基于微處理器LPC2210實現(xiàn)μC/OS-Ⅱ關鍵算法的改進設計
宏觀的講,μC/OS-Ⅱ大致分成內(nèi)核結構、任務管理、時間管理、任務之間的通信與同步和CPU的移植等5個部分。由于嵌入式多任務應用功能軟件系統(tǒng)是應用設計的范疇,所以并不包含在內(nèi)核中。內(nèi)核保留給上層
2020-09-14 17:59:06
3546
3546
FlexRay總線系統(tǒng)的功能及常見故障
如果FlexRay總線處于休眠模式,系統(tǒng)會先通過喚醒過程使FlexRay總線變成待機模式。即使激活所有接線端3的用戶,FlexRay總線也無法主動進行通信。
2020-11-05 10:00:39
10980
10980總線系統(tǒng)FlexRay的優(yōu)點/拓撲結構/診斷與維修
FlexRay是一個新的通信系統(tǒng),該系統(tǒng)的目標是在電氣與機械電子組件之間實現(xiàn)可靠、實時且高效的數(shù)據(jù)傳輸,以便在車輛內(nèi)將今天和將來的創(chuàng)新功能聯(lián)網(wǎng)。FlexRay的數(shù)據(jù)傳輸率為10Mbit/s,明顯高于如今在車內(nèi)使用的高速CAN總線500k的數(shù)據(jù)總線。
2020-12-07 10:32:52
10549
10549uC/OS-Ⅲ實時操作系統(tǒng)內(nèi)核原理總結
學習uC/OS-Ⅲ時做的一些記錄,整理了一下,結合自己的理解,做一篇總結(本總結適合有一定的基礎的同學食用,主要還是自己看)
2022-01-14 13:03:20
13
13線控轉向技術路線的優(yōu)點
? 芝能汽車目前和汽車館主聯(lián)合一起在做行業(yè)技術報告,摘選部分比較基礎的信息供參考。? 01 線控轉向技術路線 線控轉向技術是一種創(chuàng)新的電子轉向系統(tǒng),通過采用傳感器、電機和控制器等電子部件取代傳統(tǒng)
2023-06-26 14:36:47
2322
2322flexray總線工作原理介紹
FlexRay總線 FlexRay總線是由寶馬、飛利浦、飛思卡爾和博世等公司共同制定的一種新型通信標準, 專為車內(nèi)聯(lián)網(wǎng)而設計, 采用基于時間觸發(fā)機制, 具有高帶寬、容錯性能好等特點, 在實時性
2023-07-18 11:13:13
5176
5176
FlexRay總線靜電浪涌保護選用TVS二極管:DW24DLC-B-AT-S
雙絞線對該總線系統(tǒng)的干擾輻射和抗干擾性提出了額外的挑戰(zhàn)。那么,如何解決FlexRay通訊總線中EOS和ESD帶來的威脅和損壞呢?用于保護FlexRay通訊總線的T
2023-08-10 17:31:40
1576
1576
基于μC/OS-Ⅱ的遠程環(huán)境監(jiān)測系統(tǒng)設計方案
電子發(fā)燒友網(wǎng)站提供《基于μC/OS-Ⅱ的遠程環(huán)境監(jiān)測系統(tǒng)設計方案.pdf》資料免費下載
2023-10-18 10:36:51
0
0嵌入式實時操作系統(tǒng)μC/OS-Ⅱ在LPC1788上的移植及應用
電子發(fā)燒友網(wǎng)站提供《嵌入式實時操作系統(tǒng)μC/OS-Ⅱ在LPC1788上的移植及應用.pdf》資料免費下載
2023-10-23 14:07:00
0
0什么是線控轉向系統(tǒng)?線控轉向技術淺析
什么是線控轉向系統(tǒng)?線控轉向簡單說就是徹底取消方向盤和車輪的物理連接,使用電信號來操控車輪轉向,線控轉向系統(tǒng)不僅具有傳統(tǒng)機械轉向系統(tǒng)的所有優(yōu)點,更可以實現(xiàn)機械系統(tǒng)難以做到的,角傳遞特性的優(yōu)化。
2024-03-29 10:06:56
3767
3767
I2C總線通信原理 如何設計I2C總線電路
、高效的通信接口標準。I2C總線通信原理主要包括以下要點: 總線結構 : I2C總線僅使用兩條信號線,即串行數(shù)據(jù)線(SDA)和串行時鐘線(SCL)。 SDA線路用于傳輸實際的數(shù)據(jù)信息,而SCL線路則用于同步通信的時鐘信號。 通信過程 : 主設備發(fā)起總線開始信號:將SDA線路從高電平拉低,然
2025-01-31 15:01:00
2059
2059
電子發(fā)燒友App


評論