Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 理工论文 > 正文

电梯外呼设备在线升级设计论文

发布时间:2023-09-26 15:27:34 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com)
 
   摘要:为有效解决电梯外呼设备在使用现场进行程序升级的困难, 设计电梯外呼设备程序在线升级方法 。 由于电梯外呼设备的硬 件 MCU 资源缺乏, 程序升级数据交换采取共用电梯的串行通信实现 。为不影响电梯的其他通信设备, 需增加满足在线升级的定制 化协议, 实现电梯控制板与电梯外呼设备的主从通信方式, 以方便远程控制中心或工程 PDA 对升级进程的实时可控 。Flash 存储空 间有限, 不足以开设程序备份区, 在升级过程中删除原程序后, 对接收通信写入的数据进行双重检验保证正确; 同时, 在 Boot 程 序中增加相应的程序检测机制, 以避免升级失败导致外呼设备失去功能 。以 PIC18 平台为例, 由于中断向量不能重定向, 采用编 译器的宏定义实现固定跳转; 通过整合 Boot 与 App 程序的 Hex 文件, 解决 MCU 不能进行分区烧录程序的问题, 并对外呼设备进行 在线升级测试 。结果表明: 利用该方案能够成功进行外呼设备在线升级, 升级成功率满足预期, 该设计能有效解决当前外呼设备 的程序升级困难。

  关键词:电梯外呼设备,在线升级,串行通信,PIC18,Boot

  Online Upgrade Design of Elevator Hall Equipment

  Zhang Jiejian, Dang Shudong, Zhang Yongsheng

  (Hitachi Building Technology(Guangzhou) Co., Ltd., Guangzhou 510670. China)

  Abstract: In order to solve the online upgrade difficulty of elevator hall equipment in field effectively , the method to upgrade program online is designed. Due to the limited MCU resource of elevator hall equipment, the common elevator serial communication is used to upgrade program and exchange data. To avoid influencing the other communication equipments of elevator, it is necessary to add a customized protocol to meets online upgrade to achive the master-slave communication goal that elevator main board communicate with hall equipment and make it convenient and controllable about long-distance control and PDA online upgrade . The limited Flash storage has no ability to create program backup sector, so after original program is deleted, it is need to check the received data to ensure correct; at the same time, the relevant check structure is add in Boot program to avoid disabling the hall equipment due to the failure of updated program . Taking the PIC18 as an example, due to the interrupt vector can’t be redirected, complier maro is used to definition to realize permanent jump; by combining Boot program with App program Hex files, the problem that MCU can’t be downloaded program according to different sectors is solved, and the hall equipments online upgrade is tested. The results show that by using the scheme, elevator hall equipment can be successfully upgraded online, the upgrade success rate meets the expectation, and by using the design, the current program upgrade difficulties of the outbound equipment can be effectively solved.

  Key words: elevator hall equipment; online upgrade; serial communication; PIC18; Boot

  引言:随着电梯的应用越来越广泛, 行业中引入了各种各 样的新技术, 市场上便出现了形色各样的外呼设备 。 由 于新技术引入存在对相关技术应用的不成熟等问题, 必 然导致部分产品在使用过程中需要对应用程序进行升级。 电梯外呼设备安装在电梯的每个楼层中, 若要对外呼设 备进行程序升级, 则需要开发或工程人员前往每个楼层 现场, 这样不仅会耗时费力, 升级处理周期较长, 通常 还会出现外呼设备的拆装困难, 电子板升级接口连接不 良, 烧录程序与现场设备不兼容等问题, 这些都会给升级过程带来各种不便, 特别是楼层较多的高端楼盘, 通 常候梯梯都采用高端装璜, 外呼设备的拆卸要求较高 。 因此, 对外呼设备的升级将会变得异常困难。

  随劳动力成本的不断提高, 自动化作业在电梯行业 中也越发广泛 。如何提升效率减少电梯外呼设备程序升 级时间, 降低现场工程作业成本是行业当前亟需解决的 问题, 电梯外呼设备在线升级能有效解决此问题[ 1] 。 目 前针对 MCU 在线升级研究较多的是基于 32 位内核的处 理器, 而对于 PIC18 这类资源缺乏, 但对升级可靠性要 求又高的应用研究较少[2-3] 。本文针对 PIC18 应用在电梯串行通信的外呼设备, 以 PIC1845K40 单片机为研究对 象, 介绍在线升级的设计。

  1 外呼在线升级的系统架构

  为实现电梯外呼设备在线升级便捷与灵活, 依托电 梯的整个系统架构 (图 1 ) 来完成相关升级操作 。系统 架构包括电梯外呼设备 、电梯串行通信总线 、电梯控制 板与无线连接 、电梯管理中心 、现场工程操作等。

