碧波液压网 欢迎你,游客。 登录 注册

LonWorks现场总线设备驱动设计与实现

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 引言

  新设备及新的接口规范等的不断出现,使得操作系统的设备驱动部分的开发工作层出不穷。我们在基于嵌入式Linux智能控制器的开发中,首先遇到了LonWorks现场总线设备的驱动程序问题。于是我们对Linux的驱动程序实现机制进行了深入研究,并开发了LonWorks现场总线设备的驱动程序。

  2 关于LonWorks现场总线

  现场总线是一种工业数据总线,是连接智能现场设备和自动化系统的高可靠的数字式、双向传输的通信技术,可方便地构成全数字化的分布式现场控制网络。对于防护工程这种工程轴线长、监控测点分散的系统,特别适合采用现场总线技术构成工程的分布式智能化控制系统。

  在各种现场总线中,LonWorks总线技术以其在技术先进性、可靠性、开放性、拓扑结构灵活性等方面独特的优势,为集散式监控系统提供了很强的实现手段。使其特别适合于建筑的楼宇自动化系统。根据防护工程是一种特殊的地下建筑工程以及其布局特点,特别适合采用LonWorks现场总线技术实现其内部设备的自动化监控。

  网络接口卡是主计算机与LonWorks网络的接口,使计算机能够完成与LonWorks节点之间的数据交换。在我们设计的智能控制器中,采用专门的嵌入式LonWorks现场总线接口卡作为嵌入式CPU与Lon- Works现场总线网络之间的接口设备。

  2.1 LonWorks现场总线网卡的原理

  了解LonWorks现场总线卡的工作原理,对编写驱动程序是必要的,故我们首先给出其工作原理,并对此作一些必要的解释。图1是嵌入式LonWorks网卡的硬件电路方框图。

  

 

  图1 ISA网卡的硬件电路方框图

  过去实现微控制器与ISA总线的接口一般使用8155、8255,电路复杂,调试困难,在本网卡的设计中,使用可编程逻辑阵列(CPLD)来实现与ISA总线的接口逻辑,只用一个芯片就完成了所有功能,大大简化了网卡的电路。

  2.2 LonWorks现场总线网卡的工作过程

  计算机与微控制器之间数据交换接口的应用程序框图如图2、3所示。在程序框图中,主要实现了计算机与微控制器之间读写数据、置标志位和清除标志位的功能。CPLD内部实现了存储数据和标志位的寄存器。

  

 

  图2 主机写数据程序框图

  

 

  图3 从机接收数据程序框图

  3 LonWorks现场总线网卡设备驱动实现

  我们在Linux平台上开发和设计了LonWorks现场总线网卡的软件。软件部分由应用程序和设备驱动程序两部分构成,这里首先主要讨论的是设备驱动程序部分。在Linux平台上实现对硬件的驱动支持可以有两种方式:一种是直接在用户空间来实现;另一种是使用Linux内核中提供的机制来实现。考虑到用户空间驱动程序的局限性,比如为了访问特权指令(I/O指令)必须做一些影响系统安全的设置等等,我们在开发中采用了第二种方式。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论