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指令)必须做一些影响系统安全的设置等等,我们在开发中采用了第二种方式。
相关文章
- 2022-05-31利用MSDS加强高校实验室安全管理的探讨
- 2023-08-26地铁站台噪声特性分析
- 2023-09-06缩短微机械圆盘谐振器缝隙的电极移动法
- 2023-03-03挤压式摩擦试验装置改进研究
- 2023-04-30群相可控光学延迟线色散特性分析
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。