CN104216312A - 用于提供通用接口的方法以及具有通用接口的微控制器 - Google Patents

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

Info

Publication number
CN104216312A
CN104216312A CN201410230036.9A CN201410230036A CN104216312A CN 104216312 A CN104216312 A CN 104216312A CN 201410230036 A CN201410230036 A CN 201410230036A CN 104216312 A CN104216312 A CN 104216312A
Authority
CN
China
Prior art keywords
interface
special
microcontroller
output
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410230036.9A
Other languages
English (en)
Inventor
A.奥厄
E.贝克尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN104216312A publication Critical patent/CN104216312A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0022Multibus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • G06F2213/2418Signal interruptions by means of a message
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA

Abstract

用于控制设备的、尤其用于运输工具控制设备的微控制器,包含有中央处理单元(CPU)、至少一个非接口专用的输入模块、至少一个非接口专用的输出模块、至少一个路由单元以及用于处理接口专用信息的至少一个计算单元。在此该微控制器可以如此来配置,使得所述至少一个非接口专用的输入模块、至少一个非接口专用的输出模块、至少一个路由单元以及用于处理接口专用信息的至少一个计算单元满足与多个串行接口、尤其SPI、UART、LIN、CAN、PSI5、FlexRay、SENT或Ethernet之一相对应的功能。此外该计算单元还设置用于从该第二有用数据中生成完整的输出消息帧来作为输出数据,并将其传输到非接口专用的输出模块。

Description

