亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種新型canfd控制器的制造方法

文檔序號:10723980閱讀:768來源:國知局
一種新型can fd控制器的制造方法
【專利摘要】本發(fā)明公開了一種新型CAN FD控制器,CAN FD總狀態(tài)機調控CAN FD控制器整體功能及工作狀態(tài),發(fā)送管理器發(fā)送所有類型的幀及ACK信號,接收管理器監(jiān)視總線,分析總線接收的數(shù)據(jù),時鐘同步器根據(jù)用戶設定及總線信號,控制位時鐘周期,提供總線值采樣點及采樣值,錯誤管理模塊對節(jié)點錯誤進行統(tǒng)計計數(shù),將計數(shù)值反應為節(jié)點錯誤狀態(tài)ES和總線狀態(tài)BS信息,寄存器組集中管理寄存器,接口管理器解析來自微控制器的指令,將地址信息譯碼為對應寄存器的選通信號;該新型CAN FD控制器基于CAN FD總線通信協(xié)議規(guī)范與微波功率分布式控制系統(tǒng)的實際需求,性能優(yōu)越,具有重要的實際工程意義。
【專利說明】
一種新型CAN FD控制器
技術領域
[0001 ]本發(fā)明屬于CAN控制器技術領域,尤其涉及一種新型CAN ro控制器。
【背景技術】
[0002] 微波作為一種具有獨特作用機理的新型熱源,在物料烘干、高溫燒結、冶煉萃取等 方面具有天然優(yōu)勢,在食品、農(nóng)業(yè)、輕工、化學等領域得到廣泛應用。
[0003] 以微波作為熱源的褐煤干燥生產(chǎn)線相較于傳統(tǒng)的對流干燥,具有安全高效節(jié)能環(huán) 保等顯著優(yōu)勢。根據(jù)南京三樂公司微波褐煤干燥生產(chǎn)線的實際需求,設計了目前的微波功 率分布式控制系統(tǒng)。該分布式控制系統(tǒng)通過CAN總線連接上位機與各分布于生產(chǎn)線上的嵌 入式控制器節(jié)點從而實現(xiàn)數(shù)據(jù)交換,作為業(yè)界公認的最有前途的現(xiàn)場總線,CAN總線能有效 支持這種分布式、實時控制系統(tǒng),更重要的是,CAN總線協(xié)議特有的非破壞性仲裁技術、高效 的錯誤檢測能力以及可靠的編碼機制。在微波干燥生產(chǎn)線的高實時性要求和強電磁場環(huán)境 下能夠有效地保證數(shù)據(jù)傳輸質量。
[0004] 隨著研究的不斷進展,控制系統(tǒng)對總線傳輸性能的要求不斷提高。首先將CAN總線 傳輸介質由雙絞線替換為光纖,有效地提高信號傳輸過程中抗強電磁場干擾能力,但由此 增加的光電轉換模塊將在信號回路中增加約300ns的總延時,此時要達到1Mbps的CAN 2.0 協(xié)議極限傳輸速度,CAN網(wǎng)絡的尺寸必須限制在直徑10米以內,而生產(chǎn)線長度遠超過10米。 因此CAN總線傳輸速度將比原來降低。
[0005] 另一方面,上位機及各嵌入式控制器增加了新的功率智能協(xié)調控制算法,需要接 收更精確、更豐富、更及時的生產(chǎn)線上數(shù)據(jù)并及時發(fā)布功率控制命令;與此對應的,生產(chǎn)線 沿線上需加裝更多高精度傳感器,回傳更加密集的數(shù)據(jù);節(jié)點之間為實現(xiàn)協(xié)調配合也會進 一步增加傳輸數(shù)據(jù)量。
[0006] 以上兩點都要求現(xiàn)場總線能提供更高效、準確的數(shù)據(jù)傳輸服務,而一個標準的CAN 2.0數(shù)據(jù)幀中最多能攜帶8字節(jié)數(shù)據(jù),其冗余信息約占幀長的46%,且實際應用速度遠低于 設計最高速度的IMbps,相較之下,BOSCH公司發(fā)布的CAN 2.0協(xié)議的升級協(xié)議:CAN-FD (CAN with Flexible Data rate)協(xié)議,其傳輸速率能夠輕易超過1Mbps,且冗余信息可縮小至僅 占幀長的11 %,CAN FD改進后的編碼方式錯誤漏檢率在CAN 2.0的基礎上又下降了5個數(shù)量 級,能夠滿足當下及未來的升級需求。
[0007] 因此,依據(jù)該分布式控制系統(tǒng)的實際需求而設計可集成于項目嵌入式控制板卡的 基于FPGA的CAN FD控制器,具有實際的工程意義。
[0008] 2012年5月,博世和Vector首次演示了使用遵循ISO 11898-2規(guī)范的收發(fā)器芯片, 速率達15Mbps的CAN-Π )網(wǎng)絡模型。除了能夠增加傳輸速度外,該協(xié)議還能夠支持更高的負 載。在單個數(shù)據(jù)框架內傳送率可達64字節(jié),避免了經(jīng)常發(fā)生的數(shù)據(jù)分裂狀況,解決了數(shù)據(jù)一 致性的問題。
[0009] 2014年6月,力科發(fā)布業(yè)界首個CAN ro觸發(fā)和解碼解決方案。
[0010] 2014年7月,嵌入式廠商Spansion公司宣布開始供應Spansion Traveo汽車微控制 器S6J3100系列的樣品。該系列主要特點就是使用CAN FD接口來增強車載網(wǎng)絡。
[0011] 2014年12月,羅德與施瓦茨公司的發(fā)布RTE和RT0示波器新選件,它們是世界上首 款支持CAN-FD接口協(xié)議測試分析解決方案的設備。
[0012] 2016年嵌入式電子與工業(yè)電腦應用展覽會上,意法半導體發(fā)布汽車嵌入式解決方 案,包括首個集成ISO CAN FD(靈活數(shù)據(jù)速率)技術的Power Architecture微控制器。
[0013] 2011年M.Barranco使用隨機行為網(wǎng)絡搭建模型對總線型及星形拓撲結構的CAN網(wǎng) 絡可靠性進行了定量研究,著重比較了他們在永久性硬件故障情況下的可靠性和容錯性, 最終結果表明星形拓撲結構的CAN網(wǎng)絡具有更高的可靠性和容錯性。
[0014] 2011年萊斯特大學Imran Sheikh以改善CAN通信系統(tǒng)性能為目標,提出了一個對 CAN底層協(xié)議進行升級的整體框架,主要包括三個方面的目標,一是將數(shù)據(jù)傳輸速率從 1Mbps提高到10Mbps,二是將單幀攜帶數(shù)據(jù)量從8字節(jié)提高到16字節(jié);三是減少位填充編碼 帶來的不必要的傳輸抖動。Imran Sheikh以此為基礎,提出了多種方案進行實驗分析,并總 結了各自的優(yōu)劣。
[0015] 2011年S. Mube en通過擴展現(xiàn)有的分析方案,提出能夠支持分析混合消息的響應時 間的算法,該算法能夠適用于任何基于CAN協(xié)議的高層協(xié)議,并且對周期性的、偶發(fā)性的和 混合性的消息的傳輸都有較好的效果。
[0016] 2011年約克大學實時系統(tǒng)研究組R.I.Davis指出,現(xiàn)在對于CAN的分析都是基于這 樣一個假設:網(wǎng)絡中每個節(jié)點準備發(fā)送的最高優(yōu)先級的信息將會獲得總線仲裁,但實際上, 一些CAN驅動設備使用先進先出隊列而不是基于優(yōu)先級的隊列使這一假設失效了,因此 R. I.Davis對CAN幀在既有使用FIFO的節(jié)點又有使用優(yōu)先隊列的節(jié)點的網(wǎng)絡中傳播時的響 應時間進行了分析,并提出了最優(yōu)分配策略,通過案例和實驗評估,結果表明FIFO隊列對于 CAN的實時性能有不利影響。
[0017] 2011年H. Huangshui等人通過搭建CAN故障模型,研究CAN通信故障機制,設計了一 個用于CAN節(jié)點的監(jiān)視模塊,該監(jiān)視模塊可以通過變換自身為被動或主動狀態(tài)來診斷通信 鏈路的故障,有效地增強CAN通訊的可靠性及自愈性。
[0018] 2011年Atiya Azmi等人以CAN總線通信系統(tǒng)為基礎,提出了一種采集患者生命體 征并傳送至遠端監(jiān)測站的解決方案,提出了數(shù)據(jù)聚合方法及幾個有關CAN協(xié)議的改良方案, 以便更好的利用可用帶寬,實驗表明,該解決方案能夠容納足夠多的監(jiān)測點,并提供更高的 數(shù)據(jù)傳輸速度。
[0019] 2012年,合肥工業(yè)大學張建軍結合現(xiàn)有的時鐘同步算法在各節(jié)點建立并更新同步 主節(jié)點優(yōu)先表,提出基于〃時鐘漂移率〃的同步算法。有效地解決了傳統(tǒng)同步算法在主節(jié)點 失效時占用過多網(wǎng)絡資源的問題;同時能自適應地根據(jù)CAN網(wǎng)絡當前狀態(tài)修改權重因子,保 證時鐘同步精度在l〇us以內。
[0020] 2012年橫濱國立大學1\]\&^8111]1〇1:〇等人提出了一套能夠檢測及預防未授權數(shù)據(jù)在 CAN總線上傳輸?shù)男路椒?。該方法只需在當前控制器單元上做簡單的調整就能被有效執(zhí)行。 并且能夠在多總線通過網(wǎng)關互連的情況下工作。
[0021] 2012年,解放軍68036部隊鄒靜提出了一種基于CAN通信網(wǎng)絡的應用層組播方案, 在只增加了極小開銷的情況下擴展了 CAN的基礎架構,從而能容納大規(guī)模的組用戶,實驗表 明,這種基于完全分布式CAN通信網(wǎng)絡的應用層組播部署方案簡單可行、具有明顯的優(yōu)勢。
[0022] 2012年,約克大學實時系統(tǒng)研究組Robert I .Davis針對CAN消息在總線間經(jīng)過網(wǎng) 關傳輸時產(chǎn)生延時抖動并逐級積累的情況,提出了一種位流調整的方法,該方法能夠顯著 增強CAN總線網(wǎng)絡的實時性能,消除抖動的積累。這種方法不需要獲得全局時鐘或精確的時 間標記,通過擴展還可用于解決網(wǎng)絡之間的時間漂移問題。
[0023] 2012年美國加州大學伯克利分校C.W.Lin提出了一個安全機制,通過改良CAN協(xié) 議,能夠有效地阻止針對基于CAN通信網(wǎng)絡架構的網(wǎng)絡的攻擊,并且成功的在保持高安全水 平的同時,將總線通信效率(如總線負載和消息等待時間等)維持在合理的水平。2013年, B.Groza完整設計了一種利用鑰匙串和時間同步的廣播認證協(xié)議,能有效地提高CAN通信網(wǎng) 絡的安全性。通過在飛思卡爾S12X和英飛凌的TriCore上進行硬件測試,證明該協(xié)議在有限 的計算資源下能夠正常運行。
[0024] 2013年,重慶郵電大學張居林等人為確保車載CAN網(wǎng)絡及其ECU節(jié)點在復雜工況下 的系統(tǒng)行為能夠滿足高容錯性的要求,提出了一種基于FPGA的CAN網(wǎng)絡鏈路層位級干擾測 試方法,實現(xiàn)干擾嵌入的寄存器級描述并能夠監(jiān)測總線位流,硬件測試表明,該設計能夠靈 活地向CAN通信總線嵌入干擾,能夠有效地檢測CAN通信網(wǎng)絡的可靠性及容錯性。
[0025] 2013年意大利的比薩圣安娜高等學校M.Di Natale.等人對幾種非常規(guī)消息隊列 最壞響應時間分析理論進行了實測評估,同時也對廣泛存在于實際系統(tǒng)應用中且偏離理想 狀況的情況進行了理論和實證研究,并得出了基于論詢設計的CAN FD控制器的最壞情況下 響應時間的上限值。
[0026] 2013年,浙江大學趙九洲在提出廣義零膨脹泊松模型基礎上,對CAN通信網(wǎng)絡中錯 誤幀事件進行離散化建模。通過分析參數(shù)并對優(yōu)化控制圖進行比對,實現(xiàn)了 CAN通信網(wǎng)絡通 信質量的實時在線監(jiān)測及早期預警功能,并結合故障原理和期望分布方法對節(jié)點脫離總線 時間進行了預測。
[0027] 2013年G.Cena等人提出了一種新的CAN總線編碼方案替代原有的位填充編碼,測 試評估表明該編碼方案簡單高效適合在嵌入式架構中實現(xiàn)。
[0028] 2013年,吉林大學郝勃等人分析了 CAN通信協(xié)議和0SEK/VDX規(guī)范,針對具有較多節(jié) 點數(shù)量及功能類型的CAN通信網(wǎng)絡,提出并實現(xiàn)了一種CAN節(jié)點的分組和合并的網(wǎng)絡管理策 略。實驗結果表明,該管理策略能夠快速構建CAN通信節(jié)點的邏輯結構,提高CAN通信網(wǎng)絡的 管理效率。
[0029] 2014年K.W. Schmidt提出了一種計算優(yōu)先順序的算法,解決了現(xiàn)有隊列中新加入 消息需要重新計算優(yōu)先級的問題。測試表明該算法簡潔有效,能夠對消息進行高效調度。
[0030] 2014年P.S.Murvay指出當前的CAN安全性研究大多集偏向于對協(xié)議層加密,而這 種方式增加了通信和計算的開銷,也不利于系統(tǒng)兼容。因此P.S.Murvay及其團隊提出了一 種通過采集幀的獨特的物理特性的方法來認證幀的合法性,主要是通過電壓采集、信號濾 波、均方差及卷積檢測對每一個潛在的發(fā)送節(jié)點進行識別,實驗表明,該方法對于某些節(jié)點 的識別是非常成功的,配合CAN收發(fā)器及CAN幀中的ID,能夠正確地找到發(fā)送節(jié)點。
[0031] 2014年康明斯女子工程學院S.Kelkar.等人針對CAN通信網(wǎng)絡數(shù)據(jù)傳輸量越來越 大的情況,提出了一種Boundary of Fifteen數(shù)據(jù)壓縮算法,該算法比Quotient Remainder Compression算法及Enhanced Data Reduction算法具有更高的壓縮比,和更少的計算量。 [0032] 2014年,合肥工業(yè)大學楊錦針對分布式車載網(wǎng)絡的同步機制,引入四種特殊的報 文幀,定量研究了同步幀傳輸網(wǎng)絡延時,引入最小"相對即時偏差和"的主時鐘協(xié)商選擇方 法,提出了基于主時鐘選擇的精確時鐘同步機制。通過搭建半實物半仿真平臺對基于CANoe 的車載CAN通信系統(tǒng)驗證該同步機制,實驗結果表明,該同步機制具有較高的可靠性和同步 精度,能夠有效降低網(wǎng)絡同步開銷。
[0033] 2014年合肥工業(yè)大學胡京津基于最早截止時間優(yōu)先的CAN網(wǎng)絡動態(tài)調度機制。提 出了基于冪函數(shù)分區(qū)的"混合優(yōu)先級"標識符動態(tài)段編碼方案,充分論證了 CAN網(wǎng)絡消息集 調度優(yōu)先級判定條件,并對量化誤差進行了分析;最終在FPGA上設計實現(xiàn),驗證了方案的可 行性。
[0034] 2015年Yu-jing Wu等人提出了一種CAN幀壓縮算法,能夠將CAN幀壓縮到原長度的 81.06%,并實際測試了在64-位EMS上壓縮算法的速度為一個幀0.16ms。
[0035] 2015年,遼寧工程技術大學張國勝等人通過分析車載CAN網(wǎng)絡數(shù)據(jù)變化特點,引入 數(shù)據(jù)壓縮技術,在此基礎上提出變化優(yōu)先(CF)調度算法,將CF算法應用于車載CAN網(wǎng)絡通信 系統(tǒng)設計進行實驗驗證,實驗結果表明,使用該算法后車身CAN總線負載顯著降低,網(wǎng)絡傳 輸實時性明顯提尚。
[0036] 2015年,湖南大學趙軍巖等人通過分析現(xiàn)有的簡化搜索及窮盡搜索算法,指出二 者在分析網(wǎng)關消息的非周期性干擾時沒有考慮部分高優(yōu)先級消息的影響,并證明網(wǎng)關消息 同時發(fā)送時產(chǎn)生的非周期性干擾最大,由此提出一種改進的基于網(wǎng)關互連的CAN網(wǎng)絡最壞 響應時間分析方法。Mat lab仿真結果表明,改進后的算法擁有可以接收的時間復雜度,并能 夠降低結果的悲觀性。

