基于Linux的现场总线无线通讯卡的实现.docx

上传人:安*** 文档编号:17768927 上传时间:2022-05-26 格式:DOCX 页数:13 大小:21.92KB
返回 下载 相关 举报
基于Linux的现场总线无线通讯卡的实现.docx_第1页
第1页 / 共13页
基于Linux的现场总线无线通讯卡的实现.docx_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《基于Linux的现场总线无线通讯卡的实现.docx》由会员分享,可在线阅读,更多相关《基于Linux的现场总线无线通讯卡的实现.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于Linux的现场总线无线通讯卡的实现ronggang导语:本文阐述了基于Linux的现场总线无线通讯卡的实现经过,成功地解决了IO模块控制卡与其之间的通讯问题,通过无线通讯卡实现了无线现场设备通过标准的无线技术接入到现有的现场总线中摘要:本文阐述了基于Linux的现场总线无线通讯卡的实现经过,成功地解决了IO模块控制卡与其之间的通讯问题,通过无线通讯卡实现了无线现场设备通过标准的无线技术接入到现有的现场总线中。同时进展了简单测试,实验证实测试系统运行效果良好,到达了预期目的。关键字:无线通讯卡现场总线Linux驱动Abstract:Thispaperexpatiatetherealizat

2、iontechniqueoffieldbuswirelesscommunicationcardbasedonLinux,andsuccessfullysolvetheproblemofcommunicationwithIOcard.Itprovidesthefeasibilityofrealizationofwirelessextensionoffieldbusbywirelesscommunicationcard.Simpletestingshowsthatsystemworksorderlyandachievesanticipativeaim.Keywords:WirelessCommun

3、icationCard;Fieldbus;Linuxdriver;使用无线连接设备的便利已经导致了在消费电子贸易领域中无线技术被空前成功的应用。在此根底上基于无线技术的应用开场出如今各个领域。在工业或者工厂底层环境中,使用无线技术的上风更是多方面的。第一,在工业环境中往往需要大量的布线,采用无线技术不仅会使安装和维护的本钱有效减少,而且会使设备的调整规划和重新配置更加的轻易。第二,无线技术的引入对于解决在有化学腐蚀、震动和挪动部件等恶劣环境中对各种线缆的潜伏损伤等问题显得更加有效。第三,考虑到工厂设备中适应性和灵敏性,固定系统可以通过无线技术和现有的挪动子系统或者挪动机器人连接通讯。第四,对在

4、工厂设备进展临时访问任务如诊断或者程序设计等使用无线技术会更加简化如使用无线手持设备。在解决工业环境及经过控制环境下的很多挪动对象,如挪动机器人与自治运输设备之间的协调;旋转对象,如机械臂;危险环境对象的监测与控制问题,如分布式控制等工业环境无线技术发挥极大的作用。将无线技术应用到现场总线中来解决传统现场总线存在的问题,正受到学术界和工业界的极大关注。2.现场总线的无线接入方法为了使无线技术可以无缝而更广泛地应用于工业现场,使现场设备无线接入到现存的现场总线,国内外相关领域的技术人员进展了一定的尝试。按在不同层上实现接入可以将接入方案分为三大类:用户层接入、数据链路层接入和物理层接入。1用户层

5、接入:在用户层设一个OPC效劳器,通过OPC效劳器进展有线网段与无线网段之间的数据交换。该方案其优点是简单易实现,双方可保持原有构造不动,两侧的“连接可随时通过软件的控制建立或者别离。缺点是中间环节过多,实时性得不到保证。2物理层的接入:在某些站点的有线连接“下面加装Modem。无线站点的信号经过此无线收发装置将帧格式转换后,联入有线网段接口,因此远端的无线站点被“视为同质站点。这样,所有的有线、无线站点均采用原有现场总线协议,只是在最底层的某些物理连接上,无线连接代替了有线的连接。其缺点是此方法仅实现了点对点的连接,无线站点不具有“遨游接入的才能。3数据链路层的接入:此方法源自WLAN和以太

6、网的联接方式,即在PHY层和DDL层之上加一个无线网关。该无线网关实现了无线网段数据与有线网段之间的数据格式转换和转发。原有的现场总线保持不动,加装一个无线网段的AP接入点。当两网段间有数据交换时,才会通过AP点经过协议转换把数据转发到另一端。数据链路层的接入是现阶段最被关注的方法。其详细实现方法较多,但大多处于理论研究阶段或者需要对原有的现场总线进展改造,而工业厂家又不想使现正运行的现场总线暂停工作。这使得现阶段的一些其无线接入技术在现场总线中应用变得困难。为了使无线现场设备可以应用于工业现场,又不改动现有的现场总线系统,目前较成熟的技术就是使用无线分散控制站来与原有的现场总线连接,实现现场

