文档库 最新最全的文档下载
当前位置:文档库 › 1、CANopen协议栈源代码

1、CANopen协议栈源代码

1、CANopen协议栈源代码

关键字:CANopen 源代码、CANopen协议栈源代码,CANopen开发工具

6个原因选择SYS TEC的CANopen

* SYS TEC的CANopen源代码展现了市场中最高的性价比。

* SYS TEC的CANopen源代码配备有一套非常先进的用于设备测试和网络配置的CAN/CANopen 工具。

* SYS TEC的CANopen源代码包含1年免费技术支持和升级服务。

* SYS TEC的CANopen以买断许可的形式提供。无产品或运行时间许可或隐藏成本。

* SYS TEC通过合格的工程师直接提供中文支持。

* SYS TEC的CANopen源代码受行业认可,是一种成熟的源代码。15年多以来,

CANopen源代码库不断改进,已成功地应用于大量客户项目之中。

性能

* 在一个硬件平台上可以支持多个不同的CANopen设备应用实例

* 第一年的软件维护和技术支持是免费的!

* 包含全面的CANopen master库和slave services (特点比较)

* 完整的开发包包含完全激活的CANopen工具

* 带有PC端的工具用于配置对象字典,包括自动生成源代码,EDS编辑器,导入导出功能* 源代码为ANSI-C语言,模块化的代码组织形式,易于移植到新的目标平台。我们将提供全面的技术培训帮助您快速实施移植!

* 适合集成到实时操作系统的通用操作系统API

* 支持所有的CANopen设备标准规范

* 包含大量目标系统的CAN driver源代码

* 所有支持的CAN driver具有统一的API

* 符合CiA 304标准的CANopen安全协议扩展(可选附件)

* 符合CiA 302标准的CANopen Manager源代码

* 运动控制和设备(可选附件)符合CiA 402标准

* 符合CiA 417标准的多元PDO设备(CANopen Lift)(可选附件)

* CANopen子网络的SDO网关(可选附件)

* 高分辨率时间戳 (可选附件)

CANopen协议栈源代码能满足现代自动控制系统的需求

SYS TEC CANopen源代码完全符合CiA 301 V4.1标准草案。CANopen源代码支持快速开发所需的CANopen master或slave设备,例如,NMT Master(Network Management),LSS Master (Layer Setting Service)和SDO Client。直观的基于事件的应用层信号机制保证了较高的运行性能。 CANopen源码包含相应的功能用于在操作系统中进行简单的集成。良好设计的API接口使您可以很容易地在自己的应用中集成CANopen协议栈。软件包中大量的范例程序和文档将帮助你更好地应用协议栈源代码。我们提供两种主要的源代码包,包含工业应用的主要部分。另外,其它特殊的功能用附加包提供。

不仅仅是源代码开发包

购买CANopen源代码,您获得的不仅仅是一个完整的CANopen协议实现。您还将得到第一年免费技术支持和软件维护,同时您还将得到一个USB/CAN接口设备以及完整的一套CANopen

配置和分析工具用于设备的开发和测试。除了源代码,您完全拥有了一个方便的开发环境用于测试

和集成您的CANopen应用。包含的软件工具提供了强大的支持用于创建EDS文件和原始配置。图形用户接口帮助您管理CANopen源代码的不同设置。使用ODBuilder工具您可以轻松导出关联对象为C源代码文件,以备在CANopen工程中使用。

模块化,可升级和便携式

源代码是模块化的,并用ANSI-C语言开发易于被移植到目标系统中,高度优化的内存管理和零内存复制实现避免了不必要的内存复制。使用我们的CANopen源代码您既可以实现低成本的单片机系统也可以实行按复杂的多通道的高级应用。我们的CANopen协议栈源码已经成功地应用于大量的微控制器及DSP。

CANopen软件是由多个独立的模块组成的。部分模块可以根据功能的需要从工程中添加或者删除。所有模块都相对独立,不存在同级模块间的函数互相调用,只存在对于上下级模块的函数回调。代码不存在全局的引用和全局变量。代码的最上层CANopen Controlling Module(CCM)负责独立模块间的交互及提供用户接口。另外,硬件的特定参数将和CANopen 协议栈解耦,以保证协议栈可以被无缝地移植到任何目标系统中。

支持CANopen安全协议

我们提供符合CANopen安全协议扩展标准的CiA 304,其能帮助客户建立自己的安全应用。我们已经扩展了一个高度优化的CANopen源代码版本,支持CANopen安全特性,可用于CANopen Safety Chip CSC01。在您的工程中应用我们的CANopen,并可以与我们讨论。

集成了IEC 61131-3的CANopen Manager源代码

CANopen Manager源代码提供了实际的、开发功能强大的,符合CiA 302 和CiA 405标准的管理应用程序函数。在运行时期间,集成的CANopen Manager保存所有分配给CANopen Slave 设备的参数和连接节点所需的配置句柄。而且,符合CiA 405 的接口易于集成到IEC 61131运行环境中。SYS TEC拥有自己高性能的IEC 61131-3 PLC运行时系统,包含无缝集成的CANopen和Ethernet通信。

无版税的协议栈,适用于产品开发

我们提供诱人的价格体系,一次采购您将得到全面的资源信息,没有产品开发的版税。

全面服务

随我们的源代码产品,我们提供以下增值服务:

* 咨询和项目分析

* 培训和源代码入门

* 为您准备符合CiA CANopen一致性测试标准的设备

* 客户定制培训─传授相关知识

* 客户定制CAN driver和协议的开发

* OEM集成服务

CANopen 源代码选型指南(按应用或设备类型)

我想设计怎样的设备?我的应用是什么?(*)推荐源代码产品数字和模拟量I/O设备,

温度传感器,

温度控制器,

压力传感器,

编码器,

简易数字传感器和激励器,

水压或气胎真空管,

操纵杆或简易输入输出元素如开关和LED显示器,

带有固定系统配置的设备控制单元,

HVAC控制

器,

简单的HMI设备,例如LED/LCD显示器SO-877或SO-877-VP变频器,

伺服控制器,

伺服驱动器,

运动控制设备SO-877或SO-877-VP

和SO-1067可编程的HMI设备,

PLCs,

可编程嵌入式控制器,

带有管理功能的控制设备如远程配置CANopen设备,

海事应用的控制器,

过程控制器,

动态系统配置的机械控制器SO-1063电梯应用中的控制器,呼叫,轿箱控制器面板,轿箱控制器(CANopen Lift)SO-877 或SO-877-VP或SO-1063

SO-1066SDO报文带有网关功能的设备

(CANopen子网络)SO-877 或 SO-877-VP

SO-1078需要安全数据通信的设备和组件如自动门,电梯,紧急开关和响应器SO-877 或SO-877-VP

SO-1059需要高精密时间的设备或组件,如数据采集系统,实验室设备,测试装备,数据记录仪SO-877 或SO-877-VP(*) 表格只列举了可能应用的范围,并不完全。

2、USB-CAN模块

型号:USB-CANmodul 1/2/8/16

关键字:USB-CAN接口转换器,USB-CAN,PC/CAN接口,USB/CAN

用SYS TEC的PC/CAN接口保持您应用的灵活性

SYS TEC已经为PC提供了一个通用的CAN driver API,它能同时使用不同生产厂商的不同的PC-CAN接口。这就是PC-CAN接口应用所有SYS TEC软件工具和CANopen应用的方式。由于驱动器已经有几个可用的实例,故几个应用程序能同时访问一个接口。各自所需的驱动配置是菜单驱动并安装在PC上。

在SYS TEC上的USB-CANmodul块系列为您提供了一个具有高性价比、即插即用的解决方案。把CAN-bus连接到你的笔记本、台式机或工业计算机上。用32-bit MCU来提供动力,USB-CANmodul块系列支持一个装置上有16个独立的CAN 频道,而不会影响到可靠性和性能。我们为Windows和Linux提供软件驱动器,前者能够同时运行6 4 个频道。此外,在每一

个USB-CANmodul块的作用下,我们还提供了一个免费的CANopen库到 Microsoft .NET把CANopen功能集成到您自己的计算机上。.NET应用程序不另外收费。此外,我们USB-CANmodul2 的一个IP65版本,带有流电隔离CAN,可以为您提供户外服务。

您是否...

有了关于新的USB-CANmodul适合应用的领域的产品想法,但仍然缺少一些额外的特征?我们提供客制化的软件和硬件满足您的需求。

随所订货附送

* 组装和测试设备

* USB电缆(1.8m)

* 文档光盘

* 设备驱动程序

