当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于μC/OS-II的Modbus协议测试系统

 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 测试系统结构图[!--empirenews.page--]

  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模式的信息帧

  为了记录RTU 帧中一个字符结束时间和另一个字符的起始时间,系统分别使用串口中 断Uart_ISR 和IO 中断PE24_ISR 分别对这两个时刻进行捕捉。这需要将HMS30C7202 的串 口中断时机设置为接收完一个字符后,将通用I/O 端口线PE24 设为允许中断、下降沿触发。

  为了缩短关中断时间和中断处理时间,可将中断的处理放在任务中进行。在主任务中调 用OSTaskCreate函数分别建立串口接收处理任务Uart_Task和IO口处理任务PE24_Task。在 μC/OS-II中,有一个全局的系统时钟,维护着一个全局时间变量。在Uart_Task和PE24_Task这两个任务中分别通过读取当前全局时间变量来实现对字符起始时间和结束时间的连续测 量。系统利用μC/OS-II中信号量机制实现中断与任务之间的同步[3][4],信号量必须在系统启 动的时候初始化,利用信号量实现任务与中断同步的过程如图3所示。

  图 3 利用信号量实现任务与中断同步[!--empirenews.page--]

  串口处理任务Uart_Task、IO 口处理任务PE24_Task、串口中断程序Uart_ISR 和IO 口中断程序PE24_ISR 的部分代码如下所示:


  由于μC/OS-II是一种可剥夺型实时内核,因此当中断程序结束后要重新进行任务的调 度。任务的调度工作是由调度器完成的,μC/OS-II任务调度所花的时间是常数,与应用程序 中建立的任务数无关,因此串中中断和IO口中断后的中断恢复时间是相同的,如果将通过 优化编程使两个中断的响应时间相等,则时间间隔Δt的测量结果将更加精确。

  4 结语

  做为一种源码开放的实时操作系统,μC/OS-II在计算机检测与控制等领域得到了广泛应 用。本文提出并实现了基于ARM嵌入式处理器和μC/OS-II的Modbus协议测试系统。实验结 果表明,测试系统实时性好、可靠性高,能很好地满足Modbus设备的开发调试以及Modbus 设备运行过程中的在线检测需求。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