參考技術-sja1000獨立can控制器中文_第1頁
參考技術-sja1000獨立can控制器中文_第2頁
參考技術-sja1000獨立can控制器中文_第3頁
參考技術-sja1000獨立can控制器中文_第4頁
參考技術-sja1000獨立can控制器中文_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

SJA1000CAN接口管理邏輯發(fā)送緩沖器接收緩沖器TXB驗收濾波器位流處理器位時序邏輯錯誤管理邏輯PCA82C200BasicCANPeliCAN模式的區(qū)BasicCAN控制寄存器命令寄存器狀態(tài)寄存器中斷寄存器PeliCAN模式寄存器命令寄存器狀態(tài)寄存器中斷寄存器中斷使能寄存器仲裁丟失捕捉寄存器誤碼捕捉寄存器錯誤時序寄存器RX錯誤計數(shù)寄存器TX錯誤計數(shù)寄存器RX信息計數(shù)器RX緩沖器起始地址寄存器01輸出控制寄存器時鐘分頻寄存器1特性PCA82C200模式即默認的BasicCAN模擴展的接收緩沖器64字節(jié)先進先出CAN2.0B協(xié)議兼容PCA82C200--可編程的錯誤限--對每一個CAN--單次發(fā)送無重發(fā)--只聽模式無確認無活動的出錯標志--支持熱插拔軟件位速率檢--驗收濾波器擴展4字節(jié)代碼4字--自身信息接收自接收請求增強的溫度適應-40SJA1000是一種獨于移動目標和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡控制CANPHILIPSPCA82C200CAN控制器BasicCAN的替代產(chǎn)品而且它增加了一種新的工作模式PeliCAN,這種模式支持具有很多新特性的CAN2.0B協(xié)議塑質(zhì)雙列直插封裝28引腳塑質(zhì)小型線外封裝28引腳外寬ALE/AS,CS,RD/E,WR,MODE,AD7to

3to11, 782,位流處理28位流處理

8接口管接口管理邏位時位時序邏

