官术网_书友最值得收藏!

第五節 數據通信基本知識

一、數據在總線導線上生成信號

總線信息通過數據導線上的電壓變化來傳輸。電平在低數值(低位)與高數值(高位)之間切換。這兩種狀態可以通過二進制字符0和1表示,稱為比特(二進制數)。電氣信號可以通過一個電阻和一個開關或晶體管在數據導線上產生。通過一個開關和一個燈泡(電平指示器)產生數據總線信號。

開關處于打開狀態時,電阻R1與燈泡串聯。如果已根據燈泡標稱電壓(例如2.5V)調整電阻上的電壓降,則燈泡亮起。此時數據導線上的電壓值約為2.5V。以二進制方式表示時,這種情況為狀態1,如圖1-34a所示。

如果使開關閉合,則電路從并聯電路變為開關電阻為0的“混合電路”。因為燈泡與開關并聯,且并聯電路電阻值始終小于最小的單個電阻,所以全部電壓都作用在電阻R1上。數據導線上電壓為0V且燈泡不亮起。按二進制表示方式這種情況為狀態0,如圖1-34b所示。

圖1-34 通過一個電阻和一個開關生成信號

a)開關打開 b)開關閉合

也可以通過一個晶體管和一個燈泡(電平指示器)產生數據總線信號。

晶體管未受控制時,電阻R1不與負極直接連接,電阻與燈泡一起構成一個串聯電路。相應數值匹配時,燈泡亮起且數據導線上產生二進制狀態1,如圖1-35a所示。

晶體管受控制時條件發生了變化,因為集電極-發射極導通形成了另一個電路。因此數據導線上的電壓值從2.5V降到約0V。燈泡不再亮起且數據導線上形成二進制狀態0,如圖1-35b所示。

圖1-35 通過一個電阻和一個晶體管在數據導線上生成信號

a)晶體管未導通 b)晶體管導通

對比結果表明,兩個電路對數據導線的作用相同。如果用示波器替代燈泡,則通過觀察示波圖可以發現二進制狀態0或1與數據導線電壓電平之間的直接關系。

晶體管未導通狀態:晶體管未受控制時電阻R1不與負極連接,因為R1和晶體管集電極-發射極段的電路未導通。如果現在通過示波器觀察數據導線上的電壓,則可看出電壓值為5V。按二進制表示方式這種情況相當于狀態1,如圖1-36所示。

晶體管導通狀態:晶體管受控制時條件發生了變化,因為集電極-發射極導通形成了電路。因此示波圖中的電壓值從5V降到約0.2V,以二進制表示時,數據導線處于狀態0,如圖1-37所示。

圖1-36 晶體管未導通狀態

圖1-37 晶體管導通狀態

二、數據在總線的傳輸

如果總線導線上的電壓電平以相同的時鐘節拍切換,則可以在相同時段內表示二進制代碼數據。這些代碼稱為比特。利用二進制字符0和1可以為十進制數編碼。表1-15為十進制0~9的編碼,圖1-38為十進制數9在總線上的表示。

表1-15 以二進制數方式為十進制數編碼

總線上的比特編碼可以通過非歸零法(NRZ)、曼徹斯特法和脈沖寬度調制法(PWM)實現。這些方法的區別在于表示一個比特所需要的時段(時間窗)數量不同。

采用N RZ法時用一個時段即可表示一個比特。在整個比特時間內所示比特的電平保持不變。CAN和LIN中使用這種方法。曼徹斯特比特由兩個時段構成,PWM比特由三個時段構成。曼徹斯特和PWM編碼的優點是,每個比特都包含一次用于總線設備同步的脈沖沿切換,如圖1-39所示。

圖1-38 二進制數9在數據總線上的表示方式圖

圖1-39 比特編碼方法示意圖

1.信號傳輸速度

數據導線上的電壓電平按傳輸二進制數值的規律切換。在此數據接收器必須知道,數據發送器讓每個比特在數據總線上停留多長時間(直至下一個數值傳到數據導線上為止的時間)。這個循環時間是系統的時鐘頻率。這個時間越短,信息傳輸越快,但是數據發送器和接收器的工作速度也必須越快。傳輸速度按ISO(國際標準化組織)標準系統分為兩組,如圖1-40所示。

圖1-40 低速和高速通信