7、设备的无线接入。无线分散控制站一般由IO模块控制卡、无线通讯卡两局部组成。两块板卡通过IO模块控制卡上的双端口RAM交换数据,通过中断触发数据读写操纵,进而到达通讯效果。其关键技术就是怎样实现无线通讯卡的软件设计。3.基于Linux的无线通讯卡在无线分散控制站中无线通讯卡使用AT91RM9200控制器并通过USB接口加载符合802.11b协议的无线传输模块,其操纵系统为Linux系统。3.1基于Linux的无线通讯卡的工作原理无线通讯卡运行着现场总线协议栈和功能块MAI,MAO,MDI,MDO等。根据所接入的现场总线的不同选用相应的协议栈。使用向IO模块控制卡发中断及响应IO模块控制卡中断的方

8、式,通过IO模块控制卡来配置、读取和控制现场设备。无线通讯卡与IO模块控制卡之间数据传输是直接通过读写IO模块控制卡上的双端口RAM实现的。另一方面,无线通讯卡通过其上面的USB接口加载了符合802.11b协议的无线传输模块,可以通过该模块实现与有线网络相连,使其与相应的现场总线工作站通讯,其构造示意图如图3-1所示:align=center图3-1无线通讯卡的构造示意图/align3.2基于Linux的无线通讯卡的软件设计无线分散控制站中无线通讯卡软件开发基于Linux操纵系统。由于Linux系统基于802.11b协议的无线驱动已经很成熟了,而基于Linux操纵系统的协议栈软件移植也比拟轻易

9、。因此,选择Linux系统会有效的进步无线通讯卡的开发周期。基于Linux的无线通讯卡与有线的通讯卡在协议栈和功能块方面大致一样,仅需将应用程序向Linux系统上移植即可。但由于采用了Linux系统在与IO模块控制卡通讯的实现上就相比照较复杂了。与IO模块控制卡通讯的程序流程图如下列图3-2所示:align=center图3-2与IO模块控制卡通讯的程序流程图/align3.3软件实现中关键性问题的解决在Linux操纵系统下对于中断及其它系统资源的操纵有特定的标准,如内核形式操纵和用户形式操纵具有不同操纵权限,内核空间与用户空间也不能随意互访。导致如协议栈无法直接对双端口RAM进展读写,也无法

10、直接向I/O模块控制卡收发中断,在Linux系统下,只有在内核形式下才可以做到。那么,怎么样将数据写入到双端口RAM中,然后发送中断信号通知对方及怎样响应对方的中断并从双端口RAM中读数是软件实现中的关键性问题。3.3.1发中断与注册中断处理程序的实现由于发中断与注册中断处理程序是对硬件直接操纵,在Linux系统下用户程序无法直接对其硬件进展操纵。因此,必须编写相应的内核模块,在内核模块中完成发中断与注册中断处理程序的操纵。在用户程序中动态加载相应内核模块来到达用户程序发中断与注册中断处理程序的效果。其注册中断处理程序的内核模块关键性代码如下:intinit_modulevoid/中断注册模块

11、初始化/初始化设置/AT91_SYS-AIC_SMR25|=0X20;/设置中断下跳沿触发ifrequest_irqn,interrupt_program,INTERRUPT,IRQ1,NULL/恳求分配中断号为n的快速中断处理/interrupt_program为指向处理这个中断的中断处理程序的指针/没有申请成功根据返回值进展出错处理/elseprintk注册中断成功!n;return0;init_waitqueue_head&my_queue;voidcleanup_modulevoid/释放资源/free_irqn,NULL;/释放中断线n在用户程序中发中断时,通过调用systemsen

12、d_riq来动态执行内核模块程序来控制发送中断的管脚的信号,进而实如今用户程序发中断的效果。其发中断的内核模块关键性代码如下:AT91_SYS-PIOC_PER|=AT91C_PIO_PC15;/设置PC15IO使能AT91_SYS-PIOC_OER|=AT91C_PIO_PC15;/设置PC15输出使能/发送一个方波中断信号AT91_SYS-PIOC_CODR|=AT91C_PIO_PC15;fori=1;iAT91_SYS-PIOC_SODR|=AT91C_PIO_PC15;3.3.2双端口RAM驱动的实现由于用户程序不能直接对双端口RAM进展读写,因此必须根据用户程序的需要编写双端口RA