\

 
  电梯管理中心可远程在线升级, 现场工程人员可在 现场进行在线升级 。后台管理通过 PC 操作, 现场工程通 过 PDA 操作, 同样是把服务器中的程序文件, 通过无线 网络发送到电梯控制板, 再通过相关操作命令控制电梯 控制板对电梯外呼设备完成在线升级操作。

  2 软硬件平台与储存分配

  2.1 设备的硬件平台

  本文以 PIC18F45K40 芯片为硬件设计平台, 内核为 8 位数据总线宽度 。基于芯片内核采用哈佛架构, 代码 区与数据区能同时进行操作[4] 。结合电梯外呼设备与电 梯控制板的 RS485 串行通信, 可以采用芯片 UART 接口 进行数据交互, 硬件平台满足在线升级设计基本要求。

  2.2 设备的软件平台

  以 MPLAB X IDE 为程序开发环境, 编译器为 XC8. 代码采用标准 C 语言开发[5] 。代码通过 MPLAB X IDE 与 XC8 编译生成 Hex 格式程序烧录文件。

  Hex 文件是 ASCII 文本内容构成, 格式文件的每行内 容都包含数据长度 、数据地址 、数据类型 、数据及校验。 XC8 生成的 Hex文件每行特点: 第 1 个字节表示数据长 度最大 16 byte; 第 2 、3 字节表示行起始地址; 第 4 个字 节表示类型, 类型有 6 种, 分别为 00 ~ 05. 对应表示数 据 、结束 、扩展段地址 、开始扩展段地址 、扩展线性地 址及开始扩展线性地址; 第 5 ~ 20 字节是有效的数据; 第 21 个字节是校验位, 采用累加和的方法。

  2.3 存储分配

  基于 PIC18F45K40 的电梯外呼设备实现在线升级, 需要在芯片的 Flash 中存放两部分执行程序, 分别存放在不 同 的 Flash 储 存 区 域 中, 其 中 一 个 是 产 品 应 用 程 序 App, 另一个是升级加载及引导程序 Boot[6] 。同时, 还需 要在 EEPROM 中存放程序运行标志及 App 程序校验结 果, 引导程序的运行跳转与验证 App 区域存放的程序正 确性。

  该器件复位后固定进入地址 0000h, 高低优先级中 断向量分别固定在地址 0008h 与 0018h[5] 。因此, 对 Flash 及 EEPROM 的分区如图 2 所示 。0000h ~ 0007h: 复位向 量, 共 8 byte; 0008h ~ 0017h: 高优先中断向量, 共 16 byte; 0018h ~ 0027h: 低 优 先 中 断 向 量, 共 16 byte;0028h ~ 1FFFh: Boot 加载及 引 导 程 序, 共 8 152byte, 约 8 Kbyte; 2 000 h~ 7FFFh: App 应用程序,共 24 Kbyte; 00h ~ FFh:运行标志存放及 App 程序校验结果, 共 256 byte。