復振蕩圖復振蕩2128-3ALE輸入信號In模式AS輸入信號Motorola模4片選輸入低電平允許/RD5微控制器的/RD信號In模式或E使能信號Motorola模6微控制器的/WR信號In模式或RD//WR信號7SJA1000產(chǎn)生的提供給微控制器的時鐘輸出信號時鐘信號來動時可該引89輸入到振蕩器放大電路輸入注振蕩放大電路輸出輸出注中斷輸出用于中斷微控制器/INT置位時低電平有效/INT是開漏輸出且與系統(tǒng)中的其它/INT是線或的此引腳上的低電平可以把IC從睡眠模式中激活復位輸入用于復位CAN接口低電平有效把/RST引腳通過電容連到 通過電阻連到VDD可自動上電復位例如RX019從物理的CAN總線輸入到SJA1000的輸入比較器支配控制電平將會喚醒SJA1000的睡眠模式如果RX1比RX0的電平高就讀支配控制電平反之讀弱勢電平如果時鐘分頻寄存器的CBP位見表49被置位就旁路CAN輸入比較器以減少部延時此時連有外部收發(fā)電路這種情況下只有RX0是激活的弱勢電平被認為是高而支配電平被認為是低注 1123456 圖 引腳配置 圖 引腳配置接口管理邏輯IML接口管理邏輯解釋來自CPU令控制CAN寄存器的尋址向主控制器提供中斷信息和狀態(tài)信發(fā)送緩沖器TXB發(fā)送緩沖器是CPU和BSP位流處理器之間的接口能夠發(fā)送到CAN網(wǎng)絡上的完整信息緩沖器長13個字節(jié)由CPU寫入BSP讀出接收緩沖器RXBRXFIFO接收緩沖器是驗收濾波器和CPU之間的接口用來從CAN總線上接收和接收的信息接收緩器RXB13個字節(jié)作為接收FIFORXFIFO64字節(jié)的一個窗口可被CPUCPUFIFO的支持下可以在處理信息的時候接收其它信息驗收濾波器驗收濾波器把它其中的數(shù)據(jù)和接收的識別碼的內(nèi)容相比較以決定是否接收信息在純粹的接收測試中所有的信息都保存在RXFIFO中位流處理器BSP位流處理器是一個在發(fā)送RXFIFOCAN總線之間控制數(shù)據(jù)流的程序裝還CAN總線上執(zhí)行錯誤檢測仲裁填充和錯誤處理位時序邏輯BTL位時序邏輯監(jiān)視串口的CAN總線和處理與總線有關的位時序它在信息開頭弱勢-支配的總線傳輸時同步CAN總線位流硬同步接收信息時再次同步下一次傳送軟同步BTL還提供了可編程的時間段來補償延遲時間相位轉(zhuǎn)換例如由于振蕩漂移和定義采樣點和一位時間內(nèi)的采樣次數(shù)錯誤管理邏輯EMLEML負責傳送層模塊的錯 它接收BSP的出錯報告通知BSP和IML進行錯誤統(tǒng)SJA1000在軟件和引腳上都是與它的前一款PCA82C200獨立控制器兼容的在此基礎上它增加了很多新的功能為了實現(xiàn)軟件兼容SJA1000增加修改了兩種模式BasicCAN模式與PCA82C200兼PeliCAN模式擴展特工作模式通過時鐘分頻寄存器中CAN模式位來選擇復位默認模式BasicCAN模在SJA1000的控制寄存器中沒有SYNC位在PCA82C200中是CR.6位同步只有在CAN總線上弱勢-支配控制的轉(zhuǎn)換時才有可能發(fā)生寫這一位是沒有任何影響的為了與現(xiàn)有軟件兼容這一位時是可以把以前寫入的值讀出的對觸發(fā)電路無影響時鐘分頻寄存器用來選擇CAN工作模式BasicCAN/PeliCAN它使用從PCA82C200保留下來的PCA82C200中一樣寫一個0-7之間的值就將進入BasicCAN模式默認狀態(tài)是12分頻的Motorola模式和2分頻的In模式保留的另一位補充了一些附加的功能CBP位見表49的置位使內(nèi)部RX輸入比較器旁路這樣在使用外部傳送電路時可以減少內(nèi)部延時PCA82C200中雙接收緩沖器的概念PeliCANFIFO所代替出的可能性之外不會產(chǎn)生應用上的影響在數(shù)據(jù)溢出之前緩沖器可以接收兩條以上信息最多64字節(jié)CANSJA1000被設計為全面支CAN2.0B協(xié)議在處差被修正了在BasicCAN模式下只可以發(fā)送和接收標準幀信息11字節(jié)長的識別碼如果此時檢測到CAN總線上有擴展幀的信息如果信息正確也會被允許且給出一個確認信號但沒有接收中斷產(chǎn)生BasicCANPeliCAN在PeliCAN模式SJA1000有一個含很多新功能的重組SJA1000包含了設計在PCA82C200中的所有位及一些新功能位PeliCAN模式支CAN2.0B協(xié)議規(guī)定的所有功能29字節(jié)的識別碼FIFO64字在標準和擴展格式中都有單/雙驗收濾波器含和代碼寄存 發(fā)送當錯誤或仲裁丟失時不重發(fā)只聽模式CAN總 無應答無錯誤標支持熱插無干擾軟件驅(qū)動位速檢測硬件CLKOUT輸BasicCANSJA1000I/O設備基于內(nèi)存編址的微控制設備的獨立操作是RAM一樣的片內(nèi)寄存SJA1000的地址區(qū)包括控制段和信息緩制段在初始化載入是可被編程來配置通訊參數(shù)的如位時序微控制器也是通過這個段來控制CAN總線上的通訊的在初始化時CLKOUT信號可以被微控應發(fā)送的信息會被寫入發(fā)送緩沖器成功接收信息后微控制器從接收緩沖器中接收的信息然后釋始載入后寄存器的驗收代碼驗收總線定時寄存器0和1以及輸出控制就不能改變了只有控制寄存器的復位位被置高時才可以這些寄存器當硬件復位或控制器掉線表5狀態(tài)寄存器的總線狀態(tài)會自動進入復3控制寄1BasicCAN地址分配表段讀寫讀寫012--3--4-5-6-總線定時總線定時7-總線定時總線定時8-9測試注測試注(10-3(10-3 -識別碼2-0識別碼2-0 -數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)-數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)-數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)-數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)-數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)-數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)-數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)-數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)-10-10-10-10-識別碼2-0識別碼2-0識別碼2-0識別碼2-0數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)--3注必須注明的是寄存器在高端CAN地址區(qū)被重復8位CPU地址的最是不參與的許多位在復位模式中是只寫的CAN模式檢測到有復位請求后將中止當前接收/發(fā)送的信息而進入復位模式一旦向復位位傳送了1-0的下降沿CAN控制器將返回工作模式2復位模式的配置1位值-00--11-注注--0(無溢出0(無溢出0(空0(空-11-11-11;注總線定時同步跳轉(zhuǎn)寬度同步跳轉(zhuǎn)寬度波特率預設值波特率預設值波特率預設值波特率預設值波特率預設值波特率預設值總線定時時間段時間段時間段時間段時間段時間段時間段輸出控制極性輸出控制極性輸出控制模式輸出控制模式--;注;注-0000注讀命令寄存器的結(jié)果總是1111RXFIFO的內(nèi)部讀/寫指針被設置成初始化值連續(xù)的讀RXB會得到一些未定義的數(shù)據(jù)部分舊信息發(fā)送信息時信息并行寫入接收緩沖器但不產(chǎn)生接收中斷且接收緩沖區(qū)是不鎖定的所以即使接收緩沖器是空的最近一次發(fā)送的信息也可從接收緩沖器讀出直到它被下一條發(fā)送或接收的信息硬件復位時RXFIFO的指針指到物理地址0RAM單元軟件CR.0或因為總線關閉的緣故RXFIFO的指針將被設置到當前有FIFO的開始地個地址不同于物理RAM地址0,而是第控制寄存器CR控制寄存器的內(nèi)容是用于改CAN控制器的行為的器可3控制寄存器各位的說明CAN位值保留;注保留;注保留;注溢出中斷使10錯誤中斷使10;號發(fā)送中斷使1問時,(例如,中止發(fā)送命令后),微控制器接收0禁能;微控制器不從SJA1000接收發(fā)送中斷信接收中斷使10禁能;微控制器不從SJA1000接收發(fā)送中斷信復位請求;410空缺;復位請求位接收到一個下降沿注控制寄存器的任何寫都將設置該位為邏輯 復PCA82C200中這一位是用來選擇同步模式的因為這種模式不在使用了所以這一位的設置不會影響微控制器為了軟件上的兼容這一位是可以被設置的硬件或軟件復位后不改變這一位讀此位的值總是邏輯在硬啟動或總線狀態(tài)位設置為1總線關閉時復位請求位被置為1當前如果這些位被軟件其值將發(fā)生變化而且會影響內(nèi)部時鐘的下一個上升沿內(nèi)部時鐘的頻率是外部晶振的1/2在外部復位期間微控制器不能把復位請求位置為0空缺如果把復位請求位設為0微控制器就必須檢查這一位以保位請求位的變化是同內(nèi)部分頻時鐘同步的讀復位請求位能夠反映出這種同步狀態(tài)0后SJA1000將會等一個總線空閑信號11個弱勢位如果前一次復位請求是硬件復位或CPU初始復128個總線空閑如果前一次復位請求是CAN控制器在重新進入總線開啟模式前初始化總線造成的必須說明的是如果復位請求位被置位一些寄存器的值會被改變的命令寄存器CMR命令位初始化SJA1000傳輸層上的動作命令寄存器對微控制器來說是只寫器如果去讀這個地址返回值是11111111兩條命令之間至少有一個內(nèi)部時鐘周期內(nèi)部時鐘的頻率是外部振蕩頻率的表4命令寄存器各位的功能說明CMRCAN地址位值---------睡眠;注1睡眠;如果沒有CAN中斷等待和總線活0清除數(shù)據(jù)溢10釋放接收緩10中止發(fā)送;410發(fā)送請求;510注1SJA1000進入睡眠模式等待種情GTS式后CLKOUT15位的時間以使被這個信號鎖定的微控制器在CLKOUT信號變低之前進入準備模式如果前面提到的三種條件之一被破壞SJA1000將被喚醒GTS位被置為低后總線轉(zhuǎn)入活動或/INT有效低電平一旦喚醒振蕩器就將啟動而且產(chǎn)生一個喚醒中斷因為總線活動而喚醒SJA1000直到11序列信息式中GTS位是不能被置位的在清除復位請求后且再一次檢測到總線空閑GTS位才可以被置位這個命令位是用來清除由數(shù)據(jù)溢出狀態(tài)位的數(shù)據(jù)溢出情況的如果數(shù)據(jù)溢出位被置位就不會產(chǎn)生數(shù)據(jù)溢出中斷了在釋放接收緩沖器命令的同時是可以發(fā)出清除數(shù)據(jù)溢出命令的讀接收緩沖器之后可以通過設置釋放接1RXFIFO中當前信息的內(nèi)存空間這可能會導致接收緩沖器中的另一條信息立即有效這樣會再產(chǎn)生一次接收中斷使能條件下如果沒有其它可用信息就不會再產(chǎn)生接收中斷接收緩沖器狀態(tài)位被清除中止傳送位是CPU要求當前傳送暫停時使如一條緊急進行的傳送是不停止的要查看原始信息是否被成功發(fā)送可以通過傳送成功狀態(tài)位來檢測不過這必須在發(fā)送緩沖器狀態(tài)位為1釋放或發(fā)送中斷產(chǎn)生的情況下才能實現(xiàn)如果發(fā)送請求面令中被置位它就不可以通過直接設置為0來取消它了不過可以通過設置中止發(fā)送位為0來取消狀態(tài)寄存器SR狀態(tài)寄存器的內(nèi)容反映了SJA1000的狀態(tài)狀態(tài)寄存器對微控制器來說是只讀表5狀態(tài)寄存器各位的功能說 位值總線狀態(tài)注110出錯狀態(tài);21出錯;至少出現(xiàn)一個錯誤計數(shù)器滿或超CPU限0發(fā)送狀態(tài);310接收狀態(tài);310發(fā)送完畢狀10發(fā)送緩沖器10數(shù)據(jù)溢出狀10接收緩沖器10注當傳輸錯誤計數(shù)器超過限制255 總線狀態(tài)位置1總線關閉 CAN控制器就會將復位請求位置1當前在錯誤中斷允許的情況下會產(chǎn)生一個錯誤中斷這種狀態(tài)會持續(xù)直到CPU清除復位請求位所有這些完成之后CAN控制器將會等待協(xié)議規(guī)定的最小時間128個總線空閑信號總線狀態(tài)位被清除后總線開啟錯誤狀態(tài)位被置為0ok錯誤計數(shù)器復位且產(chǎn)生一個錯誤中斷中斷允許CAN2.0B協(xié)議說明計數(shù)滿或超出CPU警告限制96時錯誤狀態(tài)位被置位在允許情況下會產(chǎn)生錯誤中斷如果接收狀態(tài)位和發(fā)送狀態(tài)位都0CAN無論何時發(fā)送請求位被置為1發(fā)送完畢位都會被置為0未完畢發(fā)送完畢位的0會一直保持如果CPU在發(fā)送緩沖器狀態(tài)位是0鎖定時試圖寫發(fā)送緩沖器則寫入的字節(jié)被接收且會在當要被接收的信息成功的通過驗收濾波器后例如仲裁后之 CAN控制器需要在 這條信息的描述符因此必須有足夠的空間 接收的每一個數(shù)據(jù)字節(jié) 信息信息將會丟失且只向CPU提示數(shù)據(jù)溢出情況如果這個接收到的信息除了最后一位之外都無錯誤信息有效中還有可用信息此位將在下一位的時限tSCL中被重新設中斷寄存器IR中斷寄存器允許中斷源的識別當寄存器的一位或多位被置位時/INT低電平有效引腳就被激活了寄存器被微控制器讀過之后所有位復位這導致了/INT引腳上的電平漂移中斷寄存器對微控制器來說是6中斷寄存器各位的功能說明CAN位值---保留;注---保留;注---保留;注喚醒中斷;210復位;微控制器的任何讀將清除此數(shù)據(jù)溢出中1出狀態(tài)位0-1跳變此位被置位0復位;微控制器的任何讀將清除此10復位;微控制器的任何讀將清除此10復位;微控制器的任何讀將清除此接收中斷;410復位;微控制器的任何讀將清除此注如果CANCANCPU試圖進入睡眠中斷也溢出中斷位中斷允許情況下和溢出狀態(tài)位是同時被置位接收中斷位中斷允許時必須說明的是接收中斷位在讀的時候被清FIFO中還命令執(zhí)行后接收緩沖器中還有其它可用信息接收中斷中斷允許時會在下一個tSCL被重置發(fā)送緩沖區(qū)的全部內(nèi)容列表如表7緩沖器是用來微控制器要SJA1000發(fā)送的信息的它被分為描述符區(qū)和數(shù)據(jù)區(qū)發(fā)送緩沖器的讀/寫只能由微控制器在工作模式下完成在復位模式下讀出的值總是7發(fā)送緩沖器列區(qū)位76543210發(fā)送數(shù)據(jù)字節(jié)發(fā)送數(shù)據(jù)字節(jié)發(fā)送數(shù)據(jù)字節(jié)發(fā)送數(shù)據(jù)字節(jié)發(fā)送數(shù)據(jù)字節(jié)發(fā)送數(shù)據(jù)字節(jié)發(fā)送數(shù)據(jù)字節(jié)發(fā)送數(shù)據(jù)字節(jié)識別碼ID識別碼有11位ID0-ID10ID10是最 在仲裁過程中是最先被發(fā)送到總線上的識別碼就象信息的名字它在的驗收濾波器中被用到也在仲裁過程中決定總線的優(yōu)先級識別碼的值越低其優(yōu)先級越高這是因為在仲裁時有許多支配控制位開頭的字節(jié)發(fā)送請求RTR如果此位置1總線將以幀發(fā)送數(shù)據(jù)這意味著此段中沒有數(shù)據(jù)字節(jié)盡管如此也需要同識別碼RTR位沒有被置位數(shù)據(jù)將以數(shù)據(jù)長度碼規(guī)定的長度來傳數(shù)據(jù)長度碼DLC信息數(shù)據(jù)區(qū)的字節(jié)數(shù)根據(jù)數(shù)據(jù)長度碼編制在幀傳送中因為RTR被置位數(shù)據(jù)長度碼是不被考慮的這就迫使發(fā)送/接收數(shù)據(jù)字節(jié)數(shù)為0總之數(shù)據(jù)長度碼必須正確設置以避免兩個CAN控制器用同樣的識別機制啟動幀傳送而發(fā)生總線錯誤數(shù)據(jù)字節(jié)數(shù)是0-8是以如下方法計算的數(shù)據(jù)字節(jié)數(shù)=8DLC.3+4DLC.2+2為了保持兼容性數(shù)據(jù)88則按DLC規(guī)定8字節(jié)發(fā)發(fā)送的第一位接收緩沖器的全部列表和發(fā)送緩沖器類似接收緩沖器是RXFIFO中可的部分位于CAN地址的20-29之間

