用于提供通用接口的方法以及具有通用接口的微控制器的制造方法

文档序号:7804834阅读:263来源:国知局
用于提供通用接口的方法以及具有通用接口的微控制器的制造方法
【专利摘要】用于控制设备的、尤其用于运输工具控制设备的微控制器,其包含有中央处理单元(CPU)、至少一个非接口专用的输入模块、至少一个非接口专用的输出模块、至少一个路由单元以及用于处理接口专用信息的至少一个计算单元。在此该微控制器可以如此来配置,使得所述至少一个非接口专用的输入模块、至少一个非接口专用的输出模块、至少一个路由单元以及用于处理接口专用信息的至少一个计算单元满足与多种串行接口、尤其SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、I2C、MSC或Ethernet之一相对应的功能。此外该输入模块还存储输入数据的整个输入消息帧,并将其提供给该计算单元或该中央处理单元。
【专利说明】用于提供通用接口的方法以及具有通用接口的微控制器

【技术领域】
[0001] 本发明涉及尤其用于对运输工具中的功能进行控制的电子控制设备,这些电子控 制设备具有对外的接口,以与通信系统的其他用户相通信。 现有技术
[0002] 运输工具中的控制设备通常具有串行接口,例如SPI、UART、LIN、CAN、PSI5、 FlexRay、SENT、I2C、MSC (Micro-Second-Channel,微型第二通道)、Ethernet (以太网)等, 以与其他的控制设备、传感器、执行器或其他外围设备相连接或相通信。根据现有技术,这 些串行接口在该控制设备的微控制器中通过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] 另外,通过该输入模块能够对该输入数据的内容进行特别可靠的识别,如果输入 数据通过过扫描而被分析并通过扫描点电平值的多数协调一致来为输入数据的每个比特 确定比特电平的话。
[0018] 在用于输出数据的一种方法中,通过由计算单元把有用数据转换为具有所分配的 时间戳的边缘变换,该计算单元在该中央处理单元一侧来处理有用数据。为此该计算单元 必须针对应当用来输出输出数据的边缘变换的间距来识别相应的波特率,也即在输出时的 数据传输速度。具有时间戳的每个边缘变换都单独通过一个路由单元而被传输到一个输出 模块。在那里通过与时间信息的比较把每个边缘变换在所期望的时间施加于该输出上。这 使得能够利用非接口专用的输出模块来进行灵活的且与协议无关的数据输出。
[0019] 替换地,也可以在输出时由该计算单元向该输出模块提供完整的消息帧,而不是 具有时间戳的各个电平变换。然后例如通过该计算单元或该中央处理单元的触发,或者在 整个消息巾贞的时间戳与输出模块中的时间信息相一致时,进行整个消息巾贞的输出。由此该 路由单元被减负,并且该路由单元的负载和速度对发送速度的限制更少。
[0020] 该计算单元例如具有算术逻辑单元,优选地该算术逻辑单元作为多通道定序器实 现。
[0021] 在一种微控制器中,非接口专用的输出模块具有比较功能,该微控制器可以提供 特别灵活和简单可实现的通用接口。利用更少的资源就可以实现高得多的微控制器灵活 性。
[0022] 该微控制器的应用可能性可以通过其他单独的硬件电路来加以扩展,例如用于 CRC计算或者在总线仲裁期间的计算(例如在CAN情况下),这些硬件电路或者是该微控制 器的组成部分或者与该微控制器相连。通过这种在特定功能上优化的硬件单元,其余不太 专用的模块、尤其该微控制器的计算单元被减负。只有利用这种附加的单元才以所需的可 靠性和速度来实现该微控制器的一些计算并从而实现一些应用。
[0023] 为了使该通用接口在一定范畴中提供相应的、如扩展到许多应用中(尤其汽车领 域)的串行接口,该路由单元和/或该计算单元应该以至少100MHz的时钟、尤其以至少 200MHz的时钟被驱动,并从而输入数据能够以至少1M波特的输入波特率被接收,以及输出 数据能够以至少1M波特的输出波特率被发送。
[0024] 不仅具有专用的以硬件来实现的接口而且具有包括非接口专用硬件的通用接口 的微控制器是应用非常灵活的并且尽管如此还是特别有利的,所述非接口专用硬件能够被 配置以利用软件计算实现所期望的接口。从而对于该微控制器的已知的应用情况可以在应 用之间固定地实施某种接口交集,而在应用之间不同的接口要求或还未知的接口要求利用 通用接口来涵盖。
[0025] 可以把在微控制器中实现通用接口的硬件电路与一个或多个计时器模块相组合。 如果在硬件块之一中有相应的容量可用,那么计时器模块也可以在执行任务时灵活地相互 支持。
[0026] 所述的微控制器尤其可以良好地应用在控制设备中,尤其在汽车领域。在此在同 时存在严格的成本预定的情况下,对接口的要求是特别高的。

【专利附图】

【附图说明】
[0027] 下面参照附图并借助实施例来详细解释本发明。其中: 图1示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路, 图2示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路以及计时器 模块, 图3示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路以及具有用 于CRC计算的专用的硬件电路, 图4示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路以及具有专 用的输出模块, 图5示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路以及专用的 输入模块和附加的存储器, 图6示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路以及用于支 持仲裁的电路, 图7示意示出了具有边缘变换的两个示例信号曲线,以解释CAN仲裁, 图8示意示出了用于通过通用接口来接收数据的一种方法的示例流程, 图9示意示出了用于通过通用接口来发送数据的一种方法的示例流程, 图10示意示出了用于波特率识别的一种方法的示例流程,以及 图11示意示出了通过单独的CRC单元来进行CRC计算的数据传输示例流程。

