新四季網

用於並置控制器區域網絡數據有效負載的方法

2023-10-07 05:33:54

專利名稱:用於並置控制器區域網絡數據有效負載的方法
技術領域:
本發明涉及控制器區域網絡(CAN或CAN總線)兼容的微控制器,且特定來說涉及 CAN消息的存儲。
背景技術:
控制器區域網絡(CAN)是有效地以高水平的安全性支持分散式實時控制的串行通信協議。CAN的應用範圍從高速數字通信網絡到低成本多路復用布線。CAN是用於實時應用的高整體性串行數據通信總線。CAN以高達1兆位/秒的數據速率操作,具有優秀的錯誤檢測與約束能力,且最初開發用於汽車中,但現在也用於其它領域中。CAN總線與CPU 之間的接口通常稱為CAN控制器。CAN背後的動機是通過改善汽車電子器件、引擎控制單元、傳感器、防滑剎車系統等的互可操作性同時減小線束重量及複雜性而使汽車更可靠、安全且燃料高效。由於CAN的出現,CAN協議已在工業自動化及汽車/卡車應用中獲得廣泛普及。CAN總線在嘈雜環境中的強健性及從故障條件檢測及恢復的能力使CAN適合與工業控制設備、醫學設備、測試設備、移動及可攜式機器、器具等一起使用。CAN是具有一個邏輯總線的不同步串行總線系統。其具有具有相等總線節點的開放線性總線結構。CAN總線由兩個或兩個以上節點組成。可在不幹擾其它節點的通信的情況下動態地改變總線上節點的數目。CAN邏輯總線對應於「線與」機構,「空閒」位(通常但未必等於邏輯電平「1」)被 「佔有」位(通常是邏輯電平「0」)覆寫。只要沒有總線節點正在發送佔有位,那麼總線在空閒狀態中,但來自任一總線節點的佔有位產生佔有總線狀態。因此,對於CAN總線,選擇能夠傳輸兩個可能位狀態(佔有及空閒)的媒體。所使用的常見物理媒體是雙絞線對。總線則稱為「CANH」及「CANL」,且可直接連接到CAN控制器節點或經由連接器連接到其。在CAN總線協議中,並非尋址總線節點,而是將地址信息包含於所傳輸的消息中。 此經由識別消息內容(例如,引擎速度、油溫等)的識別符(每一消息的部分)來進行。所述識別符另外指示消息的優先等級。所述識別符的二進位值越低,則消息的優先等級越高 (更多佔有位)。原始CAN規範(版本1.0、1.2及2.0幻將消息識別符定義為具有11位的長度,從而給出可能2048個消息識別符。「擴展的CAN」規範版本2. OB允許使用11及/或四位的消息識別符長度( 位的識別符長度允許超過536,000, 000個消息識別符)。所述CAN規範(所有版本)出於所有目的以引用方式併入本文中。
通常,兩種方法可用於CAN,因為CAN標準不涵蓋CAN控制器的架構,這兩種方法是「基本CAN」及「完全CAN」(不要與CAN 1及CAN 2或標準識別符及擴展的識別符混淆); 其在消息的緩衝上不同。基本CAN控制器架構類似於簡單UART,除發送完整幀而非字符外。通常,存在單個傳輸緩衝器及雙緩衝接收緩衝器。舉例來說,微控制器將幀放入傳輸緩衝器中,且在發送所述幀時接收中斷。當在接收緩衝器中接收到幀時,微控制器接收用以騰空所述接收緩衝器的中斷且在接收隨後幀之前將所述幀從所述接收緩衝器騰空。在基本CAN控制器架構中, 微控制器必須管理傳輸及接收,且處置幀的存儲。 完全CAN控制器架構包含專用緩衝器且將幀存儲於此專用緩衝器中。可依據所述專用緩衝器的大小處理有限數目個幀。以映射到每一幀緩衝器的幀的識別符給所述緩衝器加標籤。微控制器可更新所述緩衝器中的幀且對其進行標記以供傳輸。可檢查接收緩衝器以查看是否已接收到具有匹配識別符的幀。另外,可使用濾波器來預篩選所接收到的幀,以使得僅既定供特定CAN控制器使用的那些幀存儲於接收緩衝器中。標準CAN對擴展的CANCAN協議通常以兩個版本獲得應用CAN 1. 0及CAN 2. 0。CAN 2. 0與CAN 1. 0向後兼容,且大多數新控制器根據CAN 2.0構建。CAN 2.0標準存在兩個部分部分A及部分 B。在CAN 1. 0及CAN 2. OA的情況下,識別符必須為11位長。在CAN 2. OB的情況下,識別符可為11位(「標準」識別符)或四位(「擴展的」識別符)。為依從於CAN 2. 0,控制器必須為2.0部分B被動或2.0部分B主動。如果其是被動的,那麼其必須忽略擴展的幀(當 CAN 1.0控制器看到具有四位識別符的幀時,其將產生錯誤幀)。如果其是主動的,那麼其必須允許接收及傳輸擴展的幀。存在用於發送及接收兩種類型的幀的一些兼容性規則。CAN 2. OB主動控制器將發送及接受標準幀及擴展的幀兩者。CAN 2. OB被動控制器將發送及接收標準幀,且將丟棄不具有錯誤的擴展的幀。CAN 1. 0控制器在看到擴展的幀時,其將產生錯誤。因此,其中網絡上存在單個 CAN1. 0控制器的所述網絡不能夠與所述網絡上的擴展的幀共處;所有控制器必須使用標準幀發送。控制器架構CAN標準不涵蓋控制器的架構,因此如何使用其存在變化形式。雖然存在兩種一般方法基本CAN及完全CAN(不要與CAN 1. 0及2. 0或標準識別符及擴展的識別符混淆); 其在消息的緩衝上不同。如上所述,在基本CAN控制器中,架構類似於簡單UART,除發送完整幀而非字符外(通常)存在單個傳輸緩衝器及雙緩衝接收緩衝器。CPU將幀放入傳輸緩衝器中,且在發送幀時採取中斷;CPU將幀接收於接收緩衝器中,採取中斷且騰空所述緩衝器(在接收隨後幀之前)。CPU必須管理傳輸及接收,且處置幀的存儲。如上所述,在完全CAN控制器中,幀存儲於所述控制器的專用緩衝器中。可處理有限數目個幀(通常16個),因為網絡上可存在更多的幀,以映射到每一緩衝器的幀的識別符給所述緩衝器加標籤。CPU可更新所述緩衝器中的幀且對其進行標記以供傳輸;可檢查緩衝器以查看是否已接收到具有匹配識別符的幀。完全CAN設計的意圖是在網絡中提供一組「共享變量」 ;CPU周期性地更新所述變量(即,緩衝器中的幀的內容);CPU還可檢查所述變量。實際上,(當然)事情由於並行性困難而並不如此簡單當從幀讀取一組字節時,控制器可用新幀的內容覆寫數據,且在許多控制器中僅通過狀態旗標來用信號通知此情況。在「基本CAN」實施方案中,通常存在一個具有一個或一個以上相關聯消息接受濾波器的雙緩衝接收信道。僅具有一個雙緩衝消息信道意指處理器必須能夠在此時間內處置先前消息。在「完全CAN」實施方案中,通常存在多達15個消息緩衝器或信道,每一消息緩衝器或信道具有一個相關聯消息接受濾波器。具有大量接收緩衝器可在處理器非常慢的情況下有助於處理消息業務的突發,然而,如果總消息業務使得其傾覆處理器能力,那麼沒有什麼緩衝量可防止消息的最終損失。通常,消息被傳送到可由中央處理單元(CPU)讀取的 FIFO存儲器中。所述CPU接著可響應以中斷所接收數據或將控制信息從數據荷載分離。然而,在許多應用中,至少對於傳輸的某些部分,極少關注所附加控制信息且所述數據荷載擴散於必須從FIFO存儲器重新彙編的多個消息上。此可導致不需要的CPU開銷。因此,此項技術中需要一種可供用戶更方便地處置某些數據傳輸的CAN實施方案。

發明內容
根據一實施例,一種控制器區域網絡(CAN)控制器單元可包含消息彙編緩衝器, 其接收串行位流;緩衝器存儲器,其與所述消息彙編緩衝器並聯耦合;CAN控制單元,其與所述消息彙編及所述緩衝器存儲器耦合;及至少一個控制寄存器,其中所述至少一個控制寄存器可操作以經編程以致使所述CAN控制單元以至少第一及第二模式存儲被接收於所述消息彙編寄存器中的消息,其中在所述第一模式中,將所述所接收CAN消息的控制信息及數據有效負載存儲於所述緩衝器存儲器中,且在所述第二模式中,僅將所述CAN消息的所述數據有效負載存儲於所述緩衝器存儲器中。根據進一步實施例,所述控制寄存器可包含指示所述第二模式被設定的第一位。 根據進一步實施例,所述控制寄存器可經編程以致使所述CAN控制單元進一步將時間戳信息連同所述控制信息一起存儲。根據進一步實施例,所述控制寄存器可包含指示存儲所述時間戳信息的第二位。根據進一步實施例,所述控制寄存器可包含指示何時產生所述時間戳信息的第三位。根據進一步實施例,當在所述第二模式中時,所述裝置可忽略起始時間戳信息的所述存儲的設定。根據進一步實施例,所述緩衝器存儲器可為FIFO存儲器。根據進一步實施例,所述FIFO存儲器可包含多個可配置FIFO緩衝器。根據進一步實施例,所述緩衝器存儲器可包含多個可配置緩衝器。根據進一步實施例,所述單元可進一步包含用於每一可配置緩衝器的控制寄存器,所述控制寄存器包含用於確定相應緩衝器的操作模式的至少一個位。根據進一步實施例,所述單元可進一步包含將多個屏蔽寄存器及多個濾波器寄存器與所述CAN控制單元耦合的邏輯,其中所述邏輯產生指示消息彙編緩衝器移位寄存器中的有效條目的信號。根據另一實施例,一種存儲控制器區域網絡(CAN)消息的方法可包含以下步驟_接收CAN消息;-彙編所述CAN消息;及-確定存儲模式,其中在第一模式中,將所述所接收CAN消息的控制信息及數據有效負載存儲於緩衝器存儲器中,且在第二模式中,僅將所述CAN消息的所述數據有效負載存儲於所述緩衝器存儲器中。根據所述方法的進一步實施例,所述CAN消息可為標準CAN消息以及擴展的CAN消息。根據所述方法的進一步實施例,可通過設定控制寄存器中的第一位來編程所述第二模式。根據所述方法的進一步實施例,可提供多個緩衝器存儲器且可在相關聯控制寄存器中編程每一緩衝器存儲器的操作模式。根據所述方法的進一步實施例,可提供第三模式,在所述第三模式中將時間戳信息連同控制信息及數據有效負載一起存儲。根據所述方法的進一步實施例,可以可編程方式產生時間戳信息。根據所述方法的進一步實施例,可通過設定控制寄存器中的第二位來編程所述第三模式。根據所述方法的進一步實施例,當在所述第二模式中時,可忽略起始時間戳信息的所述存儲的設定。根據所述方法的進一步實施例,所述緩衝器存儲器可為FIFO存儲器。根據所述方法的進一步實施例,所述FIFO存儲器可包含多個可配置FIFO緩衝器,且所述方法進一步包含配置所述FIFO緩衝器的步驟。根據所述方法的進一步實施例,可通過消息彙編緩衝器移位寄存器來執行所述彙編CAN消息的步驟。根據所述方法的進一步實施例,所述方法可進一步包含藉助多個屏蔽寄存器及多個濾波器寄存器來產生有效性信號的步驟,所述有效性信號指示所述消息彙編緩衝器移位寄存器中的有效條目。根據又一實施例,一種微控制器可包含中央處理單元(CPU);控制器區域網絡 (CAN)控制器,其包含消息彙編緩衝器,其接收串行位流;FIFO存儲器,其與所述消息彙編緩衝器且與所述CPU並聯耦合;CAN控制單元,其與所述消息彙編及所述FIFO存儲器耦合; 及控制寄存器,其中所述控制寄存器可操作以由所述CPU通過設定一位來編程以致使所述 CAN控制單元以至少第一及第二模式將所接收的消息存儲於所述消息彙編寄存器中,其中在所述第一模式中,將所述所接收CAN消息的控制信息及數據有效負載存儲於所述FIFO存儲器中,且在所述第二模式中,僅將所述CAN消息的所述數據有效負載存儲於所述FIFO存儲器中。根據所述微控制器的進一步實施例,所述微控制器可進一步包含時間捕獲單元, 其中所述控制寄存器包含可經編程以致使所述CAN控制單元進一步將來自所述時間捕獲單元的時間戳信息連同所述控制信息一起存儲的第二位。根據下文更特定來說對如附圖中所圖解說明的本發明優選實施例的說明將明了本發明的上述及其它目標、特徵及優點。


圖1展示根據一實施例的CAN模塊/控制器的部分的框圖;圖2展示根據另一實施例的具有CAN模塊/控制器的微控制器的部分的框圖;圖3展示標準CAN消息與擴展的CAN消息之間的差異;圖4展示在第一操作模式中的FIFO的組織;圖5展示在第二操作模式中的FIFO的組織;圖6展示在第三操作模式中的FIFO的組織;圖7展示來自圖1的CAN協議引擎的實施例;圖8展示比較器單元的例示性實施例;圖9展示位比較器單元的另一例示性實施例;及圖10展示常規CAN控制器模塊。
具體實施例方式參照圖10,其圖解說明供用於微控制器中的常規CAN控制器的接收緩衝器818、 820及822以及相關聯屏蔽802、808及濾波器寄存器804、806、810、812、814、816。緩衝器 820(指定為消息彙編緩衝器(MAB))發揮作用以僅監視用於傳入消息的CAN邏輯總線(未展示)。MAB 820保持來自總線的經去充填位流。所述位流由包含識別符及數據欄位的消息(即,數據幀、遠程幀或其它幀)組成(未展示)。CAN控制器包含兩個可由微控制器的 CPU存取的專用緩衝器818及822。MAB 820允許這些接收緩衝器818及822並行存取所述消息。MAB 820還允許接受濾波器806及816存取所述消息的識別符部分。位流消息到接收緩衝器818或822的並行傳送在接受屏蔽802及808以及接受濾波器804、806、810、812、 814及816將接受匹配測試施加到所述消息之前可不被允許。分別使用可編程接受濾波器屏蔽802及808來選擇應將未經充填位流消息的哪些位與接受濾波器804及806以及810、812、814及816的內容進行比較。接受匹配測試如下進行濾波器804、806、810、812、814及816接收所述消息的識別符欄位且將所述欄位與濾波器值進行比較。如果所述識別符欄位與濾波器值之間存在匹配,那麼將所述消息加載到匹配濾波器的對應接收緩衝器818或822中。濾波器804及806 連接到緩衝器818,濾波器810、812、814及816連接到緩衝器822。接收緩衝器存在暗示的優先等級。緩衝器818是較高優先等級緩衝器且具有與其相關聯的消息接受濾波器804及806。緩衝器822是較低優先等級緩衝器且具有與其相關聯的接受濾波器810、812、814及816。與緩衝器818相關聯的濾波器比與緩衝器822相關聯的濾波器少意指緩衝器818比緩衝器822更具限制性。更具限制性的緩衝器818含蓄地具有與其相關聯的較高臨界點。在MAB 820快速連續地接收兩個「高優先等級」消息時,接收緩衝器818 (其被指定為第一高優先等級緩衝器)將接收第一高優先等級消息。在接收第二高優先等級消息時, MAB 820發現緩衝器818當前由高優先等級消息佔據。MAB 820接著引導緩衝器822 (其被指定為第二高優先等級緩衝器)接收所述第二高優先等級消息。在此情境中,緩衝器818 及822分別被排定等級為所述第一高優先等級緩衝器及所述第二高優先等級緩衝器。中央處理單元(CPU)(未在圖10中展示)可在接收緩衝器818及822中的一者上操作,而另一者供用於接收或保持先前接收的消息。在兩個高優先等級消息的到達的情況下的協議由接收緩衝器818及822的控制寄存器(未展示)中的BMT位實現。表I描繪並解釋接收緩衝器818的控制寄存器,其中R/ W意指可讀取/可寫入位,且其中R意指只讀位。表 I位7 位6 位5 位4 位3 位2 位1 位0R/ff R/ff R/ff R/ff R/ff R/ff RR/W位7:消息就緒狀態1 =接收緩衝器含有有效所接收消息0 =接收緩衝器打開以接收新消息位僅由CAN模塊設定,位僅由CPU清空。位6到5 接收緩衝器操作模式
11 =接收所有消息,包括那些具有錯誤的消息10 =僅接收具有擴展的識別符的有效消息01 =僅接收具有標準識別符的有效消息00 =接收所有有效消息位4:消息接收中斷啟用1=中斷被啟用0=中斷被停用位3 所接收遠程傳送請求1 =接收到遠程傳送請求0 =未接收到遠程傳送請求位2 (BUKT)啟用到接收緩衝器122的過流1 =接收緩衝器118過流將寫入到緩衝器1220 =不允許到緩衝器122的過流位1 只讀取位2 (BUKT)的拷貝位0 指示哪一接受濾波器啟用消息接收1 =與緩衝器122相關聯的接受濾波器0 =與緩衝器118相關聯的接受濾波器如果設定為「1」,那麼BMT位實施基於優先等級的協議。表II描繪並解釋接收緩衝器822的控制寄存器。表II位7 位6 位5 位4 位3 位2 位1 位0R/ff R/ff R/ff R/ff R/ff R/ff R/ff R/W位7:消息就緒狀態1 =接收緩衝器含有有效所接收消息0 =接收緩衝器打開以接收新消息位僅由CAN模塊設定,位僅由CPU清空。位6到5 接收緩衝器操作模式[這些位是任選的]11 =接收所有消息,包括那些具有錯誤的消息10 =僅接收具有擴展的識別符的有效消息01 =僅接收具有標準識別符的有效消息00 =接收所有有效消息位4:消息接收中斷啟用1=中斷被啟用0=中斷被停用位3 所接收遠程傳送請求1 =接收到遠程傳送請求0 =未接收到遠程傳送請求位2到0 指示哪一接受濾波器啟用消息接收101=接受濾波器116
100=接受濾波器114011=接受濾波器112010=接受濾波器110001 =接受濾波器106 [僅在緩衝器118的控制寄存器中BUKT位設定為「1」的情況下]000 =接受濾波器104 [僅在緩衝器118的控制寄存器中BUKT位設定為「1」的情況下]圖1展示根據一實施例的常規CAN控制器的修改。此處,僅展示CAN控制器的最相關部分。消息彙編緩衝器(MAB)塊110與緩衝器存儲器120耦合。存儲器120可配置為 FIFO存儲器且可為獨立的存儲器裝置。然而,根據其它實施例,也可由微處理器系統或微控制器的主存儲器來形成存儲器120。因此,微控制器可使用其通用存儲器(舉例來說,其數據存儲器),且指派所指定的存儲器空間以形成緩衝器存儲器120。特定來說,在緩衝器存儲器120由標準存儲器裝置形成的情況下,可添加額外電路以將FIFO存儲器的功能性添加到緩衝器存儲器120。提供CAN控制引擎130以控制所接收緩衝器條目到存儲器120中的傳送。至少一個控制寄存器140與CAN控制引擎130耦合且可編程以選擇各種各樣的不同操作模式。緩衝器存儲器或FIFO存儲器120可劃分成多個緩衝器或FIFO 0.. 31,如圖所示。每一緩衝器/FIFO 0. . 31可具有多個消息條目,其中所述緩衝器/FIFO在大小及操作特性上是可編程的。舉例來說,FIF00具有四個消息緩衝器(ΜΒ0到MB3)條目,FIFO 1具有兩個緩衝器條目等。圖1還展示每一 FIFO 0.. 32的例示性相關聯開始地址。根據一個實施例,經指派以存儲來自MAB 110的消息的緩衝器條目150可由四個32位雙字組成。根據各種實施例,配置寄存器140可具有第一位160且任選地還具有第二位170,第二位170指示來自MAB 110 的數據以其來存儲於緩衝器存儲器120中的模式。舉例來說,第一位160可指示僅CAN消息的數據荷載傳送到FIFO 120中。因此,當被設定時,所有進一步控制信息被清除掉且僅所述數據荷載傳送到FIFO存儲器120中。根據另一實施例,可使用第二位170來將來自時間捕獲單元180的額外時間戳信息添加到所接收消息。根據進一步實施例可實施多個第二位170,如寄存器140中的點線額外位所指示,以規定在消息的第一位(開始位)處還是在消息的結束(停止位)處捕獲時間。因此,導致時間戳的實際事件可為可選擇的。具有更多指定模式位的其它配置是可行的。通常可存在用於裝置中的每一 FIFO的配置寄存器,如點線所指示。具有圖1中的用於每一 FIFO的單獨位將允許應用程式將一個FIFO當作數據積累FIFO (其中位160被設定)且將單獨FIFO視為用於需要由CPU進行進一步處理的通用FIFO (其中位160清空)。圖1展示其中FIF00配置為位160清空的情景。在此實施例中,每一消息緩衝器 (ΜΒ0到MB3)包含4個32位字,其中數據如圖4(其中170清空)或圖5(其中170被設定) 中所示布置。根據另一實例,如果FIF00配置為位160被設定,那麼圖1中的緩衝器條目 150將僅具有兩個32位字(數據0及數據1),其對應於來自CAN協議的數據,如圖6中所示。因此,根據一實施例,當位160被設定時,CAN控制引擎130控制CAN消息的傳送,以使得僅所述CAN消息的數據有效負載傳送到FIFO 120中。可這樣做,以使得在沒有任何間歇控制信息的情況下在FIFO 120內形成連續數據流。
模塊含有用以存儲CAN消息的若干個FIFO緩衝器FIF00. .31。所述FIFO可完全配置,其中CAN消息存儲於模塊外部,系統存儲器中的任何地方。每一 FIFO可配置為傳輸或接收FIFO,具有獨立的大小、用戶可讀頭部/尾部指針、可獨立配置的中斷、其它狀態位以在傳輸或接收消息時給出其狀態。根據一實施例,可執行以下步驟來配置CAN模塊FIFO:將模塊置於配置模式 (0PM0D = 100);分配將FIFO定位於其中的存儲器的區域(通常是SRAM的塊);以FIFO的物理開始地址(基址)更新相應寄存器;以FIFO大小更新FIFO控制寄存器(CFIF0C0N. FSIZE);選擇FIFO成為傳輸還是接收FIFO (CFIF0C0N.TXEN);設定控制寄存器140中的控制位中的任一者(舉例來說,位160或170);及將模塊置於正常模式(0PM0D = 000)。一旦FIFO存儲器120的FIFO緩衝器已配置為傳輸FIFO,那麼用戶能夠使用所述 FIFO緩衝器來傳輸數據。用戶可讀取FIFO尾部指針(CFIF0UA),其給出用以放置待傳輸的消息的FIFO中的下一位置。將必須由CPU將此地址翻譯成虛擬地址。應加載CAN消息,在 CFIF0UA所給出的位置處開始。一旦FIFO緩衝器已加載有待傳輸的消息,那麼用戶通過設定CFIF0C0N. UINC位來遞增FIFO頭部指針。此將遞增頭部指針且將CFIF0UA所指向的地址增加四個32位字或16個字節。那麼消息已準備好被傳輸。一旦FIFO存儲器120的FIFO緩衝器已配置為具有由控制位160、170或任何其它控制位設定的相應傳送模式的接收FIFO,那麼用戶將能夠在消息由FIFO接收時讀取所述消息。在接收到消息之後,用戶將從CFIF0UA讀取消息的開始的物理地址。接著可從此地址讀取消息。在從FIFO讀取消息之後,用戶可通過設定CFIF0C0N. UINC位來更新尾部指針。 此將遞增尾部指針且將CFIF0UA所指向的地址增加4或2,此取決於控制寄存器140中的位 160的值。然而,可自動執行此遞增,如下文將關於圖2更詳細地解釋。CAN模塊連續地監視CAN總線上的消息。當消息由CAN模塊接收時,可將消息識別符與目前配置的濾波器/屏蔽組合進行比較,如下文將結合另一實施例更詳細地解釋。如果匹配發生,那麼模塊會將消息存儲於指針寄存器所指向的FIFO中。圖3展示標準CAN消息及擴展的消息的結構。兩種類型在添加到消息的控制數據的大小上不同。特定來說,擴展的消息允許顯著更長的識別位,而兩種消息中載運的實際數據的大小總是8個字節。在CAN控制引擎130的控制下,這些消息間斷地存儲於消息彙編緩衝器110中且接著傳送到存儲器120的相應FIFO中。依據緩衝器存儲器120的設計及組織,存儲那些消息的不同方式適用。舉例來說,在32位系統中,每一緩衝器條目MB0、MB1、 MB2、MB3可具有四個32位字數據0、數據1、數據2及數據3。在第一操作模式中,所接收標準或擴展的消息可存儲於這四個32位字內,其中前兩個字數據0及數據1可含有識別符 (SID、EID)及控制位,舉例來說,指示消息中所含有的實際數據(DLC)的長度,而實際數據總是存儲於第三及第四字數據2及數據3中。此情況的實例展示於圖4中。第二模式可類似於第一模式且可通過設定(舉例來說)控制寄存器140中的相應位170來觸發。如果此位被設定,那麼可從選擇性地由消息的接收(或消息的開始)觸發的時間捕獲單元180獲得的額外信息可存儲於前兩個數據字DATO及DATl中。因此,可將從時間捕獲單元180中的相應計時器捕獲的時間戳信息添加到消息。此情況的實例展示於圖5中。根據各種實施例,存在特殊接收模式,其中僅存儲數據,且識別符、被保留位及其它控制信息不與消息一起存儲。用戶通過設定控制寄存器140中的位160來啟用此模式。在此模式中,存儲8個數據字節,而不管控制信息如何。因此,根據一特定實施例,忽略數據長度信息(DLC)且可用OOh來填充未使用字節。此模式的一個可能用途是並置其數據跨越多個消息的消息,舉例來說,跨越CAN總線傳輸串。根據一個實施例,不與數據一起存儲時間戳,即使上文所解釋的相應位170被設定。舉例來說,如果將串「Hello World」從節點1發送到節點2,那麼必需兩個消息,因為所述串長於8個字節。在前兩個操作模式中,消息將如下被存儲
權利要求
1.一種控制器區域網絡(CAN)控制器單元,其包含 消息彙編緩衝器,其接收串行位流;緩衝器存儲器,其與所述消息彙編緩衝器並聯耦合; CAN控制單元,其與所述消息彙編及所述緩衝器存儲器耦合;及至少一個控制寄存器,其中所述至少一個控制寄存器可操作以經編程以致使所述CAN 控制單元以至少第一及第二模式存儲被接收於所述消息彙編寄存器中的消息,其中在所述第一模式中,將所述所接收CAN消息的控制信息及數據有效負載存儲於所述緩衝器存儲器中,且在所述第二模式中,僅將所述CAN消息的所述數據有效負載存儲於所述緩衝器存儲器中。
2.根據權利要求1所述的單元,其中所述控制寄存器包含指示所述第二模式被設定的第一位。
3.根據權利要求1所述的單元,其中所述控制寄存器可經編程以致使所述CAN控制單元進一步將時間戳信息連同所述控制信息一起存儲。
4.根據權利要求3所述的單元,其中所述控制寄存器包含指示存儲所述時間戳信息的笛一位
5.根據權利要求4所述的單元,其中所述控制寄存器包含指示何時產生所述時間戳信息的第三位。
6.根據權利要求3所述的單元,其中當在所述第二模式中時,用以存儲所述時間戳信息的編程被忽略。
7.根據權利要求1所述的單元,其中所述緩衝器存儲器為FIFO存儲器。
8.根據權利要求7所述的單元,其中所述FIFO存儲器包含多個可配置FIFO緩衝器。
9.根據權利要求1所述的單元,其中所述緩衝器存儲器包含多個可配置緩衝器。
10.根據權利要求9所述的單元,其進一步包含用於每一可配置緩衝器的控制寄存器, 所述控制寄存器包含用於確定相應緩衝器的操作模式的至少一個位。
11.根據權利要求1所述的單元,其進一步包含將多個屏蔽寄存器及多個濾波器寄存器與所述CAN控制單元耦合的邏輯,其中所述邏輯產生指示所述消息彙編緩衝器移位寄存器中的有效條目的信號。
12.—種存儲控制器區域網絡(CAN)消息的方法,其包含以下步驟 接收CAN消息;彙編所述CAN消息;確定存儲模式,其中在第一模式中,將所述所接收CAN消息的控制信息及數據有效負載存儲於緩衝器存儲器中,且在第二模式中,僅將所述CAN消息的所述數據有效負載存儲於所述緩衝器存儲器中。
13.根據權利要求12所述的方法,其中所述CAN消息可為標準CAN消息以及擴展的CAN 消息。
14.根據權利要求12所述的方法,其中通過設定控制寄存器中的第一位來編程所述第二模式。
15.根據權利要求12所述的方法,其中提供多個緩衝器存儲器且可在相關聯控制寄存器中編程每一緩衝器存儲器的操作模式。
16.根據權利要求12所述的方法,其進一步包含第三模式,在所述第三模式中將時間戳信息連同所述控制信息及數據有效負載一起存儲。
17.根據權利要求16所述的方法,其中以可編程方式產生時間戳信息。
18.根據權利要求16所述的方法,其中通過設定控制寄存器中的第二位來編程所述第三模式。
19.根據權利要求16所述的方法,其中當在所述第二模式中時,忽略用以存儲所述時間戳信息的編程。
20.根據權利要求12所述的方法,其中所述緩衝器存儲器為FIFO存儲器。
21.根據權利要求20所述的方法,其中所述FIFO存儲器包含多個可配置FIFO緩衝器, 且所述方法進一步包含配置所述FIFO緩衝器的步驟。
22.根據權利要求12所述的方法,其中通過消息彙編緩衝器移位寄存器來執行所述彙編CAN消息的步驟。
23.根據權利要求12所述的方法,其進一步包含藉助多個屏蔽寄存器及多個濾波器寄存器來產生有效性信號的步驟,所述有效性信號指示所述消息彙編緩衝器移位寄存器中的有效條目。
24.一種微控制器,其包含中央處理單元(CPU);控制器區域網絡(CAN)控制器,其包含消息彙編緩衝器,其接收串行位流;FIFO存儲器,其與所述消息彙編緩衝器且與所述CPU並聯耦合;CAN控制單元,其與所述消息彙編及所述FIFO存儲器耦合;及控制寄存器,其中所述控制寄存器可操作以由所述CPU通過編程一位來編程以致使所述CAN控制單元以至少第一或第二模式存儲被接收於所述消息彙編寄存器中的消息,其中在所述第一模式中,將所述所接收CAN消息的控制信息及數據有效負載存儲於所述FIFO存儲器中,且在所述第二模式中,僅將所述CAN消息的所述數據有效負載存儲於所述FIFO存儲器中。
25.根據權利要求M所述的微控制器,其進一步包含時間捕獲單元,其中所述控制寄存器包含可經編程以致使所述CAN控制單元進一步將來自所述時間捕獲單元的時間戳信息連同所述控制信息一起存儲的第二位。
全文摘要
一種控制器區域網絡(CAN)控制器單元具有消息彙編緩衝器,其接收串行位流;緩衝器存儲器,其與所述消息彙編緩衝器並聯耦合;CAN控制單元,其與所述消息彙編及所述緩衝器存儲器耦合;及至少一個控制寄存器。所述至少一個控制寄存器可經編程以致使所述CAN控制單元以至少第一及第二模式存儲被接收於所述消息彙編寄存器中的消息,其中在所述第一模式中,將所述所接收CAN消息的控制信息及數據有效負載存儲於所述緩衝器存儲器中,且在所述第二模式中,僅將所述CAN消息的所述數據有效負載存儲於所述緩衝器存儲器中。
文檔編號H04L12/413GK102334314SQ201080009764
公開日2012年1月25日 申請日期2010年4月21日 優先權日2009年4月23日
發明者史蒂文·G·道森, 約瑟夫·W·特裡斯, 蒂姆·L·威爾遜 申請人:密克羅奇普技術公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