\

 
  另外, Boot 这个区域的位置或分区, 除了考虑根据 Boot 程序大小外, 还有一个重要原因是该地址的区域有特殊的写保护特性, 能有效保证引导程序Boot 的存放可靠[5]。

  3 在线升级设计

  3.1 在线升级原理

  为实现在线升级灵活便捷 、功能实用及升级可靠, 使用电梯控制板作为 RS485 通信主机, 所有连接电梯串 行总线上的外呼设备为从机, 进入在线升级模式后, 主 机对从机进行逐个外呼设备轮流升级[7]。

  由于芯片的资源有限, App 应用程序存放区不设置 程序备份区 。在没有程序备份区的情况下, 为保证升级 的可靠, 从 Boot 切换到 App 前的检测变得极为重要[8]。 图 3 所示为在线升级的模式切换原理 。 因为芯片每次复 位后首先进入的是 Boot 引导程序, 所以设计每次进入Boot 时首先对 EEPROM 中保存的运行模式进行判断, 若 运行模式为 App, 则需要进一步对存放的 App 程序校验, 校验方式可以多种多样, 目的是保证 App 程序是正确的。 文中介绍一种简单的方法,在跳转前先读取所有的 App 内 容, 并计算出相应的校验和, 再把校验和与保存在 EE⁃ PROM 中的 App 校验值进行比较。

\

 
  EEPROM 中的 App 检验值是在升级过程中, 主机根 据升级程序的内容而计算到的, 外呼设备根据升级写入 App 的程序内容, 进行计算并与该值对比, 相同则写入 对应的 EEPROM 中保存。

  基于该设计方法, 在芯片无备份区也能既确保写入 可靠, 又节省有备份区所需拷贝的时间, 提高了升级效 率, 更适合使用在电梯外呼设备中 。 同时, 这种方法能 快速移植应用到其他资源紧张的芯片中应用, 进一步提 高了电梯外呼在线升级方法的通用性。

  3 .2 在线升级通信协议

  RS485 是电梯常用的串行通信方式, 用户可自定制 异步传输协议[9] 。在此使用的通信方式是一主多从, 主 机主动发送针对不同从机设备号的数据帧, 从机接收总 线上的所有数据帧, 根据帧内容中的设备号与自身设备 号匹配, 辨别为本设备的数据, 则从机也根据通信协议 进行数据回复[ 10] 。数据通信协议如表 1 所示。

\

 
  通信协议数据双重检验设计, 数据 DATA 为烧录文 件 Hex 的部分内容, 每次传送的 DATA 可以包含 Hex 文 件的若干行, 而每行的结束字节则是该行的校验累加和。 Dn 为 N行内容加 1 个字节, 如 XC8 编译出来的每行数据 为 16 字节, 若一帧数据传送 2 行内容, 则 Dn 的值为 33 字节 。DATA 的最后一个字节为前两行数据的异或和 。

  3 .3 Boot 程序设计

  Boot 程序基本要实现的功能点: 通信协议模块实现 数据接收与发送; Flash 操作模块对 App 区域进行删除、 写入与读取; EEPROM 操作模块进行相关数据的写入与 读取; 复位操作是对芯片进行软件复位; 跳转操作实现 程序跳转到 App 起始位置; 中断向量重映射是为了 App程序能正常使用中断。

  本设计采用的是无 App 备份区, 在线升级过程中, App 程序数据输入前需要先删除现有程 。 因此, 对 Boot 程序的可靠性要求非常高, 在芯片复位后除进行运行引 导, 还要对 App 正确定性校验, 确保跳转后的 App 程序 运行正常 。Boot 程序详细流程如图 4 所示。

