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

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

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

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

将MOST控制消息用到极致

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

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


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

  共享变量

  有些配置和状态变量需要持续可用。用户可以将这些变量映射到 PicoBlaze 控制器外部存储器空间的寄存器,供状态机访问,与 MOST LogiCORE 控制处理模块中的存储器并无二致(图 2)。在 LogiCORE 系统中,PicoBlaze 控制器外部存储器端口被映射到一个共享 Block RAM,唯一不同的是存储器范围末端为由存储器映射的寄存器。

图2 针对Xilinx MOST NIC控制器消息处理的存储器组织

  例如,MOST 节点上当前已编程的地址被映射到一个只读“寄存器”(多路器输入),以确定接收到的数据是否针对此节点。有关缓冲器当前占用情况的状态信息会放入一个只写寄存器,供外部主机访问。

  排序处理

  复杂状态机通常由较小的、并行操作的互锁状态机构建而成。PicoBlaze 可配置状态机按顺序执行任务,具有避免冲突和竞争条件方面的优势。但是,用户还需要仔细计划,以确保事件调度准确无误,并且不会丢失排队等候的事件。以下几点可能对设计 PicoBlaze 应用有所帮助:

  对事件处理区分轻重缓急。如果有不重要的事件,可选择放到最后执行。例如,缓冲器占用情况计数的值被 MOST 主机缓冲器读更改了。但此更新可能被延迟几帧。因为对消息的响应必须在一帧内完成,所以核优先对服务消息做出响应。

  保持事件排序。如果处理要求完成一个事件后再执行另一事件,就需要先执行首个事件的代码,即便排在后面的事件的时间要求更紧。例如,控制字节必须在当前帧中的字节尚未收到之前就发出。因此,对于给定的帧,发送事件总是要在接收事件之前处理。

  考虑使用等待事件环。如果有一个很长的事件,无法在其他事件要求的时间帧内处理,可考虑将这一长事件放置于主处理等待事件环中。

  例如,对一个供发送用的 MOST 控制消息的准备,可能需要多个帧才能完成。本来可以设置多个级别的中断服务,以确保在进行上述准备的同时还可以处理帧数据,但这一类型的任务非常适合等待事件环,该环会自动给予其最低优先权。

  如果确实要选择在主环中处理数据,还需要格外小心,确保发出中断时不会损坏主环。在开始中断服务时,应复制所有可能被覆盖的寄存器,并在中断服务完成时恢复这些寄存器。执行代码的关键部分时,还可以使用 PicoBlaze 命令来禁用中断。

   结语

  Xilinx MOST NIC 已被证明可以有效地处理控制消息。由于能提供类似于流数据的效率,它成为汽车信息娱乐系统的理想选择,而 Spartan-3A DSP 系列的器件也将使用户设计处理多媒体的效率更上一层楼。

[文章纠错]

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

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

12

会员评价:

0 发表评论

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

GMT+8, 22-1-2026 08:05 , Processed in 0.327233 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.