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