【發(fā)明內容】

[0037] 本發(fā)明的目的在于提供一種基于CAN ro總線通信協(xié)議規(guī)范與微波功率分布式控 制系統(tǒng)的實際需求的新型CAN FD控制器。
[0038] 本發(fā)明是這樣實現(xiàn)的,一種新型CAN ro控制器,該新型CAN ro控制器包括:
[0039] CAN ro總狀態(tài)機,用于調控新型CAN ro控制器整體功能及工作狀態(tài);
[0040] 發(fā)送管理器,與所述CAN FD總狀態(tài)機相連接,用于所有類型的幀及ACK信號的發(fā) 送;
[0041] 接收管理器,與所述CAN FD總狀態(tài)機相連接,用于監(jiān)視總線,并分析總線上接收到 的數(shù)據(jù);
[0042] 時鐘同步器,與所述CAN ro總狀態(tài)機及接收管理器相連接,用于根據(jù)用戶設定及 總線信號,控制位時鐘周期,并提供總線值采樣點及采樣值;
[0043] 錯誤管理模塊,與所述CAN ro總狀態(tài)機及接收管理器相連接,用于對節(jié)點錯誤進 行統(tǒng)計計數(shù),將計數(shù)值反應為節(jié)點錯誤狀態(tài)ES和總線狀態(tài)BS信息,并匯報給CAN狀態(tài)機及狀 態(tài)寄存器;
[0044] 寄存器組,與所述CAN ro總狀態(tài)機、發(fā)送管理器及接收管理器相連接,用于對控制 寄存器、狀態(tài)寄存器、中斷寄存器及命令寄存器進行集中管理;
[0045] 接口管理器,與所述寄存器組、發(fā)送管理器及接收管理器相連接,用于外部微控制 器與CAN ro控制器交換信息的接口,解析來自微控制器的指令,將收到的地址信息譯碼為 對應寄存器的選通信號,同時向微控制器反饋中斷信息及CAN FD控制器工作狀態(tài)。
[0046]進一步,所述發(fā)送管理器中嵌入發(fā)送緩沖器,所述發(fā)送緩沖器用于存儲待發(fā)數(shù)據(jù), 并為所述寄存器組中的狀態(tài)寄存器模塊提供發(fā)送緩沖器狀態(tài);
[0047]所述發(fā)送管理器負責具體執(zhí)行任何與發(fā)送有關的命令,并在所述CAN FD總狀態(tài)機 的統(tǒng)一協(xié)調下發(fā)送數(shù)據(jù),能從所述發(fā)送緩沖器中讀取仲裁場、控制場和數(shù)據(jù)場的內容,然后 將組裝成CAN FD幀,并向總線發(fā)送CAN Π )幀;在收到錯誤或是總線超載信號時,向總線發(fā)送 錯誤幀或超載幀;還用于向狀態(tài)寄存器提供發(fā)送完成狀態(tài)的信息;
[0048]所述接收管理器將依照CAN ro協(xié)議,執(zhí)行總線仲裁格式和各項檢測功能如填充錯 誤檢測、CRC檢測、錯誤幀檢測和過載幀檢測、濾波檢測,所述接收管理器中嵌入接收緩沖 器,所述接收緩沖器用于存儲接收數(shù)據(jù),并為所述寄存器組中的狀態(tài)寄存器反饋接收緩沖 器狀態(tài)及數(shù)據(jù)溢出狀態(tài),向所述寄存器組中的中斷寄存器提供接收中斷及數(shù)據(jù)溢出中斷; [00 49] 所述時鐘同步器用于CAN FD通信協(xié)議所約定的重同步、硬同步及Flexible Data 功能的具體實現(xiàn),所述時鐘同步器內含三個總線定時寄存器^1?0、8了1?1、8了1^),用于存儲用 戶設定的位時間控制參數(shù),從而產(chǎn)生相應的位時鐘周期;
[0050] 所述寄存器組中的控制寄存器存儲來自外部CPU的控制命令;命令寄存器用于外 部CPU給CAN FD控制器下達用戶可干預的操作命令;狀態(tài)寄存器用于實時展現(xiàn)控制器內部 狀態(tài);中斷寄存器用于展現(xiàn)各種中斷狀態(tài),方便用戶隨時提取;
[0051] 所述接口管理器作為外部微控制器與CAN FD控制器交換信息的接口,解析來自微 控制器的指令,將收到的地址信息譯碼為對應寄存器的選通信號,也向微控制器反饋中斷 信息及CAN FD控制器工作狀態(tài)。
[0052] 進一步,依據(jù)CAN FD控制器在不同狀態(tài)下的功能職責,該新型CAN Π )控制器包括 10個狀態(tài),分別為:
[0053] Bus_〇ff:總線脫離狀態(tài),考慮到CAN FD控制器在某些情況下應拒絕響應總線上的 任何信號,將這些情況都歸總為Bus_〇fT狀態(tài);
[0054] Star_up:待復位狀態(tài),由于CAN FD協(xié)議要求節(jié)點從脫離總線恢復必須接收啟動信 號,故設置此狀態(tài),CAN FD控制器此時只能等待總線上的啟動信號;
[0055] Busjdle:總線空閑狀態(tài),考慮到CAN FD控制器開始工作后,如果總線上沒有信 號,CAN FD控制器將會等待發(fā)送或接收一個幀,Bus_idle用于歸總這種情況;
[0056] Arbitjnode:仲裁狀態(tài),考慮到非破壞性仲裁時,CAN Π )控制器將同時進行發(fā)送與 接收,且仲裁的不同結果將導向CAN FD控制器的不同功能,因此單獨設為一個狀態(tài);
[0057] Trans_mode:發(fā)送狀態(tài),由于數(shù)據(jù)幀的發(fā)送將是CAN FD控制器的主要職能,也需要 其他模塊相應功能的配合,因此單獨設為一個狀態(tài);
[0058] Rec_mode:接收狀態(tài),同樣數(shù)據(jù)幀的接收也是CAN FD控制器的主要職能,也需要其 他模塊相應功能的配合,因此單獨設為一個狀態(tài);
[0059] err_mode :錯誤狀態(tài),考慮到CAN總線的較為復雜錯誤規(guī)則,為方便發(fā)送錯誤幀時 各模塊的相互配合而設置此狀態(tài);
[0060] over loadjnode:超載模式,為方便發(fā)送超載幀時各模塊的相互配合而設置;
[0061 ] Interjnode:間隙狀態(tài),由于CAN 1?協(xié)議中規(guī)定了間隙場的存在及其職能,且間隙 場中不同的顯性位出現(xiàn)時間將導向CAN FD控制器的不同功能,因此單獨設為一個狀態(tài); [0062] Suspend_mode:掛起狀態(tài),考慮到CAN FD協(xié)議中對節(jié)點掛起有詳細的規(guī)定,且該情 況下CAN FD控制器的行為較為特殊,因此單獨設為一個狀態(tài)。
[0063]進一步,所述接收管理器進一步包括:
[0064]接收狀態(tài)機模塊,由CAN FD總狀態(tài)機單方面決定其狀態(tài),狀態(tài)與整個CAN Π )控制 器狀態(tài) 對應;
[0065]過載幀檢測模塊,用于對過載幀進行檢錯;
[0066]錯誤幀檢測模塊,當所述接收管理器進入err_rec狀態(tài)時,錯誤幀檢測模塊片選 cs_ef_check被置高,開始檢測錯誤狀態(tài)下的錯誤;
[0067]格式檢測模塊,當所述接收管理器進入arbit_rec狀態(tài)時,cs_fs_check即被置高, 直到Rec_rec狀態(tài)結束,從仲裁位的第一位起開始格式檢查和填充位檢查;
[0068] 濾波檢測模塊,用于進行簡單的報文濾波,篩選出需要進行接收的幀進行接收和 存儲;
[0069] CRC檢測模塊,用于CRC檢驗及填充位過濾;
[0070] 接收緩沖器,用于存儲接收管理器收到的有效數(shù)據(jù)。
[0071] 進一步,所述發(fā)送管理器包括:
[0072] 發(fā)送狀態(tài)機;
[0073] 發(fā)送緩沖器,用于存儲即將發(fā)送到總線上的待發(fā)送數(shù)據(jù)。
[0074] 進一步,所述時鐘同步器通過讀取時鐘寄存器的內容,調控系統(tǒng)位時鐘周期,并通 過接收信號配合兩種同步功能,向其他模塊發(fā)布總線采樣值。
[0075] 進一步,所述錯誤管理模塊用于錯誤計數(shù),不關心錯誤細節(jié),監(jiān)測error_add[l: 0]、send_ack、TCS_reg_status三個信號,并采集其值做相應處理。
[0076] 進一步,所述控制寄存器用于為外部微處理器提供控制位,以此調控CAN FD控制 器的功能,控制寄存器地址分配及各位功能表所示,各位均為置1有效;
[0077] 所述狀態(tài)寄存器是展示CAN ro控制器工作狀態(tài)的主要窗口,狀態(tài)寄存器為只讀寄 存器,只能由內部相關模塊提供狀態(tài)信息;
[0078] 所述中斷寄存器為只讀寄存器,各中斷信息來自CAN ro控制器內部其他模塊,外 部微控制器可以通過控制中斷寄存器決定各中斷位的使能,可隨時依需要讀取中斷位,中 斷寄存器一旦已被讀取就會自動復位,當任一使能中斷位被置高時會產(chǎn)生中斷檢測信號, 提醒微控制器讀取中斷信號;
[0079] 外部微控制器通過所述命令寄存器向CAN ro控制器下達命令,置1表示有效命令。
[0080] 進一步,所述接口管理器用于解析來自微控制器的指令,將收到的地址信息譯碼 為對應寄存器的選通信號,在相應信號置低(Wr_l 〇W、rd_l〇W)時,與外部微控制器交換信 息。
[0081 ]本發(fā)明提供的新型CAN ro控制器,由CAN ro總狀態(tài)機、發(fā)送管理器、接收管理器、 時鐘同步器、錯誤管理模塊、寄存器組、接口管理器構成,CAN ro總狀態(tài)機調控CAN ro控制 器整體功能及工作狀態(tài),發(fā)送管理器用于所有類型的幀及ACK信號的發(fā)送,接收管理器用于 監(jiān)視總線,并分析總線上接收到的數(shù)據(jù),時鐘同步器根據(jù)用戶設定及總線信號,控制位時鐘 周期,并提供總線值采樣點及采樣值,錯誤管理模塊對節(jié)點錯誤進行統(tǒng)計計數(shù),將計數(shù)值反 應為節(jié)點錯誤狀態(tài)ES和總線狀態(tài)BS信息,并匯報給CAN狀態(tài)機及狀態(tài)寄存器,寄存器組對控 制寄存器、狀態(tài)寄存器、中斷寄存器及命令寄存器進行集中管理,接口管理器用于外部微控 制器與CAN ro控制器交換信息的接口,解析來自微控制器的指令,將收到的地址信息譯碼 為對應寄存器的選通信號,同時向微控制器反饋中斷信息及CAN ro控制器工作狀態(tài);該新 型CAN ro控制器基于CAN ro總線通信協(xié)議規(guī)范與微波功率分布式控制系統(tǒng)的實際需求,性 能優(yōu)越,具有重要的實際工程意義。
【附圖說明】
[0082] 圖1是本發(fā)明實施例提供的CAN ro控制器的信號流向圖。
[0083] 圖中:11、CAN ro總狀態(tài)機;12、發(fā)送管理器;13、接收管理器;14、時鐘同步器;15、 錯誤管理模塊;16、寄存器組;17、接口管理器。
【具體實施方式】
[0084] 為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合實施例,對本發(fā)明 進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于 限定本發(fā)明。
[0085] 下面結合附圖及具體實施例對本發(fā)明的應用原理作進一步描述。
[0086] CAN FD控制器的整體設計:CAN Π )控制器的設計思路,分析設計目標,并完成CAN FD控制器的模塊劃分及頂層引腳設置。
[0087] CAN FD控制器整體設計思路:CAN Π )控制器設計工作量較大,主要包括方案設計 及功能實現(xiàn)兩個部分。
[0088] -是方案設計:從制定設計目標開始,到模塊劃分,到制定狀態(tài),再一直細化到控 制器內部每一個信號的每個動作。由于模塊與模塊之間,信號與信號之間涉及到諸多聯(lián)動, 牽一發(fā)而動全身,因此設計流程是一個自頂向下逐步細化,并伴隨著不斷迭代和排錯的過 程,從而使最終設計方案要能夠涵蓋所有設計目標,模塊能夠分工明確,狀態(tài)制定有條理, 轉換條件清晰,信號動作能夠相互呼應,邏輯自洽。
[0089] 二是功能實現(xiàn):方案設計完成并梳理無誤之后開始功能實現(xiàn),使用VHDL語言,從最 底層的子模塊開始實現(xiàn)模塊邏輯,并進行仿真測試,采用自底向上的方式測試、迭代,最終 完成整個控制器的硬件語言編程并能夠實現(xiàn)設計目標。
[0090] CAN ro控制器模塊及引腳設計
[0091 ]設計目標:結合項目實際需求及CAN FD通信協(xié)議內容,設計目標分為兩個方面:一 是設計實現(xiàn)CAN總線通信協(xié)議的基礎,即CAN Π )與CAN 2.0重合的部分,包括遠程幀、錯誤 幀、過載幀、發(fā)送器/接收器的定義、報文校驗、基本編碼規(guī)則、錯誤處理、錯誤檢測、錯誤標 定、故障界定、位定時等內容,這是最終CAN Π )控制器能夠實現(xiàn)通信的基礎;二是通過結合 褐煤微波干燥生產(chǎn)線的三個實際需求:(1)提高單幀攜帶的數(shù)據(jù)量;(2)提高數(shù)據(jù)傳輸速度; (3)增強抗干擾性,降低錯誤漏檢率。設計實現(xiàn)CAN Π )較之CAN 2.0協(xié)議有升級改良的部分: 包括(1)新的DLC編碼,其實現(xiàn)可以配合更長的數(shù)據(jù)場,單幀傳遞更多的數(shù)據(jù);(2)通信過程 中Flexible Data-Rate功能,其實現(xiàn)使得整個數(shù)據(jù)場位的傳輸速度大幅提高;(3)新的CRC 算法及封裝順序,其實現(xiàn)將能夠極大的降低錯誤漏檢率,保證幀傳輸?shù)恼_率。
[0092] 根據(jù)對CAN FD協(xié)議的理解,將CAN Π )控制器分為:CAN Π )總狀態(tài)機11、接收管理器 13、發(fā)送管理器12、時鐘同步器14、錯誤管理模塊15、寄存器組16、接口管理器17,共計七個 模塊,七個模塊之間的簡易信號流向圖如圖1所示。
[0093] CAN ro總狀態(tài)機11:用于調控CAN FD控制器整體功能及工作狀態(tài),作為管理CAN ro控制器運行的核心部件,CAN ro總狀態(tài)機11需要采集來自各個模塊的信號,比如系統(tǒng)時 鐘、錯誤標志、軟件復位、發(fā)送和取消發(fā)送命令、仲裁狀態(tài)、總線狀態(tài)等等,CAN ro總狀態(tài)機 11綜合處理了以上信號之后,負責調控CAN ro控制器的狀態(tài)及狀態(tài)轉移,為其他模塊下達 動作命令,協(xié)調整個系統(tǒng)的工作。
[0094]發(fā)送管理器12,用于所有類型的幀及ACK信號的發(fā)送,將負責具體執(zhí)行任何與發(fā)送 有關的命令,并在CAN FD總狀態(tài)機11的統(tǒng)一協(xié)調下發(fā)送數(shù)據(jù),從發(fā)送緩沖器中讀取仲裁場、 控制場和數(shù)據(jù)場的內容,然后將其組裝成CAN FD幀,并向總線發(fā)送該幀;也會在收到錯誤或 是總線超載信號時,向總線發(fā)送錯誤幀或超載幀;還負責向狀態(tài)寄存器提供發(fā)送完成狀態(tài) 的信息。
[0095]發(fā)送管理器12中嵌入發(fā)送緩沖器,一方面存儲待發(fā)數(shù)據(jù),另一方面為狀態(tài)寄存器 模塊提供發(fā)送緩沖器狀態(tài)。
[0096]接收管理器13,用于監(jiān)視總線,并分析總線上接收到的數(shù)據(jù),將依照CAN Π )協(xié)議執(zhí) 行總線仲裁格式和各項檢測功能如填充錯誤檢測、CRC檢測、錯誤幀檢測和過載幀檢測、濾 波檢測等。接收管理器13中嵌入接收緩沖器,一方面用于存儲接收數(shù)據(jù),另一方面為狀態(tài)寄 存器反饋接收緩沖器狀態(tài)及數(shù)據(jù)溢出狀態(tài),向中斷寄存器提供接收中斷及數(shù)據(jù)溢出中斷。
[0097]時鐘同步器14,用于根據(jù)用戶設定及總線信號,控制位時鐘周期并提供總線值采 樣點及采樣值,將負責CAN FD通信協(xié)議所約定的重同步、硬同步及Flexible Data功能的具 體實現(xiàn)。內含三個總線定時寄存器BTR0、BTR1、BTRFD,用于存儲用戶設定的位時間控制參 數(shù),從而產(chǎn)生相應的位時鐘周期。
[0098]錯誤管理模塊15,用于對節(jié)點錯誤進行統(tǒng)計計數(shù),并將計數(shù)值反應為節(jié)點錯誤狀 態(tài)ES和總線狀態(tài)BS信息,并匯報給CAN狀態(tài)機及狀態(tài)寄存器。
[0099] 寄存器組16,用于集中管理四個關鍵寄存器:控制寄存器reg_c〇ntr〇l、狀態(tài)寄存 器status_reg、中斷寄存器Interrupt_reg及命令寄存器command_reg。
[0100] 其中,控制寄存器存儲來自外部CPU的控制命令;命令寄存器用于外部CPU給CAN ro控制器下達用戶可干預的操作命令;狀態(tài)寄存器用于實時展現(xiàn)控制器內部狀態(tài);中斷寄 存器用于展現(xiàn)各種中斷狀態(tài)方便用戶隨時提取。
[0101] 接口管理器17,作為外部微控制器與CAN ro控制器交換信息的接口,負責解析來 自微控制器的指令,將收到的地址信息譯碼為對應寄存器的選通信號,也負責向微控制器 反饋中斷信息及CAN控制器工作狀態(tài)。
[0102] 引腳設計:就外部微控制器對頂層引腳的操作而言,CAN ro控制器使用CAN 2.0或 是CAN FD協(xié)議沒有明顯區(qū)別,因此CAN Π )控制器的頂層信號引腳設計基本參考SJA1000的 設置,各引腳信號解釋見表1。
[0103] 表1 CAN ro控制器頂層引腳表
[0105] CAN ro總狀態(tài)機11負責協(xié)調整個CAN FD控制器內部的所有模塊聯(lián)動工作,現(xiàn)對其 內部狀態(tài)、狀態(tài)轉移條件、信號引腳的設計進行詳細說明。
[0106] 狀態(tài)設計:通過分析CAN FD控制器的主要工作狀態(tài),將CAN ro控制器設計為總共 包括以下10個狀態(tài),狀態(tài)的劃分主要依據(jù)是當前狀態(tài)下CAN FD控制器的功能職責。
[0107] Bus_〇ff:總線脫離狀態(tài),考慮到CAN FD控制器在某些情況下應拒絕響應總線上的 任何信號,將這些情況都歸總為Bus_〇fT狀態(tài)。
[0108] Star_up:待復位狀態(tài),由于CAN FD協(xié)議要求節(jié)點從脫離總線恢復必須接收啟動信 號,故設置此狀態(tài),CAN FD控制器此時只能等待總線上的啟動信號的喚醒或微控制器的軟 件啟動信號。
[0109] Busjdle:總線空閑狀態(tài),考慮到CAN FD制器開始工作后,如果總線上沒有信號, 控制器將會等待發(fā)送或接收一個幀,Bus_idle用于歸總這種情況。
[0110] Arbit_mode:仲裁狀態(tài),考慮到非破壞性仲裁時CAN ro控制器將同時進行發(fā)送與 接收,且仲裁的不同結果將導向CAN FD控制器的不同功能,因此單獨設為一個狀態(tài)。
[0111] Trans_mode:發(fā)送狀態(tài),由于數(shù)據(jù)幀的發(fā)送將是CAN FD控制器的主要職能,也需要 其他模塊相應功能的配合,因此單獨設為一個狀態(tài)。
[0112] Recjnode:接收狀態(tài),同樣數(shù)據(jù)幀的接收也是CAN FD控制器的主要職能,也需要其 他模塊相應功能的配合,因此單獨設為一個狀態(tài)。
[0113] err_mode :錯誤狀態(tài),考慮到CAN總線的較為復雜錯誤規(guī)則,為方便發(fā)送錯誤幀時 各模塊的相互配合而設置此狀態(tài)。
[0114] 〇Verl〇ad_m〇de :超載模式,為方便發(fā)送超載幀時各模塊的相互配合而設置此狀 ??τ 〇
[0115] Interjnode:間隙狀態(tài),由于CAN Π )協(xié)議中規(guī)定了間隙場的存在及其職能,且間隙 場中不同的顯性位出現(xiàn)時間將導向CAN FD控制器的不同功能,因此單獨設為一個狀態(tài)。
[0116] 相對于狀態(tài)劃分,狀態(tài)轉移條件的設計更為復雜,實際上是在各個模塊設計過程 逐步添加完善的,現(xiàn)僅將設計結果呈現(xiàn)于表2中。其中涉及到的部分CAN Π )控制器內部信號 將在介紹到各信號的來源模塊時進行介紹。