\

 
  芯片每次复位后首先进入的是 Boot 引导程序, 先对 Boot 程序相应的 MCU 功能进行初始化配置, 接着读取 EEPROM 中的运行模式标志, 判断当前该运行的模式 。 若是 Boot 模式则进入相应的功能处理, 进行对应的通信 处理, 根据主机发送的数据内容完成删除 、写入 、检验 等操作 。若是 App 模式时, 还需要进一步计算储存在 App 区域中的程序内容, 计算出校验结果再与保存在 EE⁃ PROM 中 App 的校验值比较, 相同则安全跳转进入 App 运行, 否则, 为保护外呼设备功能不失效, 强制停留在 Boot 中运行, 继续等待主机升级程序操作。

  通信处理 、Flash 及 EEPROM 操作都较为常用, 下面 介绍 PIC18 的复位 、跳转与中断向量重映射的代码实现。 芯片软件复位: PIC18 C 语言实现软件复位, 可以在使 用汇编指令 asm ( "RESET" )实现 。程序执行跳转: 先用宏 定 义 跳 转 到 App 的 Flash 地 址, #define APP_ADD_ START 0x2000. 再 用 汇 编 指 令 实 现 跳 转, #asm call APP_ADD_START #endasm 。 中断向量映射: 中断向量 固定在地址 0008h 和 0018h 。而 App 起始地址在 0x2000. 为使 App 程序中的中断服务函数能执行, 必须做中断入 口增加相应的跳转 。具体实现代码如下:

  #asm

  psect intcode

  goto APP_ADD_START+0x08 /* 低中断的重新定 义 */

  psect intcodelo

  goto APP_ADD_START+0x 18 /* 高中断的重新定 义 */

  #endasm

  3 .4 App 程序设计

  App 应 用 程 序 与 在 线 升级相关的功能主要是实现在线唤醒进入 Boot, 流程如图 5所 示 。 当 进 入 Boot 跳 转 到App 程序后, 在 App 功能执行过程中, 会实时判断通信命令是否进入 Boot, 收到进入命令 。这里的进入命令也需要严谨设计, 避免设备正常运行过程中受到未知干扰而偶发进入, 影响设备 。文中使用最简单可靠的方式: 连续多次握手协议接收正确则进入, 进入后对 EEPROM 运行标志修改, 再通过执行 代码软件复位, 从而实现芯片复位进入 Boot 程序 。App 程序关键的设计点是程序的 ROM 代码偏移 。Boot 程序 占用了 Flash 地址的前面部分, App 程序则需要做相应 的偏移配置 。配置方法: 在 MPLAB X IDE 下打开项目 属 性 配 置, 点 击 XC8 Linker 配 置 项, 对 Additional op⁃ tions 菜单下 Codeoffset 设置相应的偏移值, 文中设置为0x2000.

\

 
  3 .5 Hex 文件的整合

  PIC18 单片机不能进行多次指定储存位置的烧写, 而设备生产出厂时需要集成 App 与 Boot 两个独立的代码 工程的相应功能 。它们虽然都各自生成对应的 Hex 文件, 而内容也是指向不同的地址, 但芯片用烧录工具烧录时, 工具只能执行一次全删除与全写入, 操作两次的写入不 同的 Hex 文件, 前一次写入的内容会被后一次写入的内 容替换[4]。

  XC8 编译器生成的 Hex 文件有 3 部分内容, 第 1 部分 是程序数据内容段, 第 2 、3 部分是 EEPROM 与芯片配置 段内容 。 因此, 只需要把 App 与 Boot 两个 Hex 文件中的 程序数据内容段的内容合并即可, 简单的处理方式是把 App 对应的内容复制到 Boot 对应的程序数据段中 。Hex 文件合并如图 6 所示 。鉴于第 2 、3 部分内容会合并, 首 先要求 App 与 Boot 两个工程下的芯片配置使用一致, 则 生成的数据都相同; 其次是在代码空间允许下, 对 EE⁃ PROM 相关位置的初始赋值使用代码中赋值。