信息

信息信息釋輸緩沖命信息CAN接收緩沖器當前的可用信息是信息圖 識別碼發(fā)送請求位和數(shù)據(jù)長度碼同發(fā)送緩沖器的相同只不過是在地址20-29如圖4所示RXFIFO共有64字節(jié)的信息空間在任何情況下FIFO中可以的信息數(shù)取決于各條信息的長度如RXFIFO中沒有足夠的空間來新的信息CAN控制器會產(chǎn)生數(shù)據(jù)溢出數(shù)據(jù)溢出發(fā)生時已部分寫入RXFIFO的當前信息將被刪除這種情況將通過狀態(tài)位或數(shù)據(jù)溢出中斷中斷允許時果除了最后一位整個數(shù)據(jù)塊被無誤接收也使RX信息有效反應到微控制器的信息驗收濾波器通過驗收代碼寄存器ACR見6.3.9.1節(jié)和驗收寄存器AMR見6.3.9.2節(jié)驗收代碼寄存器ACR8ACR的位分配CANBITBITBITBITBITBITBITBIT復位請求位被置高當前時這個寄存器是可以讀/寫的如果一條信息通過了驗收濾波器的測試而且接收緩沖器有空么描述符和數(shù)據(jù)將被分別順次寫RXFIFO當信息被正確的接收完畢就會接收狀態(tài)位置高滿接收中斷使能位置高使能接收中斷置高產(chǎn)生中斷驗收代碼位AC.7-AC.0和信息識別碼的高8位ID.10-ID.3相等且與驗收位AM.7-的相應位相1即如果滿足以下方程的描述則被接[ID.10- AC.7-AC.0 AM.7-驗收寄存器AMR9AMR位配置CANBITBITBITBITBITBITBITBIT如果復位請求位置高當前這個寄存器可以被 的相應位對驗收濾波器是相關的或無影響的 即可為任意值PeliCANCAN控制寄存器的內(nèi)部寄存器CPU來說是以外部寄存器形式存在而作片內(nèi)內(nèi)存使CAN控制器可以工作于不同模式工作/復位見6.4.3節(jié)所以必須區(qū)分不同的內(nèi)部地址定義從CAN地址32起所有的內(nèi)部RAM80字節(jié)被映象為CPU的接口10PeliCAN地址分配讀寫讀寫012--3--45--6總線定時-總線定時總線定時7總線定時-總線定時總線定時8-9檢測;注檢測;注------錯誤限-錯誤限錯誤限--RX幀信息RX幀信息TX幀信TX幀信息驗收代碼驗收代碼驗收代碼驗收代碼驗收代碼驗收代碼驗收代碼驗收代碼驗收驗收驗收驗收驗收驗收驗收驗收----------------------注必須說明的是在CAN的高端地址區(qū)的寄存器是重復的CPU地址的高8位是不參與的測試寄存器只用于產(chǎn)品測試這些地址分配反映當前信息之后FIFORAM息的下一條信息的開頭如果沒有信息要接收這里會出現(xiàn)部分舊的信息一些位在復位模式中是只寫的CAN模式CBPRXINTEN和時鐘關檢測到復位模式設置位后止當前發(fā)送/接收信息而進入復位模式1-0位值-位值-0(無動作0(無動作0(無動作0(無動作0(空0(空;注E總線定時同步跳轉(zhuǎn)寬度同步跳轉(zhuǎn)寬度波特率預設值波特率預設值波特率預設值波特率預設值波特率預設值波特率預設值總線定時時間段時間段時間段時間段時間段時間段時間段輸出控制極性輸出控制極性輸出控制模式輸出控制模式-0-0--;注-;注--;注;注--驗收寄存-00-0000-注若是因為總線關閉而進入復位模式接收錯誤計數(shù)器被清0發(fā)送錯誤計數(shù)器被初始化到127以CAN定義的包括12811位連續(xù)隱藏弱勢位的總線關閉恢復時間RXFIFO的內(nèi)部讀/寫指針復位到初始化值續(xù)的RXB口將會得到一些未定義分是老的信息如果有信息被發(fā)送就被并行寫入接收緩沖器只有這次傳送是自接收請求引起的才會產(chǎn)生接收中斷所以即使接收緩沖器是空的最后一次發(fā)送的信息也可以從接收緩沖器中讀出除非它被下一條要發(fā)送或接收的信息覆蓋硬件復位時RXFIFO的指針指向物理RAM地址0CR.0或總線關閉會使RXFIFO的指針指向當前有效FIFO寄存器這個地址不同于第一次釋放接收緩沖器命令后的RAM地址模式寄存器MOD模式寄存器的內(nèi)容是用來改CAN控制器的行為的CPU把控制寄存器作為讀/寫寄存器可以設置這些位保留位讀值為邏輯012模式寄存器的各位的功能CAN地址位值---------睡眠模式;注1010101只聽;這種模式中,即使成功接收信息,CAN控0復位模式;注10注1sleepSJA1000將進入睡眠模式?jīng)]有總線活動和中斷等待至少破壞這SM產(chǎn)生喚醒中斷設置為睡眠模式后CLKOUT15位CLKOUT信號電平變低而被鎖住之前進入準備模式前面提到的三種條件之一被破壞時SJA1000將被喚醒SM電平設為低喚醒之后總線進入活動狀態(tài)或/INT被激活變低喚醒后振蕩器啟動且產(chǎn)生一個喚醒中斷由于總線活動喚醒的直到檢測11個連續(xù)的隱藏弱勢位總線空閑序列后才能接收這條信息注意在復位模式中是不能SM的清除復位模式后再一次檢測到總線空閑時SM的設置才開始有效如果先進入復位模式MOD.1-MOD.3是只寫CAN不可熱插時可使用只聽模式所有其它功能都能象在正常工作模式中一樣使用在硬件復位或總線狀態(tài)1總線關閉時復位模式位也被置為1當前如果通過軟件訪問這一位值將發(fā)生變化且下一個內(nèi)部時鐘頻率為外部振蕩器的1/2的上升沿有效在外部復位期間微控制器不能將復位模式位設置為0空閑因此將復位模式位設為1后微控制器必須檢查此位以確保外部復位引腳上位請求位的改變和內(nèi)部分頻時鐘同步復位請求位能夠反映出這種同步狀態(tài)復位模式位為0后CAN控制器會等待一個總線空閑信號11個隱藏弱勢位如果上一次復位是硬件復位或CPU初始復128個總線空閑CAN命令寄存器CMR命令位初始化CAN控制器傳輸層的一個動作這個寄存器是只寫的所有位的讀出值都是邏輯0因處理的需要兩條命令之間至少有一個內(nèi)部時鐘周期內(nèi)部時鐘周期的頻率是外部振蕩器的一半13命令寄存器CMR各位的功能說明CAN位值---------10清除數(shù)據(jù)溢出;注10-(無動作10-(無動作1010注如果驗收濾波器已設置了相應的識別碼當發(fā)送自接收請求信息時同時開始接收接收和發(fā)送中斷對自接收是有效的模式寄存器的自檢測模式也有類似情況設置命令位CMR.0和CM.1會立即產(chǎn)生一次當發(fā)生錯誤或仲裁丟失時是不會重發(fā)的單次發(fā)送設置命令位CMR.4和CMR.1會立即產(chǎn)生一次自接收性質(zhì)的發(fā)生錯誤或仲裁丟失時是不會重發(fā)CMR.0CMR.1CMR.4會立即產(chǎn)生一個CMR.0一旦狀態(tài)寄存器的發(fā)送狀態(tài)位被置位同時設置CMR.0CMR.4會忽略CMR.4位這個命令位用于清除數(shù)據(jù)溢出位的數(shù)據(jù)溢出情況如果數(shù)據(jù)溢出位被置位就不會再有數(shù)據(jù)溢出讀接收緩沖器之后CPU1來釋RXFIFO的內(nèi)存空間這樣就會導致接收緩沖器內(nèi)的另一條信息立即有效如果沒有其它有用的信息就復位接收中斷CPU需要當前請求發(fā)送等待時例如先發(fā)送一條比較緊急的信息時但當前正在處理的傳送是不停止的要想知道源信息是否成功發(fā)送可以通過傳送完畢狀態(tài)位來查看不過這應在在發(fā)送緩沖器狀態(tài)位置1或產(chǎn)生發(fā)送中斷后要注意的是即使因為發(fā)送緩沖器狀態(tài)位變?yōu)獒尫哦剐畔⒈恢兄挂矔a(chǎn)生發(fā)送中如果前一條指令中發(fā)送請求被置10來取消應通過中止發(fā)送位為0取消狀態(tài)寄存器SR位值總線狀態(tài);注10位值總線狀態(tài);注10出錯狀態(tài);注1 0發(fā)送狀態(tài);注10接收狀態(tài);注10發(fā)送完畢狀態(tài);注1010鎖定;CPU不能發(fā)送緩沖器;信息不是數(shù)據(jù)溢出狀態(tài);注1 010注當發(fā)送錯誤計數(shù)器超過限制255總線狀態(tài)位被置為1總線關閉CAN控制器將設置復位模式位為1當前而且產(chǎn)生一個錯誤中斷相應的中斷允許時發(fā)送錯誤計數(shù)器被置為127接收錯誤計數(shù)器被清除CPU將復位模式位清除完成這些之后CAN控制器將通過發(fā)送錯誤計數(shù)器的減1計數(shù)以等待協(xié)議規(guī)定的最少時間128個總線空閑信號之后總線狀態(tài)位被清除總線開啟錯誤狀態(tài)位被置為0ok錯誤計數(shù)器復位且產(chǎn)生一個錯誤警斷中斷允許時這期間讀TX錯誤計數(shù)器給出關于總線關閉修復的狀態(tài)信CAN2.0B協(xié)議規(guī)定數(shù)器器滿或超過CPU限制EWLR時錯誤狀態(tài)位被置位中斷允許時會產(chǎn)生錯誤中斷0空閑CAN1則控制器正在等待下一次空閑硬件啟動后11個連續(xù)的隱藏弱勢位總線關閉后會產(chǎn)生12811位的連續(xù)隱藏弱勢位一旦發(fā)送請求位或自接收請求位被置1發(fā)送成功狀態(tài)位就會被置0不成功發(fā)送成功狀態(tài)CPU0器寫CANRXFIFO中有足夠的空間來信息描述符和每一個接收的數(shù)據(jù)字節(jié)如果沒有足夠的空間來信息信息就會丟失在信息變?yōu)闊o效時向CPU提示數(shù)據(jù)溢出如果信息沒有被成功接收例如由于錯誤就沒有數(shù)據(jù)RXFIFO中的所有信息和用釋放接收緩沖器命令釋放它們的內(nèi)存空間之后此位被清6.4.3中斷寄存器IRCAN中斷將反映CPU讀此寄存器的時候中斷寄存器對CUP來說是只讀器表15中斷寄存器IR的位功能說明CAN地址位值101置位;當CAN控制器丟失仲裁,變?yōu)?1置位;當CAN控制器到達錯誤消極狀態(tài)(至少錯誤消極狀態(tài)又進入錯誤活動狀態(tài)以及中0喚醒中斷;注101置位;數(shù)據(jù)溢出狀態(tài)位有0-1跳變且中斷0錯誤中1010接收中斷;注10注RI取決于相應的中斷使能位RIE這一點外此位的行為和接收緩沖器狀態(tài)位是等效的所以讀中斷寄存器時接收中斷位不被清除釋放接收緩沖器令可以臨時清除RI如果執(zhí)行釋放命令后FIFO中還有可用信息RI被重新置位否則RI保持清0狀態(tài)中斷使能寄存器IER這個寄存器對CPU來說是可讀/寫器16中斷使能寄存器IER的各位的功能說明CAN位值1使能;如果檢測到總線錯誤,則CAN控制器請01使能;如果CAN控制器已丟失了仲裁,則請求01到活動或反之),則請求相應的中斷010E101010接收中斷使能;注10注1接收中斷使能位對接收中斷位和外部中斷輸出/INT有直接的影響如果RIE0且沒有其它中斷被掛起外部/INT引腳電平會立即變高仲裁丟失捕捉寄存器ALC這個寄存器包括了仲裁丟失的位置的信息仲裁丟失捕捉寄存器對CPU來說是只讀器保留位的讀值為017仲裁丟失捕捉寄存器ALC的各位功能說明CAN位值-值和功能見表仲裁丟失時會產(chǎn)生相應的仲裁丟失中斷中斷允許同時位流處理器的當前位位置捉送入仲個值器中活清除到仲裁丟失捕捉寄存器被讀一次之后新000102 0405060708091011

1516

1819

212223

2526

28

30圖 圖 18仲裁丟Bit4-Bit0位00000000001100010200011300100400101500110600111701000801001901010010110110001101011100111110000100011001010011101001010110110101111100011001110101101111100111011111011111注錯誤代碼捕捉寄存器ECC位值錯誤代碼--錯誤代碼--1位值錯誤代碼--錯誤代碼--10段--段--段--段--段--注ECC.4-ECC.0的解釋見表20ECC.7ECC.6的功能說位位0001101121ECC.4-ECC.0的功能說明位位位位位0001100010001100010000101IDE0011101111011100110001101保留位01001保留位0101101010010001100011001110111101010010100011011010011支配控制位誤1011111100注1位的設置反映了當前結(jié)構(gòu)段的不同錯誤事總線發(fā)生錯誤時被迫產(chǎn)生相應的錯誤中斷中斷允許時同時位流處理器的當前位置捉送入錯誤代碼捕捉寄存器其內(nèi)容直到用戶通過軟件讀出時都是不變的讀出后捕捉機制又被激活了中斷寄存間中斷寄存器中相應的中斷標志位被清除新的總線中斷直到捕捉寄存器被讀出一次才可能有效錯誤限制寄存器EMLR錯誤限制在這個寄存器中被定義默認值硬件復位時是96復位模式中此寄存器對來說是可讀/寫的工作模式中是只讀注意只有之前進入復位模式EWLR才有可能被改變直到復位模式被再次取消后才有可能發(fā)BITBITBITBITBITBITBITBIT錯誤狀態(tài)的改變見狀態(tài)寄存器表14和由新的寄存器內(nèi)容引起的錯誤 BITBITBITBITBITBITBITBITRX錯誤計數(shù)寄存器RXERRRX錯誤計數(shù)寄存器反應了接收錯誤計數(shù)器的當前件復位后寄存器被初始化0工作模式中對CPU來說是只讀的只有在復位模式中才可以寫此寄存器如果發(fā)生總線關閉RX錯誤計數(shù)器就被初0總線關閉期間寫這個寄存器是無效有之前進入復位模有可能CPURX后錯誤狀態(tài)的改變見狀態(tài)寄存器表14錯誤和由新的寄存器內(nèi)容引起的錯誤中斷才可能有效23RX錯誤計數(shù)寄存器RXERR各位的功能說明CANBITBITBITBITBITBITBITBITTX錯誤計數(shù)寄存器TXERR工作模式中這個寄存器對CPU是只讀內(nèi)存復位模式中才可以寫這個寄存器硬件復位后寄0如果總線關閉TX錯誤計數(shù)器被初始化127來計算總線定義的最小時間128個總線空閑信號這段時間里讀TX錯誤計數(shù)器將反映出總線關閉恢復的狀態(tài)信息如果總線關閉是激活的寫TXERR的0-254單元會清除總線關閉標志復位模式被清除后控制器會等待一個11位的連續(xù)隱藏弱勢位總線空閑24TX錯誤計數(shù)寄存器TXERR的各位功能說明CANBITBITBITBITBITBITBITBITTX錯誤計數(shù)器內(nèi)容的改變?nèi)∠淖兇嫫?錯誤和由新的寄存器內(nèi)容引起的錯誤中斷才有可能有效離開復位模式后就象總線錯誤引起TX計數(shù)器內(nèi)容且總線關閉被同樣的執(zhí)行這意味著重新進入復位模式TX錯誤計數(shù)器被初始化到127RX計數(shù)器被清0所有的相關狀態(tài)和中斷寄存器位被置位復位模式的清除將會執(zhí)行協(xié)議規(guī)定的總線關閉恢復序列等待128個總線空閑信如果在總線關閉恢復TXERR>0TXERR發(fā)送緩沖器的全部列表見圖7請務必分清標準幀格式SFF和擴展幀格式EFF配置發(fā)送緩沖器允許定義長達8個數(shù)據(jù)字節(jié)發(fā)送信息發(fā)送緩沖器被分為描述符區(qū)和數(shù)據(jù)區(qū)描述符區(qū)的第一個字節(jié)是幀信息字節(jié)幀信息它說明了幀格式SFF或EFF或數(shù)據(jù)幀和數(shù)據(jù)長度SFF有兩個字節(jié)的識別碼EFF有節(jié)的識別碼數(shù)據(jù)區(qū)最多長8個數(shù)據(jù)字節(jié)發(fā)送緩沖器長13個字節(jié)在CAN地址16-28注意使用CAN地址的96-108可以直接發(fā)送緩沖器的RAM這個RAM區(qū)是為發(fā)送緩沖器保留的下面三個字節(jié)是通用的CAN109110111 TX數(shù)據(jù)字節(jié)TX識別碼TXTX識別碼TX識別碼TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)CANTX識別碼TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)TX數(shù)據(jù)字節(jié)a.b.擴展幀格BITBITBITBITBITBITBITBIT發(fā)送緩沖器位的列表見表25-27BITBITBITBITBITBITBITBIT注123不影響推薦在使用自接收設備自測時和接收緩沖器0兼4表26TX識別碼1SFFCAN地址17注BITBITBITBITBITBITBITBIT注1ID.表示識別碼的表27TX識別碼2SFFCAN地址18注BITBITBITBITBITBITBITBIT注 ID.表示識別碼的2影響推薦在使用自接收設備自測時和接收緩沖器RTR兼容不影響推薦在使用自接收設備自測時和接收緩沖器0兼容表28TX幀信息 CAN地址BITBITBITBITBITBITBITBIT注 不影響推薦在使用自接收設備自測時和接收緩沖器0兼 表29TX識別碼1EFFCAN地址17注BITBITBITBITBITBITBITBIT注 ID.表示識別碼的表30TX識別碼2EFFCAN地址18注BITBITBITBITBITBITBITBIT注 ID.表示識別碼的表31TX識別碼3EFFCAN地址19注BITBITBITBITBITBITBITBIT注 ID.表示識別碼的表32TX識別碼4EFFCAN地址20注BITBITBITBITBITBITBITBIT注 ID.表示識別碼的2不影自測時和接收緩沖器RTR3不影自測時和接收緩沖器0兼表33幀格式FF和發(fā)送請求RTR位值1010數(shù)據(jù)長度代碼DLC數(shù)據(jù)區(qū)的信息字節(jié)長度由數(shù)據(jù)長度代碼編制在幀發(fā)送開始時由于RTR位被置位數(shù)據(jù)長度代碼是不被考慮的這使接收/發(fā)送的數(shù)據(jù)字節(jié)數(shù)目為0如果有兩個CAN控制器使用同一個識別碼同時啟動幀傳送數(shù)據(jù)長度代碼必須正確說明以避免總線錯誤0-8編碼形式如數(shù)據(jù)字節(jié)數(shù)=8DLC.3+4DLC.2+2為了兼容大于8的數(shù)據(jù)長度代碼是不可用的如果88識別碼ID標準幀SFF的識別碼11位ID.28-ID.18擴展幀格式的識別碼29位ID.28-ID.0ID.28是最在總線仲裁過程中最先發(fā)送到總線上識別碼就象信息的名字一樣用在驗收濾波器中仲裁過程中決定了總線的優(yōu)先權(quán)識別碼的二進值越低優(yōu)先權(quán)越高這是由于仲裁時有大量的前導支配發(fā)送的字節(jié)數(shù)取決于數(shù)據(jù)長度代碼最先發(fā)送的CAN19SFF21EFF的數(shù)據(jù)字節(jié)1的最接收緩沖器的列表與前面一節(jié)講述的發(fā)送緩沖器很相似接收緩沖器是RXFIFO的可部分位CAN地址1628每條信息都分為描述符和

接 窗CAN接收緩沖器中當前的可用信息是信息圖 RXFIFO中的信息舉接收緩沖器的位列表見表34-36SFF和表37-41 所選配置是與接收緩沖器列表見節(jié)相匹配表34RX幀信息SFFCAN地址BITBITBITBITBITBITBITBIT00注表35RX識別碼1 CAN地址17注BITBITBITBITBITBITBITBIT注ID.表示識別碼的表36RX識別碼2SFFCAN地址18注BITBITBITBITBITBITBITBIT0000注ID.表示識別碼的位表37RX幀信息EFFCAN地址BITBITBITBITBITBITBITBIT00注表38RX識別碼1EFFCAN地址17注BITBITBITBITBITBITBITBIT注1ID.表示識別碼的表39RX識別碼2EFFCAN地址18注BITBITBITBITBITBITBITBIT注ID.表示識別碼的表40RX識別碼3EFFCAN地址19注BITBITBITBITBITBITBITBIT注ID.表示識別碼的表41RX識別碼4EFFCAN地址20注BITBITBITBITBITBITBITBIT00注ID.表示識別碼的位注意在幀信息字節(jié)中的接收字節(jié)長度代碼代表實際發(fā)送的數(shù)據(jù)長度代碼它有可能大于8取決于發(fā) 無論如何最大接收數(shù)據(jù)字節(jié)數(shù)是8這一點在讀接收緩沖器中的信息時應當考慮見圖8RXFIFO共有64個信息字節(jié)的空間一次可以 多少條信息取決于數(shù)據(jù)的長度如果RXFIFO 新的信息CAN控制器會產(chǎn)生數(shù)據(jù)溢出條件此時信息有效且接受檢測為肯定發(fā)生數(shù)據(jù)溢出情況時已部分寫入RXFIFO的信息將被刪除這種情況可以通過狀態(tài)寄存器和數(shù)據(jù)超限中斷中斷允許反應到CPU在驗收濾波器的幫助下只有當接收信息中的識別位和驗收濾波器預定義的值相等時CAN控制器才允許將已接收信息存入RXFIFO驗收濾波器由驗收代碼寄存器(ACRn)和驗收寄存器AMRn定義要接收的信息的位模式在驗收代碼寄存器中定義相應的驗收寄存器允許定義某些位為不影響即可為任意值有兩種不同的過濾模式可在模式寄存器中選擇MOD.3AFM6.4.3單濾波器模式AFM雙濾波器模式AFM這種濾波器配置可以定義一個長濾波器4字節(jié)濾波器字節(jié)和信息字節(jié)之間位的對應關系取決于當標準幀如果接收的是標準幀格式的信息在驗收濾波中只使用前兩個數(shù)據(jù)字節(jié)來存放包括RTR位的完整的識別碼如果由于置位RTR位而導致沒有數(shù)據(jù)字節(jié)或因為設置相應的數(shù)據(jù)長度代碼而沒有或只有一個數(shù)據(jù)字節(jié)信息也會被接收的對于一個成功接收的信息所有單個位的比較后都必須發(fā)出接受信號注意AMR1和ACR1的低四位是不用的為了和將來的產(chǎn)品兼容這些位可通過設置AMR1.3AMR1.2AMR1.4AMR1.01而定為不影響 CAN地址1676543210

CAN地址1776543210

CAN地址1876543210

CAN1976543210CAN地址20;7CAN地址20;76543210765432107654321076543210驗收DBX.Y=數(shù)據(jù)字節(jié)X的Y

ACR=1&AMR=驗收1&logic1=logic0=9接收標準結(jié)構(gòu)信息時的單個濾波擴展如果接收的信息是擴展幀格式RTR位的全部識別碼將被接受過濾使用為了成功接收信息每個位的比較后都必須發(fā)出接受信號必須注意的是AMR3的最低兩位ACR3是不用的為了和將來的產(chǎn)品兼容這些位應該通AMR3.1AMR3.0來定為不影響 CAN1676543210

CAN地址1776543210

CAN1876543210

CAN地址1976543210CAN207CAN2076543210CAN地址217654321076543210CAN地址2376543210信息 驗收代碼 驗

ACR=&AMR=驗收寄存&logic1=logic0=圖 單濾波器配置接收擴展幀信這種配置可以定義兩個短濾波器一條接收的信息要和兩個濾波器比較來決定是否放入接收緩沖器中至少有一個濾波器發(fā)出接受信號有效器字節(jié)和信息字節(jié)之間位的對應關系取決于當前標準如果接收的是標準幀定義的兩個濾波器是不一樣一個濾波器比較包RTR位的整個標準識別碼和信息的第一個數(shù)據(jù)字節(jié)第二個濾波器只比較包括RTR位的整個標準識別碼為了成功接收信息所有單個位的比較時應至少有一個濾波器表示接受RTR位置位或數(shù)據(jù)長度代碼是0時表示沒有數(shù)據(jù)字節(jié)存在無論怎樣只要從開始到RTR位的部分都被表示接收信息就可以通過濾1如果沒有向濾波器請求數(shù)據(jù)字節(jié)過濾AMR1和AMR3的低四位必須被置為1不影響當使用包RTR位的整個標準識別碼時兩個濾波器都同樣工廣州周立功單片機發(fā)展 濾波器濾波器

LSB CAN地址167CAN地址1676543210CA17;76543210CA19;3210CAN地址207CAN地址2076543210CA21;765432103210CAN地址227CAN地址227654321CAN地址187654321CA23;765CA19;765ACR=AMR=驗收寄存 LSB濾波器濾波器

logic1=&11&111&DBX.Y=數(shù)據(jù)字節(jié)X位11接收標準幀信息的雙濾波器配擴展幀如果接收到擴展幀信息同的的前兩為了能成功接收信息所有單個位的比較時至少有一個濾波器表示接 濾波器濾波器

76543210CAN地址1776543210CAN地址CAN地址2076543210CAN地址2176543210CAN地址CAN地址227654321076543210CAN18CAN1876543210

CAN地址19CAN地址1976543210

ACR=AMR=驗收寄存濾波器濾波器

111驗

圖 雙濾波器配置接收擴展幀信

logic1=1&&logic01&&RX信息計數(shù)器RMCRMC寄存器CAN29反映了RXFIFO中可用的信息數(shù)目其值每次接收時加1每次釋放接收緩沖器減1每次復位后該寄存器清042RX信息計數(shù)器RMC各位的功能說明CANBITBITBITBITBITBITBITBIT注此位不能被寫讀這個寄存器時結(jié)果總RX緩沖器起始地址寄存器RBSARBSA寄存器CAN地址30反映了當前可用來位于接收緩沖器窗口中的信息的內(nèi)部RAM地址這條信息可以幫助說明RAM始于CAN32RAM地址區(qū)可CPU讀/寫訪問復位模式只能寫例子如果RBSA被設置為24十進制當前在接收緩沖器窗口中的可視信息被在內(nèi)部起始地址24因為RAM也被直接列入CAN地址空間起始地址32等于RAM地址0所以這條信息也可以用CAN地址56及隨后字節(jié)地址CAN地址FIFO中至少有一條可用信息時就會執(zhí)行釋放接收緩沖器命令RBSA在下一條信息開始的新硬件復位時指針初始化為 軟件復位設置為復位模式時指針保持原值但FIFO被空這就意味著RAM的內(nèi)容是不變的送的器窗口RX緩沖器起始地址寄存器在工作模式中是只讀的在復位模式中是可讀/寫的必須注意寫首次有效是在下一個內(nèi)部時鐘頻率的上升沿內(nèi)部時鐘頻率是外部振43RX緩沖器起始地址寄存器RBSA各位的功能說明CANBITBITBITBITBITBITBITBIT注此位不能寫此寄存器的讀出值總總線定時寄存器0BTR0總線定時寄0定義了波特率預設值BRP和同步跳轉(zhuǎn)寬度SJW的值復位模式有效時這個寄存器是可以被讀/寫的如果選擇的PeliCAN模式此寄存器在工作模式中是只讀的在BasicCAN模式中總是44總線定時0BTR0的位功能說明CANBITBITBITBITBITBITBITBIT波特率預設值BRPCAN系統(tǒng)tSCL的周期是可編程的而且決定了相應的位時序CAN系統(tǒng)時鐘由如下公tSCL=2tCLK(32BRP.5+16BRP.4+8BRP.3+4BRP.2+2為了補償在不同總線控制器的時鐘振蕩器之間的相位偏移任何總線控制器必須在當前傳送的相關信號邊沿重新同步同步跳轉(zhuǎn)寬度定義了每一位周期可以被重新同步縮短或延長的時鐘周期的最大數(shù)目tSJW=tSCL(2總線定時寄存器BTR1總線定時寄存1定義了每個位周期的長中這個寄存器可以被讀/寫在PeliCAN模式的工作模式中這個寄存器是只讀的在BasicCAN模式中總是FFH45總線定時1BTR1的各位功能說明CANBITBITBITBITBITBITBITBIT采樣SAM位值101TSEG1時間段TSEG1和TSEG2決定了每一位的時鐘數(shù)目和采樣點的位置這tSYNCSEG=1 8TSEG1.3+4TSEG1.2+2TSEG1.1+TSEG1.0+1 4TSEG2.2+2TSEG2.1+TSEG2.1+1波特率預設值 采樣點可能值是BRP=000001,TSEG1=0101,TSEG2=圖 輸出控制寄存器OCR輸出控制寄存器實現(xiàn)了由軟件控制不同輸出驅(qū)動配置的建立/寫PeliCAN模式的工作模式中這個寄存器是只讀的在BasicCAN模式中總是FFH46輸出控制寄存器OCR的各位功能說明CANBITBITBITBITBITBITBITBIT圖

SJA1000在睡眠模式中時TX0TX1引腳根據(jù)輸出控制寄存器的內(nèi)容輸出隱性的電平在復位狀態(tài)復位請求=1或外部復位引腳/RST被拉低時輸出TX0TX1懸空0001測試輸出模式;注1010001測試輸出模式;注1011注.檢測輸出模式中TXn會在下一個系統(tǒng)時鐘的上升沿映射在RX各引腳檢上TN1 正常模式中位序列TXD通過TX0和TX1送出輸出驅(qū)動引腳TX0和TX1的電平取決于被OCTPx,OCTNx懸空上拉下拉推挽編程的驅(qū)動器的特性和OCPOLx編程的輸出端極性TX0引腳在這個模式中和正常模式中是相同的但是TX1上的數(shù)據(jù)流被發(fā)送時鐘TXCLK代替了發(fā)送時鐘不翻轉(zhuǎn)的上升沿標志著一位的開始時鐘脈沖寬度是1tscl.高低高低115時鐘輸出模式舉相對于正常輸出模式這里的位代表著時間的變化和觸發(fā)如果總線控制器被發(fā)送器從總線上通電退耦則位流不允許含有直流元件這一點的總結(jié)見下一個表在隱性位無效懸空期間支配位輪流使用TX0TX1電平如一位在TX0上發(fā)二位TX1上發(fā)TX0上發(fā)送等等依此高低高低

16雙相輸出模式舉例輸出控制寄存器在測試輸出模RX上的電平在下一個系統(tǒng)時鐘的上升沿映射TXn上系統(tǒng)時鐘fOSC/2與輸00關關0010關開低1010關關0011關00關關0010關開低1010關關0011關關1011關開低0100關關1100開關高0101開關高1101關關0110關開低1110開關高0111開關高1111關開低注TPX是片內(nèi)XVDDTNX是片內(nèi)輸出發(fā)送器X連接TXXTX0TX1上的串行輸出電平TXD=0TXD連續(xù)1時CAN總線上的輸位序列TXDTX0TX1發(fā)送輸出驅(qū)動引腳上的電平取決于被OCTPx,OCTNx懸空上拉下拉推挽編程的驅(qū)動器的特性和被OCPOLx編程的輸出端極性時鐘分頻寄存器CDR時鐘分頻寄存器為微控制器控制CLKOUT的頻率以及CLKOUT引腳而且它還控制著TX1上的接收中斷脈沖接收比較通道和BasicCAN模式與PeliCAN模式的選擇硬件復位后寄存器的默認狀態(tài)是Moto

溫馨提示

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

評論

0/150

提交評論