專利名稱:一種FlexRay通信控制器的制作方法
技術領域:
本發(fā)明涉及一種FlexRay通信控制器,尤其是內部總線仲裁的設計。
背景技術:
FlexRay是C類車載網絡標準協(xié)議的一種。它是由FlexRay共同體(FlexRayConsortium)制定的協(xié)議。這些共同體有7個核心成員BMW GROUP、BOSCH、DaimlerChrysler、GM、Motorola/Freescale、PHILIPS 和 VW AG。FlexRay 網絡的通信具有高速率、確定性、可靠性、靈活性、容錯特性等,能夠滿 足未來先進汽車高速控制的需要,同時FlexRay支持分布式控制系統(tǒng),可以補充CAN、LIN等主要車內網絡協(xié)議。FlexRay通信控制器是以FlexRay協(xié)議為標準、具有全面協(xié)同工作能力的通信器件,可為復雜的網絡提供高速度、安全性和容錯性。設計FlexRay通信控制器的關鍵是解決共享內存的通信問題。第一種是主機與FlexRay通信控制器之間的通信。FlexRay通信控制器需要主機的配置信息,并且向主機傳送數據。這些配置信息和數據存儲在FlexRay通信控制器的內存中;第二種是FlexRay通信控制器內部各個模塊之間的通信。FlexRay通信控制器提供的功能有協(xié)議控制、喚醒啟動、時鐘同步、編解碼等。這些功能在FlexRay通信控制器內部由不同的模塊實現(xiàn),模塊之間以共享內存的方式通信。所以,內部總線仲裁方法直接決定了 FlexRay通信控制器的設計。
發(fā)明內容
本發(fā)明的目的是解決FlexRay通信控制器內部模塊以及主機共享內存的問題。本發(fā)明的FlexRay通信控制器,主要包括3類模塊(圖1,系統(tǒng)架構圖)協(xié)議模塊、仲裁模塊、內存。仲裁模塊是整個發(fā)明的核心,決定了總線仲裁機制。它包含3個總線選擇器(圖4,總線仲裁機制圖)地址選擇器(AddreSS_MuX)、寫數據選擇器(Wdata_Mux)、寫控制信號選擇器(Wren_Mux)。各個選擇器的輸入端、控制端、輸出端如下所述各個協(xié)議模塊輸出的地址線、寫數據線、寫控制信號分別作為每個選擇器的輸入端。各個協(xié)議模塊包含一個開始信號(start)、結束信號(end)。其中開始信號的作用是申請總線的使用權,結束信號的作用是放棄總線的使用權,讓其他模塊使用。這些開始信號和結束信號作為每個選擇器的控制端。當某個模塊的開始信號為I時,這個模塊開始獲得總線使用權,開始對內存發(fā)起讀寫操作。當它的結束信號為I并且開始信號為O時,表明這個模塊放棄總線使用權,使得其他模塊可以獲得總線使用權。同時,本發(fā)明為了使得主機具有優(yōu)先使用內存的權利,每個選擇器的控制端添加了由主機控制的片擇信號(Cs)。當它為I時,無論各個內部模塊的開始信號是否為1,總線的使用權歸主機所有;當它為O時,主機放棄總線的使用權,此時各個模塊才能開始依次獲得總線使用權。這些總線的輸出端是各個選擇器選擇后的信號,并傳送給從設備。
根據以上分析,本發(fā)明的總裁策略以地址選擇器為例,其他選擇器一樣。如下所示(圖5總線策略流程圖)I.首先,地址選擇器判斷其選擇信號(CS)是否為I.如果它為1,表明主機要優(yōu)先使用總線,以獲得從設備的使用。2.當地址選擇器的選擇信號(CS)為O時,如果地址選擇器沒有收到主設備的開始信號,它默認選擇一個主設備以獲得總線使用權。3.當地址選擇器的選擇信號(CS)為O并且主設備的開始信號為O時,地址選擇器就會選擇相應的主設備(主設備是指將要訪問從設備的模塊或者主機。例如圖2)使其獲得總線使用權。當它使用完總線時,它自動發(fā)出結束信號,表示放棄從設備(從設備指被訪問的模塊,例如內存。圖2解釋了這些概念)的使用。公共地址線(addr)、公共寫數據總線(data)和公共寫控制信號(wr)是地址選擇 器(Address_Mux)、寫數據選擇器(Wdata_Mux)、寫控制信號選擇器(Wren_Mux)對應總線選擇器的輸出端。這些選擇器的輸出端作為內存的輸入信號(即公共地址線(addr)、公共寫數據總線(data)和公共寫控制信號(wr)是內存的輸入信號。因為內存模塊必須有輸入信號的),控制內存的讀寫操作。內存是FlexRay通信控制器的存儲器,也是內部總線的從設備(Slave)(圖2,基于總線的連接方法)。主設備通過總線的仲裁(圖4,總線仲裁機制圖)可以對其進行讀寫操作。由于讀數據線(rdata)只有一個來源,因此它直接從內存單元連接到各個子模塊,供工作狀態(tài)的模塊使用。內部總線的主設備(Master)(圖2,基于總線的連接方法)主要是FlexRay協(xié)議通信控制器里面的各個協(xié)議模塊。它們可以向內存發(fā)起操作請求。這些請求通過總線模塊的仲裁,使得在某一時刻只能由一個主設備驅動總線訪問主設備,這樣才不至于發(fā)生訪問沖關。根據FlexRay協(xié)議,各個主設備依次享有總線使用權。當主機放棄總線使用權時,并且除協(xié)議控制模塊以為的其他內部模塊沒有發(fā)出開始信號,此時,協(xié)議控制模塊擁有總線使用權。當協(xié)議控制模塊進入喚醒過程(wakeup process)以前,編解碼模塊發(fā)出開始信號,以獲得總線使用權。當協(xié)議控制模塊進入啟動過程(startup process)以后,時鐘處理模塊先使用總線,然后時鐘產生模塊獲得總線使用權,最后是媒體接入控制模塊(圖3,協(xié)議控制模塊原理圖)。
圖I為統(tǒng)架構圖;圖2為基于總線的連接方法;圖3為協(xié)議控制模塊原理圖;圖4為總線仲裁機制圖;圖5為總線策略流程圖;圖6為CPU優(yōu)先使用總線;圖7為模塊I首先使用總線。
具體實施例方式總線仲裁器的具體實施方式
如下所示。這里僅僅給出了寫地址選擇器(addrjmix)的實施方法,其他2個總線選擇器類似(寫數據選擇器(Wdata_Mux)、寫控制信號選擇器(ffren_Mux))0地址選擇器根據各個內部模塊的開始信號和結束信號,以及選擇信號(cs)選擇其中一個模塊的地址線與公共地址線相連。圖6是CPU優(yōu)先使用總線。在第一個時鐘周期,CPU、模塊I與模塊2的開始信號都為0,只有CPU發(fā)出地址信號(CPU_Addr)。但是由于CPU的片選信號(CS)為0,所以此時的公共地址信號(Addr)為0,而不是保存CPU的地址信號。這就表示此時沒有設備使用總線。從第二個時鐘周期開始直到最后一個周期,CPU的片選信號(CS)為I.這時公共地址信號的值選擇了 CPU的地址信號,也就表明此時只有CPU獲得總線使用權。到第三個時鐘周期,模塊I的開始信號(Start_l)為1,表明模塊I也希望得到總線的使用權。但是,此時CPU的片選信號(CS)為1,公共地址信號一直保存CPU的地址信號。所以模塊I的開始信號不能使得自己獲取總線使用權。這樣也就實現(xiàn)了 CPU優(yōu)先通過總線使用內存。
圖7是模塊I首先使用總線,然后放棄總線使得模塊2獲得總線使用權。在整個時鐘周期內,CPU的片選信號是O表明CPU不能獲取總線使用權。在第一個時鐘周期內,模塊I與模塊2的開始信號都是0,表明它們沒有申請使用總線。此時,第一個模塊的地址信號有值,但是由于其開始信號為0,所以公共地址信號(Addr)的值為0,表示沒有設備獲得總線使用權。第二個周期開始到第三個周期,模塊I的開始信號(Start_l)變?yōu)?,表示該模塊申請使用總線。這個時候,公共地址信號選擇了模塊I的地址值表明模塊I獲得了總線使用權。在模塊I獲得總線使用權期間,CPU試圖通過改變發(fā)送地址信號(Aaddr)以搶奪總線使用權。但是CPU的片選信號(CS)是0,所以公共地址信號的值保存的是模塊I的地址值而不是CPU的地址值。最終,總線的使用權一直是模塊I而不是CPU。在第四個周期,模塊I的結束信號(End_l)變?yōu)镮并且它的開始信號從I變成了0,這表示模塊I使用總線完畢,開始放棄總線使用權。此時,模塊2的開始信號(Start_2)從O變?yōu)镮,表明模塊2開始申請總線使用權。但是模塊2的地址信號(Mod_2_Addr)沒有發(fā)生變化,所以此時公共地址信號的值還是保存上次的值,但是這個并不表示有設備使用總線,因為這個數據此時是垃圾數據。在第五個周期,模塊2的地址信號開始(Mod_2_Addr)發(fā)出值,并且馬上反映在公共地址信號(Addr)上,因為此時的總線使用者是模塊2。
權利要求
1.一種FlexRay通信控制器,其特征在于該通信控制器包括三類模塊協(xié)議模塊、仲 裁模塊、內存;所述仲裁模塊包括3個總線選擇器地址選擇器、寫數據選擇器、寫控制信號選擇器, 各個選擇器的輸入端、控制端、輸出端如下所述各個協(xié)議模塊輸出的地址線作為地址選擇器的輸入端、各個協(xié)議模塊輸出的寫數據線 作為寫數據選擇器的輸入端、各個協(xié)議模塊輸出的寫控制信號作為寫控制信號選擇器的輸 入端;各個協(xié)議模塊包含一個開始信號、結束信號,其中開始信號的作用是申請總線的使用 權,結束信號的作用是放棄總線的使用權;所述開始信號和結束信號作為每個選擇器的控 制端;仲裁模塊與內存的連接關系為地址選擇器的輸出端作為內存的公共地址信號、寫數 據選擇器的輸出端作為內存的公共寫數據信號、寫控制信號選擇器的輸出端作為內存的公 共寫控制信號;而內存的讀數據信號作為各個協(xié)議模塊的數據輸入信號;仲裁模塊與主機的連接關系為主機的片選信號作為仲裁模塊的使能控制端的一部 分,與協(xié)議模塊的開始信號和結束信號共同作用來控制總線仲裁,主機的地址信號作為地 址選擇器的輸入代表主機的地址,主機的寫數據信號作為寫數據選擇器的輸入信號代表主 機將要寫到內存的數據,主機的讀寫控制信號作為寫控制信號選擇器的輸入表明主機是在 讀還是寫內存;而內存的讀數據信號同樣作為主機的數據輸入信號。
2.根據權利要求1所述的FlexRay通信控制器,其特征在于同時只能有一個主設備 訪問內存;當某個模塊的開始信號為1時,這個模塊開始獲得總線使用權,開始對內存發(fā)起 讀寫操作;當它的結束信號為1并且開始信號為0時,表明該模塊放棄總線使用權,使得其 他模塊可以獲得總線使用權;同時,為了使得主機具有優(yōu)先使用內存的權利,每個選擇器的 控制端添加了由主機控制的片選擇信號;當該片選擇信號為1時,無論各個內部模塊的開 始信號是否為1,總線的使用權歸主機所有;當該片選擇信號為0時,主機放棄總線的使用 權,此時各個模塊才能開始依次獲得總線使用權;這些總線的輸出端是各個選擇器選擇后 的信號,并傳送給從設備。
3.根據權利要求1所述的FlexRay通信控制器,其特征在于當仲裁模塊的片選信號 CS是1時,仲裁模塊選擇主機作為從設備的使用者,直到該片選信號(CS)變成0 ;相反,如 果片選信號CS為0并且協(xié)議模塊的開始信號也為0,仲裁模塊將會選擇默認的主設備使用 從設備;當協(xié)議模塊的開始信號為1并且片選信號(CS)也為0時,仲裁模塊將會選擇對應 的協(xié)議模塊作為從設備的使用者;當該協(xié)議模塊使用完畢以后,它主動發(fā)送結束信號使自 己放棄總線的使用權。
全文摘要
本發(fā)明涉及一種FlexRay通信控制器,主要包括協(xié)議模塊、仲裁模塊、內存,為了能更好的使用內存,與FlexRay協(xié)議相關的所有協(xié)議模塊不可以直接訪問內存,而是設計一個內部總線,通過仲裁機制依次訪問內存。為了保證主機能優(yōu)先使用內存,本發(fā)明也添加了主機優(yōu)先訪問的總線仲裁策略。本發(fā)明通過仲裁模塊解決了共享內存問題,使得通信控制器的設計變得簡單、高效。
文檔編號G06F13/364GK102662892SQ201210054269
公開日2012年9月12日 申請日期2012年3月2日 優(yōu)先權日2012年3月2日
發(fā)明者康一梅, 馬文豪 申請人:北京航空航天大學