基于NDIS的实时调度实现与应用

需积分: 5 0 下载量 171 浏览量 更新于2024-08-10 收藏 282KB PDF 举报
"一种基于NDIS的实时调度实现方法 (2004年)" 本文探讨了一种基于NDIS(Network Driver Interface Specification,网络驱动程序接口规范)的实时调度方法,适用于现场总线系统的实时性需求。NDIS是微软操作系统中用于网络驱动程序开发的标准接口,允许网络硬件供应商和软件开发者构建兼容的网络驱动程序。 现场总线系统在工业自动化领域中广泛应用,由于其对实时性的高要求,传统以太网技术往往无法满足。然而,随着以太网技术的发展,尤其是高速以太网的出现,将其应用于现场总线成为可能。文章提到,多家厂商正致力于将现场总线协议与以太网技术相结合,如FF的HSE计划,以及Profibus-DP、DeviceNET、ControlNet和LonWorks等协议的以太网版本。 在这样的背景下,作者提出了一个利用NDIS的实时调度解决方案。他们详细阐述了RM(Rate Monotonic,速率单调)调度算法,这是一种常见的实时任务调度策略,保证了周期性任务的执行时间确定性。同时,文章介绍了NDIS的网络驱动程序接口规范,包括驱动程序接口函数,这些函数允许驱动程序与操作系统进行通信,处理网络数据包的接收和发送。 为了实现实时调度,作者引入了中间驱动程序(Middleware Driver),它在原有的驱动程序和操作系统之间插入了一个实时层。中间驱动程序负责处理实时任务,通过拦截和修改网络数据包的传递,确保关键任务能够得到优先处理,从而满足实时性需求。文章中提到了使用C语言实现部分源代码,表明这种方法具有较低的实现复杂度和良好的可移植性。 此外,文章讨论了CSMA/CD(Carrier Sense Multiple Access with Collision Detection,载波监听多路访问/冲突检测)机制,这是以太网的基础访问控制方式,用于避免多个设备在同一时刻发送数据导致的冲突。在冲突发生时,设备会停止发送并发送阻塞信号,采用二进制指数退避策略重试发送,以减少冲突。 该方法提供了一种有效途径,将以太网的低成本和易用性与现场总线的实时性能需求相结合,对于提升工业自动化网络的性能和兼容性具有重要意义。由于其简单实现和高兼容性,这种方法有望在实际系统中得到广泛的应用。