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

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

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

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

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

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

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


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


評論