用于提供通用接口的方法以及具有通用接口的微控制器
技术领域
本发明涉及尤其用于对运输工具中的功能进行控制的电子控制设备,这些电子控制设备具有对外的接口,以与通信系统的其他用户相通信。
现有技术
运输工具中的控制设备通常具有串行接口,例如SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、I2C、MSC(Micro-Second-Channel,微型第二通道)、Ethernet(以太网)等,以与其他的控制设备、传感器、执行器或其他外围设备相连接或相通信。根据现有技术,这些串行接口在该控制设备的微控制器中通过VHDL代码来实施。在硬件方面,为了实施串行接口,必须按照接口的类型来实施例如接口专用的通信控制器,其包括协议控制器、采样单元、存储单元以及收发器(发送器-接收器)。例如在SENT和SPI的情况下不需要总线收发器。接口专用的硬件单元(例如在SPI情况下的缓冲器、在CAN情况下的协议控制器)另外还使得这种实施变得耗费且不灵活。
在WO-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 V1.3 2011-07”。
在针对控制设备或针对这种控制设备的微控制器的不同运输工具应用中,对串行接口的类型和数量存在极其不同的要求。从而例如可以在一个应用中提出如下的要求:一个SPI接口、两个LIN接口、5个CAN接口。在另一更复杂的应用中,可能还需要其他的接口,如FlexRay或Ethernet,或者需要更大数量的现有接口。为了应对该问题,可以采用具有很多不同类型接口的微控制器,但是该微控制器针对大量的应用来超裕度设计,并从而太昂贵。替换地,可以针对每种应用来实施一种专用的微控制器,该微控制器对于每种接口类型都恰好具有所期望的数量,但由此与标准化的期望相违背并造成了高的实施成本。另外这两种解决方案对于将来还未知的要求是不灵活的。总之,在运输工具控制设备的微控制器中该串行接口的这种接口专用的硬件实施从而导致了不灵活的解决方案,这些解决方案仅能够耗费地与不同的要求相匹配。
发明内容
本发明涉及用于提供至少一个通用接口的一种方法、一种相应的微控制器以及具有这种微控制器的一种控制设备。
微控制器的一种灵活结构在此具有中央处理单元(CPU)、非接口专用的输入模块、非接口专用的输出模块、路由单元、以及用于处理接口专用信息的计算单元。该计算单元在此优选地与该中央处理单元不同。该微控制器的前述电路部件可以作为通用接口如此来配置,使得这些电路部件能够按照配置而提供与多种串行接口、尤其SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、I2C、MSC或Ethernet之一相对应的功能。
微控制器通常必须具有广泛的应用范围,因为其设计和制造成本高并从而不能针对每种应用来开发一种独有的微控制器。通过所建议的在微控制器中提供通用接口,在设计微控制器时在该微控制器的不同应用情况下所需每种类型接口的数量不必是已知的。而是提供硬件电路,这些硬件电路按照配置而满足特定串行接口的任务。
在通过微控制器的硬件电路来提供通用接口的一种方法中,在用于对应于多种串行接口之一的一种协议来接收并处理输入数据的基本上独立的子方法中,所述输入数据通过非接口专用的输入模块被接收,并通过路由单元传输到计算单元。尤其通过从该输入数据中去除该协议的协议细节,由该计算单元从该输入数据中提取有用数据。第一有用数据最后被提供给该中央处理单元(CPU)。
在用于处理数据并用于发送输出数据的基本上独立的子方法中,中央处理单元的第二有用数据被计算单元接收。由该计算单元尤其通过把该协议的协议细节添加到该第二有用数据中而由该第二有用数据来生成输出数据。该输出数据被传输到非接口专用的输出模块之一,并最后对应于多种串行接口之一的协议通过非接口专用的输出模块而被发送。在此该输出数据由该计算单元作为整个消息帧而被继续传送。该输出模块同样以整个消息帧来接收该输出数据。为此该输出模块优选地具有状态自动机和存储器,其中该存储器具有足够的容量以存储整个消息帧。为了能够利用一个通用接口来模拟不同的串行接口,该通用接口的输出模块必须具有存储器,该存储器能够存储与可能要模拟的接口相对应的每种协议的整个消息帧。
可以以不同的方式通过该输出模块来进行该输出数据的输出。通过相应的触发信号来尤其简单地实现输出,其中该触发信号由该输出模块例如从该计算单元或该中央处理单元接收。替换地可以通过由该计算单元向该输出数据附加表征输出时间或输出角度的时间或角度信息,来进行输出。在该变化方案中,计算单元或中央处理单元通过该触发过程而不承载计算负荷。然而该输出模块在此必须访问时间或角度信息,其中该时间或角度信息可以与时间或角度戳相比较。
该输出数据可以被提供给该输出模块,其方式是,该计算单元把该输出数据通过该路由单元传输到该输出模块。其优点是通过一个中央路由单元来有效地进行许多数据的传输。但替换地也可以由该计算单元把该数据直接写入到该输出模块的存储器资源中。从而数据的输出不再与该路由单元的速度相关联,并能够实现更快的传输速率。在另一变化方案中,该输出模块通过对存储器资源的直接存储器访问(DMA)来独立地加载该输出数据,其中该输出模块把该存储器资源或者通知给该计算单元或者通知给该中央处理单元。由此计算单元或中央处理单元在可能高输出速度的情况下继续减负。然而为此由于直接存储器访问(DMA)而需要更复杂的硬件。
该方法是一种特别灵活的数据处理方式,因为为此没有采用接口专用的硬件单元。与许多串行接口相对应的许多协议的数据可以通过非接口专用的输入和输出模块而被接收和发送,并且通过配置可以在该计算单元中根据协议信息对所接收的数据进行分析。这能够按照对微控制器的应用专用的要求对应于特定的串行接口来配置该通用接口。
该协议细节、尤其关于起始位、停止位、奇偶校验信息、控制位、填充位等的信息在此情况下例如可以通过该微控制器的中央处理单元而被存储在存储器中。通过所述协议细节可以配置该通用接口、尤其为此所采用的计算单元。该计算单元访问该存储器,并能够读出与所规定的配置相对应的协议信息。
如果该计算单元还被应用于更高协议层的计算,那么对于该通用接口就获得了更广泛的应用范围。例如该计算单元可以把多个UART消息帧转变为一个LIN消息帧。
通过该计算单元把有用数据写入到该中央处理单元所访问的存储器中,并例如通过中断来将此通知该中央处理单元,那么就最简单地实现了有用数据从该计算单元到该中央处理单元的转发。
在一个更复杂的、但由此给该计算单元和该中央处理单元减负的变化方案中,该计算单元可以通过直接的存储器访问把该有用数据提供给该中央处理单元。
在该输入模块中,可以给输入数据分配时间信息,其方式是例如在该输入模块的输入端上给每个边缘变换加上时间戳。由此边缘变换与时间信息相关联,这允许与输入数据的协议无关地记录输入数据,使得借助计算单元能够根据电平变换的时间信息来提取所包含的有用数据。为此该边缘变换连同时间戳一起可以分别由该输入模块通过该路由单元被传输到该计算单元。该路由单元所带来的优点是,在具有许多输入模块、输出模块和计算单元的情况下,在它们之间也快速而可靠地进行数据传输。
在替换的变化方案中,该输入模块可以把完整的消息进行存储,并(优选通过该路由单元)提供给该计算单元。因为在此不用单独地传输每个具有时间戳的电平变换,所以该路由单元被减负,并且这种传输不再强烈地由该路由单元的速度和承载来确定。
在该替换的变化方案中,整个消息可以通过该输入模块而被分配时间信息。该计算单元或中央处理单元再次可以使用该时间信息来排列或处理该输入数据。
另外,通过该输入模块能够对该输入数据的内容进行特别可靠的识别,如果输入数据通过过扫描而被分析并通过扫描点电平值的多数协调一致来为输入数据的每个比特确定比特电平的话。
该计算单元例如具有算术逻辑单元,优选地该算术逻辑单元作为多通道定序器实现。
在一种微控制器中,非接口专用的输出模块具有比较功能,该微控制器可以提供特别灵活和简单可实现的通用接口。利用更少的资源就可以实现高得多的微控制器灵活性。
该微控制器的应用可能性可以通过其他单独的硬件电路来加以扩展,例如用于CRC计算或者在总线仲裁期间的计算(例如在CAN情况下),这些硬件电路或者是该微控制器的组成部分或者与该微控制器相连。通过这种在特定功能上优化的硬件单元,其余不太专用的模块、尤其该微控制器的计算单元被减负。只有利用这种附加的单元才以所需的可靠性和速度来实现该微控制器的一些计算并从而实现一些应用。
为了使该通用接口在一定范畴中提供相应的、如扩展到许多应用中(尤其汽车领域)的串行接口,该路由单元和/或该计算单元应该以至少100MHz的时钟、尤其以至少200MHz的时钟被驱动,并从而输入数据能够以至少1M波特的输入波特率被接收,以及输出数据能够以至少1M波特的输出波特率被发送。
不仅具有专用的以硬件来实现的接口而且具有包括非接口专用硬件的通用接口的微控制器是应用非常灵活的并且尽管如此还是特别有利的,所述非接口专用硬件能够被配置以利用软件计算实现所期望的接口。从而对于该微控制器的已知的应用情况可以在应用之间固定地实施某种接口交集,而在应用之间不同的接口要求或还未知的接口要求利用通用接口来涵盖。
可以把在微控制器中实现通用接口的硬件电路与一个或多个计时器模块相组合。如果在硬件块之一中有相应的容量可用,那么计时器模块也可以在执行任务时灵活地相互支持。
所述的微控制器尤其可以良好地应用在控制设备中,尤其在汽车领域。在此在同时存在严格的成本预定的情况下,对接口的要求是特别高的。
附图说明
下面参照附图并借助实施例来详细解释本发明。其中:
图1示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路,
图2示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路以及计时器模块,
图3示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路以及具有用于CRC计算的专用的硬件电路,
图4示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路以及具有专用的输出模块,
图5示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路以及专用的输入模块和附加的存储器,
图6示意示出了一种示例微控制器,其具有用于实现通用接口的硬件电路以及用于支持仲裁的电路,
图7示意示出了具有边缘变换的两个示例信号曲线,以解释CAN仲裁,
图8示意示出了用于通过通用接口来接收数据的一种方法的示例流程,
图9示意示出了用于通过通用接口来发送数据的一种方法的示例流程,
图10示意示出了用于波特率识别的一种方法的示例流程,以及
图11示意示出了通过单独的CRC单元来进行CRC计算的数据传输示例流程。
具体实施方式
概念“串行接口”在下文中理解为用于在设备之间进行串行数据交换的一种连接。串行数据传输的特征是其中通过一个或多个导线来依次传输比特的数据传输。属于运输工具中所使用串行接口的例如是SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、I2C、MSC和Ethernet。
在WO-2011120823 A1中公开了计时器模块“Generic Timer Module(GTM),通用计时器模块”。其中硬件子模块设置于中央路由单元(称为“Advanced Routing Unit(ARU),高级路由单元”)周围。该中央路由单元在不同的硬件子模块之间对数据进行路由,在此优选地采用循环调度(“Round Robin,轮询”)来进行确定性仲裁。也即,源模块在最大循环时间之内被操作,并且其数据通过地址信息而被路由到相应的目标模块。该计时器模块从而能够降低微控制器的CPU的中断负载,例如在用于控制运输工具中功能的电子控制设备(ECU)的微控制器。该计时器模块具有作为硬件子模块的输入模块、所谓的“Timer Input Modules(TIM),计时器输入模块”以及输出模块、所谓的“Timer Output Modules(TOM),计时器输出模块”或者还有“ARU-connected Timer Output Modules(ATOM), ARU连接的计时器输出模块”等。除了该路由单元(ARU)、该输入模块(TIM)和该输出模块(ATOM)之外,该计时器模块还具有作为计算单元的多通道定序器(Multi Channel Sequencer)。
该计时器模块采用了 “Capture/Compare,捕捉/比较” 基本原理。在此情况下进入该输入单元(TIM)的信号与对应于其到达的时间戳相关联。该输入单元(TIM)在此例如从时基单元(time base unit,TBU)获得相应的时间说明。该时间戳的功能对应于“捕捉/比较”的“捕捉”。应该通过该计时器模块的输出单元(ATOM)来发送的信号例如由进行处理的计算单元(CPU,MCS)而同样设置有时间戳。在该计时器模块的输出模块(ATOM)中,该信号的时间戳与当前的时间说明相比较。该输出模块例如同样从时基单元来获得该时间说明。如果要输出的信号的时间戳对应于当前的时间,那么该信号就被发送。该功能对应于“捕捉/比较”的“比较”。代替所述的时基,也可以通过输入单元和输出单元来实现角度同步的“捕捉/比较”功能。这些功能在运输工具中可能是需要的,因为接收过程或发送过程相对于当前发动机角度的角度位置是特别有意义的。例如进入该输入单元的信号可以设置有角度戳,要输出的消息可以在确定的角度点被发送。
该计算单元或数据处理单元“多通道定序器”优选地作为子模块来实现,其具有管道级、算术逻辑单元(ALU)、解码器和至RAM存储器单元的连接。在计时器模块中也可以采用多个多通道定序器。该输入单元优选地作为硬件组件来实现,其具有锁存器和触发器以及至时间和/或角度提供单元的连接。该输出单元优选地作为硬件组件来实现,其具有例如构成寄存器的锁存器和触发器、以及至时间和/或角度提供单元的连接。与时间相关的功能的时基在此可以由该微控制器(或者其中央处理单元(CPU))的计算器时钟来导出,与角度相关的功能的角度基准可以通过DPLL(digital phase-locked loop,数字锁相环)来实现。
对于该计时器模块、尤其该计时器模块的所述组成部分ARU、MCS、TIM、ATOM、TBU的其他功能,参见WO 2011120823 A1。WO 2011120823 A1的相应说明部分由此通过参考而被包含在本申请中。
依据已知的计时器模块的功能,本发明的中心方面是在微控制器中提供通用串行接口,尤其用于在运输工具控制设备中的应用。为此或者可以重新配置已在该微控制器中集成的相应计时器模块的单元,或者在该微控制器中集成专用于该应用的单元。在此例如可以采用该输入单元(TIM)的“捕捉”功能,以通用地模拟专用的接口输出端。由计算单元、例如多通道定序器(multi channel sequencer, MCS)来支持输入单元和输出单元,其中该定序器执行计算以实现接口。为了在输入模块、输出模块和计算单元之间分配数据,优选地采用了路由单元。在下文中所述的模块-输入模块、输出模块、路由单元和计算单元在此优选地具有上文相应单元TIM、A(TOM)、ARU以及MCS的针对计时器模块“GTM”所述的功能。但是用于实现通用接口的硬件电路或具有这种硬件电路的微控制器由于其他的要求(例如路由和处理的速度)而与已知的计时器模块不同。在此优选地除上述的计时器子模块功能之外,在该微控制器的硬件中还进行变化,但至少必须通过配置把相应的计时器硬件组件与变化的任务和要求相匹配,以能够按照本发明而被使用。
在图1中示意示出了一种电路构造,以在微控制器中实现通用的串行接口。
该微控制器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接口。
该输入模块111和该输出模块114是非接口专用的硬件电路,也即它们可以处理根据不同协议结构构建的、不同串行接口的数据。该计算单元113应该与该微控制器的中央处理单元(CPU)不同,并在下文中为了区分而用MCS来表示,因为在该微控制器的一个优选实施方案中该计算单元(MCS)是多通道定序器。该计算单元(MCS)的其他硬件实施同样也是可以的,优选地同样具有算术逻辑单元(ALU)。
该路由单元112时分复用地连接模块-输入模块111、输出模块114以及计算单元(MCS)113。
图1非常简化地示出了该微控制器101。当然这种微控制器101具有许多其他的在此未示出的组成部分,其中包括至少一个中央处理单元(CPU),该中央处理单元可以在该微控制器中执行数据处理、计算和配置。另外该微控制器101还优选地包含有多个这样的输入模块111和输出模块114。按照应用,该微控制器也可以具有多个计算单元(MCS)113。许多这种模块111、113、114可以与一个唯一的路由单元112相连接。对于非常复杂的应用,在这样的微控制器101中也可以采用更多的路由单元112。
在当前微控制器的一个特别优选的变化方案中,该微控制器具有多个“真正的”、也即对应于现有技术固定以硬件实现的串行接口,以及具有多个“通用的” 如图1所述硬件电路形式的接口。由此可以优选地如同以前一样有利地以硬件来固定地实现特定接口类型的最少数量的所需接口,但在该微控制器的不同应用之间不同的接口可以作为通用接口来设置,并从而能够对应于相应的应用而以软件来加以配置。从而能够在降低待保持的接口数量的情况下实现该微控制器的灵活应用。
在图8中示意示出了用于实现接收消息的通用串行接口的一种方法的流程图。
在第一步骤(801)中,在微控制器的输入模块(例如图1的111)中,数字数据从微控制器外部作为比特而被接收。在此在该输入模块处施加有输入信号。该输入信号以与要模拟的串行接口相对应的一种协议而出现。在步骤802中,所接收数据比特之间的边缘变换在该输入模块中分别被加上时间戳(捕捉功能)。为此在该输入模块中检测该时间戳,其中在该时间戳处在该输入模块的输入端上的管脚状态、也即边缘发生变化。该输入模块例如可以从时基单元来获得用于加上时间戳所需的时间信息。在步骤803中,如此确定的数据由该输入模块传输到该微控制器的路由单元(例如图1中的112)。为此传输在管脚状态发生变化时的边缘变换连同时间戳,其中在该时间戳处还发生其他的边缘。在步骤804中,该路由单元再次把该信息传输到该微控制器的计算单元(MCS,例如图1中的113)。
在步骤805中,该计算单元(MCS)处理对应于该输入模块中的多次捕捉事件而作为该路由单元侧多次单独的传输而到达该计算单元的信息。在此该计算单元(MCS)由所接收的比特流(也即带有时间戳的边缘变换)来重建所接收的信号。另外该计算单元(MCS)检验该信号,并对应于当前的协议来去除控制比特(例如(多个)起始比特、(多个)停止比特、(多个)奇偶校验比特、(多个)填充比特)。该计算单元(MCS)优选从本地的、它所访问的易失存储器中获取用于该处理的信息(也即涉及哪种协议、或者如何构建该协议消息的信息)。这些信息例如可以由该微控制器的中央处理单元(CPU)从非易失存储器(例如闪存)被传输到此。在该微控制器启动时,优选地该输入模块和还要进行阐述的输出模块通过该中央处理单元(CPU)而被固定分配特定消息协议,并且关于此的信息以及相应的协议信息被存储在易失的存储器中,以能够由该计算单元(MCS)访问。
在一个可选的步骤806中,该计算单元(MCS)可以执行实施其他的处理步骤和计算,例如更高协议层的计算。例如可以把多个UART帧变换为一个LIN帧,或者执行各种信号计算。
在步骤807中,该计算单元(MCS)把所处理过的信息提供给该微控制器的中央处理单元(CPU)。优选地该信息被存储在存储器(例如RAM)中,并通知该中央处理单元(CPU)(例如通过中断或者通过DMA通道的触发)。在此该消息除了有用数据之外例如还具有其他的信息,例如在CAN消息情况下的标识符。
在步骤808中,该中央处理单元(CPU)最后对所接收的信息进行处理。
迄今所述的实施例对应于基本配置(图1)假定,用于实现通用、串行接口的该硬件电路具有带有捕捉功能的输入模块。然而,与上述的通用计时器模块相反,可以采用不具有比较功能的输出模块,因为应该与通过带时间戳的边缘变换所进行的接收不同地进行数据输出。用于输出接口帧的这种专用模块从而可以与前述硬件电路的以及该计时器模块的输出模块(TOM、ATOM)不同。
这种输出硬件模块的硬件实施例如可以通过状态自动机(状态机)与存储器相组合来进行。这种专用的输出模块可以把完整的消息帧存储在它的存储器中。该路由单元从而可以利用发送过程把完整的消息发送到该输出模块,这使得降低了该路由单元的负载。此外,利用这种输出单元更简单地实现了在数据输出时更高的波特率,因为其不再显著受限于该路由单元的时钟。
在一个实施方案中,该输出单元再次必须提供时间信息(或者相对应的角度信息)。该输出单元在此需要如下的信息,即整个消息或整个消息帧必须在哪个时间点(或以哪个角度)以及以哪种波特率被发送。然后借助可用的时间信息或角度信息以及该输出模块已知的波特率,该数据被发送。优选地由该计算单元(MCS)或微控制器的中央处理单元(CPU)把该数据直接写到该输出单元的存储器中。该输出单元在此获得了该信号(日期)以及与数据速率和发送时间点有关的信息。
替换地也可以不是通过时间信息,而是通过该计算单元(MCS)或该微控制器的中央处理单元(CPU)的具体触发而开始向该专用输出单元的发送过程。然后该输出单元独立地在输出管脚上来提供该数据。
在图4中示出了一种微控制器,其具有专用的输出模块414。该微控制器401具有硬件部件410,也即输出模块411、路由单元412、计算单元(MCS)413以及输出模块414以及至输入数据通道402和输出数据通道403的连接,其再次最大程度对应于图1的微控制器101。然而该输出模块414具有扩展的功能,例如用于存储完整消息帧的存储器资源。在所示的优选实施方案中,该输出模块414另外还具有至微控制器401的另一连接。通过该连接,例如可以通过该微控制器401的中央处理单元(CPU)给该输出模块414来提供数据,例如通过前述的由该中央处理单元(CPU)把该输出数据直接写入到该输出模块414的存储器中。
借助这种专用的输出单元而进行的数据输出流程在下文中应借助通过UART配置的通用接口的示例传输来加以阐述(图9):
1.该微控制器的中央处理单元(CPU)或该计算单元(MCS)在第一步骤901中把消息帧01111111111写入到该输出单元的存储器中。其对应于一个起始比特(0)、8个数据比特(11111111)、一个奇偶校验比特(1,在奇校验的情况下)以及一个停止比特(1)。
2.该微控制器的中央处理单元(CPU)或该计算单元(MCS)在第二步骤902中把要输出的消息帧的数据速率写入到该输出单元的寄存器中。
3.该微控制器的中央处理单元(CPU)或该计算单元(MCS)在第三步骤903中把触发信号发送到该输出单元,以开始进行传输。在另一变化方案中,在预定数量的传输过程之后,在获得该消息帧之后开始进行传输。在另一变化方案中,该微控制器的中央处理单元(CPU)或该计算单元(MCS)传输应该进行或开始传输的时间点。
4.该输出单元在第四步骤904中独立地把该消息帧以所选择的数据速率来发送。
在所述的具有专用输出单元的实施例中,该计算单元(MCS)或该中央处理单元(CPU)另外还例如由于把信息写入到该输出单元中以及触发该发送过程而被承载。因此在另一有利的实施变化方案中,该输出单元通过从存储器中自动地重新加载来获得要发送的数据或消息帧。例如可以从RAM中来进行这种自动重新加载,其中该输出单元通过级联列表和DMA(直接存储器访问)来访问该RAM。从而也可以以高的速度在该计算单元(MCS)或该微控制器的中央处理单元(CPU)未承载(中断)的情况下来输出较大的数据分组。
在所述的具有专用输出单元的实施例中,首先假定,其余方法步骤(通过该输入模块进行数据接收,通过该路由单元进行路由,通过该计算单元(MCS)进行协议计算,必要时通过该CRC单元进行CRC计算)继续如上所述地来进行,以及其余的硬件电路(输入模块、路由单元、计算单元(MCS)、必要时的CRC单元)继续如上所述来构建。
不同的配置都可以用于硬件实现该通用串行接口。一方面,微控制器可以具有诸如前述“通用计时器模块”的计时器模块,并还具有如图1所述的硬件电路。在这种配置中,无论要实现什么接口,该计时器模块都可以满足它所承担的任务。该接口功能通过该微控制器的附加硬件电路来提供。在这种配置中,只要该硬件电路没有由于接口功能而满载,尤其只要相应的输入和输出模块没有被分配接口功能,那么可以通过配置而优选地把计时器功能转移到该附加硬件电路上。在一个专用的变化方案中,只要该计时器模块为此具有足够空闲的容量和足够的硬件设计并为此被配置,那么该计时器模块(或其硬件单元)也可以承担该附加硬件电路的接口功能。
在图2中示出了这样一种硬件实施方案。在此该微控制器201具有硬件电路210,该硬件电路对应于图1中的硬件电路110(输入数据通道202、输出数据通道203、输入模块211、输出模块214、路由单元212、计算单元(MCS)213)。另外该微控制器201还具有计时器模块230,该计时器模块具有计时器输入模块231、计时器输出模块234、路由单元232以及计算单元(MCS)233。该计时器输入模块231与该信号输入端222以及该路由单元232相连接。该计时器输出模块234与该信号输出端223以及该路由单元232相连接。该路由单元232另外还与该计算单元(MCS)233相连接。该计时器模块230例如可以通过前述的计时器模块-“通用计时器模块”来实现。
在另一变化方案中,硬件单元如图1所述不仅可以承担计时器功能,而且可以承担接口功能。这种硬件单元与前述的通用计时器模块相比优选地具有一个或多个路由单元,该路由单元以更高的频率被驱动,并且对每个路由单元具有少量的模块,以如实现通用串行接口所需那样提高服务率并能够实现更高的波特率。例如路由单元和计算单元(MCS)可以不是以80MHz被驱动,而是以从100MHz开始、优选从200MHz开始的频率被驱动。优选地路由单元和计算单元(MCS)的频率如此来设置,使得能够实现具有1M波特或更高的接口。
在这两种变化方案中,通过可能在接口功能与计时器功能之间的相互转化而获得了灵活性。例如在具有微控制器的控制设备中的一种应用中,在把计时器/接口模块与16个输出模块相组合利用的情况下,可以为控制发动机的八个汽缸而提供计时器功能。为此例如可以采用具有比较功能的八个输出模块以控制点火,并采用具有比较功能的八个输出模块以分别控制一个汽缸的喷油。如果在另一应用中采用具有组合的计时器/接口模块的微控制器来控制具有四个汽缸的发动机,那么刚才所述的16个输出模块中的八个不需要被用于关于控制汽缸的计时器功能,并从而可以用于模拟例如八个串行接口的输出信号。
按照要模拟的串行接口的类型,除了前述的模块和单元之外还可能需要其他的硬件组件。
例如对于特定的协议还必须执行CRC计算,例如对于PSI5或CAN。在CRC(Cyclic Redundancy Check,循环冗余校验)情况下针对数据来确定一个校验值,并在传输之后根据所传输的数据来校验该校验值,以识别传输错误或存储器错误。所实施的计算单元(MCS)对于这种计算类型并不是最佳的,并且在必要时必须被装备更高的计算功率。此外在具有多个计算单元(MCS)的硬件电路的情况下,每个计算单元(MCS)将承载这种附加计算。另外CRC计算在一些协议情况下必须非常快速地被执行,以能够在必要时触发协议中的动作,例如错误消息帧。
因此,出于面积和性能的原因,在一个唯一的模块中来执行CRC计算是有利的。在前述的用于模拟串行接口的硬件电路的一种优选扩展方案中,这些硬件电路相应地另外还具有单独的单元来计算CRC信息。在具有多个计算单元(MCS)的硬件电路的情况下,该CRC校验单元优选地为多个或所有的计算单元(MCS)来集中这行这种计算。
附加的CRC单元对于具有高速度要求的协议也能够足够快地提供CRC计算和CRC比较。该CRC单元在此优选地至少执行CRC校验值的计算,必要时还执行CRC校验值的校验。如果一个CRC校验值通过该CRC单元被识别为不正确,那么就可以优选地通过该计算单元(MCS)促使重新进行传输。
该CRC校验单元优选地作为硬件逻辑电路来实现,例如其为此可以具有XOR逻辑和移位寄存器。对此的替换是以软件利用(例如小的附加的)计算单元的计算来实现。
在图3中示出了一种硬件电路,其具有这样的附加的CRC单元。该微控制器301具有该硬件模块310、也即输入模块311、路由单元312、计算单元(MCS)313和输出模块314,其最大程度对应于图1中的微控制器101。数据输入通道302和数据输出通道303分别与输入模块311以及输出通道314相连接。除了图1中的微控制器101之外,微控制器301还具有CRC单元315,该CRC单元在所示的实施方案中与该路由单元312相连接。
CRC值的计算优选地基于多项式除法。从而该CRC单元应该能够至少在该微控制器启动时通过参数来加以配置,如此使得能够实现不同的多项式。例如一个多项式b7*x7+b6*x6+b5*x5+b4*x4+b3*x3+b2*x2+b1*x1+b0*x0可以通过配置参数b0至b7来加以配置。为了能够支持具有不同CRC多项式的不同接口, 一个CRC单元或者必须能够灵活地(也即在运行时)被重新配置,或者必须设置多个CRC单元。
在图11中示出了利用单独的CRC单元的CRC计算而进行的数据传输流程。在此情况下阐述了从所接收数据中计算CRC值的例子。
在第一步骤1101中,该CRC单元通过该计算单元(MCS)或者该微控制器的中央处理单元(CPU)来加以配置。因为通常需要针对每个接口来计算不同的多项式,所以需要进行配置。如前所述,这些多项式可以通过配置参数来加以确定。因此在用于多个通用串行接口的CRC计算的CRC模块中,只要应该不是为同样的接口来这些两次依次相邻的计算,那么在每次计算之前都需要进行这种配置。CRC单元的配置例如也可以通过如下方式来进行,即该CRC单元访问具有不同多项式的表格,获得与该表格中的记录相对应的索引,并根据该记录来引用该多项式。
在第二步骤1102中,该CRC模块接收数据,其中应该对这些数据执行CRC计算。该数据例如是具有CRC信息的输入数据,所述CRC信息已由该输入模块接收并被传输到该计算单元(MCS)。在第三步骤1103中在该CRC单元中来执行CRC计算。在第四步骤1104中,CRC计算(CRC校验值计算以及必要时的校验)的结果由该CRC模块发送到该计算单元(MCS)(CRC校验值和/或CRC校验的结果)。优选地该数据的传输分别通过该路由单元从该计算单元(MCS)到该CRC单元以及从该CRC单元到该计算单元(MCS)来进行。
最后在第五步骤1105中,该计算单元(MCS)可以把由该CRC单元所计算的CRC信息与所接收的CRC信息相比较,或者通过该CRC单元来分析CRC校验的结果,并从而在具有偏差的情况下确定存在传输错误或存储器错误。
在可选的第六步骤1106中,如果通过该计算单元(MCS)已确定存在传输错误或存储器错误,那么就通过该计算单元(MCS)来触发重新传输。
类似地也针对要发送的数据进行CRC计算。数据优选地在配置该CRC单元之后由该计算单元(MCS)通过该路由单元而被发送到该CRC单元。在那里执行CRC计算,并且结果由该CRC单元通过该路由单元被传输到该计算单元(MCS)。在那里把CRC值附加给该数据,并把该数据提供给该输出模块。
除了具有带捕捉功能的输入模块的上述实施方案之外,在一个可选的实施方案中,一种专用的输入模块不是如前所述逐个边缘地对输入比特流进行分解,也即并不是每个边缘变换都带时间戳地通过该路由单元继续传送到该计算单元(MCS)。而是该专用输入单元把完整的比特流进行记录(也即存储)和过滤。作为过滤优选地可以应用过扫描(过采样)。通过把过扫描例如与表决(协调一致)相组合,可以更可靠地把具有高电平的所接收比特与具有低电平的所接收比特相互分离或区分。
该专用输入模块的输入滤波器例如可以如此来被编程,使得它以16MHz来扫描一个1MHz信号。然后通过表决实例来对每个比特进行16次扫描,该表决实例按照预定的设置(例如16中的3个或16中的12个)而作为比特状态来存储一个1或0。通过这种专用的、其中实施有过扫描和表决的输入模块,也可以实现具有更高抗干扰要求的接口。
通过与触发事件、例如在UART情况下的起始比特相同步,该专用输入单元可以参照该比特流而被设置为所定义的状态。如果所有的比特都被读入(例如UART:起始比特、8个数据比特、奇偶校验比特、停止比特),那么这些数据就从该专用输入模块的输出端通过该路由单元而被传输到该计算单元(MCS),这些数据然后被转换为较高的协议层(例如KWP2000、LIN),或者这些数据被直接写入到FIFO存储器中,其中应用软件可以从该FIFO中获取这些数据。不再需要由该计算单元(MCS)通过分析该路由单元侧的带时间戳的边缘变换消息来重建该消息。相反该计算单元(MCS)从该路由单元作为消息而获得消息帧的数据,而不是作为分别单独的传输来传输边缘变换。由此该路由单元由于不执行很多单独实施而同样被减负。输入数据的处理速度不再如前一样强烈地与该路由单元的速度相关。从而除了该路由单元和计算单元(MCS)的减负之外,还能够以更快的数据速率来进行输入数据的处理。
除了被过滤的、也即在过扫描和表决之后所确定的正确比特电平之外,还可以转发如下的信息(例如转发到该计算单元(MCS)或该微控制器的中央处理单元(CPU)),即这些比特是否被干扰以及干扰程度,也即例如该表决的明确程度。例如可以通知一个比特的多少个被扫描值具有相同的电平。为了使表决更鲁棒,例如也可以屏蔽直接在边缘变换之前以及直接在边缘变换之后的点(采样),以使表决、也即比特识别更鲁棒。
对于所述的、具有执行过扫描和表决的专用输入模块的硬件电路,为了改善比特识别也可以针对所述表决而采用所确定的波特率(这种波特率识别在下文中还要详细阐述)。
在具有专用输入模块的实施方案的一个优选替换变化方案中,从该专用输入模块向存储器、例如FIFO存储器进行直接的传输,其中该计算单元(MCS)或该微控制器的中央处理单元(CPU)对该存储器进行访问。替换地,计算单元(MCS)或该中央处理单元(CPU)也可以直接访问该专用输入模块的存储器。
在前述的具有专用输入单元的一种扩展中,该专用输入单元可以给每个比特流或每个消息帧分配一个时间戳(为此需要访问时间信息)。计算单元(MCS)或该微控制器的中央处理单元(CPU)可以应用该时间戳以进行消息帧的处理或分析。
这种专用的输入单元与较高的成本相关联,从而必须把所讨论的优点与成本缺点相平衡,以选择合适的实施方案。
在所述的具有专用输出单元的实施例中,首先假定,其余方法步骤(通过该输出模块进行数据输出,通过该路由单元进行路由,通过该计算单元(MCS)进行协议计算,必要时通过该CRC单元进行CRC计算)继续如上所述地来进行,以及其余的硬件电路(输出模块、路由单元、计算单元(MCS)、必要时的CRC单元)继续如上所述来构建。
在图5中示意示出了具有专用输入单元的、用于实现通用串行接口的一种硬件电路。该微控制器501具有该硬件部件510——也即输入模块511、路由单元512、计算单元(MCS)513以及输出模块514——以及至数据输入通道502和数据输出通道503的连接,该微控制器501再次最大程度对应于图1中的微控制器101。但是与此不同,该专用输入模块511是具有电路的硬件单元,该电路用于实现过滤功能,尤其对所接收比特进行过扫描和表决,其中根据在一个比特的扫描点上所检测的电平值通过多数判决来确定该比特的电平值。与在图1中所述的输入模块相反,该专用输入模块511必须具有存储器,该存储器具有足够的容量以存储完整的比特流或完整的所接收的消息帧。
与图1相比,在图5中还示出了存储器516,例如FIFO存储器。至少该输入模块511对该FIFO存储器进行访问。与前述变化方案之一相对应,从该专用输入模块511向该存储器516进行直接的传输,其中该微控制器的中央处理单元(CPU)访问该存储器,如在图5中通过从存储器516至该微控制器501的所示连接所示。
在用于提供通用串行接口的硬件电路的另一变化方案中,前述的实施方案另外还具有另一硬件组件,该硬件组件被用于消息仲裁。该组件在此承担了时间严苛的功能,其中其余的电路部分由于其结构和时钟频率而不能最佳地用于上述时间严苛的功能。
该组件优选地涉及用于支持CAN仲裁的组件。对于CAN仲裁,在相应高的数据速率时必须在几纳秒的内部处理时间(IPT)内就识别在总线上存在显性电平。在该总线上存在显性电平的情况下,如果在当前的比特中(在当前的时钟片段中)在该接口中存在一个隐性比特,那么就不允许该接口在下一比特时(在下一时钟片段中)驱动显性电平。在这种情况下,该接口(以及从而相应的CAN节点)从该仲裁中被淘汰,因为另一CAN节点具有更高优先权(也即具有更早的显性电平)的消息。对于这种功能,前述的在图1中示例阐述的硬件部件并不是最佳的。从而利用一种专门为此而设置的模块就能够实现更快的响应时间。
在图7中为了阐述CAN仲裁而绘制了存在于CAN总线上的信号701以及存在于微控制器内部的要发送的信号702。从左向右用虚线划分了四个时钟片段。在时钟片段1中,不仅在总线上而且作为内部信号存在隐性电平。在时钟片段2中在总线上具有显性电平,内部信号对该时钟片段具有隐性电平。从而该节点从仲裁中被淘汰。从而通过用于仲裁的硬件单元,现在在时钟片段3中禁止驱动所设置的显性电平。相应地在时钟片段4中以及随后的时钟片段中也不再允许该节点发送,直到在该CAN总线上已赢得该仲裁的那次传输结束。
图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)来实现。
在图6中还示出了第二输出模块615。该第二输出模块可以通过提供计时器资源来支持附加的仲裁硬件单元630。这些资源例如是为了等待特定比特长度或维持特定暂停而需要的。一种替换的实施方案是,同样作为附加的硬件电路来设置该计时器资源。
附加的仲裁硬件单元优选地可以通过可配置的逻辑装置而灵活地分配给不同的输出模块。但是固定的分配也是可以的。
附加的仲裁硬件单元优选地作为可编程逻辑装置(例如FPGA或CPLD)位于该微控制器外部。但是通过这种可编程逻辑电路的集成也可以实现在该微控制器上的一种替换实施。
专用的仲裁硬件单元可以准备有其他的测量和分析功能。在一个优选的变化方案中,这种CAN仲裁单元例如还识别所使用的协议是否是CAN或CAN-FD(具有灵活数据速率的CAN)。
在所述的具有专用仲裁硬件单元的实施例中,首先假定,其余的方法步骤(在输入模块中的数据输入,通过该输出模块进行的数据输出,通过该路由单元进行的路由,通过该计算单元(MCS)进行的协议计算,必要时通过该CRC单元进行的CRC计算)继续如上所述进行,以及其余的硬件电路(输入模块、输出模块、路由单元、计算单元(MCS)、必要时的CRC单元)继续如前面图1所述来构建。但该专用仲裁硬件单元也可以没有问题地与具有专用输入模块的实施例相组合。
在另一优选的变化方案中,在前述的实施方案中另外还可以实施波特率识别。这种波特率识别例如能够适应不同的波特率。
所述波特率识别可以以软件或硬件来实施。在软件实现时,例如可以从该输入模块的捕捉信息中通过该计算单元(MCS)或该微控制器的中央处理单元(CPU)来进行波特率识别。数据的输入频率在此情况下可以被测量,并且通过参照频率的调制可以确定波特率。为此必须分析完整的消息帧,这在软件实现中是费时的。
在一个优选的替换实施方案中,波特率识别以硬件来被执行。这或者可以在附加的硬件电路中来进行,或者在一个装备有相应附加功能的专用输入模块中来进行,如前(例如在图5中)所述。与软件实现相比,利用硬件实现可以实现更快的波特率识别和波特率适应,另外计算单元(MCS)或中央处理单元(CPU)被更小地承载。
在图10中示出了以通用UART接口为例的以硬件来实现的波特率识别的一个相应流程图。
在所规定的协议中消息帧的基本构造是已知的,例如在当前例子中,已知一个消息帧总是以具有低电平的一个起始比特开始,并以具有高电平的一个停止比特结束。在用于确定波特率的第一步骤1001中通过相应的硬件功能数出在起始比特和停止比特之间(也即第一高低边缘至最后的低高边缘之间)的时钟的数量。时钟数量在此优选地从时基中来导出,其中该时基给该硬件功能提供时钟(例如来自时基单元),并且该时基小于要读出的波特率。
该消息帧的长度(也即比特数量)是该硬件功能所已知的。对于例如采取的协议已知,一个消息帧具有十个比特(例如起始比特、八个数据比特、停止比特)。在第二步骤1002中,把所确定的、从起始比特至停止比特之间所经过的时钟的数量除以一个消息帧的比特数量(例如十)。在第三步骤1003中可以把由此所确定的波特率进行传输,例如传输至该计算单元(MCS)或该微控制器的中央处理单元(CPU)。
例如在要实现的UART或LIN接口的情况下,帧长度可能总是恒定的并从而可能是已知的,而例如在CAN的情况下,消息帧的长度(也即比特数量)可以是未知的。在所述波特率识别的一个变化方案中,在此也可以以硬件来识别波特率。例如可以确定在一个消息帧的两个比特之间的最短时间。
为了识别波特率,必须能够确定一个消息帧的开头和结尾。这例如可以通过设定的时钟数量、例如三个时钟(在波特率恒定的情况下对应于固定的时间,例如150ns)针对特定电平来进行。

