如何通過配置控製器優化CAN總線係統性能
發布時間:2025-01-16 來源:亞德諾半導體 責任編輯:lina
【導讀】控製器局域網絡(CAN)可在多個網絡站點之間提供強大的通信能力,支持多種數據速率和距離。CAN具有數據鏈路層仲裁、同步和錯誤處理等特性,廣泛用於工業、儀器儀表和汽車應用之中。在ISO 11898標準的框架下,借助分布式多主機差分信令和內置故障處理功能,DeviceNet、CANopen等多種協議針對物理層和數據鏈路層規定了相應的實現方式。本文旨在描述如何針對給定應用優化設置,同時考慮控製器架構、時鍾、收發器、邏輯接口隔離等硬件限製。文章將集中介紹網絡配置問題——包括數據速率和電纜長度——說明何時有必要對CAN節點進行重新配置,以及如何從一開始就實現對節點的優化配置。
控製器局域網絡(CAN)可在多個網絡站點之間提供強大的通信能力,支持多種數據速率和距離。CAN具有數據鏈路層仲裁、同步和錯誤處理等特性,廣泛用於工業、儀器儀表和汽車應用之中。在ISO 11898標準的框架下,借助分布式多主機差分信令和內置故障處理功能,DeviceNet、CANopen等多種協議針對物理層和數據鏈路層規定了相應的實現方式。本文旨在描述如何針對給定應用優化設置,同時考慮控製器架構、時鍾、收發器、邏輯接口隔離等硬件限製。文章將集中介紹網絡配置問題——包括數據速率和電纜長度——說明何時有必要對CAN節點進行重新配置,以及如何從一開始就實現對節點的優化配置。
01 邏輯接口隔離
對於惡劣的工業和汽車環境,可通過隔離CAN收發器的邏輯接口進一步增強係統的魯棒性,允許接地節點之間出現較大的電位差,同時提供抗高電壓瞬變能力。將CAN收發器與數字隔離器集成起來即可形成隔離式CAN節點。ADM3052, ADM3053, 和 ADM3054 隔離式CAN收發器提供多種接口供電選項。對於DeviceNet網絡,隔離側可通過總線供電;因此,ADM3052集成了一個線性調節器,以便利用24 V總線電源提供5 V電源。ADM3053(如圖1所示)集成了一個isoPower DC-DC轉換器,用於驅動收發器和數字隔離器的總線端。已有一個隔離式DC-DC轉換器能夠在隔離柵上提供電源的係統可以采用ADM3054,後者隻集成了數字隔離器和CAN收發器。
圖1. 隔離式CAN節點(ADM3053收發器由isoPower DC-DC供電)
02 傳播延遲的影響
部署一個CAN節點需要一個隔離式或非隔離式CAN收發器,以及一個搭載有相應協議堆棧的CAN控製器或處理器。可以使用獨立式CAN控製器,甚至可以使用不帶標準協議堆棧的控製器,但是,CAN應用中使用的微處理器可能已經包括CAN控製器。在任一情況下,都必須對CAN控製器進行配置,以調和總線上的數據速率和時序,而硬件振蕩器則用於控製器。
suizhedianlanchangdudezengjia,xinhaozhongdegaopinzufenshuaijian,yinci,changjulitiaojianxiadeshujusulvdouyouxian。zongxianshiyizhongduozhuji,yinci,suoyoujiediandoukeyichangshitongshichuanshu,zhongcaiqujueyuwulicengxinling。chuanboyanchiyehuisuidianlanchangduerzengjia,kenengduijiedianjiantongbuhezhongcaixingchengganrao。
CAN總線上的差分信號可能處於兩種狀態之一:主動(邏輯0,信號線路CANH和CANL之間存在一個差分電壓)或被動(邏輯1,無差分電壓,所有CAN收發器輸出均為高阻抗)。如(ru)果(guo)兩(liang)個(ge)節(jie)點(dian)嚐(chang)試(shi)同(tong)時(shi)傳(chuan)輸(shu),則(ze)主(zhu)動(dong)位(wei)傳(chuan)輸(shu)會(hui)覆(fu)蓋(gai)同(tong)時(shi)進(jin)行(xing)的(de)被(bei)動(dong)位(wei)傳(chuan)輸(shu),因(yin)此(ci),在(zai)傳(chuan)輸(shu)時(shi),所(suo)有(you)節(jie)點(dian)都(dou)必(bi)須(xu)監(jian)控(kong)總(zong)線(xian)狀(zhuang)態(tai),如(ru)果(guo)在(zai)傳(chuan)輸(shu)被(bei)動(dong)位(wei)時(shi)發(fa)生(sheng)覆(fu)蓋(gai),則(ze)要(yao)停(ting)止(zhi)傳(chuan)輸(shu)。如(ru)此(ci),傳(chuan)輸(shu)主(zhu)動(dong)位(wei)的(de)節(jie)點(dian)贏(ying)得(de)仲(zhong)裁(cai),如(ru)圖(tu)2所示。
圖2. 兩個CAN節點之間的仲裁邏輯
CAN 2.0b定義的是數據鏈路層的實現方式,對用於傳輸的CAN幀結構進行了規定。一個包含消息ID的仲裁字段啟動消息傳輸。較低的消息ID(開頭的零較多)將擁有更高的優等級,因此,在傳輸消息時,相應節點贏得仲裁的概率更大。
盡管CAN節(jie)點(dian)與(yu)總(zong)線(xian)傳(chuan)輸(shu)同(tong)步(bu),但(dan)是(shi),由(you)於(yu)兩(liang)個(ge)同(tong)時(shi)傳(chuan)輸(shu)的(de)節(jie)點(dian)之(zhi)間(jian)存(cun)在(zai)傳(chuan)播(bo)延(yan)遲(chi),所(suo)以(yi)不(bu)會(hui)完(wan)全(quan)同(tong)步(bu)。要(yao)讓(rang)仲(zhong)裁(cai)切(qie)實(shi)發(fa)揮(hui)作(zuo)用(yong),傳(chuan)播(bo)延(yan)遲(chi)不(bu)能(neng)過(guo)大(da),否(fou)則(ze),較(jiao)快(kuai)的(de)節(jie)點(dian)可(ke)能(neng)在(zai)檢(jian)測(ce)到(dao)較(jiao)慢(man)節(jie)點(dian)傳(chuan)輸(shu)的(de)位(wei)狀(zhuang)態(tai)之(zhi)前(qian)就(jiu)對(dui)總(zong)線(xian)進(jin)行(xing)采(cai)樣(yang)了(le)。最(zui)差(cha)條(tiao)件(jian)下(xia)的(de)傳(chuan)播(bo)延(yan)遲(chi)為(wei)兩(liang)個(ge)最(zui)遠(yuan)節(jie)點(dian)間(jian)延(yan)遲(chi)的(de)兩(liang)倍(bei)。在(zai)圖(tu)3中,如果節點A和B是總線上相隔最遠的節點,則至關重要的參數是雙向傳播時間PropBA與TPropBA之和。
圖3. 實際條件下兩個CAN節點間的仲裁(含傳播延遲)
總傳播延遲由通過電纜、兩個CAN控製器I/O和兩個CAN收發器的雙向傳播時間構成。CAN控製器I/O並不是傳播延遲的主要貢獻者,往往可以忽略不計,但進行徹底評估時必須予以考慮。循環時間由從TxD到CANH/CANL、再回到RxD的傳播延遲構成。電纜傳播延遲取決於電纜和距離,典型值為5 ns/m。
在較低數據速率下,允許的位時間較長,因此,傳播延遲(及電纜距離)也可能變長。在最高標準CAN數據速率(即1 Mbps)下,允許的傳播延遲更受限製,盡管ISO 11898-2標準規定,在總線長40米時,可支持1 Mbps的數據速率。
03 隔離的影響
隔離條件下,在計算雙向傳播延遲時,必須考慮額外的因素。相比光耦合器,數字隔離器可減少傳播延遲,但即使是最快的隔離式CAN收發器在這方麵也與較慢的非隔離式收發器相當。如果允許的總傳播延遲保持不變,隔離係統中,最大電纜長度較短,但可以重新配置CAN控製器,以提高允許的總傳播延遲。
04 傳播延遲的補償
為了補償因較長總線或隔離增加的傳播延遲,必須為CAN控kong製zhi器qi設she置zhi與yu時shi序xu和he同tong步bu相xiang關guan的de特te定ding參can數shu。在zai配pei置zhi控kong製zhi器qi時shi,不bu隻zhi是shi選xuan擇ze一yi個ge數shu據ju速su率lv,而er是shi要yao設she置zhi決jue定ding著zhe控kong製zhi器qi所suo用yong位wei時shi間jian的de變bian量liang。麵mian向xiang振zhen蕩dang器qi或huo內nei部bu時shi鍾zhong的de波bo特te率lv預yu分fen頻pin器qi(BRP)設置時間量子(TQ),位時間為TQ的倍數。振蕩器的硬件選擇,以及BRP和每位時間TQ數的軟件配置設定數據速率。
控製器的位時間分為三個或四個時間段,如圖3所示。每位時間的TQ總數包括一個同步以及傳播延遲(PROP)、相位段1 (PS1)和相位段2 (PS2)的設定數量。有時候,會把PROP和PS1加起來。配置調節采樣點,以支持傳播延遲和再同步。
把(ba)采(cai)樣(yang)點(dian)設(she)在(zai)位(wei)時(shi)間(jian)的(de)稍(shao)後(hou)部(bu)分(fen)可(ke)以(yi)支(zhi)持(chi)更(geng)長(chang)的(de)傳(chuan)播(bo)延(yan)遲(chi),但(dan)就(jiu)如(ru)總(zong)數(shu)據(ju)速(su)率(lv)一(yi)樣(yang),采(cai)樣(yang)點(dian)取(qu)決(jue)於(yu)其(qi)他(ta)時(shi)序(xu)變(bian)量(liang),這(zhe)些(xie)變(bian)量(liang)都(dou)有(you)自(zi)己(ji)的(de)限(xian)製(zhi)。例(li)如(ru),內(nei)部(bu)時(shi)鍾(zhong)/振蕩器可能固定不變,隻能使用整數BRP和TQ數。因此,特定電纜長度要求的理想數據速率可能根本無法實現,因此,必須縮短電纜,或者降低數據速率。
再同步會使PS1加長,PS2縮短,加長量和縮短量為同步跳寬(SJW)規定的TQ數,因此,PS2不得短於SJW。SJW所需TQ數取決於CAN控製器的時鍾容差,對於SJW和PS2,晶振一般支持最小TQ數。
05 CAN控製器的配置
為了實現節點間時序可靠、同步可靠的穩健網絡,係統必須能承受所選數據速率和CAN控製器時鍾條件下的傳播延遲。如果不能,可以選擇降低數據速率、縮短總線或者使用不同的CAN控製器時鍾速率。配置過程包括以下三個步驟。
第一步:檢查時鍾和預分頻器——匹配數據速率
先核實在給定目標數據速率和CAN控製器時鍾條件下,有哪些可能的配置。TQ間隔必須基於時鍾和各種BRP值計算,可能組合隻有那些TQ間隔為位時間的整數倍的組合。根據所處係統設計階段,也可能考慮其他CAN控製器時鍾速率。在表1所示計算示例中,給定的最大數據速率為1 Mbps,使用的是一個Microchip® MCP2515獨立CAN控製器和一個內置CAN控製器的ADSP-BF548 Blackfin處理器。MCP2515 fOSC 取決於所使用的外部硬件振蕩器,而ADSP-BF548 fSCLK 則取決於硬件CLKIN和內部PLL設置(VCO的CLKIN乘數,SCLK的VCO分頻)。隻有CAN控製器時鍾和BRP(整數個TQ)的某些組合支持1 Mbps的數據速率,如粗體所示。這會限製位時序的設置,因此一旦選擇某個總線數據速率,隻有部分選項可用。
表1. 給定f和BRP時1 Mbps速率下的TQ數
第二步:確定位段配置
下一步是確定每個位段要求的TQ數。最困難的情況是在1 Mbps的數據速率下支持最大傳播延遲,例如,電纜長40米,隔離式節點。理想情況下,應對位時間段進行配置,使采樣點在位中盡量晚。在表1中,對於每個整數的TQ總數,一個TQ必須提供給SYNC段,PS2(或TSEG2)段必須足夠大,以容納CAN控製器信息處理時間(隻要BRP大於4,MCP2515為2 TQ,ADSP-BF548為小於1 TQ)。另外,對於MCP2515,PROP和PS1最多可以各有8 TQ;對於ADSP-BF548,TSEG1 (PROP + PS1)最多可以為16 TQ。
圖4和圖5分別展示了MCP2515和ADSP-BF548的可能總TQ配置,對於1 Mbps速率條件下的有效時鍾和BRP組合,可支持最近采樣點。MCP2515的最佳TQ總數為19,要求38 MHz的硬件振蕩器和1的BRP。對於ADSP-BF548,TQ總數為5的情況除外,所有配置至少為85%采樣點,但最佳設置是10 TQ,要求fSCLK = 50 MHz且BRP = 5。
圖4. MCP2515的可能TQ總數配置(速率為1 Mbps,最大傳播延遲
圖5. ADSP-BF548的可能TQ總數配置(速率為1 Mbps,最大傳播延遲)
第三步:使收發器/隔離延遲和總線長度與配置相匹配
在幫助CAN控製器實現最佳采樣點以後,最後一步是比較允許的傳播延遲與使用的CAN收發器/隔離器和總線長度。設ADSP-BF548最佳配置為10 TQ(fSCLK= 50 MHz,BRP = 5),可能實現的最大傳播延遲為900 ns。對於集成隔離式電源的ADM3053隔離式CAN收發器,數據手冊中的最大環路延遲(TxD關閉,接收器處於非活動狀態)為250 ns。必須使其增加一倍(500 ns),以便同時支持總線最遠兩端的兩個節點處的發射延遲和接收延遲。
設電纜傳播延遲為5 ns/m,ADSP-BF548可以支持40米的總線長度(根據ISO 11898規範,此為1 Mbps條件下的最大值),ADSP-BF548的位時間總共為10 TQ,TSEG2位段僅1 TQ。實際上,略早的采樣點就夠了,因為一個節點上的極端收發器傳播延遲甚至很可能導致簡單的再傳輸(由數據鏈路層CAN控製器自動處理),但是,由於CAN控製器I/O與CAN收發器之間存在小延遲,因此建議把采樣點配置到盡量靠後的點。
06 結論
geliyouliyutigaolubangxing,dantongshiyehuizengjiafashehejieshoulianggefangxiangdechuanboyanchi。bixushigaiyanchizengjiayibei,yizhichilianggejiediancanyuzhongcai。ruguoxitongyunxudechuanboyanchishigudingde,zaizengjiagelicuoshizhihou,keyijianshaodianlanchangduhuoshujusulv。lingyizhongfangfashizhongxinpeizhiCAN控製器,使其支持最大傳播延遲,以保證支持所需的數據速率和總線長度,即使是在節點采取了隔離措施的條件下。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 矽典微ONELAB開發係列:為毫米波算法開發者打造的全棧工具鏈
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall





