用於提供通用接口的方法以及具有通用接口的微控制器的製造方法
2023-04-24 14:50:21 1
用於提供通用接口的方法以及具有通用接口的微控制器的製造方法
【專利摘要】用於控制設備的、尤其用於運輸工具控制設備的微控制器,包含有中央處理單元(CPU)、至少一個非接口專用的輸入模塊、至少一個非接口專用的輸出模塊、至少一個路由單元以及用於處理接口專用信息的至少一個計算單元。在此該微控制器可以如此來配置,使得所述至少一個非接口專用的輸入模塊、至少一個非接口專用的輸出模±夾、至少一個路由單元以及用於處理接口專用信息的至少一個計算單元滿足與多個串行接口、尤其SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、I2C、MSC或Ethernet之一相對應的功能。
【專利說明】用於提供通用接口的方法以及具有通用接口的微控制器
【技術領域】
[0001] 本發明涉及尤其用於對運輸工具中的功能進行控制的電子控制設備,這些電子控 制設備具有對外的接口,以與通信系統的其他用戶相通信。 現有技術
[0002] 運輸工具中的控制設備通常具有串行接口,例如SPI、UART、LIN、CAN、PSI5、 FlexRay、SENT、Ethernet (乙太網)、I2C、MSC (Micro-Second-Channel,微型第二通道)等, 以與其他的控制設備、傳感器、執行器或其他外圍設備相連接或相通信。根據現有技術,這 些串行接口在該控制設備的微控制器中通過VHDL代碼來實施。在硬體方面,為了實施串行 接口,必須按照接口的類型來實施例如接口專用的通信控制器,其包括協議控制器、採樣單 元、存儲單元以及收發器(發送器-接收器)。例如在SENT和SPI的情況下不需要總線收發 器。接口專用的硬體單元(例如在SPI情況下的緩衝器、在CAN情況下的協議控制器)另外 還使得這種實施變得耗費且不靈活。
[0003] 在W0-2006013212 A1中例如公開了將FlexRay通信組件用於在FlexRay網絡中 將FlexRay通信連接與分配給FlexRay通信組件的用戶耦合的實施。具有典型串行接口 構造的一種微控制器例如可以參見Infineon的文件"16/32-Bit Architecture, XC2387C、 XC2388C,16/32-Bit Single-Chip Microcontroller with 32-Bit Performance,XC2000 Family/High Line, Data Sheet VI. 3 2011-07"。
[0004] 在針對控制設備或針對這種控制設備的微控制器的不同運輸工具應用中,對串行 接口的類型和數量存在極其不同的要求。從而例如可以在一個應用中提出如下的要求:一 個SPI接口、兩個LIN接口、5個CAN接口。在另一更複雜的應用中,可能還需要其他的接 口,如FlexRay或Ethernet,或者需要更大數量的現有接口。為了應對該問題,可以採用具 有很多不同類型接口的微控制器,但是該微控制器針對大量的應用來超裕度設計,並從而 太昂貴。替換地,可以針對每種應用來實施一種專用的微控制器,該微控制器對於每種接口 類型都恰好具有所期望的數量,但由此與標準化的期望相違背並造成了高的實施成本。另 外這兩種解決方案對於將來還未知的要求是不靈活的。總之,在運輸工具控制設備的微控 制器中該串行接口的這種接口專用的硬體實施從而導致了不靈活的解決方案,這些解決方 案僅能夠耗費地與不同的要求相匹配。
【發明內容】
[0005] 本發明涉及用於提供至少一個通用接口的一種方法、一種相應的微控制器以及具 有這種微控制器的一種控制設備。
[0006] 微控制器的一種靈活結構在此具有中央處理單元(CPU)、非接口專用的輸入模塊、 非接口專用的輸出模塊、路由單元、以及用於處理接口專用信息的計算單元。該計算單元在 此優選地與該中央處理單元不同。該微控制器的前述電路部件形成通用接口並且可以如此 來配置,使得這些電路部件能夠按照配置而提供與多種串行接口、尤其SPI、UART、LIN、CAN、 PSI5、FlexRay、SENT、I2C、MSC 或 Ethernet 之一相對應的功能。
[0007] 微控制器通常必須具有廣泛的應用範圍,因為其設計和製造成本高並從而不能針 對每種應用來開發一種獨有的微控制器。通過所建議的在微控制器中提供通用接口,在設 計微控制器時在該微控制器的不同應用情況下所需每種類型接口的數量不必是已知的。而 是提供硬體電路,這些硬體電路按照配置而滿足特定串行接口的任務。
[0008] 在通過微控制器的硬體電路來提供通用接口的一種方法中,在用於對應於多個串 行接口之一的一種協議來接收並處理輸入數據的基本上獨立的子方法中,所述輸入數據通 過非接口專用的輸入模塊被接收,並通過路由單元被傳輸到計算單元。尤其通過從該輸入 數據中去除該協議的協議細節,由該計算單元從該輸入數據中提取有用數據。第一有用數 據最後被提供給該中央處理單元(CPU )。
[0009] 在用於處理數據並用於發送輸出數據的基本上獨立的子方法中,中央處理單元的 第二有用數據被計算單元接收。由該計算單元尤其通過把該協議的協議細節添加到該第二 有用數據中而由該第二有用數據來生成輸出數據。該輸出數據通過該路由單元被傳輸到非 接口專用的輸出模塊之一上,並最後對應於多個串行接口之一的協議通過非接口專用的輸 出模塊而被發送。
[0010] 該方法是一種特別靈活的數據處理方式,因為為此沒有採用接口專用的硬體單 元。與許多串行接口相對應的許多協議的數據可以通過非接口專用的輸入和輸出模塊而被 接收和發送,並且通過配置可以在該計算單元中根據協議信息對所接收的數據進行分析。 這能夠按照對微控制器的應用專用的要求對應於特定的串行接口來配置該通用接口。
[0011] 該協議細節、尤其關於起始位、停止位、奇偶校驗信息、控制位、填充位等的信息在 此情況下例如可以通過該微控制器的中央處理單元而被存儲在存儲器中。通過所述協議細 節可以配置該通用接口、尤其為此所採用的計算單元。該計算單元訪問該存儲器,並能夠讀 出與所規定的配置相對應的協議信息。
[0012] 如果該計算單元還被應用於更高協議層的計算,那麼對於該通用接口就獲得了更 廣泛的應用範圍。例如該計算單元可以把多個UART消息幀轉變為一個LIN消息幀。
[0013] 通過該計算單元把有用數據寫入到該中央處理單元所訪問的存儲器中,並例如通 過中斷來將此通知該中央處理單元,那麼就最簡單地實現了有用數據從該計算單元到該中 央處理單元的轉發。
[0014] 在一個更複雜的、但由此給該計算單元和該中央處理單元減負的變化方案中,該 計算單元可以通過直接的存儲器訪問把該有用數據提供給該中央處理單元。
[0015] 在該輸入模塊中,可以給輸入數據分配時間信息,其方式是例如在該輸入模塊的 輸入端上給每個邊緣變換加上時間戳。由此邊緣變換與時間信息相關聯,這允許與輸入數 據的協議無關地記錄輸入數據,使得藉助計算單元能夠根據電平變換的時間信息來提取所 包含的有用數據。為此該邊緣變換連同時間戳一起可以分別由該輸入模塊通過該路由單元 被傳輸到該計算單元。該路由單元所帶來的優點是,在具有許多輸入模塊、輸出模塊和計算 單元的情況下,在它們之間也快速而可靠地進行數據傳輸。
[0016] 在替換的變化方案中,該輸入模塊可以把完整的消息進行存儲,並(優選通過該路 由單元)提供給該計算單元。因為在此不用單獨地傳輸每個具有時間戳的電平變換,所以該 路由單元被減負,並且這種傳輸不再強烈地由該路由單元的速度和承載來確定。
[0017] 在該替換的變化方案中,整個消息可以通過該輸入模塊而被分配時間信息。該計 算單元或中央處理單元(CPU)再次可以使用該時間信息來排列或處理該輸入數據。
[0018] 另外,通過該輸入模塊能夠對該輸入數據的內容進行特別可靠的識別,如果輸入 數據通過過掃描而被分析並通過掃描點電平值的多數協調一致來為輸入數據的每個比特 確定比特電平的話。
[0019] 在用於輸出數據的一種方法中-該方法類似於在輸入模塊中對邊緣變換加上 時間戳,通過由計算單元把有用數據轉換為具有所分配的時間戳的邊緣變換,該計算單元 在該中央處理單元一側來處理有用數據。為此該計算單元必須針對應當用來輸出輸出數據 的邊緣變換的間距來識別相應的波特率,也即在輸出時的數據傳輸速度。具有時間戳的每 個邊緣變換都單獨通過一個路由單元而被傳輸到一個輸出模塊。在那裡通過與時間信息的 比較把每個邊緣變換在所期望的時間施加於該輸出上。這使得能夠利用非接口專用的輸出 模塊來進行靈活的且與協議無關的數據輸出。
[0020] 替換地,也可以在輸出時由該計算單元向該輸出模塊提供完整的消息幀,而不是 具有時間戳的各個電平變換。然後例如通過該計算單元或該中央處理單元(CPU)的觸發,或 者在整個消息巾貞的時間戳與輸出模塊中的時間信息相一致時,進行整個消息巾貞的輸出。由 此該路由單元被減負,並且該路由單元的負載和速度對發送速度的限制更少。
[0021] 該計算單元例如具有算術邏輯單元,優選地該算術邏輯單元作為多通道定序器實 現。
[0022] 在一種微控制器中,非接口專用的輸入模塊具有捕捉功能和/或非接口專用的輸 出模塊具有比較功能,該微控制器可以提供特別靈活和簡單可實現的通用接口。利用更少 的資源就可以實現高得多的微控制器靈活性。
[0023] 該微控制器的應用可能性可以通過其他單獨的硬體電路來加以擴展,例如用於 CRC計算或者在總線仲裁期間的計算(例如在CAN情況下),這些硬體電路或者是該微控制 器的組成部分或者與該微控制器相連。通過這種在特定功能上優化的硬體單元,其餘不太 專用的模塊、尤其該微控制器的計算單元被減負。只有利用這種附加的單元才以所需的可 靠性和速度來實現該微控制器的一些計算並從而實現一些應用。
[0024] 為了使該通用接口在一定範疇中提供相應的、如擴展到許多應用中(尤其汽車領 域)的串行接口,該路由單元和/或該計算單元應該以至少100MHz的時鐘、尤其以至少 200MHz的時鐘被驅動,並從而輸入數據能夠以至少1M波特的輸入波特率被接收,以及輸出 數據能夠以至少1M波特的輸出波特率被發送。
[0025] 不僅具有專用的以硬體來實現的接口而且具有包括非接口專用硬體的通用接口 的微控制器是應用非常靈活的並且儘管如此還是特別有利的,所述非接口專用硬體能夠被 配置以藉助軟體計算附加地實現所期望的串行接口。從而對於該微控制器的已知的應用情 況可以在應用之間固定地實施某種接口交集,而在應用之間不同的接口要求或還未知的接 口要求利用通用接口來涵蓋。
[0026] 可以把在微控制器中實現通用接口的硬體電路與一個或多個計時器模塊相組合。 如果在硬體塊之一中有相應的容量可用,那麼接口硬體和計時器模塊也可以在執行任務時 靈活地相互支持。
[0027] 所述的微控制器尤其可以良好地應用在控制設備中,尤其在汽車領域。在此在同 時存在嚴格的成本預定的情況下,對接口的要求是特別高的。
【專利附圖】
【附圖說明】
[0028] 下面參照附圖並藉助實施例來詳細解釋本發明。其中: 圖1示意示出了一種示例微控制器,其具有用於實現通用接口的硬體電路, 圖2示意示出了一種示例微控制器,其具有用於實現通用接口的硬體電路以及計時器 模塊, 圖3示意示出了一種示例微控制器,其具有用於實現通用接口的硬體電路以及具有用 於CRC計算的專用的硬體電路, 圖4示意示出了一種示例微控制器,其具有用於實現通用接口的硬體電路以及具有專 用的輸出模塊, 圖5示意示出了一種示例微控制器,其具有用於實現通用接口的硬體電路以及專用的 輸入模塊和附加的存儲器, 圖6示意示出了一種示例微控制器,其具有用於實現通用接口的硬體電路以及用於支 持仲裁的電路, 圖7示意示出了具有邊緣變換的兩個示例信號曲線,以解釋CAN仲裁, 圖8示意示出了用於通過通用接口來接收數據的一種方法的示例流程, 圖9示意示出了用於通過通用接口來發送數據的一種方法的示例流程, 圖10示意示出了用於波特率識別的一種方法的示例流程,以及 圖11示意示出了通過單獨的CRC單元來進行CRC計算的數據傳輸示例流程。
【具體實施方式】
[0029] 概念"串行接口 "在下文中理解為用於在設備之間進行串行數據交換的一種連 接。串行數據傳輸的特徵是其中通過一個或多個導線來依次傳輸比特的數據傳輸。屬於運 輸工具中所使用串行接口的例如是SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、I2C、MSC和 Ethernet。
[0030] 在 W0-2011120823 A1 中公開了計時器模塊 "Generic Timer Module (GTM),通用 計時器模塊"。其中硬體子模塊設置於中央路由單元(稱為"Advanced Routing Unit (ARU), 高級路由單元")周圍。該中央路由單元在不同的硬體子模塊之間對數據進行路由,在此優 選地採用循環調度("Round Robin,輪詢")來進行確定性仲裁。也即,源模塊在最大循環 時間之內被操作,並且其數據通過地址信息而被路由到相應的目標模塊。該計時器模塊從 而能夠降低微控制器的CPU的中斷負載,例如在用於控制運輸工具中功能的電子控制設備 (E⑶)的微控制器。該計時器模塊具有作為硬體子模塊的輸入模塊、所謂的"Timer Input Modules (--Μ),計時器輸入模塊"以及輸出模塊、所謂的"Timer Output Modules (Τ0Μ),計 時器輸出模塊"或者還有"ARU-connected Timer Output Modules(ATOM), ARU連接的計時 器輸出模塊"等。除了該路由單元(ARU)、該輸入模塊(--Μ)和該輸出模塊(ATOM)之外,該 計時器模塊還具有作為計算單元的多通道定序器(Multi Channel Sequencer)。
[0031] 該計時器模塊採用了 "Capture/Compare,捕捉/比較"基本原理。在此情況下進 入該輸入單元(TIM)的信號與對應於其到達的時間戳相關聯。該輸入單元(TIM)在此例如 從時基單元(time base unit, TBU)獲得相應的時間說明。該時間戳的功能對應於"捕捉/ 比較"的"捕捉"。該時間說明由計算單元或由中央處理單元添加以用於信號的處理和確定 優先級。應該通過該計時器模塊的輸出單元(ATOM)來發送的信號例如由進行處理的計算 單元(CPU, MCS)而同樣設置有時間戳。在該計時器模塊的輸出模塊(ATOM)中,該信號的時 間戳與當前的時間說明相比較。該輸出模塊例如同樣從時基單元來獲得該時間說明。如果 要輸出的信號的時間戳對應於當前的時間,那麼該信號就被發送。該功能對應於"捕捉/比 較"的"比較"。代替所述的時基,也可以通過輸入單元和輸出單元來實現角度同步的"捕捉 /比較"功能。這些功能在運輸工具中可能是需要的,因為接收過程或發送過程相對於當前 發動機角度的角度位置是特別有意義的。例如進入該輸入單元的信號可以設置有角度戳, 要輸出的消息可以在確定的角度點被發送。
[0032] 該計算單元或數據處理單元"多通道定序器"優選地作為子模塊來實現,其具有管 道級、算術邏輯單元(ALU)、解碼器和至RAM存儲器單元的連接。在計時器模塊中也可以採 用多個多通道定序器。該輸入單元優選地作為硬體組件來實現,其具有鎖存器和觸發器以 及至時間和/或角度提供單元的連接。該輸出單元優選地作為硬體組件來實現,其具有例 如構成寄存器的鎖存器和觸發器、以及至時間和/或角度提供單元的連接。與時間相關的 功能的時基在此可以由該微控制器(或者其中央處理單元(CPU))的計算器時鐘來導出,與 角度相關的功能的角度基準可以通過DPLL (digital phase-locked loop,數字鎖相環)來 實現。
[0033] 對於該計時器模塊、尤其該計時器模塊的所述組成部分ARU、MCS、--Μ、ATOM、TBU 的其他功能,參見W0 2011120823 Al。W0 2011120823 A1的相應說明部分由此通過參考而被 包含在本申請中。
[0034] 依據已知的計時器模塊的功能,本發明的中心方面是在微控制器中提供通用串行 接口,尤其用於在運輸工具控制設備中的應用。為此或者可以重新配置已在該微控制器中 集成的相應計時器模塊的單元,或者在該微控制器中集成專用於該應用的單元。在此例如 可以採用該輸入單元(--Μ)和/或輸出單元(Τ0Μ,ATOM)的"捕捉"和/或"比較"功能, 以通用地模擬專用的接口輸出端和接口輸出端。由計算單元、例如多通道定序器(multi channel sequencer, MCS)來支持輸入單元和輸出單元,其中該定序器執行計算以實現接 口。為了在輸入模塊、輸出模塊和計算單元之間分配數據,優選地採用了路由單元。在下文 中所述的模塊-輸入模塊、輸出模塊、路由單元和計算單元在此優選地具有上文相應單元 --Μ、A(T0M)、ARU以及MCS的針對計時器模塊"GTM"所述的功能。但是用於實現通用接口 的硬體電路或具有這種硬體電路的微控制器由於其他的要求(例如路由和處理的速度)而 與已知的計時器模塊不同。在此優選地除上述的計時器子模塊功能之外,在該微控制器的 硬體中還進行變化,但至少必須通過配置把相應的計時器硬體組件與變化的任務和要求相 匹配,以能夠按照本發明而被使用。
[0035] 在圖1中示意示出了一種電路構造,以在微控制器中實現通用的串行接口。
[0036] 該微控制器101在此具有一組硬體電路110,這些硬體電路可以配置以提供特定 串行接口的功能。硬體部件110包含有輸入模塊111,該輸入模塊與輸入數據通道102相連 接。該輸入數據通道102典型地是一種電纜連接的通信連接。該輸入模塊111與路由單元 112相連接。該路由單元112除了該輸入模塊111之外還與計算單元113和輸出模塊114 相連接。該輸出模塊114與輸出數據通道103相連接。該輸出數據通道103同樣典型地是 電纜連接的通信連接。該輸入數據通道103和該輸出數據通道104是具有特定協議的通信 系統的組成部分,如此使得非接口專用的硬體部件111、112、113、114必須如此來被配置, 使得它們提供相應接口的功能,該接口能夠處理所述特定協議的數據。例如該輸入數據通 道102可以是UART接口的Rx輸入,該輸出數據通道103是UART接口的Tx輸出。該硬體 部件111、112、113、114在該例子中必須如此來被配置,使得它們模擬UART接口。
[0037] 該輸入模塊111和該輸出模塊114是非接口專用的硬體電路,也即它們可以處理 根據不同協議結構構建的、不同串行接口的數據。該計算單元113應該與該微控制器的中 央處理單元(CPU)不同,並在下文中為了區分而用MCS來表示,因為在該微控制器的一個優 選實施方案中該計算單元(MCS)是多通道定序器。該計算單元(MCS)的其他硬體實施同樣 也是可以的,優選地同樣具有算術邏輯單元(ALU)。
[0038] 該路由單元112時分復用地連接模塊-輸入模塊111、輸出模塊114以及計算單元 (MCS)113。
[0039] 圖1非常簡化地示出了該微控制器101。當然這種微控制器101具有許多其他的 在此未示出的組成部分,其中包括至少一個中央處理單元(CPU),該中央處理單元可以在該 微控制器中執行數據處理、計算和配置。另外該微控制器101還優選地包含有多個這樣的 輸入模塊111和輸出模塊114。按照應用,該微控制器也可以具有多個計算單元(MCS)113。 許多這種模塊111、113、114可以與一個唯一的路由單元112相連接。對於非常複雜的應用, 在這樣的微控制器101中也可以採用更多的路由單元112。
[0040] 在當前微控制器的一個特別優選的變化方案中,該微控制器具有多個"真正的"、 也即對應於現有技術固定以硬體實現的串行接口,以及具有多個"通用的"如圖1所述硬體 電路形式的接口。由此可以優選地如同以前一樣有利地以硬體來固定地實現特定接口類型 的最少數量的所需接口,但在該微控制器的不同應用之間不同的接口可以作為通用接口來 設置,並從而能夠對應於相應的應用而以軟體來加以配置。從而能夠在降低待保持的接口 數量的情況下實現該微控制器的靈活應用。
[0041] 在圖8中示意示出了用於實現接收消息的通用串行接口的一種方法的流程圖。
[0042] 在第一步驟(801)中,在微控制器的輸入模塊(例如圖1的111)中,數字數據從微 控制器外部作為比特而被接收。在此在該輸入模塊處施加有輸入信號。該輸入信號以與要 模擬的串行接口相對應的一種協議而出現。在步驟802中,所接收數據比特之間的邊緣變 換在該輸入模塊中分別被加上時間戳(捕捉功能)。為此在該輸入模塊中檢測該時間戳,其 中在該時間戳處在該輸入模塊的輸入端上的管腳狀態、也即邊緣發生變化。該輸入模塊例 如可以從時基單元來獲得用於加上時間戳所需的時間信息。在步驟803中,如此確定的數 據由該輸入模塊傳輸到該微控制器的路由單元(例如圖1中的112)。為此傳輸在管腳狀態 發生變化時的邊緣變換連同時間戳,其中在該時間戳處還發生其他的邊緣。在步驟804中, 該路由單元再次把該信息傳輸到該微控制器的計算單元(MCS,例如圖1中的113)。
[0043] 在步驟805中,該計算單元(MCS)處理對應於該輸入模塊中的多次捕捉事件而作 為該路由單元側多次單獨的傳輸而到達該計算單元的信息。在此該計算單元(MCS)由所接 收的比特流(也即帶有時間戳的邊緣變換)來重建所接收的信號。另外該計算單元(MCS)檢 驗該信號,並對應於當前的協議來去除控制比特(例如(多個)起始比特、(多個)停止比特、 (多個)奇偶校驗比特、(多個)填充比特)。該計算單元(MCS)優選從本地的、它所訪問的易失 存儲器中獲取用於該處理的信息(也即涉及哪種協議、或者如何構建該協議消息的信息)。 這些信息例如可以由該微控制器的中央處理單元(CPU)從非易失存儲器(例如快閃記憶體)被傳輸 到此。在該微控制器啟動時,優選地該輸入模塊和還要進行闡述的輸出模塊通過該中央處 理單元(CPU)而被固定分配特定消息協議,並且關於此的信息以及相應的協議信息被存儲 在易失的存儲器中,以能夠由該計算單元(MCS)訪問。
[0044] 在一個可選的步驟806中,該計算單元(MCS)可以執行實施其他的處理步驟和計 算,例如更高協議層的計算。例如可以把多個UART幀變換為一個LIN幀,或者執行各種信 號計算。
[0045] 在步驟807中,該計算單元(MCS)把所處理過的信息提供給該微控制器的中央處 理單元(CPU)。優選地該信息被存儲在存儲器(例如RAM)中,並通知該中央處理單元(CPU) (例如通過中斷或者通過DMA通道的觸發)。在此該消息除了有用數據之外例如還具有其他 的信息,例如在CAN消息情況下的標識符。
[0046] 在步驟808中,該中央處理單元(CPU)最後對所接收的信息進行處理。
[0047] 在圖9中示意示出了用於實現發送消息的通用串行接口的一種方法的流程圖。
[0048] 在步驟901中,微控制器的中央處理單元(CPU)把一個信號(必要時具有標識符) 提供給計算單元(MCS,例如圖1中的113)。在步驟901中,在該計算單元(MCS)中對該信號 執行處理。由該數位訊號的比特來計算邊緣變換的曲線,並給邊緣變換設置時間說明。對 於在邊緣變換之間正確的時間間隔,該計算單元(MCS)需要與要使用的波特率有關的信息。 另外還應添加與要使用的協議相對應的協議信息,例如控制比特,象(多個)起始比特、(多 個)停止比特、(多個)奇偶校驗比特、(多個)填充比特。該計算單元(MCS)再次優選地從本 地的、它所訪問的易失存儲器中獲取用於該處理的信息(也即涉及哪種協議、或者如何構建 該協議消息的信息)。該信息例如可以由該微控制器的中央處理單元(CPU)從非易失存儲 器(例如快閃記憶體)被傳輸到此。
[0049] 在步驟902中,如此所獲得的數據由該計算單元(MCS)轉發到路由單元(例如在圖 1中的112)。在隨後的步驟903中,該數據由該路由單元路由到預定的輸出單元(例如圖1 中的114)。
[0050] 該輸出單元從而獲得要作為邊緣變換發送的數據,連同與以下時間點有關的信 息,在該邊緣上的邊緣變換應當在所述時間點處被施加到輸出端上,並從而發送所期望的 消息。在步驟904中,該輸出單元為此把所獲得的時間信息與要提供的時間信息相比較α匕 較功能)。該時間信息例如可以通過時基單元來加以提供。最後在該時間信息與分配給隨 後邊緣變換的時間點相一致的情況下,該輸出單元就把該邊緣變換施加在輸出端上,並從 而把所期望的數據作為比特流以預定的波特率並按照與要模擬的串行接口相對應的消息 協議來發送。在該實施變化方案中,分別針對每個邊緣變換連同時間信息單獨地從該計算 單元(MCS)通過該路由單元傳輸到該輸出模塊。該輸出模塊可以如此來設置,使得當之前 所接收的與時間信息相對應的邊緣變換已經被發送或已經被施加在輸出端上時,該輸出模 塊才準備接收另一邊緣變換連同時間信息。
[0051] 不同的配置都可以用於硬體實現該通用串行接口。一方面,微控制器可以具有諸 如前述"通用計時器模塊"的計時器模塊,並還具有如圖1所述的硬體電路。在這種配置中, 無論要實現什麼接口,該計時器模塊都可以滿足它所承擔的任務。該接口功能通過該微控 制器的附加硬體電路來提供。在這種配置中,只要該硬體電路沒有由於接口功能而滿載,尤 其只要相應的輸入和輸出模塊沒有被分配接口功能,那麼可以通過配置而優選地把計時器 功能轉移到該附加硬體電路上。在一個專用的變化方案中,只要該計時器模塊為此具有足 夠空閒的容量和足夠的硬體設計並為此被配置,那麼該計時器模塊(或其硬體單元)也可以 承擔該附加硬體電路的接口功能。
[0052] 在圖2中示出了這樣一種硬體實施方案。在此該微控制器201具有硬體電路210, 該硬體電路對應於圖1中的硬體電路11〇(輸入數據通道202、輸出數據通道203、輸入模塊 211、輸出模塊214、路由單元212、計算單元(MCS)213)。另外該微控制器201還具有計時器 模塊230,該計時器模塊具有計時器輸入模塊231、計時器輸出模塊234、路由單元232以及 計算單元(MCS) 233。該計時器輸入模塊231與該信號輸入端222以及該路由單元232相 連接。該計時器輸出模塊234與該信號輸出端223以及該路由單元232相連接。該路由單 元232另外還與該計算單元(MCS) 233相連接。該計時器模塊230例如可以通過前述的計 時器模塊-"通用計時器模塊"來實現。
[0053] 在另一變化方案中,硬體單元如圖1所述不僅可以承擔計時器功能,而且可以承 擔接口功能。這種硬體單元與前述的通用計時器模塊相比優選地具有一個或多個路由單 元,該路由單元以更高的頻率被驅動,並且對每個路由單元具有少量的模塊,以如實現通用 串行接口所需那樣提高服務率並能夠實現更高的波特率。例如路由單元和計算單元(MCS) 可以不是以80MHz被驅動,而是以從100MHz開始、優選從200MHz開始的頻率被驅動。優 選地路由單元和計算單元(MCS)的頻率如此來設置,使得能夠實現具有1M波特或更高的接 □。
[0054] 在這兩種變化方案中,通過可能在接口功能與計時器功能之間的相互轉化而獲得 了靈活性。例如在具有微控制器的控制設備中的一種應用中,在把計時器/接口模塊與16 個輸出模塊相組合利用的情況下,可以為控制發動機的八個汽缸而提供計時器功能。為此 例如可以採用具有比較功能的八個輸出模塊以控制點火,並採用具有比較功能的八個輸出 模塊以分別控制一個汽缸的噴油。如果在另一應用中採用具有組合的計時器/接口模塊的 微控制器來控制具有四個汽缸的發動機,那麼剛才所述的16個輸出模塊中的八個不需要 被用於關於控制汽缸的計時器功能,並從而可以用於模擬例如八個串行接口的輸出信號。
[0055] 按照要模擬的串行接口的類型,除了前述的模塊和單元之外還可能需要其他的硬 件組件。
[0056] 例如對於特定的協議還必須執行CRC計算,例如對於PSI5或CAN。在CRC(Cyclic Redundancy Check,循環冗餘校驗)情況下針對數據來確定一個校驗值,並在傳輸之後根據 所傳輸的數據來校驗該校驗值,以識別傳輸錯誤或存儲器錯誤。所實施的計算單元(MCS)對 於這種計算類型並不是最佳的,並且在必要時必須被裝備更高的計算功率。此外在具有多 個計算單元(MCS)的硬體電路的情況下,每個計算單元(MCS)將承載這種附加計算。另外 CRC計算在一些協議情況下必須非常快速地被執行,以能夠在必要時觸發協議中的動作,例 如錯誤消息幀。
[0057] 因此,出於面積和性能的原因,在一個唯一的模塊中來執行CRC計算是有利的。在 前述的用於模擬串行接口的硬體電路的一種優選擴展方案中,這些硬體電路相應地另外還 具有單獨的單元來計算CRC信息。在具有多個計算單元(MCS)的硬體電路的情況下,該CRC 校驗單元優選地為多個或所有的計算單元(MCS)來集中這行這種計算。
[0058] 附加的CRC單元對於具有高速度要求的協議也能夠足夠快地提供CRC計算和CRC 比較。該CRC單元在此優選地至少執行CRC校驗值的計算,必要時還執行CRC校驗值的校 驗。如果一個CRC校驗值通過該CRC單元被識別為不正確,那麼就可以優選地通過該計算 單元(MCS)促使重新進行傳輸。
[0059] 該CRC校驗單元優選地作為硬體邏輯電路來實現,例如其為此可以具有X0R邏輯 和移位寄存器。對此的替換是以軟體利用(例如小的附加的)計算單元的計算來實現。
[0060] 在圖3中示出了一種硬體電路,其具有這樣的附加的CRC單元。該微控制器301具 有該硬體模塊310、也即輸入模塊311、路由單元312、計算單元(MCS) 313和輸出模塊314, 其最大程度對應於圖1中的微控制器101。數據輸入通道302和數據輸出通道303分別與 輸入模塊311以及輸出通道314相連接。除了圖1中的微控制器101之外,微控制器301 還具有CRC單元315,該CRC單元在所示的實施方案中與該路由單元312相連接。
[0061] CRC值的計算優選地基於多項式除法。從而該CRC單元應該能夠至少在該微控制 器啟動時通過參數來加以配置,如此使得能夠實現不同的多項式。例如一個多項式b7*x T+b 6*x6+b5*x5+b4*x4+b3*x3+b2*x 2+bl*x1+b0*xQ 可以通過配置參數 b0 至 b7 來加以配置。為了 能夠支持具有不同CRC多項式的不同接口,一個CRC單元或者必須能夠靈活地(也即在運 行時)被重新配置,或者必須設置多個CRC單元。
[0062] 在圖11中示出了利用單獨的CRC單元的CRC計算而進行的數據傳輸流程。在此 情況下闡述了從所接收數據中計算CRC值的例子。
[0063] 在第一步驟1101中,該CRC單元通過該計算單元(MCS)或者該微控制器的中央處 理單元(CPU)來加以配置。因為通常需要針對每個接口來計算不同的多項式,所以需要進 行配置。如前所述,這些多項式可以通過配置參數來加以確定。因此在用於多個通用串行 接口的CRC計算的CRC模塊中,只要應該不是為同樣的接口來這些兩次依次相鄰的計算, 那麼在每次計算之前都需要進行這種配置。CRC單元的配置例如也可以通過如下方式來進 行,即該CRC單元訪問具有不同多項式的表格,獲得與該表格中的記錄相對應的索引,並根 據該記錄來引用該多項式。
[0064] 在第二步驟1102中,該CRC模塊接收數據,其中應該對這些數據執行CRC計算。 該數據例如是具有CRC信息的輸入數據,所述CRC信息已由該輸入模塊接收並被傳輸到該 計算單元(MCS)。在第三步驟1103中在該CRC單元中來執行CRC計算。在第四步驟1104 中,CRC計算(CRC校驗值計算以及必要時的校驗)的結果由該CRC模塊發送到該計算單元 (MCS) (CRC校驗值和/或CRC校驗的結果)。優選地該數據的傳輸分別通過該路由單元從 該計算單元(MCS)到該CRC單元以及從該CRC單元到該計算單元(MCS)來進行。
[0065] 最後在第五步驟1105中,該計算單元(MCS)可以把由該CRC單元所計算的CRC信 息與所接收的CRC信息相比較,或者通過該CRC單元來分析CRC校驗的結果,並從而在具有 偏差的情況下確定存在傳輸錯誤或存儲器錯誤。
[0066] 在可選的第六步驟1106中,如果通過該計算單元(MCS)已確定存在傳輸錯誤或存 儲器錯誤,那麼就通過該計算單元(MCS)來觸發重新傳輸。
[0067] 類似地也針對要發送的數據進行CRC計算。數據優選地在配置該CRC單元之後由 該計算單元(MCS)通過該路由單元而被發送到該CRC單元。在那裡執行CRC計算,並且結 果由該CRC單元通過該路由單元被傳輸到該計算單元(MCS)。在那裡把CRC值附加給該數 據,並把該數據提供給該輸出模塊。
[0068] 到目前所述的實施例對應於基本配置(圖1)的前提均為,用於實現通用、串行接口 的硬體電路都採用了具有捕捉功能的輸入模塊和具有比較功能的輸出模塊。與此相反,在 另一實施變化方案中,也可以採用不具有比較功能的不同的輸出模塊。用於輸出接口幀的 這種專用模塊從而與硬體電路的以及計時器模塊的前述輸出模塊(TOM、ATOM)不同。
[0069] 這種輸出硬體模塊的硬體實線例如可以通過狀態自動機(狀態機)與存儲器相組 合來進行。代替如上所述的要接收以及要發送的比特流,該專用的輸出模塊可以把完整的 消息幀存儲在它的存儲器中。該路由單元從而可以利用發送過程把這個完整的消息發送到 該輸出模塊。對該輸出單元的更高的硬體要求從而導致降低該路由單元的承載。此外,利 用這種輸出單元更簡單地實現了在數據輸出時更高的波特率,因為波特率不再受到該路由 單元的時鐘的限制。在一個優選的實施方案中,該輸出單元再次必須提供時間信息(或者相 對應的角度信息)。與前述的輸出單元相反,該輸出單元僅需要如下的信息,即整個消息或 整個消息幀必須在哪個時間點(或以哪個角度)以及以哪種波特率被發送。然後藉助可用的 時間信息或角度信息以及該輸出模塊已知的波特率,該數據被發送。優選地由該計算單元 (MCS)或微控制器的中央處理單元(CPU)把該數據直接寫到該輸出單元的存儲器中。該輸 出單元在此獲得了該信號(日期)以及與數據速率和發送時間點有關的信息。
[0070] 替換地也可以不是通過時間信息,而是通過該計算單元(MCS)或該微控制器的中 央處理單元(CPU)的具體觸發而開始向該專用輸出單元的發送過程。然後該輸出單元獨立 地在輸出管腳上來提供該數據。
[0071] 在圖4中示出了一種微控制器,其具有專用的輸出模塊414。該微控制器401具有 硬體部件410,也即輸出模塊411、路由單元412、計算單元(MCS) 413以及輸出模塊414以 及至輸入數據通道402和輸出數據通道403的連接,其再次最大程度對應於圖1的微控制 器101。然而該輸出模塊414具有擴展的功能,例如用於存儲完整消息幀的存儲器資源。在 所示的優選實施方案中,該輸出模塊414另外還具有至微控制器401的另一連接。通過該 連接,例如可以通過該微控制器401的中央處理單元(CPU)給該輸出模塊414來提供數據, 例如通過前述的由該中央處理單元(CPU)把該輸出數據直接寫入到該輸出模塊414的存儲 器中。
[0072] 藉助這種專用的輸出單元而進行的數據輸出流程在下文中應藉助通過UART配置 的通用接口的示例傳輸來加以闡述: 1.該微控制器的中央處理單元(CPU)或該計算單元(MCS)把消息幀01111111111寫入 到該輸出單元的存儲器中。其對應於一個起始比特(〇 )、8個數據比特(111 111 11 )、一個奇 偶校驗比特(1,在奇校驗的情況下)以及一個停止比特(1)。
[0073] 2.該微控制器的中央處理單元(CPU)或該計算單元(MCS)把要輸出的消息幀的數 據速率寫入到該輸出單元的寄存器中。
[0074] 3.該微控制器的中央處理單元(CPU)或該計算單元(MCS)把觸發信號發送到該輸 出單元,以開始進行傳輸。在另一變化方案中,在預定數量的傳輸過程之後,在獲得該消息 幀之後開始進行傳輸。在另一變化方案中,該微控制器的中央處理單元(CPU)或該計算單 元(MCS)傳輸應該進行或開始傳輸的時間點。
[0075] 4.該輸出單元獨立地把該消息幀以所選擇的數據速率來發送。
[0076] 在所述的具有專用輸出單元的實施例中,該計算單元(MCS)或該中央處理單元 (CPU)另外還例如由於把信息寫入到該輸出單元中以及觸發該發送過程而被承載。因此在 另一有利的實施變化方案中,該輸出單元通過從存儲器中自動地重新加載來獲得要發送的 數據或消息幀。例如可以從RAM中來進行這種自動重新加載,其中該輸出單元通過級聯列 表和DMA (直接存儲器訪問)來訪問該RAM。從而也可以以高的速度在該計算單元(MCS)或 該微控制器的中央處理單元(CPU)未承載(中斷)的情況下來輸出較大的數據分組。
[0077] 在所述的具有專用輸出單元的實施例中,首先假定,其餘方法步驟(通過該輸入模 塊進行數據接收,通過該路由單元進行路由,通過該計算單元(MCS)進行協議計算,必要時 通過該CRC單元進行CRC計算)繼續如上所述地來進行,以及其餘的硬體電路(輸入模塊、路 由單元、計算單元(MCS)、必要時的CRC單元)繼續如上所述來構建。
[0078] 與剛剛所述的具有比較功能的輸出模塊更換為專用的輸出單元相類似,在另一實 施例中也可以通過將具有捕捉功能的輸入模塊更換為專用的輸入單元來實現對基本配置 (圖1)的變化。
[0079] 在這個實施方案中,這種專用的輸入模塊優選不是如前所述逐個邊緣地對輸入比 特流進行分解,也即並不是每個邊緣變換都帶時間戳地通過該路由單元續傳到該計算單元 (MCS)。而是該專用輸入單元把完整的比特流進行記錄(也即存儲)和過濾。作為過濾優選 地可以應用過掃描(過採樣)。通過把過掃描例如與表決(協調一致)相組合,可以更可靠地 把具有高電平的所接收比特與具有低電平的所接收比特相互分離或區分。
[0080] 該專用輸入模塊的輸入濾波器例如可以如此來被編程,使得它以16MHz來掃描一 個1MHz信號。然後通過表決實例來對每個比特進行16次掃描,該表決實例按照預定的設 置(例如16中的3個或16中的12個)而作為比特狀態來存儲一個1或0。通過這種專用 的、其中實施有過掃描和表決的輸入模塊,也可以實現具有更高抗幹擾要求的接口。
[0081] 通過與觸發事件、例如在UART情況下的起始比特相同步,該專用輸入單元可以參 照該比特流而被設置為所定義的狀態。如果所有的比特都被讀入(例如UART:起始比特、 8個數據比特、奇偶校驗比特、停止比特),那麼這些數據就從該專用輸入模塊的輸出端通 過該路由單元而被傳輸到該計算單元(MCS),這些數據然後被轉換為較高的協議層(例如 KWP2000、LIN),或者這些數據被直接寫入到FIFO存儲器中,其中應用軟體可以從該FIFO中 獲取這些數據。不再需要由計算單元(MCS)通過從路由單元側分析帶時間戳的邊緣變換消 息來重建消息。而是該計算單元(MCS)從該路由單元獲得消息幀的數據作為消息來代替作 為分別單獨的傳輸來傳輸邊緣變換。由此該路由單元同樣由於不執行很多單獨傳輸而被減 負。輸入數據的處理速度不再像以前那樣與該路由單元的速度強烈相關。從而除了該路由 單元和計算單元(MCS)的減負之外,還能夠以更快的數據速率來進行輸入數據的處理。 [0082] 除了被過濾的、也即在過掃描和表決之後所確定的正確比特電平之外,還可以轉 發如下的信息(例如轉發到該計算單元(MCS)或該微控制器的中央處理單元(CPU)),即這 些比特是否被幹擾以及幹擾程度,也即例如該表決的明確程度。例如可以通知一個比特的 多少個被掃描值具有相同的電平。為了使表決更魯棒,例如也可以屏蔽直接在邊緣變換之 前以及直接在邊緣變換之後的點(採樣),以使表決、也即比特識別更魯棒。
[0083] 對於所述的、具有執行過掃描和表決的專用輸入模塊的硬體電路,為了改善比特 識別也可以針對所述表決而採用所確定的波特率(這種波特率識別在下文中還要詳細闡 述)。
[0084] 在具有專用輸入模塊的實施方案的一個優選替換變化方案中,從該專用輸入模塊 向存儲器、例如FIFO存儲器進行直接的傳輸,其中該計算單元(MCS)或該微控制器的中央 處理單元(CPU)對該存儲器進行訪問。替換地,計算單元(MCS)或該中央處理單元(CPU)也 可以直接訪問該專用輸入模塊的存儲器。
[0085] 在前述的具有專用輸入單元的一種擴展中,該專用輸入單元可以給每個比特流或 每個消息幀分配一個時間戳(為此需要訪問時間信息,例如通過時基單元)。計算單元(MCS) 或該微控制器的中央處理單元(CPU)可以應用該時間戳以進行消息幀的處理或分析。
[0086] 如同在這種專用輸出單元的情況下一樣,這種專用的輸入單元也與較高的成本相 關聯,從而必須把所討論的優點與成本缺點相平衡,以選擇合適的實施方案。
[0087] 在所述的具有專用輸入單元的實施例中,首先假定,其餘方法步驟(通過該輸出模 塊進行數據輸出,通過該路由單元進行路由,通過該計算單元(MCS)進行協議計算,必要時 通過該CRC單元進行CRC計算)繼續如上所述地來進行,以及其餘的硬體電路(輸出模塊、路 由單元、計算單元(MCS)、必要時的CRC單元)繼續如上所述來構建。然而在具有一種特別 高性能的、用於實現通用串行接口的硬體電路的實施變化方案中,其不僅具有如剛剛所述 的具有過濾功能的專用輸入模塊,而且還具有如上所述的專用輸出模塊。
[0088] 在圖5中示意示出了具有專用輸入單元的、用於實現通用串行接口的一種硬體電 路。該微控制器501具有該硬體部件510--也即輸入模塊511、路由單元512、計算單元 (MCS) 513以及輸出模塊514--以及至數據輸入通道502和數據輸出通道503的連接,該 微控制器501再次最大程度對應於圖1中的微控制器101。但是與此不同,該專用輸入模 塊511是具有電路的硬體單元,該電路用於實現過濾功能,尤其對所接收比特進行過掃描 和表決,其中根據在一個比特的掃描點上所檢測的電平值通過多數判決來確定該比特的電 平值。與在圖1中所述的輸入模塊相反,該專用輸入模塊511必須具有存儲器,該存儲器具 有足夠的容量以存儲完整的比特流或完整的所接收的消息幀。
[0089] 與圖1相比,在圖5中還示出了存儲器516,例如FIFO存儲器。至少該輸入模塊 511對該FIFO存儲器進行訪問。與前述變化方案之一相對應,從該專用輸入模塊511向該 存儲器516進行直接的傳輸,其中該微控制器的中央處理單元(CPU)訪問該存儲器,如在圖 5中通過從存儲器516至該微控制器501的所示連接所示。
[0090] 在用於提供通用串行接口的硬體電路的另一變化方案中,前述的實施方案另外還 具有另一硬體組件,該硬體組件被用於消息仲裁。該組件在此承擔了時間嚴苛的功能,其中 其餘的電路部分由於其結構和時鐘頻率而不能最佳地用於上述時間嚴苛的功能。
[0091] 該組件優選地涉及用於支持CAN仲裁的組件。對於CAN仲裁,在相應高的數據速 率時必須在幾納秒的內部處理時間(IPT)內就識別在總線上存在顯性電平。在該總線上存 在顯性電平的情況下,如果在當前的比特中(在當前的時鐘片段中)在該接口中存在一個隱 性比特,那麼就不允許該接口在下一比特時(在下一時鐘片段中)驅動顯性電平。在這種情 況下,該接口(以及從而相應的CAN節點)從該仲裁中被淘汰,因為另一 CAN節點具有更高優 先權(也即具有更早的顯性電平)的消息。對於這種功能,前述的在圖1中示例闡述的硬體 部件並不是最佳的。從而利用一種專門為此而設置的模塊就能夠實現更快的響應時間。
[0092] 在圖7中為了闡述CAN仲裁而繪製了存在於CAN總線上的信號701以及存在於微 控制器內部的要發送的信號702。從左向右用虛線劃分了四個時鐘片段。在時鐘片段1中, 不僅在總線上而且作為內部信號存在隱性電平。在時鐘片段2中在總線上具有顯性電平, 內部信號對該時鐘片段具有隱性電平。從而該節點從仲裁中被淘汰。從而通過用於仲裁的 硬體單元,現在在時鐘片段3中禁止驅動所設置的顯性電平。相應地在時鐘片段4中以及 隨後的時鐘片段中也不再允許該節點發送,直到在該CAN總線上已贏得該仲裁的那次傳輸 結束。
[0093] 圖6示出了微控制器601,其具有用於提供通用串行接口、尤其CAN接口的硬體模 塊610,以及具有用於通過該接口進行消息仲裁的附加硬體單元630。該微控制器601具有 該硬體部件610,也即輸入模塊611、路由單元612、計算單元(MCS) 613以及輸出模塊614, 其再次最大程度對應於圖1中的微控制器101。但另外該微控制器601還與(在該例子中外 部的)用於仲裁的硬體模塊630相連接。該輸入數據通道602尤其是CAN-Rx線,該輸出數 據通道603是CAN-Tx線。附加硬體單元630優選是外部邏輯電路,其中一旦接收到相應的 信號,那麼該外部邏輯電路就中止該節點的發送。在CAN仲裁的情況下,一旦在該總線上具 有顯性電平,並且自己的信息在相同的時鐘單位時是隱性的,那麼就例如進行這種發送中 止。該模塊630例如可以作為邏輯電路通過門功能、可編程邏輯單元(PLD)或現場可變成 門陣列(FPGA)來實現。
[0094] 在圖6中還示出了第二輸出模塊615。該第二輸出模塊可以通過提供計時器資源 來支持附加的仲裁硬體單元630。這些資源例如是為了等待特定比特長度或維持特定暫停 而需要的。一種替換的實施方案是,同樣作為附加的硬體電路來設置該計時器資源。
[0095] 附加的仲裁硬體單元優選地可以通過可配置的邏輯裝置而靈活地分配給不同的 輸出模塊。但是固定的分配也是可以的。
[0096] 附加的仲裁硬體單元優選地作為可編程邏輯裝置(例如FPGA或CPLD)位於該微控 制器外部。但是通過這種可編程邏輯電路的集成也可以實現在該微控制器上的一種替換實 施。
[0097] 專用的仲裁硬體單元可以準備有其他的測量和分析功能。在一個優選的變化方案 中,這種CAN仲裁單元例如還識別所使用的協議是否是CAN或CAN-FD (具有靈活數據速率 的 CAN)。
[0098] 在所述的具有專用仲裁硬體單元的實施例中,首先假定,其餘的方法步驟(在輸入 模塊中的數據輸入,通過該輸出模塊進行的數據輸出,通過該路由單元進行的路由,通過該 計算單元(MCS)進行的協議計算,必要時通過該CRC單元進行的CRC計算)繼續如上所述進 行,以及其餘的硬體電路(輸入模塊、輸出模塊、路由單元、計算單元(MCS)、必要時的CRC單 元)繼續如前面圖1所述來構建。但該專用仲裁硬體單元也可以沒有問題地與具有專用輸 入模塊和/或專用輸出模塊的實施例相組合。
[0099] 在另一優選的變化方案中,在前述的實施方案中另外還可以實施波特率識別。這 種波特率識別例如能夠適應不同的波特率。
[0100] 所述波特率識別可以以軟體或硬體來實施。在軟體實現時,例如可以從該輸入模 塊的捕捉信息中通過該計算單元(MCS)或該微控制器的中央處理單元(CPU)來進行波特率 識別。數據的輸入頻率在此情況下可以被測量,並且通過參照頻率的調製可以確定波特率。 為此必須分析完整的消息幀,這在軟體實現中是費時的。
[0101] 在一個優選的替換實施方案中,波特率識別以硬體來被執行。這或者可以在附加 的硬體電路中來進行,或者在一個裝備有相應附加功能的專用輸入模塊中來進行,如前(例 如在圖5中)所述。與軟體實現相比,利用硬體實現可以實現更快的波特率識別和波特率適 應,另外計算單元(MCS)或中央處理單元(CPU)被更小地承載。
[0102] 在圖10中示出了以通用UART接口為例的以硬體來實現的波特率識別的一個相應 流程圖。
[0103] 在所規定的協議中消息幀的基本構造是已知的,例如在當前例子中,已知一個消 息幀總是以具有低電平的一個起始比特開始,並以具有高電平的一個停止比特結束。在 用於確定波特率的第一步驟1001中通過相應的硬體功能數出在起始比特和停止比特之間 (也即第一高低邊緣至最後的低高邊緣之間)的時鐘的數量。時鐘數量在此優選地從時基中 來導出,其中該時基給該硬體功能提供時鐘(例如來自時基單元),並且該時基小於要讀出 的波特率。
[0104] 該消息幀的長度(也即比特數量)是該硬體功能所已知的。對於例如採取的協議已 知,一個消息幀具有十個比特(例如起始比特、八個數據比特、停止比特)。在第二步驟1002 中,把所確定的、從起始比特至停止比特之間所經過的時鐘的數量除以一個消息幀的比特 數量(例如十)。在第三步驟1003中可以把由此所確定的波特率進行傳輸,例如傳輸至該計 算單元(MCS)或該微控制器的中央處理單元(CPU)。
[0105] 例如在要實現的UART或LIN接口的情況下,幀長度可能總是恆定的並從而可能是 已知的,而例如在CAN的情況下,消息幀的長度(也即比特數量)可以是未知的。在所述波特 率識別的一個變化方案中,在此也可以以硬體來識別波特率。例如可以確定在一個消息幀 的兩個比特之間的最短時間。
[0106] 為了識別波特率,必須能夠確定一個消息幀的開頭和結尾。這例如可以通過設定 的時鐘數量、例如三個時鐘(在波特率恆定的情況下對應於固定的時間,例如150ns )針對特 定電平來進行。
【權利要求】
1. 用於在尤其運輸工具的控制設備中提供至少一個通用接口的方法,其中該控制設備 具有微控制器(101),該微控制器具有中央處理單元(CPU)、至少一個非接口專用的輸入模 塊(111)、至少一個非接口專用的輸出模塊(114)、至少一個路由單元(112)、以及具有用於 處理接口專用信息的至少一個計算單元(113),並且其中所述至少一個通用接口是能被配 置的,以按照配置來提供與多個串行接口、尤其SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、 I2C、MSC或Ethernet之一相對應的功能,其特徵在於以下的步驟: -通過所述至少一個非接口專用的輸入模塊(111)接收與多個串行接口之一的協議對 應的輸入數據, -該輸入數據通過該路由單元(112 )被傳輸到所述至少一個計算單元(113 ), -由所述至少一個計算單元(113)從該輸入數據中提取第一有用數據,尤其通過從該 輸入數據中去除協議的協議細節, -所述第一有用數據被提供給該中央處理單元(CPU), -由所述至少一個計算單元(113)接收該中央處理單元(CPU)的第二有用數據, -由所述至少一個計算單元(113)從該第二有用數據中生成輸出數據,尤其通過給該 第二有用數據添加協議的協議細節, -該輸出數據通過該路由單元(112)被傳輸到所述至少一個非接口專用的輸出模塊 (414), -通過所述至少一個非接口專用的輸出模塊(114)對應於多個串行接口之一的協議來 發送該輸出數據。
2. 根據權利要求1所述的方法,其中該計算單元(113)訪問第一存儲器,並且在該第一 存儲器中存儲有協議細節,尤其與起始比特、停止比特、奇偶校驗信息、控制比特和填充比 特之一有關的息。
3. 根據權利要求2所述的方法,其中該協議細節由該中央處理單元(CPU)存儲在該第 一存儲器中。
4. 根據前述權利要求之一所述的方法,其中所述至少一個非接口專用的輸入模塊 (111)和所述至少一個非接口專用的輸出模塊(114)通過配置而被固定地分配給多個串行 接口之一。
5. 根據前述權利要求之一所述的方法,其中該計算單元(113)還進行較高協議層的計 算,尤其多個UART消息幀到一個LIN消息幀的轉換。
6. 根據前述權利要求之一所述的方法,其中該第一有用數據被提供給該中央處理單元 (CPU),其方式是,該計算單元(113)把該第一有用數據寫入到第二存儲器中,並通過中斷將 此通知給該中央處理單元(CPU )。
7. 根據權利要求1至5之一所述的方法,其中該第一有用數據由該計算單元(113)通 過存儲器直接訪問(DMA)而提供給該中央處理單元(CPU)。
8. 根據前述權利要求之一所述的方法,其中該輸入數據在所述至少一個非接口專用的 輸入模塊(111)中被分配了時間信息。
9. 根據權利要求8所述的方法,其中在所述至少一個非接口專用的輸入模塊(111)中, 給在該微控制器(101)的輸入端上施加的該輸入數據的每個邊緣變換都分配時間戳。
10. 根據權利要求9所述的方法,其中通過單獨地傳輸該輸入數據的具有所分配時間 戳的每個邊緣變換,所述至少一個非接口專用的輸入模塊(111)把該輸入數據傳輸到該路 由單元(112)。
11. 根據權利要求10所述的方法,其中該計算單元(113)從該輸入數據的具有所分配 時間戳的邊緣變換中來確定消息幀。
12. 根據權利要求1至7之一所述的方法,其中該輸入數據的完整的輸入消息幀被存儲 在所述至少一個非接口專用的輸入模塊(511)中,並且所述完整的輸入消息幀被提供給該 計算單元(513)。
13. 根據權利要求12所述的方法,其中通過所述至少一個非接口專用的輸入模塊 (511)藉助過掃描來分析該輸入消息幀,並通過根據過掃描的掃描點的電平值的比特電平 表決來確定該消息幀的比特的電平。
14. 根據權利要求13所述的方法,其中在所述至少一個非接口專用的輸入模塊(511) 中給該輸入消息幀分配時間戳。
15. 根據前述權利要求之一所述的方法,其中該計算單元(113)從該第二有用數據中 生成該輸出數據,其方式是該計算單元根據預定的波特率來確定該輸出數據的具有所分配 時間戳的相應邊緣變換。
16. 根據權利要求15所述的方法,其中該輸入數據被傳輸到所述至少一個非接口專用 的輸出模塊(114),其方式是由該路由單元(112)單獨地傳輸該輸出數據的具有所分配時 間戳的每個邊緣變換。
17. 根據權利要求15或16之一所述的方法,其中所述至少一個非接口專用的輸出模 塊(114)把該輸出數據的每個邊緣變換的所分配時間戳與時間信息相比較,並在一致的情 況下把相應的邊緣施加在該微控制器(101)的輸出端上。
18. 根據權利要求1至14之一所述的方法,其中該計算單元(413)從該第二有用數據 中生成完整的輸出消息幀來作為輸出數據,並將該輸出消息幀傳輸到所述至少一個非接口 專用的輸出模塊(414)。
19. 根據權利要求18所述的方法,其中如果通過該計算單元(413)或該中央處理單 元(CPU)來觸發相應的觸發信號,或者如果分配給該輸出消息幀的時間戳對應於所述至少 一個非接口專用的輸出模塊(414)的時間信息,那麼所述至少一個非接口專用的輸出模塊 (414)就傳輸該輸出消息中貞。
20. 根據權利要求1至19之一所述的方法,其中針對該輸入數據來執行波特率識別。
21. 控制設備的、尤其運輸工具控制設備的微控制器(101),其具有中央處理單元 (CPU)、至少一個非接口專用的輸入模塊(111 )、至少一個非接口專用的輸出模塊(114)、至 少一個路由單元(112),並具有用於處理接口專用信息的至少一個計算單元(113),其特徵 在於,該微控制器(101)設置用於執行權利要求1至20之一所述的方法。
22. 控制設備的、尤其運輸工具控制設備的微控制器(101),其具有中央處理單元 (CPU)、至少一個非接口專用的輸入模塊(111)、至少一個非接口專用的輸出模塊(114)、 至少一個路由單元(112),並具有用於處理接口專用信息的至少一個計算單元(113),其 特徵在於,該微控制器(113)能被如此來配置,使得所述至少一個非接口專用的輸入模塊 (111)、至少一個非接口專用的輸出模塊(114)、至少一個路由單元(112)以及用於處理接 口專用信息的至少一個計算單元(113)按照配置而滿足與多個串行接口、尤其SPI、UART、 LIN、CAN、PSI5、FlexRay、SENT、I2C、MSC 或 Ethernet 之一相對應的功能。
23. 根據權利要求21或22所述的微控制器(101 ),其中該計算單元(113)具有算術邏 輯單元(ALU)。
24. 根據權利要求21至23之一所述的微控制器(101),其中所述至少一個非接口專用 的輸入模塊(111)具有捕捉功能,和/或所述非接口專用的輸出模塊(114)具有比較功能。
25. 根據權利要求21至24之一所述的微控制器(301),其具有單獨的第一硬體電路 (315)以進行CRC計算。
26. 根據權利要求21至25之一所述的微控制器(601 ),其具有單獨的、尤其用於CAN仲 裁的第二仲裁硬體電路,或者其與單獨的、尤其用於CAN仲裁的第二仲裁硬體電路(630)相 連接。
27. 根據權利要求26所述的微控制器(601 ),其中該單獨的第二仲裁硬體電路(630)設 置用於執行分析,以分析是否傳輸對應於CAN協議或CAN-FD協議的輸入數據。
28. 根據權利要求21至27之一所述的微控制器(101),其中該路由單元(112)和/或 該計算單元(113)以至少100MHz的時鐘、尤其以至少200MHz的時鐘來工作。
29. 根據權利要求21至28之一所述的微控制器(101),其設置用於,通過所述至少一 個非接口專用的輸入模塊(111)以至少1M波特的輸入波特率來接收輸入數據,以及通過所 述至少一個非接口專用的輸出模塊(114)以至少1M波特的輸出波特率來發送輸出數據。
30. 根據權利要求21至29之一所述的微控制器(101),其除了所述至少一個非接口專 用的輸入模塊(111)和所述至少一個非接口專用的輸出模塊(114)之外還具有至少一個接 口專用的輸入模塊和至少一個接口專用的輸出模塊。
31. 根據權利要求21至30之一所述的微控制器(201),其另外還具有計時器模塊 (230),該計時器模塊具有計時器輸入模塊(231)、計時器輸出模塊(234)、計時器路由單元 (232)和計時器計算單元(233)。
32. 根據權利要求31所述的微控制器(201),其中該微控制器(201)設置用於,如果 不需要所述至少一個非接口專用的輸入模塊(211)、所述至少一個非接口專用的輸出模塊 (214)、所述至少一個計算單元(213)和該路由單元(212)來滿足與多個串行接口之一相對 應的功能,那麼就利用所述至少一個非接口專用的輸入模塊(211)、所述至少一個非接口專 用的輸出模塊(214)、所述至少一個計算單元(213)和該路由單元(212)來執行該計時器模 塊(230)的計時器功能。
33. 具有權利要求21至32之一所述的微控制器的運輸工具控制設備。
【文檔編號】G05B19/042GK104216311SQ201410229243
【公開日】2014年12月17日 申請日期:2014年5月28日 優先權日:2013年5月29日
【發明者】A.奧厄, E.貝克 申請人:羅伯特·博世有限公司