* PCAN View CAN-bus监视器

CAN-REport评估版,CANopen 配置工具包

CAN接口产品概述

特点USB-CANmodul1(7)USB-CANmodul2(8)USB-CANmodul8USB-CANmodul16CAN-Ethernet Gateway波特率(kbps)10-100010-100010-100010-100010-1000CAN接口通道12, 1xLIN(5)816(1)1 or 2(5)PC连接USB2.0&1.1

12 MbpsUSB2.0&1.1

12 MbpsUSB2.0

480 Mbps2xUSB2.0

480 MbpsEthernet

10baseT温度范围-40°C...+85°C-40°C...+85°C0°C...55°C0°C...55°C0°C...70°C混合1

1位/29位标识符是是是是是隔离是(5)是(5)是是是(5)高速

CAN物理层(2)是是是是是低速

CAN物理层(3)否是(5)否否否单线

CAN物理层(4)否是(5)否否否Listen-only模式是是是是是错误帧侦测是是是是是错误计数器读是(6)是(6)是(6)是(6)是(6)时间戳24位24位24位24位24位开关量I/Os无8 点4x8 点8x8 点无LED指示器3517338CAN连接器SUB-D9SUB-D9SUB-D9SUB-D9SUB-D9和压线端子供电USBUSB85... 230 VAC85... 230 VAC24VDC典型电流消耗110mA200mA自带电源自带电源100mA安装方式台式台式

和IP651HU 19"

架式1HU 19"

架式DIN

导轨驱动器支持Windows, Linux, LabviewWindows, Linux, LabviewWindows, Linux, LabviewWindows, Linux, LabviewWindows1)2组8通道

2) ISO 11898-2,支持高速 CAN transceivers: 82C251, SN65HVD23x, TLE6250G, TJA1050

3) ISO 11898-3,支持低速 CAN transceivers: TJA1041, TJA1054

4) SAE J2411,支持单线 CAN transceivers: AU5790

5) 可选

6) "警告限制", "被动错误" 与 "总线断线"

7) 2006年9月上市

8) 2007年第一季度上市

9) 根据RoHS规章已出售的产品将废止

3、CAN-REport - CAN-bus 分析器

关键字:CAN-bus监视和分析工具,CAN测试,CAN-REport

CAN-REport是一款CAN-bus监视和分析工具,这一工具可以帮助您在逻辑层上监视,记录和测试CAN的通信状态。得益于用户接口的可编程性和可扩展特性,CAN-REport可以灵活的配置以满足用户的需求。CAN通信报告既可以在线以不同的模式查看也可以保存为文件供后续处理。

您也可以周期或连续地用CAN-REport手动发CAN报文。可用传输的通道数可以自由配置。CAN-REport的记录功能可由CAN报文触发,另外,可以设置前置和后置触发器。这样可以在精确的时间内得到相关的信息。在记录期间,CAN-REport可以解释CAN报文和它的扩展名。在记录之后,也可以延迟处理先前保存的数据,并可以强制转换时间处理大量的数据。

CAN-REport带有一个扩展可视化的接口,因此,CAN-REport功能可以通过附加的软件模块进行特殊扩展。扩展的一个例子就是基于服务或协议的CAN报文表示法。附加模块可用于CANopen和DeviceNet协议并执行基于服务的CAN报文表示法。根据不同窗口的SDO,PDO,NMT,EMCY或Flying Master服务,分别显示详细的CANopen报文。

特点:

* 广泛支持不同生产厂商的CAN-bus接口硬件

* 引导硬件-CAN报文时间戳

* 可调整触发基于CAN-ID,报文类型或数据模式的CAN报文

* 配置预置触发器和报文过滤器

* 可读的CANopen,DeviceNet和J1939报文解释插件

* 用户通过TCL/Tk脚本扩展,包括CAN-Report功能高级的API(发送/接受/检查CAN报文等等)

* 为配置CANopen PDO映射导入DCF文件

* 记录多文件的CAN报文

扩展模块:

CANopen

协议扩展:解释CANopen报文,例如PDO,SDO,NMT,EMCY等等,指定节点ID。无格式的CANopen报文能在主窗口或被CANopen服务分开显示。附加的CANopen 节点的PDO映射能从DCF中被导出。

DeviceNet协议扩展:解释DeviceNET报文。

J1939协议扩展:解释J1939报文。

随所订货附送:

CAN-REport,文档,完整版本开发包包含驱动,电缆和文档的PC-CAN接口

4、CAN-Ethernet转换器-把CAN扩展到互联网上

关键字:CAN-Ethernet转换器,协议转换器, CAN扩展到互联网

CAN-Ethernet网关为在以太网环境下访问CAN网络提供了解决方案。它能从远程的个人计

算机到达一个 CAN-bus,或通过Ethernet把个人计算机从4个远程 CAN网络连接到一个大型CAN网络上。在Ethernet 这边,一个复杂的高层协议可以保证CAN信息的容错型传输。在远程计算机那边,高准确率的硬件时间戳可以保证信息以跟在CAN-bus上看起来一样的形式出现。CAN-Ethernet网关可以通过不同配置来进行远程登陆。

概述:

在工业领域中,网络通信应用TCP/IP协议日益增长。应用SYS TEC CAN-Ethernet网关,通过已经存在的以太网拓扑图为您提供易于使用的CAN网络传输连接解决方案。

不管应用哪种通信协议,CAN报文都是透明传输的。CAN-Ethernet 网关可应用于不同的高层协议,例如CANopen DeviceNet或SDS。

可以通过TCP和UDP访问以太网。在这个过程中,CAN-Ethernet Gateway可以同时处理高达3个连接器。这就是您应用一个服务应用程序,PC连接两个或更多CAN网络的方式,并能同时访问总线。

CAN-Ethernet Gateway有两个CAN-bus接口。易于配置传输的滤波器能判断并阻止CAN 报文扩展传输给每个接口。CAN-Ethernet网关支持高速数据传输,CAN网络的传输高峰期可以存入缓冲器中。在高数据传输中,几个CAN包被统一传输为以太网传输。按时间排序的透明传输保证应用时间戳,时间戳可以应用于每个CAN报文中。

我们为PC提供一个驱动程序,这样易于用标准的CAN软件,例如ProCANopen(tm), PCANExplorer(tm)。当然,CAN-Ethernet 网关能应用于由SYS TEC提供相关软件的所有CAN-bus。

CAN Ethernet 网关能广泛配置并能根据各自的应用程序灵活更改。配置被保存在RC文件中,不同应用程序的大量RC文件作为模板提供。可以通过Telnet或串口(RS232)进行配置和调试,不需要安装和使用专门的软件。

特点:

* 即插即用

* 可以为CAN 报文设置过滤器,选择性传输CAN 报文

* 可设置以太网传输触发器

* 不同应用程序的多种设置范例

* 提供CAN API接口用于配合其他成熟的CAN工具

* 可以通过Telnet和RS232进行配置和调试

* 支持连接多设备

* 可以通过设置CAN-identifier 激活发送错误和状态信息

* 配置不需专门的软件

* 可选

两个独立的CAN接口

随所订货附送:

组装和测试设备(包括插头),编程电缆;

光盘形式提供:文档,PC(MS-Windows)的驱动程序,CANAPI2接口驱动程序(包括PCAN view),CANopen配置工具的评估版和CAN-bus监控器

5、PLCcore - OEM 自动化组件

关键字:PLC运行时内核,PLC核心模块,OEM 自动化组件, OEM产品设计研发

PLCcore-5484 - 更加自由的控制

PLCcore是包含PLC运行时内核PLC核心模块。它具有完备的调试运行环境,通过IEC 61131标准编程接口编程,支持以太网或CANopen下载程序。是您OEM产品设计研发的理想基础。

PLCcore-5484核心模块是定制解决方案的理想基础。基于ECUcore-5484,PLCcore-5484使您在付出最小工作量的同时将基于Linux的紧缩的能力强大的硬件PLC集成在您的应用之中。PLCcore-5484已经预装了所有必需的部件,没有额外的许可费用。作为一个可以自由编程的板载CPLD, 根据不同的需要,设备接口可以被很简便的调整。因此,该模块非常适合那些具有高度灵活性的场合。此外,CPLD可以实现非常复杂的数字输入输出设备单元。为此,我们为您提供的PLCcore-5484模块包括一个基础版CPLD,基本输入输出,可自由配置的计数器和高速PWM单元。Driver Development Kit

