• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > 技术文章 > 基于μC/OS-II的Modbus协议测试系统

基于μC/OS-II的Modbus协议测试系统

录入:edatop.com    点击:

1 引言

Modbus 协议最初由Modicon 公司开发出来,1979 年末该公司成为施耐德自动化 (Schneider Automation)部门的一部分。现在Modbus 协议已经是工业领域全球最流行的协 议。Modbus 协议为应用层报文传输协议,仅定义了通讯消息结构,一个Modbus 信息帧包 括从机地址、功能码、数据区和数据校验码。Modbus 协议支持传统的RS-232、RS-422、 RS-485 和以太网设备。许多工业设备,包括PLC、DCS、智能仪表等都在使用Modbus 协 议作为它们之间的通讯标准。 为适应当前开发Modbus 设备过程中协议测试的需求以及Modbus 设备在线测试的需 要,本文提出并实现了基于ARM 嵌入式处理器、μC/OS 实时操作系统的Modbus 协议测试 系统,并给出了系统的软硬件设计。

2 系统结构

Modbus 协议测试系统硬件设计采用了工业级嵌入式处理器HMS30C7202 。 HMS30C7202 是Hynix 公司的高性能、低功耗32 位RISC 微处理器,它由ARM720T 内核 和其他一些外围接口电路组成,工作频率为70MHz,支持8KB 的数据与指令Cache、2KB 的SRAM、支持段式和页式存储的MMU、写缓冲器及AMBA 接口。

HMS307202 采用0.25μm 低功耗CMOS 工艺,片内电压2.5V,I/O 支持3.3V 电压,采用了256 管脚QFP/BGA 封装。 HMS30C7202 片上资源十分丰富,具有极高的集成度,非常适用于嵌入式系统应用,主要 应用于PDA、智能电话、个人音频设备等场合。 测试系统提供了RS-232 和以太网接口,用于实现和被测Modbus 设备的联接。系统 RS-232 接口芯片采用MAX3232。在嵌入式系统内部,将MAX3232 的接收输出端与 HMS30C7202 的通用IO 端口E24 相连。工作时,使用串行电缆将测试系统RS-232 串口和 被测设备的串口联接起来,在测试系统中通过运行测试软件实现对Modbus 协议的测试。系 统结构如图1 所示。

测试系统的系统软件采用μC/OS-II 实时操作系统,μC/OS-II 的前身是μC/OS,由美国 人Jean Labrosse 编写。μC/OS-II 是一种可剥夺型的实时多任务操作系统,其特点是可固化,可裁减,移植性好。μC/OS-II 功能强大,最多支持56 个用户任务,支持信号量、消息邮箱、 消息队列等多种常用的进程间通信机制。

现已成功移植到几乎所有知名的MCU 上,其稳定 性与可靠性已经得到检验[1]。 μC/OS-II 是一个可剥夺型抢占式实时多任务内核。μC/OS-II 大部分代码是用ANSI C 语 言编写的,仅包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。至今, 从8 位到64 位,μC/OS-II 已经在40 多种不同架构的微处理器上使用。

世界上已经有成千上 万的人在各个领域中使用μC/OS,这些领域包括:照相机行业、航空业、医疗器械、网络设 备、自动提款机以及工业机器人等。 由于μC/OS-II 仅仅是一个实时多任务的内核,移植μC/OS-II 到处理器平台以后,离实 际的应用还有一段距离。因此必须对μC/OS-II 进行必要的扩充,才能建立一个实用的实时 操作系统。扩充工作主要包括:建立文件系统、为外部设备建立驱动程序并规范相应的API 函数、创建图形用户接口(GUI)函数、建立其他实用的应用程序接口(API)函数等[2]。

图1 测试系统结构图

3 软件设计

μC/OS-II下应用程序设计主要是根据系统的功能需要划分不同的任务和中断,并为每个 任务分配不同的优先级。一个任务通常是一个无限的循环,看起来像其它C的函数一样,有 函数返回类型,有形式参数变量,但任务是决不会返回的,因此返回参数类型必须定义为 void。为了使μC/OS-II能管理用户任务,用户必须在建立一个任务的时候,将任务的起始地 址与其它参数一起传给OSTaskCreate()或OSTaskCreateExt()。

中断和任务以及任务与任务之间的同步可通过信号量实现。下面以Modbus协议测试程 序中RTU模式下字符时间间隔的测量为例介绍μC/OS-II程序设计中任务和中断的划分。 Modbus的RTU模式中规定[3]:RTU模式下必须以连续的字符流发送整个报文帧,同一个 帧中两个字符之间的空闲时间Δt不能大于1.5个字符时间(称为t1.5),否则就认为报文帧不完 整;不同报文帧之间需要时长至少为3.5个字符的空闲时间,这个时间区间被称为t3.5。RTU 模式下的信息帧如图2所示。

图2 RTU模式的信息帧

 

来源:维库电子

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:基于ARM920T核的电磁流量仪表的开发
下一篇:无线传感器网络数据融合技术

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图