網絡控制技術第5章-CAN總線技術(第2部分)課件_第1頁
網絡控制技術第5章-CAN總線技術(第2部分)課件_第2頁
網絡控制技術第5章-CAN總線技術(第2部分)課件_第3頁
網絡控制技術第5章-CAN總線技術(第2部分)課件_第4頁
網絡控制技術第5章-CAN總線技術(第2部分)課件_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課程的主要內容SJA1000系統結構 SJA1000地址分配 寄存器功能和緩沖器工作原理 CAN節點設計 5.1 SJA1000系統結構 SJA1000是飛利浦公司半導體公司在1997年研制的一款獨立CAN通信控制器它完整實現CAN2.0A和CAN2.0B標準,用于取代早期產品PCA82C200。由于其在系統優化、診斷、錯誤處理和維護方面進行性能提升,它在汽車制造和其它的工業領域得到十分廣泛的應用。 5.1 SJA1000系統結構與PCA82C200 兼容性擴展的接收緩沖器同時支持11 位和29 位標識符位速率可達1Mbits/sPeliCAN 模式擴展功能增強的溫度適應可編程的CAN 輸出驅

2、動器配置對不同微處理器的接口5.2 SJA1000系統結構5.2 SJA1000系統結構CAN總線控制器SJA1000主要包含接口管理邏輯、發送、接收緩沖器、驗收濾波器、錯誤管理邏輯、位時序邏輯和位流處理器。接口管理邏輯負責連接外部主控制器,該控制器可以是微型控制器或任何其它器件,它通過復用的地址/數據總線訪問其內部寄存器和控制讀/寫選通信號。 發送緩沖器是主控制器和位流處理器之間的接口,能夠存儲發送到CAN 網絡上的完整信息,緩沖器長13 個字節。 5.2 SJA1000系統結構接收緩沖器用來儲存從CAN 總線上接收的信息,是驗收濾波器和主控制器之間的接口。接收緩沖器是接收隊列的接收窗口,共

3、13個字節。 位流處理器控制發送緩沖器、接收隊列和CAN總線之間的數據流,執行CAN 總線上的錯誤檢測、位仲裁、位填充和相應錯誤處理。 位時序邏輯檢測與總線有關的位時序。在啟動數據發送,總線由隱性位向顯性位跳變時,它會啟動硬同步,保持與總線位流的同步。在數據傳輸過程,如果總線再次出現由隱性位向顯性位跳變時,位時序邏輯仍然需要負責同步即重同步,也稱軟同步。5.2 SJA1000系統結構錯誤管理邏輯負責數據傳輸錯誤的界定。它可以接收來自位流處理器的錯誤通知,并可向位流處理器和接口管理邏輯提供錯誤統計信息,從而決定CAN節點當前的錯誤活動狀態 5.2 SJA1000系統結構5.3 SJA1000地址

4、分配它是一種存儲器映射的I/O設備。與之相接的微處理器可以像操作自己內部的隨機訪問存儲器RAM一樣來使用SJA1000的寄存器。地址的分配有兩種形式,一種是基本CAN模式,另一種是PeliCAN模式。不管哪種分配模式,它的地址區域均包含了控制段和報文緩沖區。 控制段可以在通信控制器初始化時配置通信參數。微處理器通過設置控制段或者讀取控制段來管理SJA1000的通信活動。 報文緩沖區由發送緩沖器和接收緩沖隊列RXFIFO組成。 5.3 SJA1000地址分配SJA1000的寄存器可以工作在復位和運行兩種模式。CAN節點上電或者處理總線關閉狀態的時候,SJA1000通信控制器自動進入復位模式。在完

5、成相關的通信參數配置后,可以使得控制器處于運行模式。 各種不同狀態下,寄存器的含義是不相同的。5.3 SJA1000地址分配5.3 SJA1000地址分配5.3 SJA1000地址分配5.3 SJA1000地址分配5.3寄存器功能和緩沖器工作原理模式(MOD)寄存器 命令寄存器(CMR) 狀態寄存器(SR) 中斷寄存器和中斷使能寄存器仲裁丟失捕捉寄存器和相關錯誤計數寄存器 發送緩沖器 接收緩沖器以及相關寄存器 驗收碼寄存器(ACR)和驗收屏蔽寄存器(AMR) 總線定時寄存器 時鐘分頻寄存器(CDR) 模式(MOD)寄存器SM位,它置1表示復位模式,置0則是運行模式 LOM為1,則節點只能偵聽總