(DDK) 提供CPLD的VHDL和C 源代码。通过DDK您可以实现您自己的IO关联,实现接口扩展。从而,您可以访问通过存储空间映射的元件(比如:I2C 和SPI 总线)。通过process image 实现的共享内存保证了同时运行的Linux程序与PLC之间的数据交换。

PLCcore-5484中的CANopen library 包括了遵守CiA 302的CANopen Manager,能够自动配置网络节点。通过CANopen单元的扩展,该模块作为CANopen设备即插即用。此外,PLCcore-5484支持 CiA 314设备规范,即"IEC 61131-3 可编程设备"(先前的CiA 405)。同时与其他CANopen模块之间的数据交换。

由于具有非常多的通讯接口,该模块非常适合在分布式自动化系统中作为中心主控单元或者是通讯网关。

相应的开发套件为您提供了快速即用的PLCcore-5484试运行。该套件包括了所有建立您自己的应用所需的硬件软件组件。

目标应用:

* 所有 PLC 应用

* 分布式自动化系统中的主控单元

* 通讯网关

* 自主数据获取与处理

* 为特定车辆应用的高端核心单元

通信接口:(所有接口都由IEC 61131-3 功能模块支持)

* 2x 10/100 Mbps 快速以太网口, 1 on-board PHY

* 2x CAN

* 4x UART

I/O及板载设备:

* 4 MB Flash 提供给应用程序和数据

* 板载 CPLD, RTC和温度传感器

* 板载I/O 包括:

o 24 数字输入

o 22 数字输出

o 1 高速计数器(Pulse/Dir 或 A/B)

o 1 PWM/PTO 输出 (Pulse/Dir)

软件:

* CANopen Manager,自动配置网络节点

* 通过 IEC 61131-3 标准编程也可以用C/C++语言编

* 用户能够改编I/O - DDK 包括VHDL 和 C 的源代码,用户可实现自己的驱动

* 同时执行IEC 61131/PLC 程序和用户Linux软件 - 通过共享内存实现IEC 61131/PLC 和Linux 程序的数据交换

* Linux 包括:预装的PLC 固件, 板载 FTP 和网络服务器

* 没有附加许可费用

技术数据:

* 3.3 V单一电源供电,1.5 A 电源消耗

* 尺寸: 70 x 40mm

* 工作温度: -40°C 到 +85°C

货品内容:

(1)3390000 PLCcore-5484:

* ECUcore-5484核心模块,预装固件

(2)KIT-153 PLCcore-5484开发套件:

硬件:

o PLCcore-5484

o ECUcore-5484开发板

o 电源(110/220VAC转12VDC,1.5A)

o RS232线缆

o 以太网线缆(Cat 5e,2m)

o CAN线缆(支持5个节点,2个终端电阻)

o 拆装工具

文档:

o 快速启动手册 (电子版和打印版)

o 防ESD指导 (电子版和打印版)

o PLCcore-5484 参考手册 (电子版)

o ECUcore-5484 硬件手册 (电子版)

o ECUcore-5484 开发板硬件手册(电子版)

o ECUcore-5484 开发板原理图(电子版)

软件:

o 包括SYS TEC扩展的OpenPCS IEC 61131-3编程系统

o 预装Linux和Elipse-IDE的VMWARE

o 包括Share Process Image的样板工程和驱动模块(源代码和可执行文件)

(3)PLCcore-5484驱动开发扩展工具(DDK):

* 板载PLD的VHDL 源代码和样板工程

* I/O驱动源代码(核心驱动和用户库),包括生成I/O驱动的所有文件

* SO-1095 VMWARE 镜像文件,包括了Linux操作系统并预装了ECUcore核心模块的GNU工具链以及Eclipse IDE

* 用来向板载CPLD下载固件的PLD编程工具

* 测试I/O驱动的样板工程源代码,包含生成样板工程可执行文件的所有资源文件

* API参考手册和项目开发启动指导

PLCcore驱动开发扩展工具(DDK)为您开发用户定制的PLCcore核心模块I/O驱动提供了必要的软、硬件支持。通过它,您无需更改PLCcore固件本身,就可以灵活地移植新的应用载板。I/O驱动可以通过GPIO, SPI, I2C 或FlexBus访问外部I/O设备。进一步的,通过DDK 您还可以开发板载CPLD固件。DDK包括PLCcore核心模块的核心驱动(.ko)和相应的用户库(.so)源代码。对于不同的应用,这两个资源可能根据需要在运行时加载。DDK中还包括交叉GNU工具链,编译其所提供的样板工程。

PLCcore DDK 需要Linux主机系统作为软件开发环境。为您开发便利,我们为您提供了预装DDK软件的完整版Linux环境 - 可以立即运行的VMWARE box 。

注意:

1. DDK是对开发套件(需要STK)的扩展产品,包含了开发I/O驱动所需的所有软件

2. 生成PLD固件需要第三方软件Lattice 公司ispLEVER 集成开发环境。您可以从Lattice 公司网站主页下载。

→更多详情

6、PLCmodule-C14 - 体形小巧功能强大

关键字:PLC,支持CANopen的PLC,功能齐全的PLC

型号:PLCmodule-C14

PLCmodule-C14是一款高

性能多功能体型小巧的PLC。这款产品拥有大量的通讯接口和众多选择的工业级输入和输出。这款PLC采用符合IEC 61131-3标准的开发语言进行编程,采用OpenPCS编程环境进行开发。设备具有两个独立的总线级别的CAN-bus接口。两个CAN-bus 接口和以太网接口用于数据交换、编程和通过OPC的数据可视化。所有的I/O状态和设备的状态都通过面板的LED显示。不需要安装特殊的软件进行设备的配置,设备内置的命令行程序可以用于进行扩展的设备配置(比如配置IP地址和CAN接口)和数据分析。

针对不同的通讯方式比如RS232、CAN-bus或者以太网,可以选择不同版本的PLCmodule-C14。OpenPCS的编程环境包含了OPC 服务器用于提供对于PLC变量的访问。

基于COM标准的OPC 服务器

为了便于用户在自己的应用中集成PLC的控制和数据,我们提供OPC 服务器。OPC 服务器是一个基于COM技术的数据标准,这一标准可以使用户很容易的进行数据库和其它可视化软件的集成。

System Native Extension (SNE)

PLCmodule-C14的另一个突出优势就是它的 System Native Extension(SNE ,系统本地代码扩展)。SNE特性允许您使用C语言编写功能代码进行PLC 固件的扩展。所以PLCmodule-C14提供了专门的编程接口用于直接访问CPU和设备的外围单元(比如:中断,计时器,计数器)。应用SNE特性您可以根据应用的需求优化计算、时钟和硬件中断。这将增强设备的性能和减少中断的潜在延时。PLCmodule-C14填补了标准PLC和嵌入式控制器之间的空白。由于SNE 程序可以和PLC程序一同下载到设备中,所以对于设备的升级也变得非常简单。

可客制的一体化设计

PLCmodule-C14以非常精巧一体化设计提供了高度的模块化结构。其CPU和I/O功能设计的独立性,使其易于提供成本低廉的客制化。小批量的客制化I/O对于客户来说是非常具有吸引力的。对比于向用户提供标准化的模块来说,可以客制化的一体化设计提供了更好的价格优势和可维护性。一体化的设计同样也大大简化了自动化系统的复杂性,同时保证了传统模块化解决方案的功能和易用性。

技术参数:

IO 配置

24 数字输入 24VDC, 电流隔离

16 数字输出 24VDC/500mA, 电流隔离, 短路保护

4 中继输出250VAC/3A (3 NO and 1 NO/NC)

4 模拟量输入 0-10VDC (0-20mA), 10-bit 分辨率

2 模拟量输出 0-10VDC, 短路保护

2 PWM 输出 24VDC/500mA

3 快速计数器输入 24VDC (50kHz), 电流隔离

通信

3 RS232 接口, 其中一路具有full-modem 能力

2 独立CANopen接口(Z4 和 Z5)

10base-T 以太网 RJ45 (Z5)

存储单元

32kB 非易失性存储

256kB PLC 程序存储, 512kB可选

设备

电池RTC

为控制程序用户数据提供了可选的SD卡接口

外壳/环境条件

尺寸: L/W/H: 160mm/90mm/

75mm

前端透明盖

可以使用在DIN/EN-轨道安装

电源

对CPU和IO的供电是分立的电源,每一个是24VDC(?0%)

控制元件和可视化

所有IO,通信,电源和控制程序状态都具备状态LED

配置通信的配置元件非常简单

运行/停止切换开关

高质量弹簧终端接口,可拆卸

所有需要的接口和整套线缆都随货品一起交付。

货品清单:

