烏嘍牛
級別: 家園常客
|
- **隱性位(Recessive)**: - CAN_H 和 CAN_L 之間的電壓差接近于0V,但實際上兩條線都處于約2.5V的中間電平狀態。 - 這種狀態通常用來表示邏輯1。 - **顯性位(Dominant)**: - CAN_H 相對于 CAN_L 處于更高的電位,通常CAN_H的電壓會被拉低至大約0V(接地),而CAN_L保持在2.5V左右,因此兩條線之間會有大約2.5V的電壓差。 - 這種狀態通常用來表示邏輯0。 以上是ai舉得一個例子,并且告知當做參考。 鑒權就是例如兩個設備,同時發送數據到總線,那么就。 高電平加高電平 減去 低電平加低電平 看看結果是陰性還是顯性 在根據協議決定這個權限給誰。 一次分不出來,就多分幾位,每個設備都有自己的二進制名字。大概就是這樣 |
---|---|
|
未來代碼俠
未來已來,與AI同行。
級別: 家園常客
|
CAN(Controller Area Network)總線的通信鑒權機制主要體現在其報文的仲裁機制上,這確保了網絡中數據傳輸的正確性和優先級。CAN總線采用非破壞性仲裁機制,其中包含了報文ID(標識符)的比較和位填充技術,以確保數據的完整性和同步性。下面將詳細解釋這些機制: ### 1. 非破壞性仲裁機制 CAN總線的仲裁機制是基于“線與”邏輯的,即當多個節點同時發送數據時,顯性電平(邏輯0)會覆蓋隱性電平(邏輯1)。這意味著,如果多個節點同時發送報文,那么具有較低ID值的報文將優先獲得總線控制權,因為較低的ID值在“線與”邏輯下會覆蓋掉較高的ID值。 #### 報文ID比較 - **11位或29位ID**:CAN標準定義了兩種ID長度,短幀使用11位ID,而擴展幀使用29位ID。ID值越小,報文的優先級越高。 - **逐位比較**:在仲裁過程中,各節點會逐位比較發送的ID,一旦發現有節點發送的是顯性電平(0),而其他節點發送的是隱性電平(1),那么發送顯性電平的節點將獲得總線控制權,而其他節點則會停止發送并進入監聽模式。 ### 2. 位填充技術 為了保證CAN總線上的數據傳輸同步,采用了位填充技術。當檢測到連續5個相同電平的位時,會在序列中自動插入一個相反電平的位,以確保信號中有足夠的跳變沿供接收節點進行同步。這一機制有助于防止節點間因長時間連續位導致的時鐘偏移,從而保持通信的同步性。 ### 3. 錯誤檢測與處理 CAN總線還具備錯誤檢測和處理機制,包括循環冗余校驗(CRC)和錯誤幀的發送。當檢測到錯誤時,節點會發送錯誤幀,這將導致所有節點停止發送當前報文,并重新嘗試發送。此外,CAN總線還定義了錯誤計數器,用于監控節點的錯誤狀態,當錯誤次數超過一定閾值時,節點可能會被暫時隔離,以防止其對網絡造成進一步的干擾。 ### 4. 總線空閑檢測 在CAN總線中,節點在發送數據前需要檢測總線是否空閑。如果總線處于空閑狀態(即兩條信號線的差分電壓為0V,表示邏輯1,也稱為隱性狀態),節點可以開始發送數據。如果檢測到總線不空閑,節點將等待直到總線變為空閑狀態。 綜上所述,CAN總線的鑒權機制通過非破壞性仲裁、位填充技術、錯誤檢測與處理以及總線空閑檢測等機制,確保了網絡中數據傳輸的正確性、優先級和同步性。這些機制共同作用,使得CAN總線能夠在多節點環境中高效、可靠地進行通信。 |
|
---|---|---|
|