6、線的狀態,即使收到正確的總線報文后,也不能發出確認幀,同時錯誤計數器也要停止工作。自身測試位STM此位置1,則節點可以進入自測試狀態。驗收濾波模式位(AFM),置1是單濾波,為0是雙濾波。睡眠模式位(SM),置1是睡眠狀態,為0是喚醒狀態。復位模式下,不能設置SM位。 命令寄存器CMR是只寫寄存器,如果讀它的話,則會讀到0值。相鄰的兩次設置CMR,應至少間隔一個內部時鐘周期,以便進行相應的處理。 TR位置1表明有數據需要發送,AT位置1表示等待發送的數據取消發送,RRB位置位說明接收緩沖隊列釋放空間,CDO位置位則清除數據溢出狀態,SRR位寫入1則進入自接收請求狀態,即發送自身數據信息時同時也

7、開始接收。 狀態寄存器(SR)b0位說明接收緩沖器狀態,置1表示有數據報文存于緩沖區中,值為0則沒有可用數據;b1位是數據溢出狀態,置1時說明接收緩沖溢滿;b2位是發送緩沖器狀態,置1時發送緩沖器可以寫入待發送的報文,否則微處理器不能訪問發送緩沖器;b3位是發送完畢狀態,置1是表明上次發送操作完成;b4、b5位分別代表接收和發送狀態,它們各自置1時,說明CAN控制器正在接收或發送;b6來表示錯誤狀態,置1時表示有錯誤計數器超過報警線;b7位用來說明總線狀態,置位時總線關閉。 中斷寄存器和中斷使能寄存器當接收到報文或者發送緩沖器狀態位有0到1的跳變時,中斷寄存器中RI或TI就會置位,提醒微處理器

8、進行相應的接收數據或數據發送處理。EI位是錯誤報警中斷,當CAN節點出現錯誤或總線狀態發生變化時,此位置1。DOI、WUI分別是數據溢出中斷和喚醒中斷。EPI、ALI和BEI分別在CAN節點進入被動錯誤狀態、丟失仲裁和總線出錯時置位。中斷使能寄存器可以通過對其一位或多位置1來選擇中斷功能,如果置0,則禁止相應的中斷服務。 仲裁丟失捕捉和錯誤計數寄存器仲裁丟失時會產生相應的中斷,且會根據仲裁丟失的位置送至ALU中相應的位。由于CAN擴展幀只有29位標示符,加上SRR、IDE和RTR位,共32位,故它只需用了低5位來描述仲裁的位置,位置范圍為031 。軟件讀取ALU時,新的仲裁丟失捕捉才會有效。

9、錯誤計數由4個寄存器來共同完成:錯誤編碼捕捉寄存器(ECC)、錯誤報警限制寄存器(EMLR)、接收錯誤計數寄存器(RXERR)和發送錯誤計數寄存器(TXERR)。 EMLR定義了報警的條件,硬件復位時它的值為96,此時也可以設置其它的數值,但是不能在運行模式時去修改該寄存器的數值。RXERR和TXERR反映了當前CAN控制器的接收和發送幀的錯誤統計狀況,它們同樣只能在復位模式修改它們的值,運行模式時它們是只讀的。 仲裁丟失捕捉和錯誤計數寄存器ECC記錄所有的錯誤類型和錯誤位置信息,它的位功能:ECC高2位可以表示位出錯、格式出錯、位填充出錯和其它錯誤4種錯誤類型;它的b5位置1時為接收出錯,為

