XGATE解决方案

一周全天无休甚至更加忙碌


每个人都经历过繁忙的日子。有时,这些繁忙的日子卓有成效。但另外一些时候,我们不得不放下自己的工作,煞费苦心地应对突发状况或帮助他人。这种日子里我们迫切需要一名特别助理来接听电话、转发邮件和接待访客。


对微控制器来说也是一样


汽车中的微控制器会经历类似的情况。在工作繁忙时,微控制器必须花费大量精力从我们和其他模块处获取并传递信息,同时还要完成自身的“日常工作”。除此之外,有些信息必须立即处理,因此您可能会让处理器中断当前活动,并花费大量时间紧急处理某些新的需求。因此,您很难找到既符合需求,又具备高性价比的处理器。在处理大量活动时,我们需要性能强大的高速处理器,但在处理常规操作时,我们只需要这些性能的一小部分。


分析挑战


让我们以 9S12XEP100 MCU为例来分析面临的挑战。该微控制器包含5个CAN端口和8个SCI端口。SCI是通用串行模块,可与多种不同的串行总线(包括LIN)结合使用。由于一条LIN消息的内容可包含多达12个不同的字节,因此可能需要多达12个不同的事件来完整接收或传输一条消息。当所有SCI都在接收或传输消息时,就总共需要多达96个不同的事件。再加上5个CAN接口和其他事件(例如用户输入或定时事件),主处理器很有可能需要在短时间内处理100多个中断。


恩智浦解决方案


S12XE、S12XF、S12XHZ、S12XD和S12XB都采用了专为应对上述挑战的全新设计。它们各自包含名为XGATE的“特别助理”。XGATE的功能非常适用于处理突发和频发的任务。除了处理数据及执行计算的能力之外,它真正的强大之处在于无需主处理器的干预,即可快速处理传入的事件。这是一种实用的替代方案,使您不必选择性能强大的高速主处理器,就能应对不断发生的各种活动。


处理消息也得心应手


XGATE能够处理系统中各种不同类型的事件,不过它尤其擅长处理来自其他系统的消息。
消息通过 LIN、CAN和FlexRay等多种总线在汽车中传播,而系统通常需要在多种总线上接收和发送消息。就网关系统而言,它的作用可能只是接收和重新发送消息。每当某个消息到达时,系统必须决定如何处理该消息。每条消息会导致一个或多个中断,从而扰乱处理器的工作流,这就需要引入XGATE,确保工作流的顺畅!


承担额外的负载


XGATE能够显著减少这种额外的负载。它可以接收每个LIN事件,并仅在完整有效的消息到达时通知CPU,从而将CPU的负载减少到原来的1/12。此外,如果LIN消息并非针对该系统,它会检测到这一情况,然后忽略该消息或将它转发到其他总线上。这意味着CPU负载将减少到原来的1/24!XGATE在处理此类任务时非常高效,只需使用其不到5%的处理能力,就能处理8个LIN总线上的所有流量。在需要更多的通信选项时,XGATE也能提供进一步的支持。利用现有的MCU定时器硬件,它可以借助未使用的I/O引脚创建额外的SCI或LIN接口。想像一下,一个MCU能够与12个LIN总线通信,而且不消耗任何CPU资源。另外,您还可以添加通常需要借助MCU上的专用模块才能实现的以下功能:用于照明的脉宽调制(PWM)模块、用于显示的液晶显示屏(LCD)、用户警示音效,等等。我们制作了有关如何针对不同任务使用XGATE的大量示例,并将它们归并在标题为“ XGATE库”的文章中。您可以在我们的网站上找到这篇文章。


XGATE的优势


XGATE实际上是一个完全可编程的16位RISC处理器,因此才具备如此丰富的功能。小巧的外形为它提供了高度灵活性,而速度则高达主CPU的两倍。您可以使用所有常见开发方法,包括C语言编程和使用MCU上的内部存储器。事实上,您可以在XGATE上十分方便地重复利用以前编写的软件。