装配并经测试的设备,整套线缆和接口,包括文档、驱动、评估版OpenPCS和CANopen配置工具的CD。

7、OpenPCS - IEC61131-3集成开发环境

关键字:OpenPCS集成开发环境,网络变量到输入和输出,IEC61131-3

型号:OpenPCS - IEC61131-3

利用所有设施和特性的无缝集成功能,为所有的CANopen设施提供从网络变量到输入和输出的功能块。当对你的应用程序进行编程和调试的时候,一个好的IDE是关键因素。OpenPCS 可以支持所有的五种IEC61131-3编程语言来进行编程,并具有通过以太网、CANopen或RS232进行调试的功能。所有的CANopen管理器都是无缝集成的。网络变量为远程输入/输出数据提供了便利的通道,而不必担心通信方面出现问题。一个OPC服务器通过一个标准化的API来提供数据处理的通道。

绑定SYS TEC控制模块的infoteam OpenPCS实现了真正符合IEC 61131-3的控制单元。CANopen加强的OpenPCS

由于CANopen服务和功能的无缝集成,从网络变量到功能模块。使用SYS TEC CANopen扩展的OpenPCS,您将从其提供的可靠、透明的数据传输中获益,不必担心CANopen通信过程本身。

通过网络变量,您对数据的处理只需在应用程序中完成 - CANopen数据交换过程像访问本地变量一样的简单。这使得您可以将精力集中在重要的部分:应用程序。

高性能 - SYS TEC控制单元上的OpenPCS

我们很了解速度对于典型PLC应用的重要性。因此每种SYS TEC 控制模块都具有很强的性能。OpenPCS编程环境通过真正的本地代码编译器(Native Code Compiler)解决了性能问题。本地代码(Native code)包含了能够直接被CPU执行的控制器二进制指令,为高速应用提供了性能保证。

没有硬件?- 使用离线仿真!

无论控制器硬件是否存在,OpenPCS提供了离线仿真来执行和调试程序。仿真环境运行在同一套Windows PC上。在程序真正跑在设备上之前调试您的应用程序,节约您宝贵的时间。包含OPC Server

OpenPCS 含有OPC server,提供与连接控制器的直接通信(通过RS232,CANopen或TCP/IP)。OPC Server符合OPC 1.0a 和OPC 2.0.

8、CANopen I/O 模块

关键字:CANopen I/O 模块,CANopen输入输出模块,CANopen远程I/O扩展

型号:IO-X1 ... IO-X7

sysWORXX I/O模块是具有高密度工业级I/O和紧缩特点的高性价比CANopen远程I/O扩展。模块即插即用,包括所有接口、插头和线缆。

扩展的内部诊断历程确保了它能够安全可靠地工作。sysWORXX I/O 模块作为符合CiA 301标准的CANopen slave设备,实现了CiA 401 和 CiA 404定义的设备规范。

CANopen IO-X1 16位数字输入/8位数字输出

* CiA 401设备定义

* 16位数字输入(24VDC)

* 8位数字输出(24VDC/0.5A)带有过载保护和短路保护

CANopen IO-X2 24路数字输入

* CiA 401设备定义

* 24路数字输入(24VDC/0.5A)带有过载电流和短路保护

CANopen IO-X3 24路数字输出

* CiA 401设备定义

* 24路数字输出(24VDC/0.5A)带有过载电流和短路保护

CANopen IO-X4 8路模拟量输入

* CiA 401设备定义

* 8通道模拟输入(0...10V/4...20mA)

CANopen IO-X5 8路RTD温度传感器

* CiA404设备定义

* PT100/200/1000可配置的8路温度输入(RTD类型)

* 自动自校正ADC

* 精确度 0,01K

CANopen IO-X6 8路模拟量输出

* CiA 401设备定义

* 8路模拟量输出(0...10V/4...20mA),带有过载电流和短路保护

CANopen IO-X7 8路热偶温度传感器

* CiA 404设备定义

* 8 路热偶传感器输入

* 自动自校正ADC

* 精确度 0,01K

9、ECUcore系列

关键字:ECUcore,执行控制单元模块,32位单片计算机

型号:ECUcore-1130、ECUcore-9307、ECUcore-5484、ECUcore-5484

ECUcore-1130

ECUcore-1130配有四个CAN接口,一个10/100Mbps Fast Ethernet控制器及在板FPGA,是对计算能力及网络要求较高的嵌入式控制应用的理想解决方案。

ECUcore-9307

在高主频ARM920T-CPU的基础上,ECUcore-9307结合了利用HMI建立嵌入控制应用所需的优异性能及特点。除了Ethernet控制器和CAN接口,开发板还配备装有三个USB2.0主控制器、触摸屏、液晶显示器及音频控制器。

ECUcore-5484

ECUcore-5484具有高主频CPU、性能优化存储布局及各种通信接口,适用于需要强大的嵌入式计算能力的应用系统,专为需要高速数据采集及实时通信的应用系统而设计,例如Ethernet POWERLINK。

ECUcore-5208

ECUcore-5208通过设计及优化可满足一般低成本应用的要求,如在销售现场及访问控制中的

应用。此开发板提供大量的通信接口、一个实时时钟及一个用于海量数据存储的可选NAND Flash存储芯片。

ECUcore-5208开发套件:

硬件组成:

* ECUcore-5208(开发启动版)

* ECUcore-5208开发板

* 国际通用电源插头

* 网线(普通, 2m)

* 网线 (交叉, 2m)

* 串口线, 1.8m

* 支持5个节点的CAN总线(带两个终端电阻)

* 16-键键盘(附固定附件)

* 128x64 点阵 LCD (附固定附件)

* USB-CANmodul1带USB2.0线 (A型公头 5-针 mini, 1.8m)

* 拆卸工具

文档(英文):

* 开发启动指导

* ECUcore-5208参考手册

* eCos用户手册

* 对静电敏感设备的使用指导

* SYSTEC软件许可证

* eCos许可证

软件:

* 支持ECUcore-5208的eCo

s或μCLinux BSP 包括 TCP/IP, WebServer

* 样板工程

* 集成开发环境(基于Eclipse)包括支持freescale Coldfire的GNU工具链

* 所有软件都在CD上

??

??

??

??

Zigbee协议栈系统事件

系统常用事件处理函数: -按键事件 -接收消息事件 -网络状态改变事件 -绑定确认事件 -匹配响应事件 1、按键事件 Case KEY_CHANGE: 当有按键事件发生的时,调用按键事件处理函数Sample_HandleKeys()来处理按键事件。 在SampleApp例程中按键处理函数处理了以下2件事情 -如果按键1按下,将向网络中的其他设备发送LED闪烁命令 -如果按键2按下,检测组ID号为SAMPLEAPP_FLASH_GROUP的组是否已经注册。如果已经注册,调用aps_RemoveGroup()将其删除;如果没注册就在APS层注册

2、接收消息事件 Case:AF_INCOMING_MSG_CMD: 如果有接收消息事件发生,则调用函数SampleApp_MessageMSGCB(MSG)对接收的消息进行处理。一般的接收消息事件是通过用户自定义的端点输入簇和输出簇来处理的。 在LED闪烁命令的发送函数中的输出簇为SAMPLEAPP_FLASH_CLUSTERID,所以在接收消息事件的输入簇中为SAMPLEAPP_FLASH_CLUSTERID即收到LED闪烁命令

3、网络状态改变事件 Case:ZDO_STATE_CHANGE 当有网络状态改变事件发生后,会调用函数SampleApp_NwkState()来处理网络状态改变事件。在SampleApp例程中,网络状态改变事件主要处理了以下事件: -判断设备类型(区分协调器、路由节点、终端节点) -当协调器网络建立成功后或其他类型节点加入网络后点亮led1 -通过调用osal_start_timerEx()设置一个定时事件,当时间到达后启用用户自定义事件SampleApp_Send_PERIODIC_MSG_EVT 备注:在使用过程中这里的3种设备类型不是全选,写一个就可以了,其他的删除

Xmodem协议详解以及源代码剖析