10、0是發送出錯;低5位CAN幀出錯的位置信息。 發送緩沖器長13個字節,地址區是16到28。它由描述符區和數據區組成,發送數據幀時同樣也要分標準幀(SFF)和擴展幀(EFF)。描述符區的第一字節是幀信息,說明了數據幀的幀格式、遠程或數據幀和數據長度。幀信息的b7置1時是擴展幀,否則為標準幀;b6置1時是遠程幀,否則是數據幀;b4和b5不會影響CAN幀的判斷;b0至b3共4位,給出后面數據的長度。 接收緩沖器以及相關寄存器接收緩沖器以及相關寄存器 接收緩沖器是接收緩沖隊列的訪問窗口,位于CAN地址1628,結構與發送緩沖器類似,也是由描述符區和數據區組成 。接收緩沖隊列共有64個字節的空間,一次可

11、以存儲多少條報文取決于數據的長度。如果沒有足夠的空間來存儲新的信息,CAN 控制器會產生數據溢出條件,部分寫入 的信息將被刪除。 RXFIFO中接收報文數量可以從接收報文計數寄存器(RMC)讀取,每當接收一個報文時,RMC會自動增1,而釋放一次緩沖器則減1。 發送緩沖器起始地址寄存器(RBSA)則給出當前存儲接收緩沖器窗口中報文的內部RAM 地址。RBSA在運行模式中是只讀的,在復位模式中是可讀/寫的。 驗收碼和驗收屏蔽寄存器CAN總線的過濾機制是通過ACR和AMR共同完成的。只有通過ACR和AMR檢測的報文,才能夠存放到接收緩沖器中。其中ACR中定義了接收的位模式,AMR則規定了報文標識符是

12、否應和驗收碼匹配。ARM中某位為0,就說明此位必須要進行匹配過濾檢測。CAN總線支持兩種檢測方式:單濾波器模式和雙濾波器模式。 單濾波器模式單濾波器模式時,4個ACR和4個AMR構成32位的驗收碼和驗收屏蔽碼。如果接收是標準幀的話,那么標準幀的11位標識符、遠程請求位以及數據幀的前2個字節參與過濾,ACR1和AMR1的低4位不會參與過濾。如果是擴展幀,那么就是29位標識符和遠程請求位參與過濾,ACR3和AMR3的低2位保留。 單濾波器模式報文到達CAN節點時,會比較報文的位是否與ACR中的位相等(AMR中相應位置0),如果相應的位全部符合要求,則此報文可以接收到存儲區中。 雙濾波器模式濾波器模

13、式時,由兩個16位的驗收碼和驗收屏蔽碼完成過濾,即ACR0、ACR1和AMR0、AMR1形成第一個16位的過濾器1,剩下的構成第2個過濾器2。一條接收的報文要和兩個濾波器比較來決定是否放入接收緩沖器中,其中一個濾波器發出接收信號,即可接收報文。接收的是標準幀時,兩個過濾器的高12位主要定義11標識符和遠程請求位的過濾方法,過濾器1低4位定義第一個數據字節的高4位的過濾規則,低4位過濾由過濾器2的低4位完成。如果接收的是擴展幀時,則兩個過濾器都是對標識符的高16位進行過濾。 總線定時寄存器-位定時 同步段用于同步總線上的各個節點,在此段內期望有一個跳變沿出現。如果跳變沿出現在同步段之外,那么它與

14、同步段之間的長度叫做跳變沿相位誤差。 傳播段用于補償總線上信號傳播時間和電子控制設備內部的延遲時間。因此,要實現與位流發送節點的同步,接收節點必須移相。CAN總線非破壞性仲裁規定,發送位流的總線節點必須能夠收到同步于位流的CAN總線節點發送的顯性位。它是總線上輸入比較器延時和輸出驅動器延時總和的兩倍。 總線定時寄存器-位定時相位緩沖段1和相位緩沖段2用于補償跳變沿相位誤差,通過重新同步它們可能被延長或縮短。當總線發生從隱性位到顯性位跳變時,會產生同步,其作用是控制跳變沿與采樣點之間的距離。 采樣點位于相位緩沖段1之后,是讀總線電平并解釋各位值的一個時間點,其后就是信息處理時間。每段由若干個的時