Claims (33)

1.用于在尤其运输工具的控制设备中提供至少一个通用接口的方法,其中该控制设备具有微控制器(401),该微控制器具有中央处理单元(CPU)、至少一个非接口专用的输入模块(411)、至少一个非接口专用的输出模块(414)、至少一个路由单元(412)、以及具有用于处理接口专用信息的至少一个计算单元(413),并且其中所述至少一个通用接口是能被配置的,以按照配置来提供与多个串行接口、尤其SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、I2C、MSC或Ethernet之一相对应的功能,其特征在于以下的步骤:
-通过所述至少一个非接口专用的输入模块(411)接收与多个串行接口之一的协议对应的输入数据,
-该输入数据通过该路由单元(412)被传输到所述至少一个计算单元(413),
-由所述至少一个计算单元(413)从该输入数据中提取第一有用数据,尤其通过从该输入数据中去除协议的协议细节,
-所述第一有用数据被提供给该中央处理单元(CPU),
-由所述至少一个计算单元(413)接收该中央处理单元(CPU)的第二有用数据,
-由所述至少一个计算单元(413)从该第二有用数据中生成输出数据,尤其通过给该第二有用数据添加协议的协议细节,
-该输出数据被传输到所述至少一个非接口专用的输出模块(414),其中该计算单元(413)从该第二有用数据中生成完整的输出消息帧来作为输出数据,并把该输出消息帧传输到所述至少一个非接口专用的输出模块(414),
-通过所述至少一个非接口专用的输出模块(414)与多个串行接口之一的协议对应地发送该输出数据。
2.根据权利要求1所述的方法,其中如果通过该计算单元(413)或该中央处理单元(CPU)来触发相应的触发信号,那么所述至少一个非接口专用的输出模块(414)发送该输出消息帧。
3.根据权利要求1所述的方法,其中如果通过该计算单元(413)分配给该输出消息帧的时间戳对应于非接口专用的输出模块(414)的时间信息,或者如果通过该计算单元(413)分配给该输出消息帧的角度戳对应于非接口专用的输出模块(414)的角度信息,那么所述至少一个非接口专用的输出模块(414)传输该输出消息帧。
4.根据权利要求1至4之一所述的方法,其中该输出数据由该计算单元(413)通过该路由单元(412)传输到所述至少一个非接口专用的输出模块(414)。
5.根据权利要求1至4之一所述的方法,其中该输出数据由该计算单元(413)直接写入到所述至少一个非接口专用的输出模块(414)的存储器资源中。
6.根据权利要求1至4之一所述的方法,其中所述至少一个非接口专用的输出模块(414)通过直接存储器访问(DMA)来独立地加载该输出数据。
7.根据前述权利要求之一所述的方法,其中该计算单元(413)访问第一存储器,并且在该第一存储器中存储有协议细节,尤其与起始比特、停止比特、奇偶校验信息、控制比特和填充比特之一有关的信息。
8.根据权利要求7所述的方法,其中该协议细节由该中央处理单元(CPU)存储在该第一存储器中。
9.根据前述权利要求之一所述的方法,其中所述至少一个非接口专用的输入模块(411)和所述至少一个非接口专用的输出模块(414)通过配置而被固定地分配给多个串行接口之一。
10.根据前述权利要求之一所述的方法,其中该计算单元(413)还进行较高协议层的计算,尤其多个UART消息帧到一个LIN消息帧的转换。
11.根据前述权利要求之一所述的方法,其中该第一有用数据被提供给该中央处理单元(CPU),其方式是,该计算单元(413)把该第一有用数据写入到第二存储器中,并通过中断将此通知给该中央处理单元(CPU)。
12.根据权利要求1至10之一所述的方法,其中该第一有用数据由该计算单元(413)通过存储器直接访问(DMA)提供给该中央处理单元(CPU)。
13.根据前述权利要求之一所述的方法,其中该输入数据在所述至少一个非接口专用的输入模块(411)中被分配了时间信息。
14.根据权利要求13所述的方法,其中在所述至少一个非接口专用的输入模块(411)中,给施加在该微控制器(401)的输入端上的该输入数据的每个边缘变换都分配时间戳。
15.根据权利要求14所述的方法,其中通过单独地传输该输入数据的具有所分配时间戳的每个边缘变换,所述至少一个非接口专用的输入模块(411)把该输入数据传输到该路由单元(412)。
16.根据权利要求14或15之一所述的方法,其中该计算单元(413)从该输入数据的具有所分配时间戳的边缘变换中确定消息帧。
17.根据权利要求1至13之一所述的方法,其中该输入数据的完整的输入消息帧被存储在所述非接口专用的输入模块(511)中,并且所述完整的输入消息帧被提供给该计算单元(513)。
18.根据权利要求17所述的方法,其中通过所述至少一个非接口专用的输入模块(511)借助过扫描来分析该输入消息帧,并通过根据过扫描的扫描点的电平值的比特电平表决来确定该消息帧的比特电平。
19.根据权利要求18所述的方法,其中在所述至少一个非接口专用的输入模块(511)中给该输入消息帧分配时间戳。
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之一相对应的功能,其中该计算单元(413)设置用于从有用数据中生成完整的输出消息帧来作为输出数据,并将该输出消息帧传输到所述至少一个非接口专用的输出模块(414)。
23.根据权利要求21或22之一所述的微控制器(401),其中所述至少一个非接口专用的输出模块(414)具有状态自动机。
24.根据权利要求21至23之一所述的微控制器(401),其中所述至少一个非接口专用的输出模块(414)具有存储器,其所具有的容量用于存储所述完整的输出消息帧,尤其用于存储与可能要实现的多个串行接口的每个的协议相对应的、完整的输出消息帧。
25.根据权利要求21至24之一所述的微控制器(101),其中该计算单元(113)具有算术逻辑单元(ALU)。
26.根据权利要求21至25之一所述的微控制器(101),其中所述至少一个非接口专用的输入模块(111)具有捕捉功能。
27.根据权利要求21至26之一所述的微控制器(301),其具有单独的第一硬件电路(315)以进行CRC计算。
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之一所述的微控制器的运输工具控制设备。
CN201410230036.9A 2013-05-29 2014-05-28 用于提供通用接口的方法以及具有通用接口的微控制器 Pending CN104216312A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013210077.9A DE102013210077A1 (de) 2013-05-29 2013-05-29 Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102013210077.9 2013-05-29