\

 
  3 .6 功能测试

  文中的功能测试通过 PDA 操作升级的方法进行, 以 16 层站的电梯进行升级测试, 通过 PDA 操作 “全部升 级”。只需在 PDA 上选“全部升级”, 电梯则进入外呼设 备升级程序状态, 接算电梯控制板对外呼设备一个个进 行升级 。一个设备的升级过程: 先进 Boot 模式, 删除 App 的 Flash 区域, 写入 App 程序, 读回 App 校验, 最后 返回 App 模式。

  本文在 2 种环境下进行了测试, 如图 7 所示 。 由图可知, 在电梯正常使用下, 经过大量的升级测试, 1~ 16 层 的外呼设备都能正常完成升级 。而在电梯 RS485 串行总 线中, 在耦合 ±2.0 kV 的高频电噪声下进行升级测试, 发 现有 0.2% 的概率出现升级失败 。经分析, 原因是电噪声 干扰通信波形, 导致通信数据校验出错, 较多通信帧出错需要重发, 造成单层升级时间超过预设定值 。解决方 法: 可通过延长超时等待多次重发来完成升级, 也可以等 待其他楼层升级完成, 再对失败楼层进行复盘升级。

\

 
  以上功能测试验证了文中设计有较强的抗扰能力, 适应于电梯的不同工况, 外呼设备在线升级操作便捷、 有效。

  4 结束语

  本文基于 PIC18 芯片平台研究电梯外呼设备在线升 级方法 。该方法通过利用电梯现有的串行通信作为数据 交互, 在资源缺乏的 MCU上重点设计 Boot 的升级校验功 能以及相应的通信协议, 通过把整合的 Hex 烧录在电梯外 呼设备中, 使电梯外呼设备在使用现场中能具有后台远程 或现场的在线式升级程序功能。经过大量的试验测试, 该 款电梯外呼设备在线升级成功率满足预期, 该设计能有效 解决当前外呼设备的程序升级困难。利用该方法可以结合 现场电梯维保人员的 PDA 操作, 进一步简化工程现场相 关的作业流程, 有效降低外呼设备升级与维护投入本成。

  该设计方法也可应用到其他芯片平台的电梯通信设 备中, 通过采用不同的协议帧头与设备号, 可以实现电 梯一体化的设备升级操作, 进一步提升与优化电梯的自 动化与智能化设计。

  参考文献:

  [ 1] 姜晓道,赵紫君 . 基于 IAP 的通用嵌入式系统在线升级功能设 计[J]. 电子制作,2022.30(6):20-23.

  [2] 宋益东 . 基于 CAN 总线的矿用传感器远程在线升级功能设计 [J]. 煤矿安全,2020.51(8): 120- 123.

  [3] 赵天义, 陈星, 高熊 . 基于 UDS 的控制器在线升级系统设计[J]. 机电工程技术,2022.51(2):74-77.

  [4] 李荣正,王诚杰,戴国银 . PIC 单片机原理及应用[M]. 北京:北京 航空航天大学出版社,2010.

  [5] Microchip 应用说明 AN851:A FLASH Bootloader for PIC16 and PIC18 Devices[Z].2011.

  [6] 温暖,杨维明, 彭菊红,等 . 基于 MCU 的嵌入式系统的Bootload ⁃ er 设计[J]. 微电子学与计算机,2018.35(3):79-82.

  [7] 李永科 . 核电厂电气柜的 PIC 单片机远程程序升级[J]. 设备管 理与维修,2017(5):31-33.

  [8] 徐立国,李德建, 于宝东,等 . 一种支持在线升级的 NOR Flash 控 制器设计[J]. 电子技术应用,2019.45( 10):50-57.

  [9] 赵磊,穆蔚伟,杜石雷 . 基于双 RS-485 总线的多从机高效通讯 协议的设计与实现[J]. 软件,2021.42(2):61-63.

  [ 10] 陈航,严帅,刘胜,等 . 基于 RS485 总线的分布式高精度数据采 集系统[J]. 仪表技术与传感器,2021(2):71-74.
 
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!

文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/ligonglunwen/63854.html

相关内容

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml