基于μC/OS-II的Modbus协议测试系统
1 引言
本文引用地址://m.amcfsurvey.com/article/152365.htmModbus协议最初由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 测试系统结构图
评论