中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

您当前所在位置: 汽车电子 > 查看内容

将MOST控制消息用到极致

文章作者头像
发布:清雅轩 作者: webmaster来源: job.cartech8.com
PostTime:16-5-2008 20:50

以下为文章全文:(本站微信公共账号:cartech8)


汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师

  Xilinx MOST (Media Oriented Systems Transport,面向媒体系统传输)网络接口控制器(NIC)使用 2600个slice,大约占用了 Spartan-3E 500 器件一半的空间,为微处理器和其他外设留下了很大空间。此功能全面的嵌入式核将数据和网络控制作为主节点或从节点,访问十分便捷。

  本文将提供一个控制消息处理设计案例研究,说明在没有任何主机软件介入的情况下,MOST NIC 如何独立地处理消息。经过精心设计,占用资源极少的 PicoBlaze 可配置状态机能正确有效地处理控制消息。

  MOST 网络中的控制消息

  MOST 是一种面向信息娱乐的汽车网络标准,采用环型拓扑,其强势之一在于支持用于环中若干个节点的多个同步媒体流。然而,像其他网络一样,节点间不单发送数据,还需要控制通信。图 1 所示为简单的 MOST 环网络,其中有一个网络主节点和若干个从节点。它支持 6 种不同的控制消息类型。本文着重探讨一下 MOST 网络操作过程中最常用的三种类型。

图1 示例MOST环

  正常消息

  正常消息与其他类型的消息不同,专用于主机处理器的高级应用。所有其他消息都用于环操作和调试。例如,作为环启动序列的一部分,主节点会发送一个正常消息来识别从节点 B。如果信息多于一条消息的容量,在应用层可进行正常消息组合。

  通道分配和释放

  分配消息被发送到主节点以获取对帧中留给媒体数据中部分的访问权。请求者指明需要多少个字节宽度通道,响应者(主节点)确认请求的状态(准予或拒绝)及哪些通道准予分配。通道释放消息与分配消息相似,请求者指明要重新分配哪些通道,主节点以准予的重新分配做出响应。

  选择硬件/软件分区

  嵌入式设计涉及到根据功能和资源选择硬件/软件接口之间的最佳边界。选择过多的硬件实现意味着需要额外的资源来实现设计和高昂的造价。选择过多的软件实现会导致微处理器超负荷和逻辑梗阻,如果处理器丢失事件的话,甚至可能导致设计完全失去功能。

  对于 MOST LogiCORE 解决方案,可以找到分割控制消息处理的清晰边界。

  延迟时间需求

  控制消息被分解为多个帧。当消息沿着环传输时,通信节点之间需要特定的信号交换,周转时间大约为一帧的时间(23ms 左右)。消息-响应生成通常需要计算。例如,分配响应取决于确定是否有足够的空闲通道可用。

  因为该服务要求很紧迫,最好在硬件上进行核内控制消息处理,而将外部处理器留作网络堆栈和面向媒体的用户应用之用。

  留给软件的事项

  虽然几乎所有类型的控制消息都完全可以由 LogiCORE 系统处理,但是,正常控制消息必须交给应用。因此,MOST NIC LogiCORE 解决方案提供中断,以显示一个正常消息已被接收,并可供处理。而且因为所有的消息都由应用发起,系统中置有若干个配置寄存器,利用它们,应用可显示有消息供发送,中断可提醒应用消息序列已完成。

  选择实现

  确定在硬件中处理控制消息后,下一步是尽可能选择最有效的设计。本来可以决定采用传统的、以自定义状态机的方式实现最有效的设计。根据初步估计,状态机大小为1000多个slice,再加上一个Block RAM来包含所有消息缓冲器。请注意,控制消息仅使用64字节帧中的 2个字节,而要处理这2个字节却会占用核的1/3还要多。

  因此,最后弃此方案不用,而选择将 PicoBlaze 可配置状态机作为控制通道处理的主干,将核资源最小化。在实现中,核资源包括用于维持指令存储器的 2 个 Block RAM、用于 PicoBlaze 组件的约 100 个 slice、用于外设的 150 个 slice 和用于消息缓冲的原有 Block RAM。

  如果选择 PicoBlaze 控制器,使用的资源已接近最少,并会获得很多好处,即借助程式化编码消息处理的简便,使设计周期更短,编码更容易维护。

  组织数据存储

  在设计 RTL 状态机的时候决定采用哪种变量存储器相当简单。一般情况下,应将 RAM 用于较大的缓冲器,其他的都留在寄存器中。使用 PicoBlaze 控制器时,需要做更多前期计划,以在将资源最小化的同时提供对用户所有数据的访问。

  状态机变量

  要存储永远不会在 PicoBlaze 控制器以外使用的变量,64 个“空闲”的便笺式寄存器非常理想。例如,存储 MOST 控制消息的即时校验和结果的累加器就只有状态机需要。

  更大的缓冲器

  Block RAM 是用于缓冲的理想位置。虽然 PicoBlaze 控制器只提供对 256 个位置的直接访问,但为所有的缓冲器使用一个 Block RAM 比例化分布式存储器 更有效。因为 PicoBlaze 可配置状态机按顺序执行任务,所以每次需要访问的缓冲器不会超过一个,这就使组合所有存储器变得很容易。另一个额外的好处是,Xilinx Block RAM 会自动转换数据宽度,使用户可以从主机端以 32 位访问,而从 PicoBlaze 控制器端以 8 位访问,二者之间配合默契。

[文章纠错]

文章网友提供,仅供学习参考,版权为原作者所有,如侵犯到

你的权益请联系542334618@126.com,我们会及时处理。

12下一页

会员评价:

0 发表评论

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 21-1-2026 14:46 , Processed in 0.392151 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.