Publications (1)

Publication Number Publication Date
CN104216312A true CN104216312A (zh) 2014-12-17

Family

ID=51899340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410230036.9A Pending CN104216312A (zh) 2013-05-29 2014-05-28 用于提供通用接口的方法以及具有通用接口的微控制器

Country Status (4)

Country Link
US (1) US9965437B2 (zh)
KR (1) KR102205776B1 (zh)
CN (1) CN104216312A (zh)
DE (1) DE102013210077A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107154793A (zh) * 2016-03-02 2017-09-12 罗伯特·博世有限公司 用于对电子开关进行过电流保护的方法和装置
CN110247958A (zh) * 2019-05-23 2019-09-17 厦门理工学院 一种考虑计算和网络协同的车载can fd信号打包方法
CN112769861A (zh) * 2021-01-25 2021-05-07 东方电气自动控制工程有限公司 一种电厂安全i区网络安全危急信号识别输出装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160188525A1 (en) * 2014-12-30 2016-06-30 Ge Aviation Systems Llc Apparatus with configurable serial ports
US10427692B2 (en) 2015-07-28 2019-10-01 Crown Equipment Corporation Vehicle control module with signal switchboard and input tables
US10872055B2 (en) * 2016-08-02 2020-12-22 Qualcomm Incorporated Triple-data-rate technique for a synchronous link
DE102016219347A1 (de) * 2016-10-06 2018-04-12 Robert Bosch Gmbh Steuergerät, insbesondere Steuergerät für ein Kraftfahrzeug
JP2019213081A (ja) * 2018-06-06 2019-12-12 ルネサスエレクトロニクス株式会社 半導体装置及び情報処理方法
CN111628920B (zh) * 2020-05-28 2022-01-28 上海辰瞻医疗科技有限公司 多个串行接口设备间的相互通信方法
CN114039808B (zh) * 2021-11-08 2023-05-30 深圳驰越科技有限公司 基于can的多通道的can/lin/sent转发协议

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1526102A (zh) * 2001-07-11 2004-09-01 Ħ��������˾ 通信控制器和转换信息的方法
CN101136000A (zh) * 2006-09-01 2008-03-05 飞思卡尔半导体公司 实现sd主机/从属设备的应用处理器电路和电子设备
CN201146538Y (zh) * 2008-01-21 2008-11-05 上海可鲁系统软件有限公司 一种协议转换装置
CN101770442A (zh) * 2008-12-30 2010-07-07 易视芯科技(北京)有限公司 具有多个外设接口的数据交互系统和方法
CN101802746A (zh) * 2007-09-20 2010-08-11 罗伯特·博世有限公司 用于信号接收和信号产生的电路装置以及用于运行所述电路装置的方法
WO2012065760A1 (de) * 2010-11-15 2012-05-24 Continental Teves Ag & Co. Ohg Verfahren und schaltungsanordnung zur datenübertragung zwischen prozessorbausteinen

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412588B2 (en) * 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
DE602004027024D1 (de) 2004-08-05 2010-06-17 Bosch Gmbh Robert Kommunikationskontrolleur für FlexRay-Netze
EP2372490A1 (en) 2010-03-31 2011-10-05 Robert Bosch GmbH Circuit arrangement for a data processing system and method for data processing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1526102A (zh) * 2001-07-11 2004-09-01 Ħ��������˾ 通信控制器和转换信息的方法
CN101136000A (zh) * 2006-09-01 2008-03-05 飞思卡尔半导体公司 实现sd主机/从属设备的应用处理器电路和电子设备
CN101802746A (zh) * 2007-09-20 2010-08-11 罗伯特·博世有限公司 用于信号接收和信号产生的电路装置以及用于运行所述电路装置的方法
CN201146538Y (zh) * 2008-01-21 2008-11-05 上海可鲁系统软件有限公司 一种协议转换装置
CN101770442A (zh) * 2008-12-30 2010-07-07 易视芯科技(北京)有限公司 具有多个外设接口的数据交互系统和方法
WO2012065760A1 (de) * 2010-11-15 2012-05-24 Continental Teves Ag & Co. Ohg Verfahren und schaltungsanordnung zur datenübertragung zwischen prozessorbausteinen

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107154793A (zh) * 2016-03-02 2017-09-12 罗伯特·博世有限公司 用于对电子开关进行过电流保护的方法和装置
CN110247958A (zh) * 2019-05-23 2019-09-17 厦门理工学院 一种考虑计算和网络协同的车载can fd信号打包方法
CN110247958B (zh) * 2019-05-23 2021-09-17 厦门理工学院 一种考虑计算和网络协同的车载can fd信号打包方法
CN112769861A (zh) * 2021-01-25 2021-05-07 东方电气自动控制工程有限公司 一种电厂安全i区网络安全危急信号识别输出装置
CN112769861B (zh) * 2021-01-25 2023-01-31 东方电气自动控制工程有限公司 一种电厂安全i区网络安全危急信号识别输出装置