低速通信范圍:比特率低于125kbit/s。高速通信范圍:比特率高于125kbit/s。

2.顯性比特和隱性比特

如果總線上布置了多個發送器,則同時發送時會造成信息重疊。有三個總線設備時,在總線電平方面可能出現以下情況:

如果三個發送器都未起用,則晶體管不受控制,因此沒有電流流過電阻,且數據導線上的電壓值為5V。作為二進制狀態或電平這種情況表示為1,如圖1-41所示。如果某個晶體管通電,則有電流流過串聯電阻。數據總線上電壓值變為0V或電平為0。這意味著,任何處于應用狀態的收發點都可以立即用低位覆蓋狀態1(高位)。因此在這個電路中低位狀態稱為顯性,高位狀態稱為隱性。這種關系對傳輸錯誤信息以及訪問總線收發點的同時識別沖突來說十分重要。如果多個控制單元同時發送信息,那么數據總線上就必然會發生數據沖突,為了避免發生這種情況,CAN總線采用了仲裁方法來處理這類沖突。總線傳輸信息見表1-16。

圖1-41 三個發送器耦合在一根總線

表1-16 總線傳輸信息

3.優先權的仲裁

要對數據進行實時處理,就必須將數據快速傳送,這就要求數據的物理傳輸通路有較高的速度。在幾個站同時需要發送數據時,要求快速地進行總線分配。實時處理通過網絡交換的緊急數據有較大的不同。一個快速變化的物理量,如汽車發動機負載,將比類似汽車發動機溫度這樣變化相對較慢的物理量,更頻繁地傳送數據并要求更短的延時。CAN總線以報文為單位進行數據傳送,報文的優先級結合在11位標識符中,具有最低二進制數的標識符有最高的優先級。這種優先級一旦在系統設計時被確立后就不能再被更改。

總線讀取中的沖突可通過位仲裁解決。例如,當3個站同時發送報文時,站1的報文標識符為011111,站2的報文標識符為0100110,站3的報文標識符為0100111。通過比較3個站的報文標識符,發現所有標識符前面2位相同都為01,直到第3位進行比較時,站1的報文被丟掉,因為它的第3位為高,而其他兩個站的報文第3位為低;站2和站3報文的4、5、6位相同,直到第7位時,站3的報文才被丟失。

注意,總線中的信號持續跟蹤最后獲得總線讀取權的站的報文。在此例中,站2的報文被跟蹤。這種非破壞性位仲裁方法的優點在于,在網絡最終確定哪一個站的報文被傳送以前,報文的起始部分已經在網絡上傳送了。所有未獲得總線讀取權的站都成為具有最高優先權報文的接收站,并且不會在總線再次空閑前發送報文。CAN具有較高的效率是因為總線僅僅被那些請求總線懸而未決的站利用,這些請求是根據報文在整個系統中的重要性按順序處理的。這種方法在網絡負載較重時有很多優點,因為總線讀取的優先級已被按順序放在每個報文中了,這可以保證在實時系統中較低的個體隱伏時間。對于主站的可靠性,由于CAN協議執行非集中化總線控制,所有主要通信,包括總線讀取(許可)控制,在系統中分幾次完成。

1)控制單元發送的每個信息都要分配優先權,不同的信息具有不同的優先權(優先權隱含在數據中的“標識符”),優先權高的信息優先發送。

2)所有的控制單元都是通過各自的RX線來跟蹤總線上的一舉一動,并獲知總線的狀態。

3)請求發送信息的控制單元,每個發射器將對TX線和RX線的狀態一位一位地進行比較,它們可以不一致。

4)CAN是這樣來進行調整的:如果某個控制單元向外發送“1”(TX-線為1),但在通過RX-線在總線接到“0”,則該控制單元中控制發送信息,退出對總線的控制,轉為接收信息。

故用標識符中位于前部的“0”的個數就可調整信息的重要程度,從而就可保證按重要程度的順序來發送信息。規則:標識符中的號碼越小,表示該信息越重要。這種方法稱為仲裁。