【具体实施方式】
[0028] 概念"串行接口 "在下文中理解为用于在设备之间进行串行数据交换的一种连 接。串行数据传输的特征是其中通过一个或多个导线来依次传输比特的数据传输。属于运 输工具中所使用串行接口的例如是SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、I2C、MSC和 Ethernet。
[0029] 在 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)。
[0030] 该计时器模块采用了 "Capture/Compare,捕捉/比较"基本原理。在此情况下进 入该输入单元(TIM)的信号与对应于其到达的时间戳相关联。该输入单元(TIM)在此例如 从时基单元(time base unit, TBU)获得相应的时间说明。该时间戳的功能对应于"捕捉/ 比较"的"捕捉"。应该通过该计时器模块的输出单元(ATOM)来发送的信号例如由进行处 理的计算单元(CPU,MCS)而同样设置有时间戳。在该计时器模块的输出模块(ATOM)中,该 信号的时间戳与当前的时间说明相比较。该输出模块例如同样从时基单元来获得该时间说 明。如果要输出的信号的时间戳对应于当前的时间,那么该信号就被发送。该功能对应于 "捕捉/比较"的"比较"。代替所述的时基,也可以通过输入单元和输出单元来实现角度同 步的"捕捉/比较"功能。这些功能在运输工具中可能是需要的,因为接收过程或发送过程 相对于当前发动机角度的角度位置是特别有意义的。例如进入该输入单元的信号可以设置 有角度戳,要输出的消息可以在确定的角度点被发送。
[0031] 该计算单元或数据处理单元"多通道定序器"优选地作为子模块来实现,其具有管 道级、算术逻辑单元(ALU)、解码器和至RAM存储器单元的连接。在计时器模块中也可以采 用多个多通道定序器。该输入单元优选地作为硬件组件来实现,其具有锁存器和触发器以 及至时间和/或角度提供单元的连接。该输出单元优选地作为硬件组件来实现,其具有例 如构成寄存器的锁存器和触发器、以及至时间和/或角度提供单元的连接。与时间相关的 功能的时基在此可以由该微控制器(或者其中央处理单元(CPU))的计算器时钟来导出,与 角度相关的功能的角度基准可以通过DPLL (digital phase-locked loop,数字锁相环)来 实现。
[0032] 对于该计时器模块、尤其该计时器模块的所述组成部分ARU、MCS、--Μ、ATOM、TBU 的其他功能,参见W0 2011120823 Al。W0 2011120823 A1的相应说明部分由此通过参考而 被包含在本申请中。
[0033] 依据已知的计时器模块的功能,本发明的中心方面是在微控制器中提供通用串行 接口,尤其用于在运输工具控制设备中的应用。为此或者可以重新配置已在该微控制器中 集成的相应计时器模块的单元,或者在该微控制器中集成专用于该应用的单元。在此例如 可以采用该输出单元(Τ0Μ,ATOM)的"比较"功能,以通用地模拟专用的接口输出端。由计算 单元、例如多通道定序器(multi channel sequencer, MCS)来支持输入单元和输出单元, 其中该定序器执行计算以实现接口。为了在输入模块、输出模块和计算单元之间分配数据, 优选地采用了路由单元。在下文中所述的模块-输入模块、输出模块、路由单元和计算单元 在此优选地具有上文相应单元--Μ、A (TOM)、ARU以及MCS的针对计时器模块"GTM"所述的 功能。但是用于实现通用接口的硬件电路或具有这种硬件电路的微控制器由于其他的要求 (例如路由和处理的速度)而与已知的计时器模块不同。在此优选地除上述的计时器子模块 功能之外,在该微控制器的硬件中还进行变化,但至少必须通过配置把相应的计时器硬件 组件与变化的任务和要求相匹配,以能够按照本发明而被使用。
[0034] 在图1中示意示出了一种电路构造,以在微控制器中实现通用的串行接口。
[0035] 该微控制器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接口。
[0036] 该输入模块111和该输出模块114是非接口专用的硬件电路,也即它们可以处理 根据不同协议结构构建的、不同串行接口的数据。该计算单元113应该与该微控制器的中 央处理单元(CPU)不同,并在下文中为了区分而用MCS来表示,因为在该微控制器的一个优 选实施方案中该计算单元(MCS)是多通道定序器。该计算单元(MCS)的其他硬件实施同样 也是可以的,优选地同样具有算术逻辑单元(ALU)。
[0037] 该路由单元112时分复用地连接模块-输入模块111、输出模块114以及计算单元 (MCS)113。
[0038] 图1非常简化地示出了该微控制器101。当然这种微控制器101具有许多其他的 在此未示出的组成部分,其中包括至少一个中央处理单元(CPU),该中央处理单元可以在该 微控制器中执行数据处理、计算和配置。另外该微控制器101还优选地包含有多个这样的 输入模块111和输出模块114。按照应用,该微控制器也可以具有多个计算单元(MCS)113。 许多这种模块111、113、114可以与一个唯一的路由单元112相连接。对于非常复杂的应用, 在这样的微控制器101中也可以采用更多的路由单元112。
[0039] 在当前微控制器的一个特别优选的变化方案中,该微控制器具有多个"真正的"、 也即对应于现有技术固定以硬件实现的串行接口,以及具有多个"通用的"如图1所述硬 件电路形式的接口。由此可以优选地如同以前一样有利地以硬件来固定地实现特定接口类 型的最少数量的所需接口,但在该微控制器的不同应用之间不同的接口可以作为通用接口 来设置,并从而能够对应于相应的应用而以软件来加以配置。从而能够在降低待保持的接 口数量的情况下实现该微控制器的灵活应用。
[0040] 与通用计时器模块的输入模块相反,该输入模块也可以没有捕捉功能。因为专用 于为模拟的通用接口而推荐的输入模块接收完整的消息帧,从而将消息帧进行存储,并提 供给该计算单元(MCS)或该中央处理单元(CPU)。
[0041] 因此优选地这种专用的输入模块记录(也即存储)完整的比特流,并另外还过滤该 比特流。作为过滤优选地可以应用过扫描(过采样)。通过把过扫描例如与表决(协调一致) 相组合,可以更可靠地把具有高电平的所接收比特与具有低电平的所接收比特相互分离或 区分。
[0042] 该专用输入模块的输入滤波器例如可以如此来被编程,使得它以16MHz来扫描一 个1MHz信号。然后通过表决实例来对每个比特进行16次扫描,该表决实例按照预定的设 置(例如16中的3个或16中的12个)而作为比特状态来存储一个1或0。通过这种专用 的、其中实施有过扫描和表决的输入模块,也可以实现具有更高抗干扰要求的接口。
[0043] 通过与触发事件、例如在UART情况下的起始比特相同步,该专用输入单元可以参 照该比特流而被设置为所定义的状态。如果所有的比特都被读入(例如UART:起始比特、 8个数据比特、奇偶校验比特、停止比特),那么这些数据就从该专用输入模块的输出端通 过该路由单元而被传输到该计算单元(MCS),这些数据然后被转换为较高的协议层(例如 KWP2000、LIN),或者这些数据被直接写入到FIFO存储器中,其中应用软件可以从该FIFO中 获取这些数据。该计算单元(MCS)从该路由单元获得消息帧的数据作为单个消息。由此该 路由单元由于不对该消息帧的各个部分执行很多单独传输而被减负。输入数据的处理速度 不与该路由单元的速度强烈相关。从而除了该路由单元和计算单元(MCS)的减负之外,还 能够以更快的数据速率来进行输入数据的处理。
[0044] 除了被过滤的、也即在过扫描和表决之后所确定的正确比特电平之外,还可以转 发如下的信息(例如转发到该计算单元(MCS)或该微控制器的中央处理单元(CPU)),即这 些比特是否被干扰以及干扰程度,也即例如该表决的明确程度。例如可以通知一个比特的 多少个被扫描值具有相同的电平。为了使表决更鲁棒,例如也可以屏蔽直接在边缘变换之 前以及直接在边缘变换之后的点(采样),以使表决、也即比特识别更鲁棒。
[0045] 对于所述的、具有执行过扫描和表决的专用输入模块的硬件电路,为了改善比特 识别也可以针对所述表决而采用所确定的波特率(这种波特率识别在下文中还要详细阐 述)。
[0046] 在具有专用输入模块的实施方案的一个优选替换变化方案中,不是通过该路由单 元进行传输,而是从该专用输入模块向存储器、例如FIFO存储器进行直接的传输,其中该 计算单元(MCS)或该微控制器的中央处理单元(CPU)对该存储器进行访问。替换地,计算单 元(MCS)或该中央处理单元(CPU)也可以直接访问该专用输入模块的存储器。
[0047] 在前述的具有专用输入单元的一种扩展中,该专用输入单元可以给每个比特流或 每个消息帧分配一个时间戳(为此需要访问时间信息,例如通过时基单元)。计算单元(MCS) 或该微控制器的中央处理单元(CPU)可以应用该时间戳以进行消息帧的处理或分析。
[0048] 在图5中示意示出了具有专用输入单元的、用于实现通用串行接口的一种硬件电 路。该微控制器501具有该硬件部件510--也即输入模块511、路由单元512、计算单元 (MCS) 513以及输出模块514--以及至数据输入通道502和数据输出通道503的连接,该 微控制器501再次最大程度对应于图1中的微控制器101。但是与此不同,该专用输入模 块511是具有电路的硬件单元,该电路用于实现过滤功能,尤其对所接收比特进行过扫描 和表决,其中根据在一个比特的扫描点上所检测的电平值通过多数判决来确定该比特的电 平值。与在图1中所述的输入模块相反,该专用输入模块511必须具有存储器,该存储器具 有足够的容量以存储完整的比特流或完整的所接收的消息帧。
[0049] 与图1相比,在图5中还示出了存储器516,例如FIFO存储器。至少该输入模块 511对该FIFO存储器进行访问。与前述变化方案之一相对应,从该专用输入模块511向该 存储器516进行直接的传输,其中该微控制器的中央处理单元(CPU)访问该存储器,如在图 5中通过从存储器516至该微控制器501的所示连接所示。
[0050] 在图8中示意示出了用于实现接收消息的通用串行接口的一种方法的流程图。
[0051] 在第一步骤801中,在微控制器的输入模块(例如图1的111)中,数字数据从微控 制器外部作为比特而被接收。在此在该输入模块处施加有输入信号。该输入信号以与要模 拟的串行接口相对应的一种协议而出现。
[0052] 在步骤802中,该输入模块把输入数据的整个比特流或完整的消息帧进行存储。 为此该输入模块必须具有足够大的存储器。优选地该存储器足够大,以分别对应于可能要 模拟的接口来存储所有协议的最大的完整消息帧。
[0053] 在步骤803中,该输入模块执行过扫描,也即所接收的比特利用输入数据速率的 多倍时钟而被扫描。作为结果,该输入模块针对每个比特获得与在每个扫描点上所检测的 电平相对应的多个电平值。针对所接收的输入数据的每个比特,该输入模块根据该比特在 扫描点上的电平值来执行分析或表决。在此确定对于该比特更多地检测到哪种电平值(高 或低或者显性或隐性)。接着利用这种表决来确定该比特的值。
[0054] 在步骤804中,该输入模块把如此确定的输入数据提供给该计算单元(MCS)。这可 以以多种方式来进行,例如通过该路由单元,通过写入存储器中或通过直接的存储器访问 (DMA)。
[0055] 在步骤805中,该计算单元(MCS)处理分别以整个消息帧的形式、例如通过该路由 单元而到达该计算单元的信息。该计算单元(MCS)检验该信息,并对应于当前的协议来去 除控制比特(例如(多个)起始比特、(多个)停止比特、(多个)奇偶校验比特、(多个)填充比 特)。该计算单元(MCS)从而从该消息帧中提取有用数据。该计算单元(MCS)优选从本地 的、它所访问的易失存储器中获取用于该处理的信息(也即涉及哪种协议、或者如何构建该 协议消息的信息)。这些信息例如可以由该微控制器的中央处理单元(CPU)从非易失存储 器(例如闪存)被传输到此。在该微控制器启动时,优选地该输入模块和还要进行阐述的输 出模块通过该中央处理单元(CPU)而被固定分配特定消息协议,并且关于此的信息以及相 应的协议信息被存储在易失的存储器中,以能够由该计算单元(MCS)访问。
[0056] 在一个可选的步骤806中,该计算单元(MCS)可以执行实施其他的处理步骤和计 算,例如更高协议层的计算。例如可以把多个UART帧变换为一个LIN帧,或者执行各种信 号计算。
[0057] 在步骤807中,该计算单元(MCS)把所处理过的信息提供给该微控制器的中央处 理单元(CPU)。优选地该信息被存储在存储器(例如RAM)中,并通知该中央处理单元(CPU) (例如通过中断或者通过DMA通道的触发)。在此该消息除了有用数据之外例如还具有其他 的信息,例如在CAN消息情况下的标识符。
[0058] 在步骤808中,该中央处理单元(CPU)最后对所接收的信息进行处理。
[0059] 在图9中示意示出了用于实现发送消息的通用串行接口的一种方法的流程图。
[0060] 在步骤901中,微控制器的中央处理单元(CPU)把一个信号(必要时具有标识符) 提供给计算单元(MCS,例如图1中的113)。在步骤901中,在该计算单元(MCS)中对该信号 执行处理。由该数字信号的比特来计算边缘变换的曲线,并给边缘变换设置时间说明。对 于在边缘变换之间正确的时间间隔,该计算单元(MCS)需要与要使用的波特率有关的信息。 另外还应添加与要使用的协议相对应的协议信息,例如控制比特,象(多个)起始比特、(多 个)停止比特、(多个)奇偶校验比特、(多个)填充比特。该计算单元(MCS)再次优选地从本 地的、它所访问的易失存储器中获取用于该处理的信息(也即涉及哪种协议、或者如何构建 该协议消息的信息)。该信息例如可以由该微控制器的中央处理单元(CPU)从非易失存储 器(例如闪存)被传输到此。
[0061] 在步骤902中,如此所获得的数据由该计算单元(MCS)转发到路由单元(例如在图 1中的112)。在随后的步骤903中,该数据由该路由单元路由到预定的输出单元(例如图1 中的114)。
[0062] 该输出单元从而获得要作为边缘变换发送的数据,连同与以下时间点有关的信 息,在该边缘上的边缘变换应当在所述时间点处被施加到输出端上,并从而发送所期望的 消息。在步骤904中,该输出单元为此把所获得的时间信息与要提供的时间信息相比较α匕 较功能)。该时间信息例如可以通过时基单元来加以提供。最后在该时间信息与分配给随 后边缘变换的时间点相一致的情况下,该输出单元就把该边缘变换施加在输出端上,并从 而把所期望的数据作为比特流以预定的波特率并按照与要模拟的串行接口相对应的消息 协议来发送。在该实施变化方案中,分别针对每个边缘变换连同时间信息单独地从该计算 单元(MCS)通过该路由单元传输到该输出模块。该输出模块可以如此来设置,使得当之前 所接收的与时间信息相对应的边缘变换已经被发送或已经被施加在输出端上时,该输出模 块才准备接收另一边缘变换连同时间信息。
[0063] 不同的配置都可以用于硬件实现该通用串行接口。一方面,微控制器可以具有诸 如前述"通用计时器模块"的计时器模块,并还具有如图1所述的硬件电路。在这种配置中, 无论要实现什么接口,该计时器模块都可以满足它所承担的任务。该接口功能通过该微控 制器的附加硬件电路来提供。在这种配置中,只要该硬件电路没有由于接口功能而满载,尤 其只要相应的输入和输出模块没有被分配接口功能,那么可以通过配置而优选地把计时器 功能转移到该附加硬件电路上。在一个专用的变化方案中,只要该计时器模块为此具有足 够空闲的容量和足够的硬件设计并为此被配置,那么该计时器模块(或其硬件单元)也可以 承担该附加硬件电路的接口功能。
[0064] 在图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例如可以通过前述的计 时器模块-"通用计时器模块"来实现。
[0065] 在另一变化方案中,硬件单元如图1所述不仅可以承担计时器功能,而且可以承 担接口功能。这种硬件单元与前述的通用计时器模块相比优选地具有一个或多个路由单 元,该路由单元以更高的频率被驱动,并且对每个路由单元具有少量的模块,以如实现通用 串行接口所需那样提高服务率并能够实现更高的波特率。例如路由单元和计算单元(MCS) 可以不是以80MHz被驱动,而是以从100MHz开始、优选从200MHz开始的频率被驱动。优 选地路由单元和计算单元(MCS)的频率如此来设置,使得能够实现具有1M波特或更高的接 □。
[0066] 在这两种变化方案中,通过可能在接口功能与计时器功能之间的相互转化而获得 了灵活性。例如在具有微控制器的控制设备中的一种应用中,在把计时器/接口模块与16 个输出模块相组合利用的情况下,可以为控制发动机的八个汽缸而提供计时器功能。为此 例如可以采用具有比较功能的八个输出模块以控制点火,并采用具有比较功能的八个输出 模块以分别控制一个汽缸的喷油。如果在另一应用中采用具有组合的计时器/接口模块的 微控制器来控制具有四个汽缸的发动机,那么刚才所述的16个输出模块中的八个不需要 被用于关于控制汽缸的计时器功能,并从而可以用于模拟例如八个串行接口的输出信号。 [0067] 按照要模拟的串行接口的类型,除了前述的模块和单元之外还可能需要其他的硬 件组件。
[0068] 例如对于特定的协议还必须执行CRC计算,例如对于PSI5或CAN。在CRC(Cyclic Redundancy Check,循环冗余校验)情况下针对数据来确定一个校验值,并在传输之后根据 所传输的数据来校验该校验值,以识别传输错误或存储器错误。所实施的计算单元(MCS)对 于这种计算类型并不是最佳的,并且在必要时必须被装备更高的计算功率。此外在具有多 个计算单元(MCS)的硬件电路的情况下,每个计算单元(MCS)将承载这种附加计算。另外 CRC计算在一些协议情况下必须非常快速地被执行,以能够在必要时触发协议中的动作,例 如错误消息帧。
[0069] 因此,出于面积和性能的原因,在一个唯一的模块中来执行CRC计算是有利的。在 前述的用于模拟串行接口的硬件电路的一种优选扩展方案中,这些硬件电路相应地另外还 具有单独的单元来计算CRC信息。在具有多个计算单元(MCS)的硬件电路的情况下,该CRC 校验单元优选地为多个或所有的计算单元(MCS)来集中这行这种计算。
[0070] 附加的CRC单元对于具有高速度要求的协议也能够足够快地提供CRC计算和CRC 比较。该CRC单元在此优选地至少执行CRC校验值的计算,必要时还执行CRC校验值的校 验。如果一个CRC校验值通过该CRC单元被识别为不正确,那么就可以优选地通过该计算 单元(MCS)促使重新进行传输。
[0071] 该CRC校验单元优选地作为硬件逻辑电路来实现,例如其为此可以具有X0R逻辑 和移位寄存器。对此的替换是以软件利用(例如小的附加的)计算单元的计算来实现。
[0072] 在图3中示出了一种硬件电路,其具有这样的附加的CRC单元。该微控制器301具 有该硬件模块310、也即输入模块311、路由单元312、计算单元(MCS) 313和输出模块314, 其最大程度对应于图1中的微控制器101。数据输入通道302和数据输出通道303分别与 输入模块311以及输出通道314相连接。除了图1中的微控制器101之外,微控制器301 还具有CRC单元315,该CRC单元在所示的实施方案中与该路由单元312相连接。
[0073] 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单元。
[0074] 在图11中示出了利用单独的CRC单元的CRC计算而进行的数据传输流程。在此 情况下阐述了从所接收数据中计算CRC值的例子。
[0075] 在第一步骤1101中,该CRC单元通过该计算单元(MCS)或者该微控制器的中央处 理单元(CPU)来加以配置。因为通常需要针对每个接口来计算不同的多项式,所以需要进 行配置。如前所述,这些多项式可以通过配置参数来加以确定。因此在用于多个通用串行 接口的CRC计算的CRC模块中,只要应该不是为同样的接口来这些两次依次相邻的计算, 那么在每次计算之前都需要进行这种配置。CRC单元的配置例如也可以通过如下方式来进 行,即该CRC单元访问具有不同多项式的表格,获得与该表格中的记录相对应的索引,并根 据该记录来引用该多项式。
[0076] 在第二步骤1102中,该CRC模块接收数据,其中应该对这些数据执行CRC计算。 该数据例如是具有CRC信息的输入数据,所述CRC信息已由该输入模块接收并被传输到该 计算单元(MCS)。在第三步骤1103中在该CRC单元中来执行CRC计算。在第四步骤1104 中,CRC计算(CRC校验值计算以及必要时的校验)的结果由该CRC模块发送到该计算单元 (MCS) (CRC校验值和/或CRC校验的结果)。优选地该数据的传输分别通过该路由单元从 该计算单元(MCS)到该CRC单元以及从该CRC单元到该计算单元(MCS)来进行。
[0077] 最后在第五步骤1105中,该计算单元(MCS)可以把由该CRC单元所计算的CRC信 息与所接收的CRC信息相比较,或者通过该CRC单元来分析CRC校验的结果,并从而在具有 偏差的情况下确定存在传输错误或存储器错误。
[0078] 在可选的第六步骤1106中,如果通过该计算单元(MCS)已确定存在传输错误或存 储器错误,那么就通过该计算单元(MCS)来触发重新传输。
[0079] 类似地也针对要发送的数据进行CRC计算。数据优选地在配置该CRC单元之后由 该计算单元(MCS)通过该路由单元而被发送到该CRC单元。在那里执行CRC计算,并且结 果由该CRC单元通过该路由单元被传输到该计算单元(MCS)。在那里把CRC值附加给该数 据,并把该数据提供给该输出模块。
[0080] 到目前所述的实施例对应于基本配置(图1)的前提均为,用于实现通用、串行接口 的硬件电路都采用了具有比较功能的输出模块。与此相反,在另一实施变化方案中,也可以 采用不具有比较功能的不同的输出模块。用于输出接口帧的这种专用模块从而与硬件电路 的以及计时器模块的前述输出模块(TOM、ATOM)不同。
[0081] 这种输出硬件模块的硬件实线例如可以通过状态自动机(状态机)与存储器相组 合来进行。代替如上所述的要接收以及要发送的比特流,该专用的输出模块可以把完整的 消息帧存储在它的存储器中。该路由单元从而可以利用发送过程把这个完整的消息发送到 该输出模块。对该输出单元的更高的硬件要求从而导致降低该路由单元的承载。此外,利 用这种输出单元更简单地实现了在数据输出时更高的波特率,因为波特率不再受到该路由 单元的时钟的限制。
[0082] 在一个优选的实施方案中,该输出单元再次必须提供时间信息(或者相对应的角 度信息)。与前述的输出单元相反,该输出单元仅需要如下的信息,即整个消息或整个消息 帧必须在哪个时间点(或以哪个角度)以及以哪种波特率被发送。然后借助可用的时间信息 或角度信息以及该输出模块已知的波特率,该数据被发送。优选地由该计算单元(MCS)或 微控制器的中央处理单元(CPU)把该数据直接写到该输出单元的存储器中。该输出单元在 此获得了该信号(日期)以及与数据速率和发送时间点有关的信息。
[0083] 替换地也可以不是通过时间信息,而是通过该计算单元(MCS)或该微控制器的中 央处理单元(CPU)的具体触发而开始向该专用输出单元的发送过程。然后该输出单元独立 地在输出管脚上来提供该数据。
[0084] 在图4中示出了一种微控制器,其具有专用的输出模块414。该微控制器401具有 硬件部件410,也即输出模块411、路由单元412、计算单元(MCS) 413以及输出模块414以 及至输入数据通道402和输出数据通道403的连接,其再次最大程度对应于图1的微控制 器101。然而该输出模块414具有扩展的功能,例如用于存储完整消息帧的存储器资源。在 所示的优选实施方案中,该输出模块414另外还具有至微控制器401的另一连接。通过该 连接,例如可以通过该微控制器401的中央处理单元(CPU)给该输出模块414来提供数据, 例如通过前述的由该中央处理单元(CPU)把该输出数据直接写入到该输出模块414的存储 器中。
[0085] 借助这种专用的输出单元而进行的数据输出流程在下文中应借助通过UART配置 的通用接口的示例传输来加以阐述: 1.该微控制器的中央处理单元(CPU)或该计算单元(MCS)把消息帧01111111111写入 到该输出单元的存储器中。其对应于一个起始比特(〇 )、8个数据比特(111 111 11 )、一个奇 偶校验比特(1,在奇校验的情况下)以及一个停止比特(1)。
[0086] 2.该微控制器的中央处理单元(CPU)或该计算单元(MCS)把要输出的消息帧的数 据速率写入到该输出单元的寄存器中。
[0087] 3.该微控制器的中央处理单元(CPU)或该计算单元(MCS)把触发信号发送到该输 出单元,以开始进行传输。在另一变化方案中,在预定数量的传输过程之后,在获得该消息 帧之后开始进行传输。在另一变化方案中,该微控制器的中央处理单元(CPU)或该计算单 元(MCS)传输应该进行或开始传输的时间点。
[0088] 4.该输出单元独立地把该消息帧以所选择的数据速率来发送。
[0089] 在所述的具有专用输出单元的实施例中,该计算单元(MCS)或该中央处理单元 (CPU)另外还例如由于把信息写入到该输出单元中以及触发该发送过程而被承载。因此在 另一有利的实施变化方案中,该输出单元通过从存储器中自动地重新加载来获得要发送的 数据或消息帧。例如可以从RAM中来进行这种自动重新加载,其中该输出单元通过级联列 表和DMA (直接存储器访问)来访问该RAM。从而也可以以高的速度在该计算单元(MCS)或 该微控制器的中央处理单元(CPU)未承载(中断)的情况下来输出较大的数据分组。
[0090] 在所述的具有专用输出单元的实施例中,首先假定,其余方法步骤(通过该输入模 块进行数据接收,通过该路由单元进行路由,通过该计算单元(MCS)进行协议计算,必要时 通过该CRC单元进行CRC计算)继续如上所述地来进行,以及其余的硬件电路(输入模块、路 由单元、计算单元(MCS)、必要时的CRC单元)继续如上所述来构建。
[0091] 在用于提供通用串行接口的硬件电路的另一变化方案中,前述的实施方案另外还 具有另一硬件组件,该硬件组件被用于消息仲裁。该组件在此承担了时间严苛的功能,其中 其余的电路部分由于其结构和时钟频率而不能最佳地用于上述时间严苛的功能。
[0092] 该组件优选地涉及用于支持CAN仲裁的组件。对于CAN仲裁,在相应高的数据速 率时必须在几纳秒的内部处理时间(IPT)内就识别在总线上存在显性电平。在该总线上存 在显性电平的情况下,如果在当前的比特中(在当前的时钟片段中)在该接口中存在一个隐 性比特,那么就不允许该接口在下一比特时(在下一时钟片段中)驱动显性电平。在这种情 况下,该接口(以及从而相应的CAN节点)从该仲裁中被淘汰,因为另一 CAN节点具有更高优 先权(也即具有更早的显性电平)的消息。对于这种功能,前述的在图1中示例阐述的硬件 部件并不是最佳的。从而利用一种专门为此而设置的模块就能够实现更快的响应时间。
[0093] 在图7中为了阐述CAN仲裁而绘制了存在于CAN总线上的信号701以及存在于微 控制器内部的要发送的信号702。从左向右用虚线划分了四个时钟片段。在时钟片段1中, 不仅在总线上而且作为内部信号存在隐性电平。在时钟片段2中在总线上具有显性电平, 内部信号对该时钟片段具有隐性电平。从而该节点从仲裁中被淘汰。从而通过用于仲裁的 硬件单元,现在在时钟片段3中禁止驱动所设置的显性电平。相应地在时钟片段4中以及 随后的时钟片段中也不再允许该节点发送,直到在该CAN总线上已赢得该仲裁的那次传输 结束。
[0094] 图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)来实现。
[0095] 在图6中还示出了第二输出模块615。该第二输出模块可以通过提供计时器资源 来支持附加的仲裁硬件单元630。这些资源例如是为了等待特定比特长度或维持特定暂停 而需要的。一种替换的实施方案是,同样作为附加的硬件电路来设置该计时器资源。
[0096] 附加的仲裁硬件单元优选地可以通过可配置的逻辑装置而灵活地分配给不同的 输出模块。但是固定的分配也是可以的。
[0097] 附加的仲裁硬件单元优选地作为可编程逻辑装置(例如FPGA或CPLD)位于该微控 制器外部。但是通过这种可编程逻辑电路的集成也可以实现在该微控制器上的一种替换实 施。
[0098] 专用的仲裁硬件单元可以准备有其他的测量和分析功能。在一个优选的变化方案 中,这种CAN仲裁单元例如还识别所使用的协议是否是CAN或CAN-FD (具有灵活数据速率 的 CAN)。
[0099] 在所述的具有专用仲裁硬件单元的实施例中,首先假定,其余的方法步骤(在输入 模块中的数据输入,通过该输出模块进行的数据输出,通过该路由单元进行的路由,通过该 计算单元(MCS)进行的协议计算,必要时通过该CRC单元进行的CRC计算)继续如上所述进 行,以及其余的硬件电路(输入模块、输出模块、路由单元、计算单元(MCS)、必要时的CRC单 元)继续如前面图1所述来构建。但该专用仲裁硬件单元也可以没有问题地与具有专用输 入模块和/或专用输出模块的实施例相组合。
[0100] 在另一优选的变化方案中,在前述的实施方案中另外还可以实施波特率识别。这 种波特率识别例如能够适应不同的波特率。
[0101] 所述波特率识别可以以软件或硬件来实施。在软件实现时,例如可以从该输入模 块的捕捉信息中通过该计算单元(MCS)或该微控制器的中央处理单元(CPU)来进行波特率 识别。数据的输入频率在此情况下可以被测量,并且通过参照频率的调制可以确定波特率。 为此必须分析完整的消息帧,这在软件实现中是费时的。
[0102] 在一个优选的替换实施方案中,波特率识别以硬件来被执行。这或者可以在附加 的硬件电路中来进行,或者在一个装备有相应附加功能的专用输入模块中来进行,如前(例 如在图5中)所述。与软件实现相比,利用硬件实现可以实现更快的波特率识别和波特率适 应,另外计算单元(MCS)或中央处理单元(CPU)被更小地承载。
[0103] 在图10中示出了以通用UART接口为例的以硬件来实现的波特率识别的一个相应 流程图。
[0104] 在所规定的协议中消息帧的基本构造是已知的,例如在当前例子中,已知一个消 息帧总是以具有低电平的一个起始比特开始,并以具有高电平的一个停止比特结束。在 用于确定波特率的第一步骤1001中通过相应的硬件功能数出在起始比特和停止比特之间 (也即第一高低边缘至最后的低高边缘之间)的时钟的数量。时钟数量在此优选地从时基中 来导出,其中该时基给该硬件功能提供时钟(例如来自时基单元),并且该时基小于要读出 的波特率。
[0105] 该消息帧的长度(也即比特数量)是该硬件功能所已知的。对于例如采取的协议已 知,一个消息帧具有十个比特(例如起始比特、八个数据比特、停止比特)。在第二步骤1002 中,把所确定的、从起始比特至停止比特之间所经过的时钟的数量除以一个消息帧的比特 数量(例如十)。在第三步骤1003中可以把由此所确定的波特率进行传输,例如传输至该计 算单元(MCS)或该微控制器的中央处理单元(CPU)。
[0106] 例如在要实现的UART或LIN接口的情况下,帧长度可能总是恒定的并从而可能是 已知的,而例如在CAN的情况下,消息帧的长度(也即比特数量)可以是未知的。在所述波特 率识别的一个变化方案中,在此也可以以硬件来识别波特率。例如可以确定在一个消息帧 的两个比特之间的最短时间。
[0107] 为了识别波特率,必须能够确定一个消息帧的开头和结尾。这例如可以通过设定 的时钟数量、例如三个时钟(在波特率恒定的情况下对应于固定的时间,例如150ns )针对特 定电平来进行。
【权利要求】
1. 用于在尤其运输工具的控制设备中提供至少一个通用接口的方法,其中该控制设备 具有微控制器(501),该微控制器具有中央处理单元(CPU)、至少一个非接口专用的输入模 块(511)、至少一个非接口专用的输出模块(514)、至少一个路由单元(512)、以及具有用于 处理接口专用信息的至少一个计算单元(513),并且其中所述至少一个通用接口是能被配 置的,以按照配置来提供与多种串行接口、尤其SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、 I2C、MSC或Ethernet之一相对应的功能,其特征在于以下的步骤: -通过所述至少一个非接口专用的输入模块(511)接收与多种串行接口之一的协议对 应的输入数据,其中输入数据的整个输入消息帧被存储在所述至少一个非接口专用的输入 模块(511)中, -输入数据的所述整个输入消息帧被提供给该计算单元(513), -由所述至少一个计算单元(513)从该输入数据中提取第一有用数据,尤其通过从该 输入数据中去除协议的协议细节, -所述第一有用数据被提供给该中央处理单元(CPU), -由所述至少一个计算单元(513)接收该中央处理单元(CPU)的第二有用数据, -由所述至少一个计算单元(513)从该第二有用数据中生成输出数据,尤其通过给该 第二有用数据添加协议的协议细节, -通过该路由单元(512)把输出数据传输到所述至少一个非接口专用的输出模块 (514), -通过所述至少一个非接口专用的输出模块(514)对应于多种串行接口之一的协议来 发送所述输出数据。
2. 根据权利要求1所述的方法,其中该输入消息帧通过该路由单元(512)或者通过写 入存储器(516)中或者通过直接存储器访问(DMA)而被提供给该计算单元(513)。
3. 根据权利要求1或2之一所述的方法,其中通过所述至少一个非接口专用的输入模 块(511)借助过扫描来分析该输入消息中贞。
4. 根据权利要求3所述的方法,其中输入消息帧的比特电平通过根据在过扫描的扫描 点上的电平值而进行的比特电平表决来被确定。
5. 根据权利要求4所述的方法,其中所述表决通过该输入模块的以硬件来实现的表决 实例来被执行。
6. 根据权利要求4或5之一所述的方法,其中该输入模块确定与所述表决的明确程度 有关的表决信息,并提供给该计算单元(511)或该中央处理单元。
7. 根据前述权利要求之一所述的方法,其中在所述至少一个非接口专用的输入模块 (511)中给该输入消息帧分配时间戳。
8. 根据权利要求7所述的方法,其中被分配给该输入消息帧的时间戳被提供给该计算 单元(511)。
9. 根据前述权利要求之一所述的方法,其中针对该输入数据来执行波特率识别。
10. 根据权利要求9所述的方法,其中通过所述至少一个非接口专用的输入模块(511) 来执行针对该输入数据的波特率识别。
11. 根据前述权利要求之一所述的方法,其中该计算单元(513)访问第一存储器,并且 在该第一存储器中存储有协议细节,尤其与起始比特、停止比特、奇偶校验信息、控制比特 和填充比特之一有关的信息。
12. 根据权利要求11所述的方法,其中该协议细节由该中央处理单元(CPU)存储在该 第一存储器中。
13. 根据前述权利要求之一所述的方法,其中所述至少一个非接口专用的输入模块 (511)和所述至少一个非接口专用的输出模块(514)通过配置而被固定地分配给多种串行 接口之一。
14. 根据前述权利要求之一所述的方法,其中该计算单元(513)还进行较高协议层的 计算,尤其多个UART消息帧到一个LIN消息帧的转换。
15. 根据前述权利要求之一所述的方法,其中该第一有用数据被提供给该中央处理单 元(CPU),其方式是,该计算单元(513)把该第一有用数据写入到第二存储器中,并通过中 断将此通知给该中央处理单元(CPU )。
16. 根据前述权利要求之一所述的方法,其中该第一有用数据由该计算单元(513)通 过存储器直接访问(DMA)而提供给该中央处理单元(CPU)。
17. 根据前述权利要求之一所述的方法,其中该计算单元(513)从该第二有用数据中 生成该输出数据,其方式是,该计算单元根据预定的波特率来确定输出数据的具有所分配 时间戳的相应边缘变换。
18. 根据权利要求17所述的方法,其中该输出数据被传输到所述至少一个非接口专用 的输出模块(514),其方式是,通过该路由单元(512)单独地传输输出数据的具有所分配时 间戳的每个边缘变换。
19. 根据权利要求17或18之一所述的方法,其中所述至少一个非接口专用的输出模 块(514)把该输出数据的每个边缘变换的所分配时间戳与时间信息相比较,并在一致的情 况下把相应的边缘施加在该微控制器(501)的输出端上。
20. 控制设备的、尤其运输工具控制设备的微控制器(501),具有中央处理单元(CPU)、 至少一个非接口专用的输入模块(511)、至少一个非接口专用的输出模块(514)、至少一个 路由单元(512),并具有用于处理接口专用信息的至少一个计算单元(513),其特征在于, 该微控制器(501)设置用于执行权利要求1至19之一所述的方法。
21. 控制设备的、尤其运输工具控制设备的微控制器(501),具有中央处理单元(CPU)、 至少一个非接口专用的输入模块(511)、至少一个非接口专用的输出模块(514)、至少一个 路由单元(512),并具有用于处理接口专用信息的至少一个计算单元(513),其特征在于, 该微控制器(513)能被如此来配置,使得所述至少一个非接口专用的输入模块(511)、至少 一个非接口专用的输出模块(514)、至少一个路由单元(512)以及用于处理接口专用信息 的至少一个计算单元(513)满足与多种串行接口、尤其SPI、UART、LIN、CAN、PSI5、FlexRay、 SENT、I2C、MSC或Ethernet之一相对应的功能,并且所述至少一个非接口专用的输入模块 (511)存储输入数据的整个输入消息帧,并提供给所述至少一个计算单元(513)或该中央处 理单元(CPU)。
22. 根据权利要求20或21所述的微控制器(501),其中所述至少一个非接口专用的输 入模块(511)访问存储器,尤其自己的存储器,其存储器容量足够存储与多种串行接口相对 应的每种协议的最大消息帧。
23. 根据权利要求20至22之一所述的微控制器(501),其具有存储器、尤其FIFO存储 器(516),其中所述至少一个非接口专用的输入模块(511)能够通过该存储器把输入数据 的输入消息帧提供给该计算单元(513)或该中央处理单元(CPU)。
24. 根据权利要求20至23之一所述的微控制器(501),其中该计算单元(513)具有算 术逻辑单元(ALU)。
25. 根据权利要求20至24之一所述的微控制器(501 ),其中所述至少一个非接口专用 的输出模块(514)具有比较功能。
26. 根据权利要求20至25之一所述的微控制器(501),其中该路由单元(512)和/或 该计算单元(513)以至少100MHz的时钟、尤其以至少200MHz的时钟来工作。
27. 根据权利要求20至26之一所述的微控制器(501),其设置用于,通过所述至少一 个非接口专用的输入模块(511)以至少1M波特的输入波特率来接收输入数据,以及通过所 述至少一个非接口专用的输出模块(514)以至少1M波特的输出波特率来发送输出数据。
28. 根据权利要求20至27之一所述的微控制器(501),其除了所述至少一个非接口专 用的输入模块(511)和所述至少一个非接口专用的输出模块(514)之外还具有至少一个接 口专用的输入模块和至少一个接口专用的输出模块。
29. 根据权利要求20至28之一所述的微控制器(201),其另外还具有计时器模块 (230),该计时器模块具有计时器输入模块(231)、计时器输出模块(234)、计时器路由单元 (232)和计时器计算单元(233)。
30. 根据权利要求29所述的微控制器(201),其中该微控制器(501)设置用于,如果 不需要所述至少一个非接口专用的输入模块(511)、所述至少一个非接口专用的输出模块 (514)、所述至少一个计算单元(513)和该路由单元(512)来满足与多种串行接口之一相对 应的功能,那么就利用所述至少一个非接口专用的输入模块(511)、所述至少一个非接口专 用的输出模块(514)、所述至少一个计算单元(513)和该路由单元(512)来执行该计时器模 块(230)的计时器功能。
31. 具有权利要求20至30之一所述的微控制器的运输工具控制设备。
【文档编号】H04L12/413GK104219333SQ201410229701
【公开日】2014年12月17日 申请日期:2014年5月28日 优先权日:2013年5月29日
【发明者】A.奥厄, E.贝克尔 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1