13、M的驱动,以内核模块的形式动态加载到系统中去。Linux系统将所有设备都看做是文件,对设备的读写相当于对文件的读写。双端口RAM驱动模块加载后,用户程序就可以像读写文件一样,间接的对双端口RAM进展读写了。其双端口RAM驱动模块的主要实现经过如下:staticintwrite_dpramstructfilefile,constcharbuf,u32count,loff_tf_pos/写初始化/copy_from_userwMessage,buf,count;/进展数据处理/fori=0;iwritebwMessagei,base+wadd;wadd+;/向IO模块控制卡发中断信号/static

14、intread_dpramstructfilefile,charbuf,u32count,loff_tf_pos/读函数那么调用相应的readb和copy_to_user函数,与写函数同理/staticintopen_dpramstructinodeinode,structfilefile/初始化/if!request_mem_regionAT91_DPRAM,BUF_LENsizeofu8,DEVICE_NAME/未申请到该内存空间时进展相应处理/申请使用内存空间base=ioremapAT91_DPRAM,BUF_LENsizeofu8;/为设备内存区域分配虚拟地址/设置DPRAM读写时序

15、/staticintrelease_dpramstructinodeinode,structfilefile/释放相应资iounmap和release_mem_region;以上为DPRAM设备驱动的翻开、读写、关闭函数的实现,然后通过以下标记化构造将其驱动的功能映射到前面的详细实现函数上:staticstructfile_operationstest_fops=read:read_dpram,write:write_dpram,open:open_dpram,release:release_dpram另外,在驱动程序初始化时必须通过register_chrdev注册。在加载该驱动前要使用sy

16、stemmknod/dev/设备名c主设备号次设备号创立设备文件并为该设备分配设备号。该双端口RAM驱动是通用的,无论什么功能的板卡上面有双端口RAM并且是基于Linux的系统的都可以使用该驱动。4.测试为了测试该无线通讯卡的性能,该测试选用了符合EPAEthernetforPlantAutomation标准的现场总线系统进展无线扩展。EPA是我国第一个拥有自主知识产权的现场总线标准。所搭建的测试系统根本和有线EPA演示系统一致。包括一个EPA无线现场设备B包括EPA无线通讯卡和IO模块控制卡和一个EPA无线接入网桥、一台PC机及一个灯箱,如图4-1所示。灯箱中的温度传感器与AI模块相连,将温

17、度值传递给AI模块,并通过设备A发送到以太网上。设备B接收到此温度值后,将其与额定温度值相比拟,假如低于额定温度值,那么通过AO模块输出电流来控制灯箱内灯泡加热;假如高于额定温度值,那么中断AO模块的输出电流,切断灯泡的电流输入,使灯箱内的温度下降,进而到达保持灯箱内温度恒定的目的。align=center图4-1测试系统示意图/align实验证实,无线通讯卡与IO模块控制卡之间数据传输稳定,这个系统运行效果良好,到达了预期目的,可以知足工业现场设备的通讯要求。同时,并没有改变和影响原来的有线现场总线的正常工作。通过使用无线分散控制站和无线网桥实现现场总线的无线接入,目前是比拟稳定、便捷的无限

18、扩展方法。本文提出的无线分散控制站中无线通讯卡的软硬件实现方法是一个通用的快捷开发方案。无线技术给工业带来很多好处如减少设备配置和安装时间。市场也提供了较成熟的无线技术如IEEE802.11标准,IEEE802.15.4标准和蓝牙技术。但在工业现场无线技术仍不能被广泛使用。原因之一是无线信道的实时性和出错率达不到要求。随着适宜的协议机制和传输调度的设计,并细致结合这些方案,无线技术必将会在工业现场总线中得到广泛使用。主要参考文献:1吴爱国,郭昕.现场总线CAN与无线以太网IEEE802.11的结合J.组合机床与自动化加工技术,2004,11:61-62,64.2侯维岩,许静,费敏锐,陈伯时.工业现场总线与无线通讯的集成形式J.自动化仪表,2003,2412:10-14.3高路,于海滨,王宏,徐皑冬.EPA网络体系构造J.计算机工程,2004,1730:81-82.4AlessandroRubini.LINUX设备驱动程序第二版M.中国电力出版社,2002.2.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