15、間份額組成,所謂時間份額是指于基于振蕩器周期的固定時間單元,可由振蕩器分頻而得到,其表達式如下 時間份額= m最小時間份額 總線定時寄存器-同步 CAN 協議的通信編碼為不歸零NRZ方式。各個位的開頭或者結尾都沒有附加同步信號。由于總線出現連續相同位的最大數量是確定的,因此可以利用總線從一位值轉換到另一位值的過渡過程將節點同步于位流。可用于重同步的兩次跳變之間的最大長度為29個位時間。 但是,發送單元和接收單元存在的時鐘頻率誤差及傳輸路徑上的(電纜、驅動器等)相位延遲會引起同步偏差。因此接收單元通過硬件同步或者再同步的方法調整時序進行接收。在幀的起始位時,總線會進行一次硬同步。硬同步后,位時間

16、由每個位定時邏輯單元在同步段之后重新啟動,強迫引起硬同步的跳變沿處于重新啟動位時間的同步段內 總線定時寄存器-同步當引起重同步的跳變沿相位錯誤幅值小于或等于同步跳轉寬度的數值時,重同步導致位時間的延長或縮短,使采樣點處于適當的位置。當跳變沿相位誤差幅值大于重同步跳轉寬度時,如果相位誤差為正,相位緩沖段1延長數值等于同步跳轉寬度;如果相位誤差為負,相位緩沖段2縮短數值等于同步跳轉寬度。 除了噪聲以外,絕大多數的同步都是由仲裁引起的,總線上的所有節點都要同步于最先開始發送的節點 。如果最先發送的節點沒有贏得總線仲裁,那么所有的接收節點都要重新同步于獲得總線仲裁的節點。確認場的情況也是如此,總線上的

17、接收節點都要同步于最先發送顯性位的節點。但是當發送節點與接收節點的時鐘周期不同并經過多次同步累加起來,振蕩器容差會導致同步在仲裁場之后出現。 總線定時寄存器總線定時機制主要由總線定時寄存器0(BTR0)和總線定時寄存器1(BTR1)共同完成。總線定時寄存器0規定了波特率預設比例因子BRP(它由BRP.0 BRP.5共同組成)和同步跳轉寬度SJW(SJW.0.和SJW.1組成)。 BRP用于決定控制器系統工作時鐘周期tSCL,從而確定各個位時間,其計算方法如下: CAN總線上控制器的時鐘晶振間會存在相位偏差,控制器需通過總線電平的邊沿跳變來實現重同步,以補償相位差。同步跳轉寬度定義了位時間內重同

18、步而造成增加或減少的最大時鐘周期,其計算方法如下。 總線定時寄存器1 SAM寫入1時,總線在位時間會采集3次,常在低或中速網絡使用,而寫入0時,只會采樣1次。TSEG1和TSEG2是位時間中的相位緩沖段1和相位緩沖段2,它們確定位時間的時鐘周期數和采樣點的具體位置。 時鐘分頻寄存器(CDR) 時鐘分頻寄存器控制著CLKOUT引腳 的輸出頻率、TX1引腳上的接收中斷脈沖、接收比較器旁路和BasicCAN模式與PeliCAN模式的選擇 。硬件復位后,寄存器的默認值在摩托羅拉模式下是12分頻或Intel模式下為2分頻。 時鐘分頻寄存器b3置位時則關閉CLKOUT引腳的輸出;b5置位,那么接收到報文就會啟動一個中斷脈沖;b6置位就會旁路內部的輸入比較器,減少報文內部的延遲;b7提供模式選擇,為0就會工作在BasicCAN模式下,為1則工作在PeliCAN模式下。 CAN節點設計 SJA1000初始化的實現代碼CLR EX0; MOV DPTR,#7F00H; /設置SJA1000起始地址MOV A,#09H;MOVX DPTR,A; /進入復位模式、選擇單濾波方式MOV DPTR,#7F1FH; MOV A,#80H;MOVX DPTR,A; /選擇增強CAN模式、時鐘不輸出MOV DPTR#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論