比如現在有三個控制單元,發動機控制單元、ABS控制單元、儀表,同時向外發送信息,其中發動機控制單元向外發送信息為“10101010”,ABS向外信息為“1010101 1”,儀表向外發送的信息為“10111111”。三個控制單元向外發送信息的第1位、第2位、第3位都是一樣的,都是“101”,此時不存在沖突,但三個控制單元向外發送第4位,此時儀表的第4位為“1”,其他的兩個控制單元的第4位為“0”,根據三個發送器耦合在一根總線的原理(見“圖1-41三個發送器耦合在一根總線”)知道,此時總線的狀態應為“0”,對儀表控制單元來說,它向外發送“1”(TX狀態1),但接收到是“0”(RX狀態0),根據仲裁原則,儀表控制單元停止發送信息,轉為接收狀態,該信息等待下一次發送周期,再次請求發送。

同理,發動機控制單元和ABS控制單元繼續向外發送信息的第5位、第6位、第7位(101),且這三位的信息是一樣的,不存在沖突。再發送第8位,發動機控制單元的第8位為“0”,而ABS控制單元的第8位為“1”,根據三個收發器耦合在一根總線的原理,此時總線的狀態應為“0”,對ABS控制單元來說,它向外發送“1”(TX狀態1),但接收到是“0”(RX狀態0),根據仲裁原則,ABS控制單元停止發送信息,轉為接收狀態,該信息等待下一次發送周期,再次請求發送。

結果,發動機控制單元接管數據總線控制權,繼續發送剩余的信息,最終數據總線的信息與發動機控制單元向外發送的信息是一樣的,如圖1-42所示。

圖1-42 3個電控單元信息發送過程

三、數據總線的終端電阻

在高頻網絡中總線導線端部必須有終止點,否則可能會出現反射。這種情況也適用于至總線設備連接部位的導線端部。對于高頻信號來說,總線導線端部的作用相當于獨立的發送器。因此導線端部會產生反向運行的信號,這些信號疊加在有效信號上并造成信號失真。例如,各控制單元掃描時不識別為1,而是識別為0,如圖1-43所示。

反射過程與撞到堤岸上反射,并與后續波浪疊加的水波類似。如果波浪沖到沙灘上,沙灘就會吸收波浪的能量且不會造成波浪疊加。因為電阻可以吸收信號運行到數據導線端部時的能量,所以只需連接一個電阻即可使數據導線終止,如圖1-44所示。

1)按CAN規范布置電阻:CAN規范中規定終端電阻連接在數據總線導線的端部。每個電阻值都為120Ω。

2)電阻在控制單元內的布置:與標準規定在數據總線兩端布置終端電阻(為120Ω)不同,在高速總線(CAN)上汽車制造商最常使用的是分布在控制單元上的負載電阻,如圖1-45所示。在低速總線(CAN)中終端電阻不連接在CAN_H與CAN_L之間,而是對地或對5V切換,如圖1-46所示。

例如,在Golf V中發動機控制單元內有一個中央終端電阻,其他高阻值電阻布置在其他控制單元內。其結果是雖然總線導線上的反射較強,但是由于總線長度較短而不會明顯影響數據交換。高速總線上附加安裝回線時可能出現令人費解的故障信息。因此車輛內的接地導線不保持連接狀態。

圖1-43 無終端電阻時的信號流程

圖1-44 有終端電阻時的信號流程

圖1-45 高速總線(CAN)上的終端電阻

圖1-46 低速總線(CAN)上的終端電阻

3)在低速總線中,一個電阻在CAN_L導線與收發器供電之間切換,另一個電阻在CAN_H導線與接地之間切換。將點火開關置于關閉位置時,無法從外部測量電阻值,因為兩個電子開關斷開了供電與接地之間的連接。

4)單線技術的終端電阻布置:終端電阻連接在數據總線導線與接地電位之間。

主站蜘蛛池模板: 焦作市| 鄂伦春自治旗| 永定县| 郁南县| 兴安盟| 铁力市| 卢龙县| 汽车| 徐水县| 北票市| 股票| 凉山| 芒康县| 中卫市| 乌恰县| 宣威市| 汝城县| 萨迦县| 巴马| 龙门县| 庄河市| 澄迈县| 鸡东县| 宝兴县| 永定县| 贡觉县| 安达市| 隆安县| 乐亭县| 潍坊市| 平安县| 河津市| 孝感市| 尚志市| 若尔盖县| 敖汉旗| 哈尔滨市| 湖南省| 莱西市| 封开县| 新丰县|