[0120] 信號設計:由于CAN ro總狀態(tài)機11需要綜合各模塊信息以決定當前CAN ro控制器 所處狀態(tài),因此CAN FD總狀態(tài)機11將匯聚來自其他各個模塊的信號,其信號設計見表3。
[0121] 表3 CAN Π )總狀態(tài)機模塊信號表
[0123] 設計通過trans_status[2:0]及rec_status[3:0]信號控制發(fā)送管理器12及接收 管理器13的狀態(tài)??紤]到CAN ro錯誤規(guī)則中,錯誤計數(shù)的計算需要考慮節(jié)點的前一狀態(tài),故 將錯誤狀態(tài)對應的接收管理器13狀態(tài)設置為兩個,其中6號狀態(tài)是前一狀態(tài)為接收節(jié)點的 錯誤狀態(tài),7號狀態(tài)是前一狀態(tài)為發(fā)送節(jié)點的錯誤狀態(tài)。
[0124] Start_buS信號來自接收管理器13,由于協(xié)議中規(guī)定了兩種不同的總線啟動情況, 故將Start_bus設計為可取3個值:為0無效,為1則表示收到一次總線啟動信號,為2則表示 收到128次總線啟動信號。
[0125] TR_ZER0,專門設計用于在取消發(fā)送命令AT被執(zhí)行后寄提醒存器將相關位置0,若 AT和TR均為高,且此時不在bus_idle或inter_mode狀態(tài)則此位置高以清零TR和AT。
[0126] 當處在arbit_mode和trans_mode時,CAN FD控制器都處于發(fā)送狀態(tài),因此TS_reg_ status將被置高,反之置低。
[0127] 當處在rec_mode時,由于CAN FD控制器處于接收狀態(tài),RS_reg_status將被置高, 反之置低。
[0128]仿真測試:整個CAN Π )總狀態(tài)機11的輸出僅由當前狀態(tài)決定,因此,采用moore型 狀態(tài)機進行設計,在設計時,將bus_off狀態(tài)設置為系統(tǒng)初始狀態(tài),而當Reset_restart有效 時,present_state將強制回到bus_of f狀態(tài)。
[0129] A:CAN Π )總狀態(tài)機11在初始狀態(tài)或硬件復位后都將處在bus_ofT狀態(tài)。
[0130] B:等到ReSet_reStart被置低之后,接收管理器13狀態(tài)將被設為1,意為等待30啟 動信號。
[0131] C:檢測到了一個總線啟動信號從而進入bus_idle狀態(tài),接收管理器13和發(fā)送管理 器12狀態(tài)也相應變化。
[0132] D:在busjdle狀態(tài)收到了來自微控制器的TR命令,并且檢測到了總線上出現(xiàn)顯性 電平,從而進入arbitjnode,接收管理器13和發(fā)送管理器12狀態(tài)也作相應調整。
[0133] E:在busjdle狀態(tài)收到了來自微控制器的TR命令,并且檢測到了總線上出現(xiàn)顯性 電平從而進入arb i t_mode,與此同時可以看到重同步命令信號Sync被打開。
[0134] F:未通過仲裁,從而轉入接收狀態(tài)。
[0135] G:隨后收到微控制器取消發(fā)送命令,可以看到AT和TR分別被置0。
[0136] 以上仿真結果表明,CAN Π )總狀態(tài)機11設計合理,能夠完成預設功能。
[0137] 接收管理器13設計:接收管理器13是整個CAN Π )控制器中功能最多,設計最復雜 的部分,該模塊將依照CAN ro協(xié)議執(zhí)行總線仲裁和各項檢測功能包括幀格式檢測、位填充 檢測、CRC檢測、錯誤幀檢測和過載幀檢測、濾波檢測等。
[0138] 由于功能復雜,接收管理器13的內部還要進一步劃分為七個模塊,分別為接收狀 態(tài)機模塊、過載幀檢測模塊、錯誤幀檢測模塊、格式檢測模塊、CRC檢測模塊、濾波檢測模塊、 接收緩沖器模塊。七個模塊都在接收狀態(tài)機模塊的統(tǒng)一調配下協(xié)同工作。
[0139] 接收管理器13模塊劃分及內部信號關系圖。
[0140] 接收狀態(tài)機是由CAN Π )總狀態(tài)機11單方面決定其狀態(tài)的,因此其狀態(tài)與整個CAN FD控制器狀態(tài)--對應,轉移條件同CAN FD總狀態(tài)機11。
[0141 ]表4接收狀態(tài)機狀態(tài)與總狀態(tài)機狀態(tài)對應表
[0143]接下來按照狀態(tài)對接收管理器13功能設計進行說明:
[0144] 0ff_rec:此狀態(tài)對應CAN Π )總狀態(tài)機11的bus_off狀態(tài),接收管理器13此時無需 設置任何動作。
[0145] Rr_rec:設置此狀態(tài)與CAN FD總狀態(tài)機11的start_up狀態(tài)相對應,考慮到此時 Resetjestart剛被外部微控制器置低,因此在Rr_rec狀態(tài)下,將接收管理器13功能設置為 只接收總線啟動信號(連續(xù)11位隱性位),并對總線啟動信號進行計數(shù),計數(shù)值大于等于1且 小于128時,start_bus將輸出1,計數(shù)值大于128時,start_bus將輸出2。
[0146] Idle_rec:當總線空閑時,接收管理器13也為空閑狀態(tài),功能設定為等待接收一個 幀,其工作流程如所示。
[0147] A:進入Idle_rec狀態(tài)后,首先將sy_control置1,通過該上升沿提醒時鐘同步器14 準備進行硬同步。
[0148] B:當檢測到總線上出現(xiàn)一個顯性位時,說明已經(jīng)收到了幀起始標志,此時由end_ bit信號產(chǎn)生一個脈沖,同時開始幀格式檢測,即cs_fs_check被置1,而sy_control將產(chǎn)生 下降沿復原。
[0149] Arbit_rec:仲裁檢查狀態(tài)對應CAN Π )總狀態(tài)機11的Arbit_mode,此時設置接收管 理器13密切監(jiān)視總線上的仲裁狀態(tài),通過對比Serial_data_in和serial_data_out上的信 號,判斷是否失去仲裁。流程如所示。
[0150] A:進入Arbit_rec狀態(tài)后cs_fs_check也被置高,從仲裁位的第一位起開始格式檢 查和位填充檢查。
[0151 ] B: serial_data_out的顯性電平被隱形覆蓋,則是檢測到位錯誤,故出錯標志err_ flag被置1,cs_fs_check也被關閉。
[0152] C: serial_data_out的隱形電平被顯性覆蓋,失去仲裁。故end_bit產(chǎn)生一個脈沖, arbit保持為0提醒CAN Π )總狀態(tài)機11停止一個幀的發(fā)送過程,轉而接收一個幀;若獲得仲 裁,貝lj end_b i t產(chǎn)生一個脈沖,arb i t產(chǎn)生一個脈沖。
[0153] TranS_reC:此時CAN Π )控制器處在發(fā)送狀態(tài),而接收管理器13則負責檢查總線上 的位錯誤及應答錯誤。接收管理器13通過對比Serial_data_in和serial_data_out進行位 檢測,若檢出錯誤則err_f lag發(fā)送脈沖。
[0154] A: serial_data_out的隱形電平被顯性覆蓋,貝lj檢出錯誤故err_f lag發(fā)送脈沖, err〇r_add[1:0]置3。
[0155] B:當get_ack置高時,serial_data_in為出現(xiàn)應答錯誤,若錯則err_flag置1,若此 時錯誤狀態(tài)位ES為高(當前節(jié)點為主動錯誤節(jié)點),則err〇r_add[ 1:0]置3,反之置0(根據(jù) CAN協(xié)議錯誤規(guī)則3.例外1)。流程如所示:
[0156] ReC_reC:接收管理器13在這時開始檢查數(shù)據(jù)、遠程幀錯誤,主要工作由相應子模 塊完成。此時cs_fs_ CheCk依然被置高,幀格式檢查和填充位檢查繼續(xù)進行。若檢出錯誤,幀 格式檢查模塊及CRC模塊會做相應處理,接收完成則end_bit產(chǎn)生一個脈沖。
[0157] Err_rec:對應于CAN FD總狀態(tài)機11的err_mode,接收管理器13此時應負責檢查錯 誤幀格式是否正確,主要的檢測工作都交給Err_Ch eak模塊,因此接收管理器13僅需將cs_ ef_CheCk置1,開啟錯誤幀檢測模塊,錯誤幀檢測流程如所示。
[0158] over_rec:對應于CAN FD總狀態(tài)機11的over_mode,接收管理器13此時應負責檢查 過載幀格式是否正確,主要的檢測工作都交給〇Ver_ Cheak模塊,因此接收管理器13僅需將 CS_〇V_CheCk置1,開啟過載幀檢測模塊,過載幀檢測流程如所示。
[0159] Inter_rec:對應于CAN FD總狀態(tài)機11的inter_mode,將接收管理器13的功能設置 為監(jiān)視三位間隙場。流程如所示。
[0160] A:當在間隙場前兩位檢測到顯性位,則說明檢測到了超載現(xiàn)象,則〇ver_fram產(chǎn)生 一個脈沖。
[0161] B:當在間隙場第三位檢測到顯性位,說明總線上已經(jīng)有節(jié)點開始發(fā)送一個幀,則 end_bit產(chǎn)生一個脈沖。
[0162] 接收狀態(tài)機中,erro;r_add信號的設計較為關鍵,它為錯誤計數(shù)器提供錯誤計數(shù), 其設計難點在于CAN FD的錯誤監(jiān)測機制包括5類錯誤且互不排斥,協(xié)議中對應的錯誤計數(shù) 規(guī)則有12條,外加多條例外規(guī)則,因此不同的接收狀態(tài)、不同的節(jié)點上一狀態(tài),以及不同的 錯誤類型相組合,導致err 〇r_add變化較多,最終將其值梳理為0-3共4種狀態(tài),足以反映所 有的計數(shù)器值變化情況:分別對應接收錯誤計數(shù)器加1和加8,發(fā)送錯誤計數(shù)器加8以及計數(shù) 器值不變。各種情況信號動作設計如下:
[0163] Err_rec狀態(tài)下,若err_ef置1,則err_flag置高,end_bit置1若節(jié)點前一狀態(tài)為接 收器則error_add置2 (接+8),若節(jié)點前一狀態(tài)為發(fā)送器,貝丨】error_add置3 (發(fā)+8)。
[0164] Err_rec狀態(tài)下,若err_ef置11,貝ljerr_flag置高,end_bit置1若節(jié)點前一狀態(tài)為 接收器則error_add置1 (接+1),若節(jié)點前一狀態(tài)為發(fā)送器,貝ljerror_add置3 (發(fā)+8)。
[0165] Err_rec狀態(tài)下,若檢測到第7位仍為顯性,若節(jié)點前一狀態(tài)為接收節(jié)點則error_ add置2,否則置0。(并非錯誤,不發(fā)送錯誤標志)over_rec狀態(tài)下,若err_ov置1,則err_f lag 置高,end_bit置1,若節(jié)點前一狀態(tài)為接收器則error_add置2(接+8),若節(jié)點前一狀態(tài)為發(fā) 送器,貝1J error_add置3 (發(fā)+8)。
[0166] Arbit_rec狀態(tài)下和Rec_rec狀態(tài)下,若檢測到err_f s置1,則error_add置3,若檢 測到err_fs置11,則error_add置0。
[0167] Over_cheak模塊:0ver_cheak模塊主要負責對過載幀進行檢錯。
[0168] 表5 Over_cheak模塊信號表
[0169]
[0170] -旦接收管理器13進入over_rec狀態(tài),該子模塊片選cs_ov_check被啟動,開始檢 測過載狀態(tài)下的錯誤。若檢測無誤則Send_err_del產(chǎn)生脈沖,通知發(fā)送管理器12發(fā)送過載 界定符。
[0171 ] err_ov信號動作設計如下:1.當在前6位檢測到隱性位,說明出現(xiàn)位錯誤,err_ov 置尚。
[0172] 2.從被片選開始計數(shù)連續(xù)顯性位彡14, err_ov置高。
[0173] 3.若在過載界定符中發(fā)現(xiàn)顯性位,則err_ov置高。
[0174] A: cs_ov_check被選中,從data_serial_in的第一個顯性位開始計數(shù),在計數(shù)不到 6的情況下檢測到隱性位。則通過err_ov脈沖報錯。
[0175] B:同樣的情況,計數(shù)超過14,通過err_〇v脈沖報錯。
[0176] C:若在計數(shù)不超過14的情況下檢測到data_serial_in上出現(xiàn)隱性位,則說明檢測 無誤,則send_err_del產(chǎn)生脈沖,隨后開始檢測過載界定符,隨后模塊被關閉;若計數(shù)超過 14,同樣報錯,模塊將被關閉。
[0177] 以上仿真結果表明,Over_cheak模塊設計合理,能夠完成預設功能。
[0178] Err_cheak:模塊一旦接收管理器13進入err_rec狀態(tài),該子模塊片選cs_ef_check 被置高,開始檢測錯誤狀態(tài)下的錯誤。
[0179]設計中需要注意的一個細節(jié)是,由于CAN Π )協(xié)議中規(guī)定ES置高后的第一個錯誤依 然算作主動錯誤,故需當ES出現(xiàn)上升沿的時候,內部使用變量es_sign進行標識,之后檢出 第一次錯誤后標志歸零。
[0180]
[0181]將CAN Π )協(xié)議的錯誤規(guī)則進行梳理簡化后,總結成樹狀圖,以方便分析。
[0182] err_ef·為Err_cheak模塊的關鍵信號,其信號動作設計如下:
[0183] 1 .ES為低時,當在前6位檢測到隱性位,說明出現(xiàn)位錯誤,err_ef置1。
[0184] 2. ES為低時,從被片選開始計數(shù)連續(xù)顯性位彡12,err_ef置1。
[0185] 3. ES為低時,從第7位開始等待一隱性位,檢測到隱形位后,開始發(fā)送其余7個隱性 位如果期間檢測到有顯性位,err_ef置11。
[0186] 4.ES為高時,對連續(xù)的極性位計數(shù),多6(被動錯誤標志發(fā)送完成)則開始等待一個 隱性位,檢測到隱形位后開始發(fā)送其余7個隱性位如果期間檢測到有顯性位,err_ef置11。 [0187] 5. ES為高時,對連續(xù)的極性位計數(shù),多6 (被動錯誤標志發(fā)送完成)從第7位開始對 連續(xù)的顯性位進行計數(shù),若彡8,err_ef置1。
[0188]以上制定的5點規(guī)則可以完全覆蓋.14的第1分支及第2分支2.2的所有情況。
[0189 ]由此可知此設計方案邏輯自洽,覆蓋完整,設計合理。
[0190] A:在片選開啟后檢測計數(shù)到大于6位的顯性位,隨后檢測到隱性位,則Send_err_ del產(chǎn)生脈沖通知發(fā)送管理器12發(fā)送錯誤界定符,Err_cheak模塊開始對隱性位計數(shù),計數(shù) 超過8且檢測到顯性位,則說明錯誤幀傳遞完畢。
[0191] B:在片選開啟后檢測計數(shù)到小于6位的顯性位,隨后檢測到隱性位,此時ES為低, 則err_ef置位'01',re_mode產(chǎn)生脈沖。
[0192] C:send_err_del產(chǎn)生脈沖后檢測到連續(xù)隱性位不足8個,此時ES為低,則err_ef置 位' 11 ',re_mode產(chǎn)生脈沖。
[0193] D:若send_err_del產(chǎn)生脈沖后,此時ES為高,檢測到連續(xù)隱性位超過8個,則err_ ef置位'01',re_mode產(chǎn)生脈沖。
[0194] E:若send_err_del產(chǎn)生脈沖后,此時ES為高,檢測到連續(xù)隱性位低于8個,則err_ ef置位'10',re_mode產(chǎn)生脈沖。
[0195]以上仿真結果表明,err_cheak模塊設計合理,能夠完成預設功能。
[0196] Form_stuff_check模塊:當接收管理器 13進入arbit_rec狀態(tài),cs_f s_check即被 置高,直到Rec_rec狀態(tài)結束。從仲裁位的第一位起開始格式檢查和填充位檢查。
[0197] 表7 Form_stuff_check模塊信號表
[0198]
[0199] 填充位的檢查動作設計為對當前值及上一時刻的值進行比較計數(shù)。相等則計數(shù)加 1,不等則計數(shù)歸零,但要注意協(xié)議中規(guī)定的錯誤規(guī)則例外2,不會增加錯誤計數(shù),但會報錯, 則將err_fs置11。若計數(shù)值達到6,則將err_fs置1。
[0200]格式檢查設計為查看固定位是否為固定值,具體規(guī)則參照第二章的幀格式介紹, 若檢查位與預設值異或結果為1,則err_fs置1,設計中對第2-33、38-553位中的非填充位, 每位都對應一個en_data_in脈沖以傳入CRC_check模塊進行CRC檢測。當檢測到ACK位時,將 send_ack置1〇
[0201 ]考慮到模塊的聯(lián)動配合需求,設計當cs_fs_check被置高,幀格式檢測模塊開始工 作時,cs_acr_check和cs_crc_check也會被自動置高,報文濾波模塊以及CRC檢測模塊也開 始工作,直到當檢測到SRR位時 cs_acr_check被置低,報文濾波結束。檢測到CRC界定符時, cs_crc_check置低,CRC檢測結束。
[0202]為保證數(shù)據(jù)存儲的完整性,設計一旦出現(xiàn)錯誤或者err_flag置高,則clear置高, 清除已經(jīng)寫入接收緩沖器的數(shù)據(jù),若err_aCr置高(濾波不通過)或arbit被置高(仲裁成功) 則都不再向接收緩沖器寫入數(shù)據(jù),且clear將同樣被置高、en_data_in將不再發(fā)送寫入脈 沖。
[0203]整個幀格式檢測流程如所示。
[0204] 該模塊設計方案覆蓋了第2分支2.1的所有情況。
[0205] A、B:當cs_fs_check被置高時,cs_acr_check和cs_crc_check立即被置高,當檢測 到data_serial_in上出現(xiàn)連續(xù)6位相同位時,都認為檢測到了位填充錯誤,err_f lag及 cl ear將被置高。
[0206] C:當在數(shù)據(jù)幀固定位檢測到的電平與預設值不同,比如這里第13位SRR應為隱性, 但卻檢測到顯性,模塊將判斷出現(xiàn)了幀格式錯誤,err_f lag及clear將被置高。
[0207] D:當檢測到最后一位ID而沒有檢測出錯誤,且arbit位為高,則說明拿到了仲裁, 處于發(fā)送狀態(tài),不再需要CRC檢測及濾波,也不需要寫入FIFO,cs_acr_check、cs_crc_check 及clear立即被置低。
[0208]以上仿真結果表明,F(xiàn)orm_stuff_check模塊設計合理,能夠完成預設功能。
[0209] Acr_check模塊:Acr_check模塊設計用于進行簡單的報文濾波,篩選出需要進行 接收的幀進行接收和存儲。Acr_check模塊信號設計如表8下:
[0210] 表8 Acr_check模塊信號表
[0212] 以上信號中,如前文所述,將cs_acr_check設計為由Form_stuff_check模塊控制。 濾波模塊開始工作后,若濾波不能通過則err_a Cr置高。
[0213] Acr_check模塊內嵌一個驗收碼寄存器ACR及一個驗收屏蔽碼寄存器AMR。設計接 收碼寄存器中一位的含義是:當此位與接收報文標識符的高8位中對應位相同時,則通過濾 波,反之該幀就被濾掉。而驗收屏蔽碼寄存器的設計則相當于驗收碼寄存器某位的使能開 關,當驗收屏蔽碼寄存器的某位置高時,則對應的驗收碼寄存器的該位就不能用作濾波。濾 波過程的邏輯表達式如下:
[0214] [ID.10-ID.3 一 AC.7-AC.0] U (ΑΜ·7-ΑΜ·0) = 11111111Β。
[0215] 接收濾波時,設計若該邏輯表達式成立,則此幀能夠通過濾波。
[0216] 驗收碼寄存器及驗收屏蔽碼寄存器設計如表9。
[0217]
[0218] 設計當cs_acr、cs_amr被置高,則對應寄存器為可寫狀態(tài)。
[0219] 仿真測試了濾波不通過的情況,提前將ACR寄存器置設置為'01001101',AMR設置 為'11011101'也就是只對第2位及第6位進行濾波檢測,可以看到,測試中的ID'00011010' 第二位(A)能通過濾波,第6位(B)則不能,同時err_ac;r產(chǎn)生脈沖。
[0220] CRC_check模塊:CRC檢測模塊設計主要負責兩個功能:CRC檢驗及填充位過濾。 [0221]由于CAN Π )協(xié)議采用了雙重位填充方式,即先對幀起始、仲裁場、控制場、數(shù)據(jù)場 進行位填充,計算以上場位經(jīng)過填充后的CRC校驗和,然后再對CRC校驗和進行位填充,因此 檢測CRC是否錯誤分為兩個方面,一是計算CRC的校驗和部分是否正確,二是在校驗和上的 位填充是否正確。
[0223] CRC校驗的設計思路是:從片選置高開始,內部設置一個22位寄存器crcjeg(初始 值為1,代表S0F)存儲data_serial_in的采樣數(shù)據(jù),存儲一個數(shù)據(jù)就左移一位,每當首位為 1,就與生成序列進行一次異或,然后左移(減計數(shù))直到首位為1,然后等待下一次首位為1 然后異或,直到片選置低不再讀取進位,寄存器中所剩值若不為0,則CRC校驗不能通過, err_crc產(chǎn)生一個脈沖。然后恢復初始值。
[0224] CRC_check模塊能檢測出位填充(A、B、C、D),并在同時使CLK_data暫停一個周期。
[0225] 接收緩沖器設計:接收緩沖器負責存儲接收管理器13收到的有效數(shù)據(jù),接收緩沖 器信號設計如表11所示。
[0226] 基于接收數(shù)據(jù)完整性的考慮,如果在存儲過程中檢測到clear脈沖,則終止接收并 清除當前這一幀。接收緩沖器設計實時向狀態(tài)寄存器報送D0S、RBS兩個狀態(tài)信號,若FIFO為 空,則將RBS置0,表示沒有待讀取的數(shù)據(jù)。命令寄存器中的兩個位RRB及C0S都能影響接收緩 沖器,若檢測到RRB置高,則清除最末尾的一幀;若檢測到C0S置高,則將DOS置低。
[0227] 表11接收緩沖器信號表
[0229] A:-旦濾波未通過,final_data_in和clk_data信號都會停止傳輸,同時就會收到 cl ear信號。
[0230] B:當收到COS命令時,數(shù)據(jù)溢出狀態(tài)位信號D0S_reg_statuS將被置低。
[0231] C:當收到RRB命令時,接收緩沖器中的數(shù)據(jù)將被逐幀刪除,直到?jīng)]有可讀幀接收緩 沖器狀態(tài)信號RBS_reg_status置0。
[0232]以上仿真結果表明,接收緩沖器模塊設計合理,能夠完成預設功能。
[0233]數(shù)據(jù)幀接收過程:數(shù)據(jù)幀接收過程在CAN Π )總狀態(tài)機11的控制下,以接收管理器 13為核心,涉及到諸多模塊的協(xié)調配合,接下來對設計的數(shù)據(jù)幀接收過程進行討論。數(shù)據(jù)幀 接收流程如所示。
[0234]首先,設定CAN FD控制器只能在總線空閑狀態(tài)時才能開始接收一個幀。此時CAN ro控制器若檢測到總線上出現(xiàn)顯性位,說明有幀開始發(fā)送。CAN Π)總狀態(tài)機11將進入rec_ mode狀態(tài),首先對幀ID標識符的高8位進行濾波、幀格式以及CRC校驗和檢測,若都通過則將 去除填充位并拆幀后的數(shù)據(jù)存入接收緩沖器,通過發(fā)送管理器12向總線發(fā)送顯性應答信號 ACK,并通過中斷寄存器的接收中斷位提醒外部微控制器前來提取數(shù)據(jù)。外部微控制器取走 數(shù)據(jù)后會寫入RRB命令清除已經(jīng)讀取過的報文。如果不能通過濾波或接收期間檢測到錯誤, 則會停止寫入接收緩沖器并清除已經(jīng)接收的數(shù)據(jù)。出錯時還將由發(fā)送管理器12發(fā)送錯誤 幀。
[0235] 發(fā)送管理器12的模塊設計:發(fā)送管理器12主要負責數(shù)據(jù)幀、遠程幀、錯誤幀、過載 幀以及ACK信號的發(fā)送,由發(fā)送狀態(tài)機及發(fā)送緩沖器兩個子模塊組成,模塊劃分及信號關系 圖如9所示。
[0236] 發(fā)送狀態(tài)機模塊設計:
[0237] 狀態(tài)設計:發(fā)送管理器12的狀態(tài)是由CAN Π )總狀態(tài)機11單方面決定的,如表12所 示其狀態(tài)與CAN FD控制器總狀態(tài)相對應。
[0238] 表12發(fā)送狀態(tài)機狀態(tài)與總狀態(tài)機狀態(tài)對應表
[0240]按照狀態(tài)對發(fā)送狀態(tài)機的功能設計進行介紹:
[0241 ] 0ff_trans:考慮到當CAN FD總狀態(tài)機11處于bus_off及start_up狀態(tài)時,發(fā)送管 理器12沒有任何動作,故設計兩個總狀態(tài)都對應0ff_trans。
[0242] Idle_trans:設計此狀態(tài)對應CAN Π )總狀態(tài)機11的bus_idle狀態(tài),發(fā)送管理器12 將在Idle_trans狀態(tài)下等待發(fā)送一個幀,此時當檢測到TR置高時,發(fā)送管理器12將發(fā)送S0F (幀起始位)。
[0243] Trans_trans:考慮到CAN FD總狀態(tài)機11進入Arbit_mode狀態(tài)時,數(shù)據(jù)已經(jīng)開始發(fā) 送,因此將Arbit_mode、trans_mode都合并為Trans_trans狀態(tài),剛進入該狀態(tài)時,TCS置0, 從第一個仲裁位開始發(fā)送一個幀,當發(fā)送到應答標志位時,考慮到模塊間聯(lián)動的需要,發(fā)送 管理器12將向接收管理器13發(fā)送get_ack命令,提醒接收管理器13注意監(jiān)測應答位。若發(fā)送 完成則將TCS置高。流程如所示。
[0244] Rec_trans:設計此狀態(tài)對應CAN Π )總狀態(tài)機11的rec_mode狀態(tài),發(fā)送管理器12在 Rec_trans狀態(tài)下只需要負責應答標志位發(fā)送。當檢測到Send_ack信號被置高,就發(fā)送一個 顯性位ACK。
[0245] Err_trans:設計此狀態(tài)對應CAN FD總狀態(tài)機11的rec_mode狀態(tài),發(fā)送管理器12需 根據(jù)狀態(tài)寄存器ES位(高被動低主動)發(fā)送相應錯誤幀,標志位發(fā)完之后不斷發(fā)送隱性位直 到send_err_del為高則開始計數(shù)發(fā)送剩余7個隱性位。若檢測到re_mode脈沖,則從頭開始 發(fā)送相應的錯誤幀。
[0246] Over_trans:設計此狀態(tài)對應CAN FD總狀態(tài)機11的over_mod狀態(tài),發(fā)送管理器12 在此狀態(tài)下功能設計為首先發(fā)送6位過載標志位,之后不斷發(fā)送隱性位直到send_err_del 為高則開始計數(shù)發(fā)送剩余7個隱性位。
[0247] 信號設計:發(fā)送狀態(tài)機信號如表13所示。
[0248] 表13發(fā)送狀態(tài)機信號表
[0250] A:當模塊處于Idle_trans狀態(tài)時,若收到TR命令,可以看到data_output上將產(chǎn)生 一個位時間的顯性位S0F,隨后開始發(fā)送幀的其它位。
[0251 ] B:當模塊進入Trans_trans狀態(tài)時,可以看到TCS_reg_status馬上被置低,幀的其 余位開始發(fā)送。
[0252] C:當模塊處于Trans_trans狀態(tài)時,可以看到一旦接收到send_ack狀態(tài),data_ output上馬上發(fā)出一個顯性位ACK應答。
[0253] D:在Err_trans狀態(tài),當節(jié)點錯誤狀態(tài)ES_reg_status置高時,將發(fā)送隱性的錯誤 標志位,收到send_err_del信號后,開始發(fā)送8位隱性的錯誤界定符。
[0254] E:在Over_trans狀態(tài)下,將首先發(fā)送6位顯性的過載標識符,當收到send_err_del 信號后,開始發(fā)送8位隱性的過載界定符。
[0255] 以上仿真結果表明,發(fā)送狀態(tài)機模塊設計合理,能夠完成預設功能。
[0256] 發(fā)送緩沖器設計:發(fā)送緩沖器負責存儲即將發(fā)送到總線上的待發(fā)送數(shù)據(jù)。
[0257] 信號設計:發(fā)送緩沖器信號設計如表14所示??紤]到位填充機制的存在,設計了 FIF0_rd_clk與data_out對應的數(shù)據(jù)讀取機制,每當FIF0_rd_clk產(chǎn)生一個高電平,data_ out上就對應一位數(shù)據(jù),并逐位后移,當檢測到TCS_reg_status置高時,表明發(fā)送完成,則清 空當前已發(fā)送的數(shù)據(jù),并將TBS_reg_status置高。若reset_restart置高,則寄存器清零,并 將 TBS_reg_status 置高。
[0258]若TR_ZER0被置高,說明取消發(fā)送命令AT已被響應,發(fā)送緩沖器將自動清空當前待 發(fā)送的數(shù)據(jù),并將TBS_reg_status置高。
[0259] 表14發(fā)送緩沖器信號表
[0260]
[0261] A:當FIF0_rd_clk不產(chǎn)生跳變(比如加入填充位時),data_out上的數(shù)據(jù)也會保持 上一時刻的數(shù)據(jù)。
[0262] B:當TCS_reg_Status信號為高時或檢測到軟件復位時,可以看到模塊會將TBS_ reg_status 置高。
[0263] C:當取消發(fā)送命令被執(zhí)行,TR_ZER0被置高后,TBS_reg_Status也會相應置高。
[0264] 以上仿真結果表明,發(fā)送緩沖器設計合理,能夠完成預設功能。
[0265] 數(shù)據(jù)幀發(fā)送過程:數(shù)據(jù)幀的發(fā)送是在CAN Π)總狀態(tài)機11的控制下,以發(fā)送管理器 12為核心,通過諸多模塊協(xié)調配合而完成的。接下來對設計的數(shù)據(jù)幀發(fā)送過程進行討論。數(shù) 據(jù)幀發(fā)送流程如所示。
[0266] 考慮到發(fā)送緩沖器的容量限制,設計當外部微控制器需要發(fā)送數(shù)據(jù)時,首先需要 檢測發(fā)送緩沖器狀態(tài)(狀態(tài)寄存器SR-TBS),若SR-TBS為' Γ,說明發(fā)送緩沖器為空,微控制 器可將數(shù)據(jù)寫入發(fā)送緩沖器中,同時寫入發(fā)送命令TRXAN Π)控制器在收到TR命令后再次 查詢SR-TBS位,確保其為' Γ。CAN Π)總狀態(tài)機11收到TR命令,將在總線空閑時向發(fā)送管理 器12下達發(fā)送命令。發(fā)送管理器12從發(fā)送緩沖器讀取原始數(shù)據(jù),向CRC場之前的位添加填充 位、計算CRC校驗和、完成CRC編碼的位填充最終組成完整數(shù)據(jù)幀,并在通過總線仲裁后將剩 余位發(fā)送到總線。整個發(fā)送過程中接收管理器13對接收端數(shù)據(jù)進行監(jiān)視,若接收到正確的 ACK信號,則發(fā)送完成,清除發(fā)送緩沖器中的內容。若檢測出現(xiàn)錯誤,則CAN FD控制器停止發(fā) 送當前數(shù)據(jù)幀,等待下次總線空閑時再將出錯或丟失仲裁的數(shù)據(jù)幀重發(fā)。若接收管理器13 沒有接收到應答信號,CAN FD控制器也會自動重發(fā)該幀。
[0267] 時鐘同步器14及錯誤管理模塊15是CAN Π)控制器重要的支撐模塊。
[0268] 時鐘同步器14通過讀取時鐘寄存器的內容,調控系統(tǒng)位時鐘周期。通過接收信號 配合兩種同步功能,向其他模塊發(fā)布總線采樣值。
[0269] 表15時鐘同步器信號表
[0270]
[0271 ]考慮到04~!70控制器在8七&1'1:_即、13118_丨(116、;[1^61'_1]1〇(16的第三位、8118。611(1_1]1〇(16 這些狀態(tài)下都具有接收一個幀的功能,在這些狀態(tài)下接收管理器13應將sy_control置1允 許硬同步,而時鐘同步器14應負責進行硬同步的具體動作。故一旦檢測到sy_control被置 高,時鐘同步器14即開始等待data_input上的第一個下降沿,以進行硬同步。
[0272 ]由于最小時間份額的個數(shù)是決定位時間周期的關鍵,改變一個位中最小時間份額 的個數(shù)即可立刻調整當前的位周期,因此時鐘同步器14的內部設計核心是一個最小時間份 額計數(shù)器,計數(shù)對象為最小時間份額個數(shù),計數(shù)容量由總線定時寄存器BTR0、BTR1、BTRH)設 定。
[0273]基于最小時間份額計數(shù)器設計的硬同步信號動作為:當sy_control為高時,一旦 檢測到下降沿,計數(shù)器立刻歸零,并產(chǎn)生第一個位時鐘周期的下降沿,這時候硬同步就成功 了,節(jié)點成功與總線上的信號進行了同步,接下來按照寄存器的設定值,產(chǎn)生相應的位時鐘 周期。
[0274] 重同步的具體執(zhí)行原理也是依賴時間份額計數(shù)器,按照協(xié)議,一個位時鐘周期中 只執(zhí)行一次重同步。其信號動作設計為:在Sync置高的時候,捕捉data_input的下降沿,并 根據(jù)計數(shù)器的計數(shù)值確定當前下降沿所在的位置??偣灿腥N可能的位置:SYNC_SEG、 PHASE_SEG1、PHASE_SEG2。
[0275] 當檢測到下降沿處于SYNC_SEG時,A處,則表示節(jié)點與總線信號完美同步,不需要 重同步。
[0276] 若下降沿位于PHASE_SEG1B處,表明下降沿滯后,此時計算下降沿距離PHASE_SEG2 起點的時間份額數(shù)量t_num。it_num〈SJW時,將PHASE_SEG1延長t_num個時間份額,當t_num > =S JW時,將PHASE_SEG1延長S JW個時間份額。對于延長的時間份額,采用另一個計數(shù)器t_ delay來計數(shù)延時。
[0277] 若下降沿位于PHASE_SEG2C處,表明下降沿提前,此時計算下降沿距離計數(shù)器滿值 的時間份額數(shù)量1:_11111]1。當t_num〈SJW時,就直接開始下一個計數(shù)周期,并計數(shù)值設置在 PHASE_SEG 1起點處,當t_num> = S JW時,將PHASE_SEG2縮短S JW個時間份額。對于縮短的時間 份額,直接在計數(shù)器加上值即可。
[0278] 總線定時寄存器:
[0279] 表16總線定時寄存器BTR0、BTR1、BTRH)位設計表
[0281 ]總線定時寄存器是根據(jù)CAN Π )協(xié)議的規(guī)定進行設計的,滿足了協(xié)議中對位時間設 定的要求。
[0282] 首先是最小時間份額的設定,最小時間份額是組成位時鐘周期的最小單位,SPT.5 ~SPT.0決定了CAN FD控制器的最小時間份額,最小時間份額計算公式如下:
[0283] SPT = global_clock*( 32*SPT · 5+16*SPT · 4+8*SPT · 3+4*SPT · 2+2*SPT · 1+SPT · 0+1)
[0284] 本發(fā)明通過最小時間份額的調節(jié)來實現(xiàn)CAN FD的Flexible Data rate。
[0285] 在數(shù)據(jù)幀已進入可變速率傳輸階段,時鐘同步器14需要以預設的更高位速率傳輸 數(shù)據(jù)。此時決定最小時間份額的寄存器位將發(fā)生變化,計算公式如下:
[0286] SPT=global_clock*(32*FPT·5+16*FPT·4+8*FPT·3+4*FPT·2+2*FPT·1+FPT·0+1)
[0287] -個位時鐘周期包括了四個部分
[0288] 同步段(SYNC_SEG):占一個最小時間份額,一個位的起始變化沿的理想情況就是 位于該段之內,重同步對位時間的調整也是以該段為基準坐標點。
[0289] 同步段(SYNC_SEG)為1個時間份額。
[0290]相位緩沖段1(PHASE_SEG1): -方面包括了原協(xié)議中提到的用于補償傳播延遲的 傳播時間段。另一方面,若重同步發(fā)生在相位緩沖段1中,那么可以通過延長相位緩沖段1來 調整采樣點位置。相位緩沖段1(PHASE_SEG1)的長度可設置為1-16個時間份額,計算公式如 下:
[0291] tPSEGl=SPT*(8*PSEG1.3+4*PSEGl.2+2*PSEGl.1+PSEG1.0+1)
[0292] 相位緩沖段2(PHASE_SEG2):若重同步發(fā)生在相位緩沖段2中,那么可以通過縮短 相位緩沖段2來調整采樣點位置。相位緩沖段2(PHASE_SEG2)的長度可設置為1-16個時間份 額,計算公式如下:
[0293] tPSEG2 = SPT*(8*PSEG2·3+4*PSEG2·2+2*PSEG2·1+PSEG2·1+1)
[0294] 同步跳轉寬度(SJW):用于規(guī)定一次重同步中,系統(tǒng)位時鐘周期的最大值。
[0295] 計算公式如下:tSJW=tSCL*(2*SJW.l+SJW.0+l)
[0296] 同步段、相位緩沖段1、相位緩沖段2以及同步跳轉寬度共同確定了位時間Tbit的 范圍:(l+PSEGl+PSEG2-tS jW,PSEGl+PSEG2+l+tS jW)。
[0297] 時鐘同步器14仿真測試:預設PHASE_SEG1為12個時間份額,PHASE_SEG2為7個時間 份額。
[0298] 從A所指向的波形可以看到,當sy_control置高的時候,能夠捕捉到data_input的 下降沿進行硬同步,從而立刻重新開始一個位時間。從B處可以看到硬同步后的下一位上升 沿對準了位時鐘周期的同步段。
[0299] 在Sync置高的時候,一旦捕捉data_input的下降沿,則計算t_num,C所指向下降沿 出現(xiàn)在PHASE_SEG 1段,t_num為1,可以數(shù)出,模塊自動將PHASE_SEG 1段延長了一個時間份 額,相應的該位時間也延長了一個時間份額。D處可以看到,下一位的上升沿對準了位時鐘 周期的同步段。
[0300] 錯誤管理模塊15主要負責錯誤計數(shù),不關心錯誤細節(jié)。其主要工作是監(jiān)測err〇r_ add[ 1:0]、send_ack、TCS_reg_status三個信號,并采集其值做相應處理。
[0301] 表17錯誤管理模塊信號表
[0303] 設計錯誤管理模塊15的主要作用是向其他模塊提供總線及節(jié)點狀態(tài),其中ES_ reg_status設計用于表征主動狀態(tài)或被動狀態(tài)。BS_reg_status設計用于表征總線在線或 總線脫離。start_bus為2時或re_start_low被置低時,計數(shù)將被清零,且ES和BS被置0。當 TCS_reg_status置1,則發(fā)送錯誤計數(shù)減1,若發(fā)送錯誤計數(shù)值已為0,則保持0。當send_ack 置1.則接收錯誤計數(shù)減1,若接收錯誤計數(shù)值已為〇,則保持0。當任一計數(shù)器>128時,ES_ reg_status置高,置高后的第一個錯誤幀依然是主動錯誤。當兩個計數(shù)器都〈128時,ES_ reg_status置0〇
[0304] 若發(fā)送或接收錯誤計數(shù)器>256,BS_reg_status置高。
[0305]錯誤管理模塊15仿真測試。
[0306] A、B:對error_add的不同值接收錯誤計數(shù)器有正確的計數(shù)。
[0307] C:當send_ack產(chǎn)生脈沖,說明正確接收一個幀,接收錯誤計數(shù)器計數(shù)值減1。
[0308] D:error_add為'11'時,發(fā)送錯誤計數(shù)器計數(shù)值加8。
[0309] E:當TCS_reg_statUS產(chǎn)生上升沿,說明發(fā)送完成一個幀,發(fā)送錯誤計數(shù)器計數(shù)值 減1〇
[0310] F:當任一發(fā)送計數(shù)器計數(shù)值大于128( 16進制80)時,ES_reg_status將被置高,表 示節(jié)點進入錯誤被動狀態(tài)。
[0311] G:當任一發(fā)送器計數(shù)值大于256(16進制100)時,BS_reg_status將被置高,此時總 線脫離,節(jié)點將不再工作。
[0312] 以上仿真結果表明,錯誤管理模塊15設計合理,能夠完成預設功能。
[0313] 寄存器組16及接口管理器17:
[0314] CAN FD協(xié)議雖然較CAN 2.0有很多改良之處,但多數(shù)功能都已固化在它模塊中實 現(xiàn),而需要通過寄存器進行設置的功能較少?;谑褂昧晳T的考慮市面上多數(shù)CAN Π )控制 器設置都與SJA1000相似,因此寄存器組16的設計是在考SJA1000寄存器的基礎上針對CAN FD協(xié)議的需要進行調整。
[0315] CAN Π )控制器寄存器組16中共有4個寄存器,分別為控制寄存器reg_c〇ntr〇l、狀 態(tài)寄存器status_reg、中斷寄存器Interrupt_reg、命令寄存器command_reg。
[0316]下面對各寄存器的設計作簡要介紹。
[0317] 控制寄存器reg_control負責為外部微處理器提供一些控制位,以此調控CAN FD 控制器的功能,控制寄存器地址分配及各位功能表所示,各位均為置'Γ有效。
[0318] 表18控制寄存器位功能表 [0319]
[0320] GW(g〇_W〇rk)設計用于在缺少總線啟動信號時,通過軟件啟動總線,也即將控制器 狀態(tài)調整為bus_idle狀態(tài)。
[0321 ] RR(Reset_restart)設計用于通過軟件讓控制器進入bus_off狀態(tài)(稱為復位),需 要注意的是,RR同時也可看作bus_off狀態(tài)的標志位,即使不被軟件置位,每當控制器處于 bus_〇fT狀態(tài)時,RR都被自動置高。
[0322]對于不同的復位方式,根據(jù)CAN Π )總線協(xié)議,其恢復工作狀態(tài)還需要額外信號: [0323] 1.總線狀態(tài)BS由低變?yōu)楦叨沟肦R被自動置高后,若RR又被軟件置低,CAN Π )控 制器需要等待128次總線重啟信號(11個連續(xù)的隱性位為1次總線重啟信號),才能將BS自動 置' 〇 ',同時錯誤狀態(tài)ES也自動置' 0 '。
[0324] 2.若RR置高由外部硬件或軟件復位導致,CAN Π )控制器需要等待1次總線重啟信 號,才能將BS自動置'0'。
[0325] 狀態(tài)寄存器status_reg是展示CAN Π )控制器工作狀態(tài)的主要窗口。狀態(tài)寄存器為 只讀寄存器,只能由內郃相關模塊提供狀態(tài)?目息。
[0326] 表19狀態(tài)寄存器位功能表
[0328]總線狀態(tài)BS:該狀態(tài)位設計由錯誤管理模塊15提供,置高表示總線脫離,置低表示 總線在線。除了寄存器模塊以外,CAN FD總狀態(tài)機11也需要此位信號作為狀態(tài)轉移的依據(jù)。 總線狀態(tài)由低變?yōu)楦?,將會有兩種情況,對應的啟動方式也不相同。
[0329]錯誤狀態(tài)ES:該狀態(tài)位設計由錯誤管理模塊15提供,它是錯誤管理模塊15內部錯 誤計數(shù)值的簡化反映,表征了總線被干擾的嚴重程度,接收管理器13及發(fā)送管理器12都需 要此位提供的當前節(jié)點錯誤狀態(tài)作為動作依據(jù)。若任意一個錯誤計數(shù)器(發(fā)送或接收)計數(shù) 值達到128,則錯誤管理模塊15將錯誤狀態(tài)ES置為高;而若接收錯誤計數(shù)器和發(fā)送錯誤計數(shù) 的計數(shù)值都低于128,ES被置為低。
[0330]發(fā)送狀態(tài)TS:該狀態(tài)位設計由CAN Π )總狀態(tài)機11提供,供外部微控制器查詢,置高 時表示CAN FD控制器正在發(fā)送一個幀(數(shù)據(jù)幀或遠程幀),置低時表示沒有發(fā)送。
[0331 ]接收狀態(tài)RS:該狀態(tài)位設計由CAN Π)總狀態(tài)機11提供,供外部微控制器查詢,置高 時表示CAN FD控制器正在接收一個幀(數(shù)據(jù)幀或遠程幀),置低時表示沒有接收。
[0332]發(fā)送完成狀態(tài)TCS:該狀態(tài)位設計由發(fā)送管理器12提供,當成功發(fā)送一幀數(shù)據(jù)時, 會將TCS置高,否則TCS就將保持低,錯誤管理模塊15依據(jù)該狀態(tài)信號進行減計數(shù),CAN ro總 狀態(tài)機11的狀態(tài)轉移也需要該狀態(tài)信號。若將命令寄存器的發(fā)送請求位TR置高,則TCS將被 置低。
[0333]發(fā)送緩沖器狀態(tài)TBS:該狀態(tài)位設計由發(fā)送緩沖器提供,表征發(fā)送緩沖器是否為 空。設計在兩種情況下發(fā)送緩沖器會將TBS置高(表示空):
[0334] 1.當CAN Π)控制器尚未開始發(fā)送報文時,發(fā)送請求命令TR被取消發(fā)送命令AT取消 時,借由TR_ZER0信號,發(fā)送緩沖器將被清空,TBS被置高。
[0335] 2.當CAN FD控制器成功發(fā)送一個幀后,TCS及TBS同時被置高。
[0336]數(shù)據(jù)溢出狀態(tài)DOS:該狀態(tài)位由接收管理器13提供,當接收緩沖器已裝滿,這時有 報文需要存入時,DOS將被置高,設計有兩種情況可將DOS置低:
[0337] 1.當外部微控制下達清除溢出狀態(tài)命令從而將DOS置低。
[0338] 2.當復位請求位Reset_Restart被置高時DOS將被置低。
[0339]接收緩沖器狀態(tài)RBS:該狀態(tài)位設計由接收管理器13提供,用于表征接收緩沖器中 是否有待讀取的有效幀,若有則將RBS置高,否則為置低。
[0340]中斷寄存器Interrupt_reg為只讀寄存器,各中斷信息來自CAN Π)控制器內部其 他模塊,外部微控制器可以通過控制寄存器決定各中斷位的使能,可隨時依需要讀取中斷 位,中斷寄存器一旦已被讀取就會自動復位,當任一使能中斷位被置高時會產(chǎn)生中斷檢測 信號,提醒微控制器讀取中斷信號。
[0341] 表20中斷寄存器位功能表
[0343]溢出中斷01:設計由接收管理器13提供,一旦接收緩沖器溢出就會置高。
[0344]錯誤中斷EI:設計由狀態(tài)寄存器提供,用于配合ES位和BS位展示總線被干擾的程 度。當錯誤狀態(tài)ES或總線狀態(tài)BS被置高時EI置高。外部硬件復位也會將錯誤中斷EI置低。 [0345]發(fā)送完成中斷TI:設計由發(fā)送管理器12提供,當TBS被置高時,發(fā)送完成中斷也被 置高,表示已經(jīng)清空發(fā)送緩沖器,可以存入新的待發(fā)送數(shù)據(jù)。
[0346]接收完成中斷RI:設計由接收管理器13提供,一旦接收完成就會置高。
[0347] 命令寄存器:外部微控制器通過命令寄存器向CAN FD控制器下達命令,置' Γ表示 有效命令。
[0348] 表21命令寄存器位功能表
[0349]
[0350] 清除溢出狀態(tài)COS:命令設計由接收管理器13處理,用于將接收緩沖器的數(shù)據(jù)溢出 狀態(tài)DOS位置低從而應答數(shù)據(jù)溢出中斷信號01。
[0351]釋放接收緩沖器RRB:命令設計由接收管理器13處理,每當外部微控制器成功讀取 接收緩沖器中的數(shù)據(jù)后,都可下達此命令,收到命令即釋放讀取指針之前的數(shù)據(jù)所占用的 存儲。
[0352] 取消發(fā)送命令AT:命令設計由發(fā)送管理器12處理,外部微控制器可以通過該命令 取消之前的發(fā)送請求,并同時清除發(fā)送緩沖器,除非發(fā)送已經(jīng)開始(發(fā)送狀態(tài)位TS為高)。
[0353] 發(fā)送請求命令TR:命令設計由發(fā)送管理器12處理,外部微控制器可以通過該命令 發(fā)送一個幀,命令將被傳遞到CAN ro總狀態(tài)機11。注意,TR只能被自動置'0',因此只能通過 取消發(fā)送命令AT,來取消發(fā)送命令TR。
[0354]接口管理器17主要設計用于負責解析來自微控制器的指令,將收到的地址信息譯 碼為對應寄存器的選通信號,在相應信號置低(Wr_l〇W、rd_l〇W)時,與外部微控制器交換信 息。
[0355] 接口管理器17信號引腳解釋見表22。
[0356]表22接口管理器信號引腳定義表
[0358] 仿真中對CAN FD控制器內部各個寄存器進行了片選通斷測試,結果表明,接口管 理器17模塊設計合理,能夠完成預設功能。
[0359] 本發(fā)明實施例提供的新型CAN FD控制器,由CAN FD總狀態(tài)機11、發(fā)送管理器12、接 收管理器13、時鐘同步器14、錯誤管理模塊15、寄存器組16、接口管理器17構成,CAN FD總狀 態(tài)機11調控CAN Π )控制器整體功能及工作狀態(tài),發(fā)送管理器12用于所有類型的幀及ACK信 號的發(fā)送,接收管理器13用于監(jiān)視總線,并分析總線上接收到的數(shù)據(jù),時鐘同步器14根據(jù)用 戶設定及總線信號,控制位時鐘周期,并提供總線值采樣點及采樣值,錯誤管理模塊15對節(jié) 點錯誤進行統(tǒng)計計數(shù),將計數(shù)值反應為節(jié)點錯誤狀態(tài)ES和總線狀態(tài)BS信息,并匯報給CAN狀 態(tài)機及狀態(tài)寄存器,寄存器組16對控制寄存器、狀態(tài)寄存器、中斷寄存器及命令寄存器進行 集中管理,接口管理器17用于外部微控制器與CAN Π )控制器交換信息的接口,解析來自微 控制器的指令,將收到的地址信息譯碼為對應寄存器的選通信號,同時向微控制器反饋中 斷信息及CAN FD控制器工作狀態(tài);該新型CAN Π )控制器基于CAN FD總線通信協(xié)議規(guī)范與微 波功率分布式控制系統(tǒng)的實際需求,性能優(yōu)越,具有重要的實際工程意義。
[0360] 以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
【主權項】
1. 一種新型CAN FD控制器,其特征在于,該新型CAN FD控制器包括: CAN FD總狀態(tài)機,用于調控新型CAN FD控制器整體功能及工作狀態(tài); 發(fā)送管理器,與所述CAN FD總狀態(tài)機相連接,用于所有類型的幀及ACK信號的發(fā)送; 接收管理器,與所述CAN Π )總狀態(tài)機相連接,用于監(jiān)視總線,并分析總線上接收到的數(shù) 據(jù); 時鐘同步器,與所述CAN Π )總狀態(tài)機及接收管理器相連接,用于根據(jù)用戶設定及總線 信號,控制位時鐘周期,并提供總線值采樣點及采樣值; 錯誤管理模塊,與所述CAN Π )總狀態(tài)機及接收管理器相連接,用于對節(jié)點錯誤進行統(tǒng) 計計數(shù),將計數(shù)值反應為節(jié)點錯誤狀態(tài)ES和總線狀態(tài)BS信息,并匯報給CAN狀態(tài)機及狀態(tài)寄 存器; 寄存器組,與所述CAN Π )總狀態(tài)機、發(fā)送管理器及接收管理器相連接,用于對控制寄存 器、狀態(tài)寄存器、中斷寄存器及命令寄存器進行集中管理; 接口管理器,與所述寄存器組、發(fā)送管理器及接收管理器相連接,用于外部微控制器與 CAN ro控制器交換信息的接口,解析來自微控制器的指令,將收到的地址信息譯碼為對應 寄存器的選通信號,同時向微控制器反饋中斷信息及CAN FD控制器工作狀態(tài)。2. 如權利要求1所述的新型CAN Π )控制器,其特征在于,所述發(fā)送管理器中嵌入發(fā)送緩 沖器,所述發(fā)送緩沖器用于存儲待發(fā)數(shù)據(jù),并為所述寄存器組中的狀態(tài)寄存器模塊提供發(fā) 送緩沖器狀態(tài); 所述發(fā)送管理器負責具體執(zhí)行任何與發(fā)送有關的命令,并在所述CAN Π )總狀態(tài)機的統(tǒng) 一協(xié)調下發(fā)送數(shù)據(jù),能從所述發(fā)送緩沖器中讀取仲裁場、控制場和數(shù)據(jù)場的內容,然后將組 裝成CAN ro幀,并向總線發(fā)送CAN FD幀;在收到錯誤或是總線超載信號時,向總線發(fā)送錯誤 幀或超載幀;還用于向狀態(tài)寄存器提供發(fā)送完成狀態(tài)的信息; 所述接收管理器將依照CAN ro協(xié)議,執(zhí)行總線仲裁格式和各項檢測功能如填充錯誤檢 測、CRC檢測、錯誤幀檢測和過載幀檢測、濾波檢測,所述接收管理器中嵌入接收緩沖器,所 述接收緩沖器用于存儲接收數(shù)據(jù),并為所述寄存器組中的狀態(tài)寄存器反饋接收緩沖器狀態(tài) 及數(shù)據(jù)溢出狀態(tài),向所述寄存器組中的中斷寄存器提供接收中斷及數(shù)據(jù)溢出中斷; 所述時鐘同步器用于CAN FD通信協(xié)議所約定的重同步、硬同步及Flexible Data功能 的具體實現(xiàn),所述時鐘同步器內含三個總線定時寄存器^1?0、8了1?1、8了1^0,用于存儲用戶設 定的位時間控制參數(shù),從而產(chǎn)生相應的位時鐘周期; 所述寄存器組中的控制寄存器存儲來自外部CPU的控制命令;命令寄存器用于外部CPU 給CAN ro控制器下達用戶可干預的操作命令;狀態(tài)寄存器用于實時展現(xiàn)控制器內部狀態(tài); 中斷寄存器用于展現(xiàn)各種中斷狀態(tài),方便用戶隨時提?。? 所述接口管理器作為外部微控制器與CAN ro控制器交換信息的接口,解析來自微控制 器的指令,將收到的地址信息譯碼為對應寄存器的選通信號,也向微控制器反饋中斷信息 及CAN FD控制器工作狀態(tài)。3. 如權利要求1所述的新型CAN FD控制器,其特征在于,所述新型CAN Π )控制器包括10 個狀態(tài),分別為: Bus_〇ff:總線脫離狀態(tài),考慮到CAN FD控制器在某些情況下應拒絕響應總線上的任何 信號,將這些情況都歸總為Bus_ofT狀態(tài); Star_up:待復位狀態(tài),由于CAN FD協(xié)議要求節(jié)點從脫離總線恢復必須接收啟動信號, 故設置此狀態(tài),CAN FD控制器此時只能等待總線上的啟動信號; Busjdle:總線空閑狀態(tài),考慮到CAN Π )控制器開始工作后,如果總線上沒有信號,CAN FD控制器將會等待發(fā)送或接收一個幀,Bus_idle用于歸總這種情況; Arbit_mode :仲裁狀態(tài),考慮到非破壞性仲裁時,CAN FD控制器將同時進行發(fā)送與接 收,且仲裁的不同結果將導向CAN FD控制器的不同功能,因此單獨設為一個狀態(tài); Transjnode:發(fā)送狀態(tài),由于數(shù)據(jù)幀的發(fā)送將是CAN Π )控制器的主要職能,也需要其他 模塊相應功能的配合,因此單獨設為一個狀態(tài); Recjnode:接收狀態(tài),同樣數(shù)據(jù)幀的接收也是CAN Π )控制器的主要職能,也需要其他模 塊相應功能的配合,因此單獨設為一個狀態(tài); err_mode :錯誤狀態(tài),考慮到CAN總線的較為復雜錯誤規(guī)則,為方便發(fā)送錯誤幀時各模 塊的相互配合而設置此狀態(tài); over 1 oad_mode:超載模式,為方便發(fā)送超載幀時各模塊的相互配合而設置; Interjnode:間隙狀態(tài),由于CAN Π )協(xié)議中規(guī)定了間隙場的存在及其職能,且間隙場中 不同的顯性位出現(xiàn)時間將導向CAN FD控制器的不同功能,因此單獨設為一個狀態(tài); Suspend_mode:掛起狀態(tài),考慮到CAN FD協(xié)議中對節(jié)點掛起有詳細的規(guī)定,且該情況下 CAN FD控制器的行為較為特殊,因此單獨設為一個狀態(tài)。4. 如權利要求1所述的新型CAN FD控制器,其特征在于,所述接收管理器進一步包括: 接收狀態(tài)機模塊,由CAN FD總狀態(tài)機單方面決定其狀態(tài),狀態(tài)與整個CAN Π )控制器狀 態(tài)--對應; 過載幀檢測模塊,用于對過載幀進行檢錯; 錯誤幀檢測模塊,當所述接收管理器進入err_rec狀態(tài)時,錯誤幀檢測模塊片選cs_ef_ check被置高,開始檢測錯誤狀態(tài)下的錯誤; 格式檢測模塊,當所述接收管理器進入arbit_rec狀態(tài)時,cs_fs_check即被置高,直到 Rec_reC狀態(tài)結束,從仲裁位的第一位起開始格式檢查和填充位檢查; 濾波檢測模塊,用于進行簡單的報文濾波,篩選出需要進行接收的幀進行接收和存儲; CRC檢測模塊,用于CRC檢驗及填充位過濾; 接收緩沖器,用于存儲接收管理器收到的有效數(shù)據(jù)。5. 如權利要求1所述的新型CAN FD控制器,其特征在于,所述發(fā)送管理器進一步包括: 發(fā)送狀態(tài)機; 發(fā)送緩沖器,用于存儲即將發(fā)送到總線上的待發(fā)送數(shù)據(jù)。6. 如權利要求1所述的新型CAN Π )控制器,其特征在于,所述時鐘同步器通過讀取時鐘 寄存器的內容,調控系統(tǒng)位時鐘周期,并通過接收信號配合兩種同步功能,向其他模塊發(fā)布 總線采樣值。7. 如權利要求1所述的新型CAN Π )控制器,其特征在于,所述錯誤管理模塊用于錯誤計 數(shù),不關心錯誤細節(jié),監(jiān)測error_add[ 1:0]、send_ack、TCS_reg_status三個信號,并采集其 值做相應處理。8. 如權利要求1所述的新型CAN Π )控制器,其特征在于,所述控制寄存器用于為外部微 處理器提供控制位,以此調控CAN Π )控制器的功能,控制寄存器地址分配及各位功能表所 示,各位均為置1有效; 所述狀態(tài)寄存器是展示CAN FD控制器工作狀態(tài)的主要窗口,狀態(tài)寄存器為只讀寄存 器,只能由內部相關模塊提供狀態(tài)信息; 所述中斷寄存器為只讀寄存器,各中斷信息來自CAN Π )控制器內部其他模塊,外部微 控制器可以通過控制中斷寄存器決定各中斷位的使能,可隨時依需要讀取中斷位,中斷寄 存器一旦已被讀取就會自動復位,當任一使能中斷位被置高時會產(chǎn)生中斷檢測信號,提醒 微控制器讀取中斷信號; 外部微控制器通過所述命令寄存器向CAN FD控制器下達命令,置1表示有效命令。9.如權利要求1所述的新型CAN Π )控制器,其特征在于,所述接口管理器用于解析來自 微控制器的指令,將收到的地址信息譯碼為對應寄存器的選通信號,在相應信號置低(Wr_ low、rd_low)時,與外部微控制器交換信息。
【文檔編號】G05B23/02GK106094801SQ201610546227
【公開日】2016年11月9日
【申請日】2016年7月12日
【發(fā)明人】周新志, 唐臻宇, 鐘睿
【申請人】四川大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1