Also Published As

Publication number Publication date
DE102013210077A1 (de) 2014-12-04
US20140359178A1 (en) 2014-12-04
KR20140140508A (ko) 2014-12-09
US9965437B2 (en) 2018-05-08
KR102205776B1 (ko) 2021-01-21

Similar Documents

Publication Publication Date Title
CN104216311A (zh) 用于提供通用接口的方法以及具有通用接口的微控制器
CN104216312A (zh) 用于提供通用接口的方法以及具有通用接口的微控制器
CN104219333A (zh) 用于提供通用接口的方法以及具有通用接口的微控制器
US6754881B2 (en) Field programmable network processor and method for customizing a network processor
CN101385296B (zh) 用于总线间信息自动路由的网关
US9255968B2 (en) Integrated circuit with a high-speed debug access port
US20080137679A1 (en) Method for Transmitting Data in Messages Via a Communication Link of a Communication System, as well as a Communication Module, User of a Communication System, and Communication System for Implementing This Method
JP2006333438A (ja) ゲートウェイ装置及びルーティング方法
CN110535788B (zh) 多协议控制器和多协议交换芯片
WO2008004185A2 (en) Electronic device, system on chip and method for monitoring data traffic
US20200218215A1 (en) Circuit for coupling a field bus and a local bus
Saponara et al. Design of an NoC interface macrocell with hardware support of advanced networking functionalities
KR20190134481A (ko) 집적회로용 상호연결 네트워크
US7206889B2 (en) Systems and methods for enabling communications among devices in a multi-cache line size environment and disabling communications among devices of incompatible cache line sizes
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
CN103246623A (zh) Soc计算设备扩展系统
US20150301976A1 (en) Bus interface unit and operating method therefor
US9081743B2 (en) Communication system and communicaton method
CN109902044B (zh) 一种控制系统、一组控制系统及其设计方法、电子装置
Obeid CarRing IV-Real-time Computer Network
CN113169908B (zh) 线路监视装置和网络交换机
Grammatikakis et al. Managing Concurrent Queues for Efficient In-Vehicle Gateways.
Mansour Optimization of SPI protocol in precision farming environment
KR102279947B1 (ko) 필드버스용 마이크로컨트롤러
CN107273312B (zh) 具有工作存储器的计算单元用的存储器直接访问控制装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20141217

RJ01 Rejection of invention patent application after publication