朱 騰,周位強(qiáng),戚 瑩
(浙江中控技術(shù)股份有限公司,杭州310053)
CAN 現(xiàn)場總線是支持分布式控制及實時控制的串行通信網(wǎng)絡(luò),具有可靠性高、實時性好、價格低、容易實現(xiàn)等優(yōu)點,在工業(yè)控制方面被廣泛應(yīng)用。其通信的波特率可高達(dá)1 Mbps、最遠(yuǎn)傳輸距離可達(dá)10 km 以上[1]。在工業(yè)控制領(lǐng)域,為了滿足高集成、高密度的發(fā)展需求,CAN 總線被集成到PCB 內(nèi)部。本研究的目的在于優(yōu)化PCB 設(shè)計使其在性能、成本方面能夠優(yōu)于傳統(tǒng)絞線。
本文研究對象如圖1 所示,CAN 鏈路系統(tǒng)由7塊PCB(6 條長度為1.2 m,寬度0.1 m 和1 條長度為0.6 m,寬度0.1 m)和6 條DB 線(2 條2 m,3 條0.8 m,1 條2.4 m)構(gòu)成。PCB 采用迂回走線,總長度為15.6 m,DB 總長度為8.8 m。
CAN 總線采用多主通信模式、非破壞式總線仲裁機(jī)制。以標(biāo)準(zhǔn)數(shù)據(jù)幀為例,從結(jié)構(gòu)上看分成7 段,分別為起始段、仲裁段、控制段、數(shù)據(jù)段、CRC 校驗段、ACK 應(yīng)答段、幀結(jié)束段,如圖2 所示。
圖1 CAN 總線鏈路圖Fig.1 CAN bus link diagram
圖2 CAN 標(biāo)準(zhǔn)數(shù)據(jù)幀結(jié)構(gòu)Fig.2 CAN standard data frame structure
ACK 應(yīng)答段包括應(yīng)答間隙和應(yīng)答界定符兩部分。CAN 總線上的發(fā)送節(jié)點發(fā)送報文時,在ACK 應(yīng)答場段發(fā)送兩個“隱性”位。當(dāng)接收節(jié)點正確地接收到有效的報文,接收節(jié)點就會在應(yīng)答間隙期間向發(fā)送節(jié)點發(fā)送一“顯性”的位以示應(yīng)答。發(fā)送節(jié)點在應(yīng)答間隙期間接收到接收節(jié)點發(fā)送的“顯性”位時則認(rèn)為接收節(jié)點正確接收報文,否則判斷接收失敗進(jìn)入重發(fā)階段。
CAN 總線協(xié)議規(guī)定,數(shù)據(jù)位時間分為四段(如圖3 所示):同步段(Sync_Seg)、傳播時間段(Prop_Seg)、相位緩沖段1(Phase_Seg1)、相位緩沖段2(Phase_Seg2),每個段由特定數(shù)量的時間量子組成,時間量子由CAN 時鐘和波特率決定。CAN 控制器在數(shù)據(jù)位相位緩沖段1 進(jìn)行采樣,通過調(diào)整每段的時間可控制實際采樣時間點[2]。
根據(jù)圖3 可以清楚看到,CAN 總線中的一個位時間由TQ、TSEG1 和TSEG2 這三部分組成:
假設(shè)通過配置寄存器,使:
圖3 標(biāo)準(zhǔn)比特時間Fig.3 Nominal bit time
那么CAN 總線需要傳輸一個比特位所花的時間為BitTime,1 s 內(nèi)傳輸?shù)谋忍匚粩?shù),即波特率為
一個時間單位由TQ、TSEG1 和TSEG2 組成,同時在確定時間時,需滿足以下規(guī)則:
式中:IPT 為信息處理時間,相當(dāng)于位讀取操作所需要的時間,IPT 約為2TQ。
式中:SJW 為同步跳轉(zhuǎn)寬度。CAN 模塊在對每一個位采樣時,可以選擇使用對這個位采樣3 次,取多數(shù)值的方法,也可以選擇只采樣一次作為采樣值的方法。如果選擇3 次采樣模式,那么必須選擇Brpreg≥4。
總線拓?fù)淙鐖D4 所示。CPU 型號:AM3352ZCZD72;CPU 時鐘頻率:300 MHz;CAN 收發(fā)器:TJA1050 TXD->RXD)Min 40 ns Max 220 ns;Bus Line:總線傳輸延時5 ns/m。
以節(jié)點A 發(fā)送,節(jié)點B 接收為例,從CAN 報文發(fā)出開始,到接收到ACK 應(yīng)答,整個應(yīng)答回路延時為
圖4 CAN 總線拓?fù)鋱DFig.4 CAN bus topology
期間報文經(jīng)過4 次TJA1050 收發(fā)器,兩次傳輸線,因此提高傳輸距離必須對各個節(jié)點的延時時間進(jìn)行分析。
從硬件datasheet 可知系統(tǒng)時鐘SYCLK=300 MHz,CAN 波特率設(shè)定為BaudRate=1 MHz, 軟件設(shè)置如圖5 所示。
圖5 比特時間參數(shù)設(shè)置Fig.5 Bit time parameter setting
計算得Brpreg=29,CAN 收發(fā)芯片TJA1050 最小延時為40 ns,最大延時為220 ns;芯片AM3352ZCZD72延時最小值4 ns,最大值17.12 ns。由于數(shù)據(jù)手冊的最大、最小值差異太大,所以通過示波器測試卡件延時:
比特時間:
在本案例中,采用兩種方式提高CAN 總線的傳輸距離:①選擇介電常數(shù)較小的PCB,線纜傳輸速度越快,相同時間下傳輸?shù)木嚯x越遠(yuǎn);②通過軟件合理的配置TSEG1 和TSEG2, 提高采樣值SP 提高通訊距離。
PCB 的表層走線和內(nèi)層走線的介電常數(shù)不同會引起傳輸距離不同,本文從這兩個情況進(jìn)行分析。
電荷在不同介質(zhì)中傳輸速度的方程:
式中: μ0=1.257×10-6H/m;ε0=8.854×10-12F/m;εr是相對介電常數(shù);μr是相對磁導(dǎo)率。
TD 對應(yīng)的不同介電常數(shù)下的PCB 內(nèi)層導(dǎo)線傳輸延遲如圖6 所示。
圖6 PCB 內(nèi)層導(dǎo)線傳輸延遲Fig.6 PCB inner wire transimission delay
高頻板材相對介電常數(shù)一般在2~3 之間,高速板材相對介電常數(shù)一般在3~4 之間,普通板材相對介電常數(shù)一般在4~4.6 之間, 電纜線5.5 ns/m 等效介電常數(shù)為2.718。
PCB 內(nèi)層走線需要高頻板材才能達(dá)到與傳輸線相同的效果,但高頻板材價格比FR4 普通板材高近10 倍,并且板材較脆,不適合在工程中應(yīng)用。
微帶線的等效介電常數(shù)表達(dá)如下:
式中:εeff為等效介電常數(shù);w 為PCB 走線寬度。
差分阻抗120 Ω約束,PCB 走線寬度w=0.3 mm,介質(zhì)層厚度h=0.488 mm,表層PCB 走線結(jié)構(gòu)如圖7所示。
圖7 PCB 表層差分線結(jié)構(gòu)Fig.7 Surface difference line structure of PCB
PCB 表層走線的傳輸延遲曲線如圖8 所示。
圖8 PCB 表層導(dǎo)線傳輸延遲Fig.8 Surface wire transimission delay of PCB
電纜線5.5 ns/m 等效介電常數(shù)為3.2,要達(dá)到相同效果PCB 表層走線需采用高速板材。高速板材成本約為普通板材的1.5 倍,強(qiáng)度方面也有保障。在本例中采用臺耀的TU-872SLK 板材。
國際標(biāo)準(zhǔn)ISO/DIS-11898 提供了直流電壓參數(shù)、終端電阻與波特率近似值這三個指標(biāo)的參考值,如表1 所示[3]。
表1 與傳輸線長度相關(guān)的電纜直流參數(shù)推薦值Tab.1 Recommended values for cable DC parameters related to transmission line length
接收節(jié)點有一定的電平識別范圍,CTM1051M的CAN 接口典型參數(shù)如表2 所示。節(jié)點輸入顯性電平應(yīng)大于0.9 V。ISO11898 中,總線上的任意點的最小電平應(yīng)大于1.2 V,組網(wǎng)時我們應(yīng)使差分電壓大于此值[4]。
表2 ISO11898 高速CAN 電平定義Tab.2 ISO11898 the definition of high speed CAN level
CAN 總線等效電路,如圖9 所示。
圖9 CAN 總線等效電路Fig.9 CAN bus equivalent circuit
根據(jù)等效電路,我們可以調(diào)整的參數(shù)有終端電阻RT、發(fā)送節(jié)點電壓VOUT、總線有效電阻RW。組網(wǎng)等效電路如圖10 所示。
圖10 組網(wǎng)等效電路Fig.10 Network equivalent circuit
根據(jù)圖10 等效電路圖RI//0.5RT=60 Ω,歐姆定律分壓原理:
式中:CAN 差分線阻抗120 Ω;阻抗連續(xù)性RI//0.5RT=120 Ω 的1/2;RW 為傳輸線等效電阻RW≦20 Ω。
式中:Rpcb為PCB 導(dǎo)線電阻;ρ 為銅電導(dǎo)率0.0175;L為PCB 導(dǎo)線長度15.6 m;w 為線寬0.3 mm。
銅箔厚度對應(yīng)的阻值如圖11 所示。CAN 線傳輸在15.6 m 情況下,用1.5 OZ 的銅厚,對應(yīng)的阻值17.33,小于18.2 Ω,滿足設(shè)計要求,同時也是性價比最高。
圖11 銅箔厚度對應(yīng)的阻值Fig.11 Resistance corresponding to the thickness of copper foil
在本項目實際應(yīng)用中,信號在PCB 長距離傳輸后,由于邊沿太緩和幅值不夠,我們進(jìn)行了一次改板,理論數(shù)據(jù)分析如表3 所示。為方便描述定義改板前的PCB 為A,改板后的PCB 為B。
表3 A/B 板參數(shù)分析Tab.3 Comparison before and after board modification
通過測試A 板發(fā)送端和接收端的波形查看波形延遲時間。實測波形如圖12 所示, 延遲時間為190 ns。
圖12 A 板延遲遲時間Fig.12 Delay time before plate modification
通過測試B 板發(fā)送端和接收端的波形查看波形延遲時間。實測波形如圖13 所示, 延遲時間為160 ns。
圖13 B 板延遲時間Fig.13 Delay time after plate modification
通過圖12 和圖13, 說明板材的更換和內(nèi)層調(diào)整到表層兩個措施延遲時間可以縮小30 ns。進(jìn)一步對A 板和B 板接收端上升沿分別進(jìn)行波形測量,如圖14 和圖15 所示。
圖14 A 板前單端0~500 mV 時間90 nsFig.14 Single end 0~500 mv tie 90 ns before plate modification
圖15 B 板前單端0~500 mV 時間36 nsFig.15 Single end 0~500 mv time 36 ns before plate modification
實測數(shù)據(jù)上升沿從90 ns 縮小為36 ns,降沿時間明顯縮短,結(jié)合圖4 分析,傳輸時間最大值為225 ns。
改板前導(dǎo)線延遲時間190 ns、芯片需要在35 ns內(nèi)完成波形識別,圖14 可知波形上升沿時間為90 ns,35 ns 內(nèi)無法完成波形的傳輸,和實測發(fā)現(xiàn)最遠(yuǎn)端機(jī)架頻繁出現(xiàn)丟包的現(xiàn)象一致。改板后導(dǎo)線延遲時間160 ns 需要在65 ns 內(nèi)完成波形識別,圖15 可知波形上升沿時間為36 ns,有29 ns 的裕量,波形可以得到有效的傳輸。
CAN 總線傳輸線設(shè)計需要在信號的時序、阻抗兩個方面都進(jìn)行分析。CAN 的傳輸需要傳輸線RW≤20 Ω,并在滿足差分阻抗120 Ω 的前提下,使走線盡量寬,銅箔盡量厚,才能讓信號得到有效的傳輸。本文通過在設(shè)計階段利用軟件合理分配TSEG1 TSEG2 來調(diào)整SP, 選擇盡量小的延遲時間的芯片來提高傳輸距離。并通過調(diào)整PCB 用微帶線、選用介電常數(shù)小的板材來提高傳輸距離。在實際工程項目中可以用本文的方法進(jìn)行理論評估,計算和實測精度可達(dá)到95%,提高設(shè)計一次性的成率。