FreeModbus学习笔记一、FreeModbus简介FreeMODBUS一个奥地利人写的Modbus协议。它是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的移植。Modbus是一个工业制造环境中应用的一个通用协议。Modbus通信协议栈包括两层:Modbus应用层协议,该层定义了数据模式和功能;另外一层是网络层。FreeMODBUS提供了RTU/ASCII传输模式及TCP协议支持。FreeModbus遵循BSD许可证,这意味着用户可以将FreeModbus应用于商业环境中。目前版本FreeModbus-V1.5提供如下的功能支持:二、FreeModbus对硬件的需求FreeModbus 协议对硬件的需求非常少——基本上任何具有串行接口,并且有一些能够容纳modbus数据帧的RAM的微控制器都足够了。◆一个异步串行接口,能够支持接收缓冲区满和发送缓存区空中断。一个能够产生RTU传输所需要的t3.5字符超时定时器的时钟。对于软件部分,仅仅需要一个简单的事件队列。在使用操作系统的处理器上,可通过单独定义一个任务完成Modbus时间的查询。小点的微控制器往往不允许使用操作系统,在那种情况下,可以使用一个全局变量来实现该事件队列(AtmelAVR移植使用这种方式实现)。实际的存储器需求决定于所使用的Modbus模块的多少。下表列出了所支持的功能编译后所需要的存储器。ARM是使用GNUARM编译器3.4.4使用-01选项得到的。AVR项数值是使用WinAVR编译器3.4.5使用-Os选项编译得到的。
标签: freemodbus
上传时间: 2022-06-24
上传用户:
随着工业制造精度的不断提高,传统总线越来越多的表现出速度慢、数据量小的缺点。另一方面,一种将计算机网络应用于工业控制的总线技术越来越受到关注,这就是工业以太网。EtherCAT是一种基于修改以太网协议的工业以太网,在数据链路层使用ISO/IEC802.3协议,数据帧类型为特定类型;在网络层和传输层采用特定协议代替TCP/IP协议。目前,EtherCAT是速度最快、实时性最好的工业以太网协议之一。本文提出了基于UC/OSIⅡ的EtherCAT主站实现的具体方法。首先,从协议层面分析EtherCAT,对数据链路层、网络层和应用层协议进行分析。其次,通过对嵌入式平台的设计,确保主站系统的实时性。创造性的提出了一个UC/OSIⅡ系统下具有微秒级别精度的时间模块;同时设计了基于中断接收数据的DM9000的网卡驱动。最后,根据协议分层构架提出了一套嵌入式的EtherCAT主站软件ECOU(EtherCAT Over UC/OS),并对主站底层和软件进行了功能和性能测试。ECOU是一个实施于UC/OSIⅡ的EtherCAT主站。作为嵌入式EtherCAT主站,它的实施更加灵活;同时由于UC/OSIⅡ是实时操作系统,ECOU的性能也得到了很大的提高。关键词:工业以太网;UC/OSIⅡ;EtherCAT;微秒级别时间模块;主站
上传时间: 2022-06-30
上传用户:
本文详细介绍了一款使用nxp lpc17xx系列单片机,完成了对最新CAN应用层协议TTCANopen完美支持的USB转CAN模块的详细设计和测试,可以说是一篇“教课书”一般完美的文章,无论你是新水手还是老船长,都会从中受益非浅。
上传时间: 2022-07-28
上传用户:
Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 Modbus TCP协议是Modbus协议的另一版本,它于1999年被开发出来以允许Internet用户访问以太网设备。Modbus是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。目前,可以通过下列三种方式实现Modbus通信: 由于结合了Modbus协议的简单性和100 M 以太网的高速度,Modbus TCP/IP展现了卓越的性能,这意味着将这种网络应用在实时性要求很高的场合,如I/O扫描,是可行的。Modbus通信透明性Modbus协议可以方便地在各种网络体系结构内进行通信,每种设备(PLC、HMI、控制面板、变频器、运动控制、I/O设备等)都能使用Modbus协议来启动远程操作,同样的通信能够在串行链路和TCP/IP以太网网络上进行,而网关则能够实现各种使用Modbus协议的总线或网络之间的通信。由此可见,Modbus协议实现了全方位的通信透明。
上传时间: 2015-12-23
上传用户:变形金刚
无线应用协议(Wireless Application Protocol,WAP)是WAP论坛经过不断努力得到的成果,它提供了一个业界技术规范,以便开发出适用于各种无线通信网络的应用和业务。当前,无线市场正在快速发展,并且触及新的用户与业务。为了给运营商和生产商提供一个面对高级业务,特殊快捷的业务生成的商机, WAP论坛定义了一套用于传输层、安全层、事物处理层、会话层和应用层的协议。
标签: Application Wireless Protocol 无线应用
上传时间: 2017-03-13
上传用户:athjac
货车车联网 J1939 QBD61 QBD66 原TDA61/66 在卡车货车工程车商用车大客车的应用.货车OBD芯片的J1939协议开发 J1939 协议简介 J1939是一个广泛应用在重型汽车,卡车,工程车和大客车商务车的CAN协议。大型车队各种商务车辆的管理,货车大客车的时时监控调度等等这些商用OBD应用使得J1939有着比较广泛的应用领域。 深圳市芯方案电子科技公司开发的QBD芯片(QBD61,QBD66等)支持了J1939 ECU和诊断设备的绝大部分功能,QBD66默认为自动版,使用者无需过多专业知识,即可读取J1939 货车商用车的总线输出,并以车速,转速的数值直接显示。QBD芯片还可以支持J1939的通讯协议的不同波特率(不同波特率需要改变可编程参数设置)基本可以与市面上绝大部分的商用车工程车货车通讯。但现在很多厂商根据J1939协议,自定义了很多应用层,所以在使用过程中可能会发现有异常现象,请反馈给我们,我们会尽快的修正。QBD芯片内部有方便的升级功能。QBD芯片自定商用车OBD指令用户无需了解J1939协议,即可直接获取货车,商用车ECU的各个参数。QBD芯片还拓展更多高级指令,用户可以直接得到当前车辆的油耗,里程。
上传时间: 2022-07-05
上传用户:
基于现场总线的网络技术研究是自动控制领域发展的一个热点。在各种工业现场总线中,CAN总线以其成本低、速度快、实时性和可靠性较高等特点被广泛应用于各领域。CIA(CAN in Automation)协会发布了完整的CANopen协议,定义了应用层和通讯子协议,为基于现场总线的分布式控制系统的广泛应用提供了解决之道。 本文研究国内外现场总线发展现状后,以改善现场总线网络通讯系统的运行效率,提高实时性和信息处理能力为前提,浅析CAN总线高层通讯协议CANopen,分析了主、从节点的各个功能,说明了功能的设计和实现方案。 然后,本文将CANopen协议应用于分布式控制系统,详细论述了基于PIC18控制器的从节点和基于DSP控制器的主节点的实现过程。主、从节点具有基于CANopen协议的总线通信功能。从节点具有数字量和模拟量输入输出功能。主节点可以通过键盘对各节点运行状态和各节点参数进行调整,还可以通过液晶屏显示实时控制量和各节点运行状态。PC机能在线监测CAN报文数据流。本文对两种类型节点的设计思想、硬件组成和软件设计均做了详尽的阐述,并给出了部分关键硬件原理图和软件流程图。 最后,把已开发的从节点和主节点组成一个温度测控系统和一个电机控制系统。经过实验室测试,证明系统具有良好的实时性,通讯稳定可靠,解决了传统CAN总线节点通讯可控性差,无法灵活设置的问题。对目前国内CAN总线应用中大多把精力放在硬件之上的底层软件开发,少有使用上层软件协议的习惯,起到了一定的推动意义,提高了应用水平。
上传时间: 2013-04-24
上传用户:569342831
现代的计算机追求的是更快的速度、更高的数据完整性和灵活性。无论从物理性能,还是从电气性能来看,现今的并行总线都已出现了某些局限,无法提供更高的数据传输率。而SATA以其传输速率快、支持热插拔、可靠的数据传输等特点,得到各行业越来越多的支持。 目前市场上的SATA IP CORE都是面向IC设计的,不利于在FPGA上集成,因此,本文在Xilinx公司的Virtex5系列FPGA上实现SATAⅡ协议,对SATA技术的推广、国内逻辑IP核的发展都有一定的意义。 本文将SATAⅡ协议的FPGA实现划分成物理层、链路层、传输层和应用层四个模块。提出了物理层串行收/发器设计以及物理链路初始化方案。分析了链路层模块结构,给出了作为SATAⅡ链路层核心的状态机的设计。为满足SATAⅡ协议3.0Gbps的速率,采用扩大数据处理位宽的方法,设计完成了链路层的16b/20b编码模块,同时为提高数据传输可靠性和信号的稳定性,分别实现了链路层CRC校验模块和并行扰码模块。在描述协议传输层的模块结构的基础上,给出了作为传输层核心的状态机的设计,并以DMA DATA OUT命令的操作为例介绍了FIS在传输层中的处理过程。完成了命令层协议状态机的设计,并实现了SATAⅡ新增功能NCQ技术,从而使得数据传输更加有效。最后为使本设计应用更加广泛,设计了基于AHB总线的用户接口。 本设计采用Verilog HDL语言对需要实现的电路进行描述,并使用Modelsim软件仿真。仿真结果表明,本文设计的逻辑电路可靠稳定,与SATAⅡ协议定义功能一致。
上传时间: 2013-06-16
上传用户:cccole0605
无线传感器网络(Wireless Sensor Networks,WSN)是由大量传感器节点组成,这些节点部署在监测区域内通过无线通信方式,形成的一个多跳自组织的网络。整个网络的作用是协作地感知、采集和处理网络覆盖区域中监测对象的信息,并发送给观察者,可广泛应用于环境监测、医疗护理、军事、商业等多个领域。 媒体访问控制(Medium Access Control,MAC)协议处于无线传感器网络协议的物理层和路由层之间,用于在传感器节点间公平有效地共享通信媒介,对传感器网络的性能有较大影响。与传统无线网络不同,提高能量效率和可扩展性是无线传感器网络MAC协议设计的主要目标。 本文主要阐述基于FPGA对IEEE802.15.4 MAC层功能的实现。首先介绍了无线传感器网络的体系结构、MAC协议的设计要求以及已有的MAC层协议,讨论了无线传感器网络MAC层的主要要求和功能。然后详细介绍和分析了IEEE802.15.4的MAC协议,并在此基础上,通过NS2平台对MAC层协议进行了仿真,研究不同网络负荷下信道访问机制的各个参数对吞吐量,丢包率,传输延时的影响,分析了隐蔽站问题、确认帧机制。 本文对MAC层中的主要功能,诸如数据收发、帧处理、信道接入方式以及帧检验等提出了基于FPGA的硬件解决方法。设计选用硬件描述语言VerilogHDL,在QuartusⅡ中完成模块的综合和布局布线,在QuartusⅡ和Modelsim中进行时序仿真验证,最终下载到自主设计Altera公司的Cyclone开发板中。 对设计的验证采取的是由里及外的方式,先对系统主模块的功能进行验证,然后下载到与CC2430开发板相连接的FPGA中对设计进行验证测试。验证流程是功能仿真、时序仿真和板级调试,最终通过测试,验证了该设计的功能。测试结果表明,该模块能满足无线传感器网络低速率应用环境的需要,具有优良的扩展性能,达到了预期的设计目标。
上传时间: 2013-06-14
上传用户:竺羽翎2222
并行总线PATA从设计至今已快20年历史,如今它的缺陷已经严重阻碍了系统性能的进一步提高,已被串行ATA(Serial ATA)即SATA总线所取代。SATA作为新一代磁盘接口总线,采用点对点方式进行数据传输,内置数据/命令校验单元,支持热插拔,具有150MB/s(SATA1.0)或300MB/s(SATA2.0)的传输速度。目前SATA已在存储领域广泛应用,但国内尚无独立研发的面向FPGA的SATAIP CORE,在这样的条件下设计面向FPGA应用的SATA IP CORE具有重要的意义。 本论文对协议进行了详细的分析,建立了SATA IP CORE的层次结构,将设备端SATA IP CORE划分成应用层、传输层、链路层和物理层;介绍了实现该IPCORE所选择的开发工具、开发语言和所选用的芯片;在此基础上着重阐述协议IP CORE的设计,并对各个部分的设计予以分别阐述,并编码实现;最后进行综合和测试。 采用FPGA集成硬核RocketIo MGT(RocketIo Multi-Gigabit Transceiver)实现了1.5Gbps的串行传输链路;设计满足协议需求、适合FPGA设计的并行结构,实现了多状态机的协同工作:在高速设计中,使用了流水线方法进行并行设计,以提高速度,考虑到系统不同部分复杂度的不同,设计采用部分流水线结构;采用在线逻辑分析仪Chipscope pro与SATA总线分析仪进行片上调试与测试,使得调试工作方便快捷、测试数据准确;严格按照SATA1.0a协议实现了SATA设备端IP CORE的设计。 最终测试数据表明,本论文设计的基于FPGA的SATA IP CORE满足协议需求。设计中的SATA IP CORE具有使用方便、集成度高、成本低等优点,在固态电子硬盘SSD(Solid-State Disk)开发中应用本设计,将使开发变得方便快捷,更能够适应市场需求。
上传时间: 2013-06-21
上传用户:xzt