研究 Xmodem 协议必看的 11个问题 Xmodem 协议作为串口数据传输主要的方式之一,恐怕只有做过 bootloader 的才有机会接触一下, 网上有关该协议的内容要么是英语要么讲解不详细。笔者以前写 bootloader 时研究过 1k-Xmodem ,参考了不少相关资料。这里和大家交流一下我对 Xmodem 的理解,多多指教! 1. Xmodem 协议是什么? XMODEM协议是一种串口通信中广泛用到的异步文件传输协议。分为标准Xmodem 和 1k-Xmodem 两种,前者以 128字节块的形式传输数据,后者字节块为 1k 即 1024字节,并且每个块都使用一个校验和过程来进行错误检测。在校验过程中如果接收方关于一个块的校验和与它在发送方的校验和相同时,接收方就向发送方发送一个确认字节 (ACK。由于 Xmodem 需要对每个块都进行认可, 这将导致性能有所下降, 特别是延时比较长的场合, 这种协议显得效率更低。 除了 Xmodem ,还有 Ymodem , Zmodem 协议。他们的协议内容和 Xmodem 类似,不同的是 Ymodem 允许批处理文件传输,效率更高; Zmodem 则是改进的了Xmodem ,它只需要对损坏的块进行重发,其它正确的块不需要发送确认字节。减少了通信量。 2. Xmodem 协议相关控制字符 SOH 0x01 STX 0x02 EOT 0x04 ACK 0x06 NAK 0x15

CAN 0x18 CTRLZ 0x1A 3.标准 Xmodem 协议(每个数据包含有 128字节数据帧格式 _______________________________________________________________ | SOH | 信息包序号 | 信息包序号的补码 | 数据区段 | 校验和 | |_____|____________|___________________|__________|____________| 4. 1k-Xmodem (每个数据包含有 1024字节数据帧格式 _______________________________________________________________ | STX | 信息包序号 | 信息包序号的补码 | 数据区段 | 校验和 | |_____|____________|___________________|__________|____________| 5.数据包说明 对于标准 Xmodem 协议来说,如果传送的文件不是 128的整数倍,那么最后一个数据包的有效内容肯定小于帧长,不足的部分需要用 CTRL- Z(0x1A来填充。这里可能有人会问,如果我传送的是 bootloader 工程生成的 .bin 文件, mcu 收到后遇到0x1A 字符会怎么处理?其实如果传送的是文本文件,那么接收方对于接收的内容是很容易识别的,因为 CTRL-Z 不是前 128个 ascii 码, 不是通用可见字符, 如果是二进制文件, mcu 其实也不会把它当作代码来执行。哪怕是 excel 文件等,由于其内部会有些结构表示各个字段长度等,所以不会读取多余的填充字符。否则 Xmodem太弱了。对于 1k-Xmodem ,同上理。 6.如何启动传输?

Zigbee协议栈原理基础

1Zigbee协议栈相关概念 1.1近距离通信技术比较: 近距离无线通信技术有wifi、蓝牙、红外、zigbee,在无线传感网络中需求的网络通信恰是近距离需求的,故,四者均可用做无线传感网络的通信技术。而,其中(1)红外(infrared):能够包含的信息过少;频率低波衍射性不好只能视距通信;要求位置固定;点对点传输无法组网。(2)蓝牙(bluetooth):可移动,手机支持;通信距离10m;芯片价格贵;高功耗(3)wifi:高带宽;覆盖半径100m;高功耗;不能自组网;(4)zigbee:价格便宜;低功耗;自组网规模大。?????WSN中zigbee通信技术是最佳方案,但它连接公网需要有专门的网关转换→进一步学习stm32。 1.2协议栈 协议栈是网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。 1.2.1Zigbee协议规范与zigbee协议栈 Zigbee各层协议中物理层(phy)、介质控制层(mac)规范由IEEE802.15.4规定,网络层(NWK)、应用层(apl)规范由zigbee联盟推出。Zigbee联盟推出的整套zigbee规范:2005年第一版ZigBeeSpecificationV1.0,zigbee2006,zigbee2007、zigbeepro zigbee协议栈:很多公司都有自主研发的协议栈,如TI公司的:RemoTI,Z-Stack,SimpliciTI、freakz、msstatePAN 等。 1.2.2z-stack协议栈与zigbee协议栈 z-stack协议栈与zigbee协议栈的关系:z-stack是zigbee协议栈的一种具体实现,或者说是TI公司读懂了zigbee 协议栈,自己用C语言编写了一个软件—---z-stack,是由全球几千名工程师共同开发的。ZStack-CC2530-2.3.1-1.4.0软件可与TI的SmartRF05平台协同工作,该平台包括MSP430超低功耗微控制器(MCU)、CC2520RF收发器以及CC2591距离扩展器,通信连接距离可达数公里。 Z-Stack中的很多关键的代码是以库文件的形式给出来,也就是我们只能用它们,而看不到它们的具体的实现。其中核心部分的代码都是编译好的,以库文件的形式给出的,比如安全模块,路由模块,和Mesh自组网模块。与z-stack 相比msstatePAN、freakz协议栈都是全部真正的开源的,它们的所有源代码我们都可以看到。但是由于它们没有大的商业公司的支持,开发升级方面,性能方面和z-stack相比差距很大,并没有实现商业应用,只是作为学术研究而已。 还可以配备TI的一个标准兼容或专有的网络协议栈(RemoTI,Z-Stack,或SimpliciTI)来简化开发,当网络节点要求不多在30个以内,通信距离500m-1000m时用simpliciti。 1.2.3IEEE802.15.4标准概述 IEEE802.15.4是一个低速率无线个人局域网(LowRateWirelessPersonalAreaNetworks,LR-WPAN)标准。定义了物理层(PHY)和介质访问控制层(MAC)。 LR-WPAN网络具有如下特点: ◆实现250kb/s,40kb/s,20kb/s三种传输速率。 ◆支持星型或者点对点两种网络拓扑结构。 ◆具有16位短地址或者64位扩展地址。 ◆支持冲突避免载波多路侦听技术(carriersensemultipleaccesswithcollisionavoidance,CSMA/CA)。(mac层) ◆用于可靠传输的全应答协议。(RTS-CTS) ◆低功耗。 ◆能量检测(EnergyDetection,ED)。 ◆链路质量指示(LinkQualityIndication,LQI)。 ◆在2.45GHz频带内定义了16个通道;在915MHz频带内定义了10个通道;在868MHz频带内定义了1个通道。 为了使供应商能够提供最低可能功耗的设备,IEEE(InstituteofElectricalandElectronicsEngineers,电气及电子工程师学会)定义了两种不同类型的设备:一种是完整功能设备(full.functionaldevice,FFD),另一种是简化功能设备

LWIP协议栈的分析和设计

---《计算机网络与控制》论文 LWIP协议栈的分析

摘要 近些年来,随着互联网和通讯技术的迅猛发展,除了计算机之外,大量的嵌入式设备也需求接入网络。目前,互联网中使用的通讯协议基本是TCP/IP协议族,可运行于不同的网络上,本文研究的就是嵌入式TCP/IP协议栈LWIP。文章首先分析了LWIP的整体结构和协议栈的实现,再介绍协议栈的内存管理,最后讲解协议栈应用程序接口。 关键词: 嵌入式系统;协议;LWIP;以太网 Abstract With the rapid development of internet and communication technology, Not only computers but also embeded equipments are need to connect networks. At present, the basic communication protocol using in internet is TCP/IP, it can run in different network. This paper analyses the Light-Weight TCP/IP. The process model of a protocol implementation and processing of every layer are described first, and then gives the detailed management of Buffer and memory. At last, a reference lwIP API is given. Key words: Embedded System, Protocol, Light weight TCP/IP,Ethernet 引言

ZigBee协议栈OSAL介绍

讨论ZigBee协议栈的构成以及内部OSAL的工作机理。 ZigBee协议栈OSAL介绍 操作系统抽象层 OSAL常用术语: 1.资源(Resource):任何任务所占用的实体都叫资源,如变量、数组、结构体 2.共享资源(Shared Resource):两个或两个以上任务使用的资源,为防止破坏资源,任务在操作共享资源时是独占状态。 3.任务(Task):即线程,简单的程序的执行过程。任务设计时将问题尽可能分成多个任务,每个任务独立完成某项功能,同时赋予优先级、CPU寄存器和堆栈空间。一般一个任务设计为一个无限循环。 4.多任务运行(Muti-task Running):其实同一时刻只有一个任务运行。 5.内核(Kernel):内核负责管理各个任务。包括:分配CPU时间;任务调度;任务间的通信。 6.互斥(Mutual Exclusion):多任务通信最常用方法是共享数据结构。 保护共享资源常用的方法: 关中断; 使用测试并置位指令(T&S指令); 禁止任务切换; 使用信号量; 7.消息队列(Message Queue):用于任务间传递消息。 OSAL提供如下功能: 任务注册、初始化和启动; 任务间的同步、互斥; 中断处理; 储存器分配和管理; OSAL运行机理: OSAL就是一种支持多任务运行的系统资源分配机制。 OSAL是一种基于事件驱动的轮询式操作系统。、 void osal_start_system(void)是ZigBee协议栈的灵魂,不断的查看事件列表,如果有事件发生就调用相应的事件处理函数。 SYS_EVENT_MSG是一个事件集合,是由协议栈定义的事件,即系统强制事件(Mandatory Events),它的定义为: #define SYS_EVENT_MSG 0x8000; 它包含如下事件: AF_INCOMING_MSG_CMD 收到一个新的无线数据

2020年Zigbee协议栈中文说明免费

1.概述 1.1解析ZigBee堆栈架构 ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。图1-1给出了这些组件的概况。 1.1.1ZigBee堆栈层 每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。 设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。每个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件。 图1-1 zigbe堆栈框架 从应用角度看,通信的本质就是端点到端点的连接(例如,一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信,目的是将这些灯点亮)。 端点之间的通信是通过称之为簇的数据结构实现的。这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义。图1-1-2就是设备及其接口的一个例子:

图1-1-2 每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。一共有二个特殊的端点,即端点0和端点255。端点0用于整个ZigBee设备的配置和管理。应用程序可以通过端点0与ZigBee 堆栈的其它层通信,从而实现对这些层的初始化和配置。附属在端点0的对象被称为ZigBee设备对象 (ZD0)。端点255用于向所有端点的广播。端点241到254是保留端点。 所有端点都使用应用支持子层(APS)提供的服务。APS通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯的开关。APS使用网络层(NWK)提供的服务。NWK负责设备到设备的通信,并负责网络中设备初始化所包含的活动、消息路由和网络发现。应用层可以通过ZigBee设备对象(ZD0)对网络层参数进行配置和访问。 1.1.2 80 2.15.4 MAC层 IEEE 802.15.4标准为低速率无线个人域网(LR-WPAN)定义了OSI模型开始的两层。PHY层定义了无线射频应该具备的特征,它支持二种不同的射频信号,分别位于2450MHz波段和868/915MHz 波段。2450MHz波段射频可以提供250kbps的数据速率和16个不同的信道。868 /915MHz波段中,868MHz支持1个数据速率为20kbps的信道,915MHz支持10个数据速率为40kbps的信道。MAC层负责相邻设备间的单跳数据通信。它负责建立与网络的同步,支持关联和去关联以及MAC 层安全:它能提供二个设备之间的可靠链接。 1.1.3 关于服务接入点 ZigBee堆栈的不同层与802.15.4 MAC通过服务接入点(SAP)进行通信。SAP是某一特定层提供的服务与上层之间的接口。 ZigBee堆栈的大多数层有两个接口:数据实体接口和管理实体接口。数据实体接口的目标是向上层提供所需的常规数据服务。管理实体接口的目标是向上层提供访问内部层参数、配置和管理数据的机制。 1.1.4 ZigBee的安全性 安全机制由安全服务提供层提供。然而值得注意的是,系统的整体安全性是在模板级定义的,这意味着模板应该定义某一特定网络中应该实现何种类型的安全。 每一层(MAC、网络或应用层)都能被保护,为了降低存储要求,它们可以分享安全钥匙。SSP是通过ZD0进行初始化和配置的,要求实现高级加密标准(AES)。ZigBee规范定义了信任中心的用

从Zigbee协议栈底层添加自己的按键配置

本实验是基于ZStack-CC2530-2.5.1a版本的协议栈来进行实验的,整个实验需要改动 hal_board_cfg.h、hal_board_cfg.h、hal_key.c、hal_key.h和自己定义的Coordinator.c这5个文件。 注意:添加自己的按键时尽量不要修改协议栈里面的按键程序,自己另行添加即可。 1、hal_key.h 在/* Switches (keys) */下面添加自己的按键定义 #define HAL_KEY_SW_8 0x80 图1: ---------------------------------------------------------------------------------------- 2、hal_board_cfg.h 在/* S6 */ #define PUSH1_BV BV(1) #define PUSH1_SBIT P0_1 #if defined (HAL_BOARD_CC2530EB_REV17) #define PUSH1_POLARITY ACTIVE_LOW #elif defined (HAL_BOARD_CC2530EB_REV13) #define PUSH1_POLARITY ACTIVE_LOW #else #error Unknown Board Indentifier #endif 下面模仿/* S6 */下的程序定义自己的按键值: /* S8 */ #define PUSH8_BV BV(4)//修改 #define PUSH8_SBIT P0_4//修改 #if defined (HAL_BOARD_CC2530EB_REV17)

lwip各层协议栈详解

竭诚为您提供优质文档/双击可除lwip各层协议栈详解 篇一:lwip协议栈源码分析 lwip源码分析 -----caoxw 1lwip的结构 lwip(lightweightinternetprotocol)的主要模块包括:配置模块、初始化模块、netif模块、mem(memp)模块、netarp模块、ip模块、udp模块、icmp模块、igmp模块、dhcp模块、tcp模块、snmp模块等。下面主要对我们需要关心的协议处理进行说明和梳理。配置模块: 配置模块通过各种宏定义的方式对系统、子模块进行了配置。比如,通过宏,配置了mem管理模块的参数。该配置模块还通过宏,配置了协议栈所支持的协议簇,通过宏定制的方式,决定了支持那些协议。主要的文件是opt.h。 初始化模块: 初始化模块入口的文件为tcpip.c,其初始化入口函数为: voidtcpip_init(void(*initfunc)(void*),void*arg)

该入口通过调用lwip_init()函数,初始化了所有的子模块,并启动了协议栈管理进程。同时,该函数还带有回调钩子及其参数。可以在需要的地方进行调用。 协议栈数据分发管理进程负责了输入报文的处理、超时处理、api函数以及回调的处理,原型如下: staticvoidtcpip_thread(void*arg) netif模块: netif模块为协议栈与底层驱动的接口模块,其将底层的一个网口设备描述成协议栈的一个接口设备(netinterface)。该模块的主要文件为netif.c。其通过链表的方式描述了系统中的所有网口设备。 netif的数据结构描述了网口的参数,包括ip地址、mac 地址、link状态、网口号、收发函数等等参数。一个网口设备的数据收发主要通过该结构进行。 mem(memp)模块: mem模块同一管理了协议栈使用的内容缓冲区,并管理pbuf结构以及报文的字段处理。主要的文件包括mem.c、memp.c、pbuf.c。 netarp模块: netarp模块是处理arp协议的模块,主要源文件为etharp.c。其主要入口函数为: err_tethernet_input(structpbuf*p,structnetif*netif)

ZigBee测试与协议分析

ZigBee测试与协议分析 1 前言 ZigBee协议栈包括物理层协议(IEEE802.15.4)和上层软件协议(ZigBee 2007以及其他的ZigBee网络协议)。本文将从这两方面来了解这些协议,通过介绍如何捕获及如何理解关键参数,深层次剖析ZigBee技术。有了这些本质性的认识,对于分析解决无线产品应用问题,会有很大的帮助。 2 物理层分析 ZigBee的物理层为IEEE802.15.4标准所规定,定义了ZigBee底层的调制编码方式。这些规约大多是芯片设计者需要关心的,对于应用开发来说,更关心的是衡量一个芯片、一个射频系统性能的参数。在过去的文章中,已介绍了输出功率、接收灵敏度和链路预算等参数,这一讲将更深入地介绍一个调制质量的参数:EVM。EVM指的是误差向量(包括幅度和相位的矢量),表征在一个给定时刻理想无误差基准信号与实际发射信号的向量差,。从EVM参数中,可以了解到一个输出信号的幅度误差及相位误差。 EVM是衡量一个RF系统总体调制质量的指标,定义为信号星座图上测量信号与理想信号之间的误差,它用来表示发射器的调制精度,调制解调器、PA、混频器、收发器等对它都会有影响。EVM数据和眼图。 了解完这个参数之后,再看看实际测试中是如何获取EVM参数的。 ZigBee物理层的测试,在产品研发、生产和维护阶段,可以分别采用不同的仪器。 (1)产品研发阶段要测量EVM参数,需要使用带协议解析的频谱仪,最好是自带相应协议插件的仪器,可以使用安捷伦PXA N9030A频谱分析仪+8960B插件(选配了ZigBee分析插件)。这些仪器可以测试出ZigBee调制信号的星座图、实时数据和眼图等信息,在芯片级开发过程中,需要考量高频电容电感以及滤波器等的单个及组合性能,特别需要注意的是ZigBee信号的临道抑制参数,利用PXA N9030A的高分辨率,可以查看点频的带外信号,这些细节在更换射频器件供应商时,需要仔细测量,一般数字电路抄板比较容易,因为器件性能的影响不是很大,只要值和封装对了就可以,但是射频前端的设计上,即使原样的封装、容值和感值,供应商不一样,射频参数也是不一样的,板材的选用也极大地影响着阻抗匹配,因此复制和再开发都有较大难度。合格的测试工具,加上有质量保证的射频器件供应商资源,方能真正具备RF设计能力。安捷伦PXA N9030A频谱分析仪。 (2)批量生产阶段在批量生产中,不可能将实验室的研发测试仪器搬到工厂,因此,需要便携小巧的测试设备,这时可用罗德与斯瓦茨公司的热功率探头,如NRP-Z22,做一个2.4 GHz的输出功率测试,保证能够输出公差允许的功率信号即可,因为在生产中,射频器件的焊接不良、馈线连接头的接触不良,都会造成输出功率的下降甚至消失。需要注意的是,探头非常容易被静电损坏,必须要带上防静电手套进行操作,返修过程如需要经过德国,则时间长,经费也不便宜,不是很严重的损坏倒是可以在深圳维修中心处理。NRP-Z22。 (3)应用阶段在现场出现问题时,ZigBee节点已经安装到现场,不能逐一拆下来测试,并且周围的电磁环境也是没办法在单个节点上检测到,这时就需要手持式的频谱仪进行现场勘查了,例如安捷伦公司的N9912A手持式频谱仪。使用该频谱仪,可以完成无线系统设计初期的现场勘查工作,检测现场各个地点是否有异常电磁干扰,对于ZigBee来说,当然是检测是否有持续的WIFI信号干扰了。同时,更为详细的现场勘查,还包括在定点进行数据发送,预期覆盖点进行信号强度分析,以实地评估墙体等障碍物的信号衰减,在已经架设好的ZigBee网络中,也可以检测信号覆盖,数据通信是否正常等。N9912A。

zigbee协议栈代码主要名词解释

zigbee协议重要名词解释及英文缩写(转载)网络层功能: 1. 加入和退出网络 2. 申请安全结构 3. 路由管理 4. 在设备之间发现和维护路由 5. 发现邻设备 6. 储存邻设备信息 当适当的重新分配地址联合其他设备,ZIGBEE2006可以依赖于网络协调者建立一个新网络. ZIGBEE应用层由APS(应用支持)、AF(应用结构)、ZDO(ZIGBEE设备对象)和厂商自定义应用对象组成。 APS功能 1. 绑定维持工作台,定义一个两个合拢的设备进行比较建立他们的需要和服务。 2. 促进信息在设备之间的限制 3. 组地址定义,移除和过滤组地址消息 4. 地址映射来自于64位IEEE地址和16位网络地址 5. 分裂、重新组装和可靠数据传输 ZDO功能 1. 定义设备内部网络(ZigBee协调者和终端接点) 2. 开始和/或回答绑定请求 3. 在网络设备中建立一个网络安全关系 4. 在网络中发现设备和决定供给哪个应用服务 ZDO同样有责任在网络中发现设备和为他们提供应用服务。 1.1.4 网络拓扑 ZIGBEE网络层支持星状、树状和网状拓扑。在星状拓扑中网络受约束与单个设备,呼叫COORD。COORD有责任建立和维持在网络中发现的设备和其他所有设备,都知道的终端接点直接和COORD 通信。在网状和树状拓扑中,COORD有责任建立一个网络和选择几个关键网络参数,但是网络有有可能直接应用于ZigBee路由器。在树状网络中,利用分等级路由策略完成路由传输数据和控制消息直通网络。树状网络在802.15.4-2003中可以采用信标引导通信。网状网络将允许所有对等网络通信。ZIGBEE 路又将不能在网状网络中发射规则的IEEE802.15.4-2003信标。

LwIP协议栈源码详解

LwIP协议栈源码详解 ——TCP/IP协议的实现 Created by.. 老衲五木 at.. UESTC Contact me.. for_rest@https://www.wendangku.net/doc/0c516102.html, 540535649@https://www.wendangku.net/doc/0c516102.html,

前言 最近一个项目用到LwIP,恰好看到网上讨论的人比较多,所以有了写这篇学习笔记的冲动,一是为了打发点发呆的时间,二是为了吹过的那些NB。往往决定做一件事是简单的,而坚持做完这件事却是漫长曲折的,但终究还是写完了,时间开销大概为四个月,内存开销无法估计。。 这篇文章覆盖了LwIP协议大部分的内容,但是并不全面。它主要讲解了LwIP协议最重要也是最常被用到的部分,包括内存管理,底层网络接口管理,ARP层,IP层,TCP层,API 层等,这些部分是LwIP的典型应用中经常涉及到的。而LwIP协议的其他部分,包括UDP,DHCP,DNS,IGMP,SNMP,PPP等不具有使用共性的部分,这篇文档暂时未涉及。 原来文章是发在空间中的,每节每节依次更新,后来又改发为博客,再后来就干脆懒得发了。现在终于搞定,于是将所有文章汇总。绞尽脑汁的想写一段空前绝后,人见人爱的序言,但越写越觉得像是猫儿抓的一样。就这样,PS:由于本人文笔有限,情商又低,下里巴人一枚,所以文中的很多语句可能让您很纠结,您可以通过邮箱与我联系。共同探讨才是进步的关键。 最后,欢迎读者以任何方式使用与转载,但请保留作者相关信息,酱紫!码字。。。世界上最痛苦的事情莫过于此。。。 ——老衲五木

目录 1 移植综述------------------------------------------------------------------------------------------------------4 2 动态内存管理------------------------------------------------------------------------------------------------6 3 数据包pbuf--------------------------------------------------------------------------------------------------9 4 pbuf释放---------------------------------------------------------------------------------------------------13 5 网络接口结构-----------------------------------------------------------------------------------------------16 6 以太网数据接收--------------------------------------------------------------------------------------------20 7 ARP表-----------------------------------------------------------------------------------------------------23 8 ARP表查询-----------------------------------------------------------------------------------------------26 9 ARP层流程-----------------------------------------------------------------------------------------------28 10 IP层输入-------------------------------------------------------------------------------------------------31 11 IP分片重装1--------------------------------------------------------------------------------------------34 12 IP分片重装2--------------------------------------------------------------------------------------------37 13 ICMP处理-----------------------------------------------------------------------------------------------40 14 TCP建立与断开----------------------------------------------------------------------------------------43 15 TCP状态转换-------------------------------------------------------------------------------------------46 16 TCP控制块----------------------------------------------------------------------------------------------49 17 TCP建立流程-------------------------------------------------------------------------------------------53 18 TCP状态机----------------------------------------------------------------------------------------------56 19 TCP输入输出函数1-----------------------------------------------------------------------------------60 20 TCP输入输出函数2-----------------------------------------------------------------------------------63 21 TCP滑动窗口-------------------------------------------------------------------------------------------66 22 TCP超时与重传----------------------------------------------------------------------------------------69 23 TCP慢启动与拥塞避免-------------------------------------------------------------------------------73 24 TCP快速恢复重传和Nagle算法-------------------------------------------------------------------76 25 TCP坚持与保活定时器-------------------------------------------------------------------------------80 26 TCP定时器----------------------------------------------------------------------------------------------84 27 TCP终结与小结----------------------------------------------------------------------------------------88 28 API实现及相关数据结构-----------------------------------------------------------------------------91 29 API消息机制--------------------------------------------------------------------------------------------94 30 API函数及编程实例-----------------------------------------------------------------------------------97

一文读懂zigbee技术的协议原理

一文读懂zigbee技术的协议原理 一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载TI公司为cc2530写的协议栈代码,毕竟,我们作为初学者,应该先不要去深究协议栈是怎么用代码编写的,毕竟zigbee已经相当成熟了,我们应该先学会使用zigbee协议栈进行通信,并能应用于实际项目中,比如说智能家具,不知道大家是不是有同感,所以下面我就先给大家介绍一下zigbee通信的原理以及体系架构。 二.ZStack 体系架构 ZStack 的体系结构由称为层的各模块组成。每一层为其上层提供特定的服务:即由数据服务实体提供数据传输服务;管理实体提供所有的其他管理服务。每个服务实体通过相应的服务接入点(SAP) 为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。 ZStack 根据IEEE 802.15.4 和ZigBee 标准分为物理层,介质接入控制层,网络层,应用层。物理层提供了基础的服务,数据传输和接收,网络层提供了各个节点连入的服务,是zigbee网络通信的关键,应用层是我们关注的重点,提供了应用的框架和ZDO。大家如果想了解体系结构的具体内容,可以自己去看说明文档,下面我给大家介绍一下zigbee 工作原理。 ZStack 采用操作系统的思想来构建,采用事件轮循机制,而且有一个专门的Timer2 来负责定时。从CC2530 工作开始,Timer2 周而复始地计时,有采集、发送、接收、显示…等任务要执行时就执行。当各层初始化之后,系统进入低功耗模式,当事件发生时,唤醒系统,开始进入中断处理事件,结束后继续进入低功耗模式。如果同时有几个事件发生,判断优先级,逐次处理事件。这种软件构架可以极大地降级系统的功耗。 整个ZStack 的主要工作流程,如图所示,大致分为以下6 步:(1) 关闭所有中断;(2) 芯

lwip协议栈源码分析

LWIP源码分析 ----- caoxw 1 LWIP的结构 LWIP(Light weight internet protocol)的主要模块包括:配置模块、初始化模块、NetIf 模块、mem(memp)模块、netarp模块、ip模块、udp模块、icmp 模块、igmp模块、dhcp 模块、tcp模块、snmp模块等。下面主要对我们需要关心的协议处理进行说明和梳理。 配置模块: 配置模块通过各种宏定义的方式对系统、子模块进行了配置。比如,通过宏,配置了mem管理模块的参数。该配置模块还通过宏,配置了协议栈所支持的协议簇,通过宏定制的方式,决定了支持那些协议。主要的文件是opt.h。 初始化模块: 初始化模块入口的文件为tcpip.c,其初始化入口函数为: void tcpip_init(void (* initfunc)(void *), void *arg) 该入口通过调用lwip_init()函数,初始化了所有的子模块,并启动了协议栈管理进程。同时,该函数还带有回调钩子及其参数。可以在需要的地方进行调用。 协议栈数据分发管理进程负责了输入报文的处理、超时处理、API函数以及回调的处理,原型如下: static void tcpip_thread(void *arg) NetIf模块: Netif模块为协议栈与底层驱动的接口模块,其将底层的一个网口设备描述成协议栈的一个接口设备(net interface)。该模块的主要文件为netif.c。其通过链表的方式描述了系统中的所有网口设备。 Netif的数据结构描述了网口的参数,包括IP地址、MAC地址、link状态、网口号、收发函数等等参数。一个网口设备的数据收发主要通过该结构进行。 Mem(memp)模块: Mem模块同一管理了协议栈使用的内容缓冲区,并管理pbuf结构以及报文的字段处理。主要的文件包括mem.c、memp.c、pbuf.c。 netarp模块: netarp模块是处理arp协议的模块,主要源文件为etharp.c。其主要入口函数为: err_t ethernet_input(struct pbuf *p, struct netif *netif) 该入口函数通过判断输入报文p的协议类型来决定是按照arp协议进行处理还是将该报文提交到IP协议。如果报文是arp报文,该接口则调用etharp_arp_input,进行arp请求处理。 如果是ip报文,该接口就调用etharp_ip_input进行arp更新,并调用ip_input接口,将报文提交给ip层。 在该模块中,创建了设备的地址映射arp表,并提供地址映射关系查询接口。同时还提供了arp报文的发送接口。如下:

TI_zigbee协议栈结构分析应用

无线盛世《快速进入ZB世界》
Ver:1

进入Zigbee世界的准备工作
§ 首先,我们需具备一些硬件设备及平台。以下 我就罗列一下Zigbee开发基本工具: § 计算机:不管是设计电路还是编程开发都是离 不开它的。 § Zigbee开发板:对于初学者来说,Zigbee开发 板无疑是最佳选择。有了开发板,你可以在我 们成熟设计的基础上学习或者做自己的设计。 § Zigbee模块:集MCU,RF,天线设计于一体 的Zigbee模块。使用它,我们可省去设计天线 及IC周边电路设计的复杂工作。

进入Zigbee世界的准备工作
§ Zigbee仿真器:是集烧写程序、在线编程和在线仿真 功能于一身的开发过程工作中必不可少的开发工具。 编程器既能对CC243x芯片(其实包括TI产品中的CC 系列的大部分芯片)进行烧写程序(hex标准文件程序 ),也能对CC243x芯片进行在线编程和仿真,让我们 能方便地在线调试开发,从而大大地提高了开发效率 。 § Zigbee协议分析仪:ZigBee的设计开发者必不可少的 工具!ZigBee协议分析仪具有广泛的功能,包括:分 析以及解码在PHY、MAC、NETWORK/SECURITY、 APPLICATION FRAMEWORK、和APPLICATION PROFICES等各层协议上的信息包;显示出错的包以 及接入错误;指示触发包;在接收和登记过程中可连 续显示包。

进入Zigbee世界的准备工作
§ 再次,我们需要在将用于开发Zigbee的计 算机平台上安装这些软件: § Zigbee协议分析软件(sniffer) § 程序烧写软件(Flash Programmer) § IAR公司的EW8051 version 7.20I/W32 。

LwIP协议栈开发嵌入式网络的三种方法分析

LwIP协议栈开发嵌入式网络的三种方法分析 摘要轻量级的TCP/IP协议栈LwIP,提供了三种应用程序设计方法,且很容易被移植到多任务的操作系统中。本文结合μC/OS-II这一实时操作系统,以建立TCP服务器端通信为例,分析三种方法以及之间的关系,着重介绍基于raw API的应用程序设计。最后在ST公司STM32F107微处理器平台上验证,并给出了测试结果。 关键词LwIP协议栈;μC/OS-II;嵌入式网络;STM32F107; 随着嵌入式系统功能的多样化以及网络在各个领域的中的广泛应用,具备网络功能的嵌入式设备拥有更高的使用价值和更强的通用性。然而大部分嵌入式设备使用经济型处理器,受内存和速度限制,资源有限,不需要也不可能完整实现所有的TCP/IP协议,有时只需要满足实际需求就行。LwIP是由瑞典计算机科学研究院开发的轻量型TCP/IP协议栈,其特点是保持了以太网的基本功能,通过优化减少了对存储资源的占用。LwIP是免费、开源的,任何人可以使用,能够在裸机的环境下运行,当然设计的时候也考虑了将来的移植问题,可以很容易移植到多任务操作系统中。本文介绍了以ARM微处理器STM32F107和PHY接口DP83848为平台,构建的嵌入式系统中,采用LwIP和嵌入式操作系统μC/OS-II,使用协议栈提供的三种应用程序接口,实现嵌入式设备的网络通信功能。 1LwIP和μC/OS-II介绍 1.1 LwIP协议栈 LwIP协议是瑞士计算机科学院的Adam Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。LwIP含义是light weight(轻型)IP协议,在实现时保持了TCP协议的主要功能基础上减少对RAM的占用,一般它只需要几十K的RAM和40K左右的ROM 就可以运行,这使LwIP协议栈很适合在低端嵌入式系统中使用。 LwIP协议栈的设计才用分层结构的思想,每一个协议都作为一个模块来实现,提供一些与其它协议的接口函数。所有的TCP/IP协议栈都在一个进程当中,这样TCP/IP协议栈就和操作系统内核分开了。而应用程序既可以是单独的进程也可以驻留在TCP/IP进程中,它们之间利用ICP机制进行通讯。如果应用程序是单独的线程可以通过操作系统的邮箱、消息队列等,与协议栈进程通讯。如果应用程序驻留在协议栈进程中,则应用程序可以通过内部回调函数和协议栈进程通讯。 1.2 μC/OS-II实时操作系统 μC/OS-II是一个源码公开、可移植、可固化、可裁剪及占先式的实时多任务操作系统,是专门为嵌入式应用设计的实时操作系统内核,已广泛的应用在各种嵌入式系统中。 μC/OS-II是多任务系统,内核负责管理各个任务,每个任务都有其优先级,μC/OS-II 最多可以管理64个任务,其每个任务都拥有自己独立的堆栈。μC/OS-II提供了非常丰富的系统服务功能,比如信号量、消息邮箱、消息队列、事件标志、内存管理和时间管理等,这些功能可以帮助用户实现非常复杂的应用。 1.3 LwIP协议栈移植到μC/OS-II LwIP协议栈在设计的时候就考虑到了将来的移植问题,因此把所有与硬件、操作系统、编译器有关的部分都全部独立起来,形成了一个操作系统模拟层。操作系统模拟层用进程间的信号量、邮箱机制处理通信问题,而μC/OS-II是一个基于任务调度的嵌入式实时操作系

相关文档