0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于89LPC932处理器在远程RS485通信网络中的应用研究

电子设计 来源:单片机与嵌入式系统应用 作者:王晓宁,史俊富 2021-06-23 14:13 次阅读

早期单片机应用软件开发完成以后,是通过相应的编程器将程序烧写入单片机的ROM或EPROM里,这样每一次擦写程序都需要将芯片从电路板上拆卸下来,不利于研制开发,对于日后的产品软件升级也非常不方便。随着新一代单片机的出现,具有ISP功能的芯片得到越来越多嵌入式系统开发工程师的青睐,ISP功能的使用方法也越来越多,飞利浦公司的89LPC932是一款较早推出的高性能处理器。

ISP(In-System Programming,在系统编程)是指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。

用反汇编软件将89LPC932中Boot ROM源代码(机器码)反汇编为ASM文件,分析其数据处理与通信控制,就能明白ISP功能实现的具体方法,并修改使其能够为我们所用,在远程RS485通信网络中实现ISP功能,从而在某些特定环境下依然能够稳定工作。

1 对Boot ROM中部分代码的分析

在这里只针对通信部分进行简要阐述。

1.1 自动波特率的确定与校验

上位机按照自身的波特率,向下位机发送一个大写的英文字符“U”,ASClI码为55H,二进制为“01010101B”,也就是一组“O”,“1”相间的数据。下位机收到数据,计算出1位数据的传输时间(2个“1”之间的时间间隔),则所对应的通信波特率就可以计算出来,下面是汇编语言程序:

poYBAGDS0Y6AfQBjAACzH5AeMTU012.png

pYYBAGDS0YiADgFyAADrLszyEck710.png

EXECHO.

RET ;返回

计算出波特率后,调整串口,再收发一个字节,将得到的数与U的ASCII码相对比。如果相等,程序继续执行;如果不相等,程序循环等待。从这里可以看出,为保证通信成功,上位机至少要向下位机发送2个“U”。

1.2 通信报的内容

通信建立后,就可以接收各种命令,并进行校验和的比较,判断本次通信是否成功以及回传相应的数据。汇编语言程序如下:

poYBAGDS0YGAN-kWAAF4Ob20gqw553.png

在系统稳定、工作状态正常时,Boot ROM中ISP程序接收、发送的数据主要就是这些,其他异常处理部分不再赘述。

2 远程通信网络的使用问题

当在远程RS485通信网络中(上位机与下位机一对一情况下)想使用89LPC932的ISP功能时,发现直接使用应用软件“Philips ISP下载器”会提示串口通信失败。利用“串口调试器SSCOM”调试发现,单字节通信正常,多字节通信不正常,分析程序发现问题出现在通信转换模式上。89LPC932的Boot ROM中,ISP程序使用RS232标准工作,是全双工工作模式;而通信网络中使用RS485标准工作,为半双工工作模式,两者混用当然会出现问题。

知道问题所在,程序修改起来就方便多了。首先,对于上位机发来的指令,不再采用收1个字节回传1个字节的方法,而是先将控制命令全部接收下来,再分析处理。然后,把所需数据发送出去,将整个工作过程转为半双工形式,修改后的通信报PROCESS部分程序如下:

poYBAGDS0XuACm2gAAEwOtQuszM636.png

需要注意的是:在子程序ECHO中,回传1个字节那一步要取消掉,这是改为半双工的关键。另外,这里所谈到的只是针对点对点通信,如果网络中有多个下位机共存,那么上位机在发送命令时,需要注意所指定下位机的软、硬地址问题。

3 结论

通过实验证明,该方法简单有效,能够在原有Boot ROM ISP程序基础上将其成功地移植到远程RS485通信网络中。全双工工作模式改为半双工工作模式,操作简单,能够保证通信正常,并能完全利用原有的多种ISP下载器,减少了开发成本,这为飞利浦89LPC932Flash单片机的应用提供了一个新颖的使用方法。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19096

    浏览量

    228792
  • 单片机
    +关注

    关注

    6030

    文章

    44489

    浏览量

    631883
  • 通信网络
    +关注

    关注

    21

    文章

    2022

    浏览量

    51921
收藏 人收藏

    评论

    相关推荐

    RS-485通信网络如何保护

    保护RS-485通信网络不受有害
    发表于 07-09 17:01

    RS485通信原理是什么?RS485应用存在哪些问题?

    RS485特点是什么?RS485通信原理是什么?RS485应用存在哪些问题?
    发表于 05-20 06:06

    远程通信中如何去实现89LPC932的ISP功能?

    远程通信中如何去实现89LPC932的ISP功能?
    发表于 06-02 06:38

    回收西门子cp5612a2处理器 西门子rs485连接 西门子通讯卡cp5613

    回收,西门子dp通信线,,联系方式 ***西门子通讯卡cp5612西门子通信处理器cp5614西门子cp5612a2处理器西门子rs485连接
    发表于 06-14 10:58

    基于FPGA的RS485通信接口设计

    介绍RS485是一个定义平衡数字多点系统的驱动和接收的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。使用该标准的数字通信网络
    发表于 07-26 06:21

    RS485通信协议

    RS485通信协议 、RS485 通信协议1.概述C320 系列变频提供标准RS485
    发表于 04-07 17:26 89次下载

    RS485通信经典电路

    RS485通信经典电路 采用
    发表于 10-20 08:23 6302次阅读
    <b class='flag-5'>RS485</b><b class='flag-5'>通信</b>经典电路

    基于ARM9与LINUX的RS485总线的通信接口设计

    ARM9处理器S3C2440上设计RS485通信接口,实现与总线上其他设备的通信,利用ARM9处理器
    发表于 12-07 09:28 1.1w次阅读
    基于ARM9与LINUX的<b class='flag-5'>RS485</b>总线的<b class='flag-5'>通信</b>接口设计

    基于RS485总线设计的多处理器RS485通信网络

    的运行状况;BPCU 与 RPDU 及发电机控制 GCU(GeneratorControl Unit)之间通过 RS485 总线及其它通信总线 (如CAN 总线或 429 总线等)进行通信
    发表于 06-13 15:15 3868次阅读
    基于<b class='flag-5'>RS485</b>总线设计的多<b class='flag-5'>处理器</b><b class='flag-5'>RS485</b><b class='flag-5'>通信网络</b>

    远程RS485通信网络实现ISP功能

    用反汇编软件将89LPC932Boot ROM源代码(机器码)反汇编为ASM文件,分析其数据处理通信控制,就能明白ISP功能实现的具体方法,并修改使其能够为我们所用,
    发表于 03-15 16:50 2846次阅读
    <b class='flag-5'>远程</b><b class='flag-5'>RS485</b><b class='flag-5'>通信网络</b><b class='flag-5'>中</b>实现ISP功能

    rs485通信网络技术分析及485集线的应用

    rs485网络rs485/MODBUS是现在流行的一种布网方式,其特点是实施简单方便 ,而且现在支持rs485的仪表又特多,特别是油品行
    的头像 发表于 09-07 09:08 6834次阅读

    如何保护RS-485通信网络不受EMC的影响

    保护RS-485通信网络不受有害EMC事件影响
    的头像 发表于 07-29 06:13 2755次阅读

    如何保护RS485通信网络不受影响

    ADI在线研讨会:保护RS485通信网络不受有害EMC事件影响
    的头像 发表于 06-14 06:15 4205次阅读
    如何保护<b class='flag-5'>RS485</b><b class='flag-5'>通信网络</b>不受影响

    RS485工业通信网关的原理是什么?

    工业自动化、楼宇自控、能源监控等领域得到了广泛应用。本文将详细介绍RS485工业通信网关的原理及其工作流程,以期为读者提供深入的理解。 二、RS485
    的头像 发表于 05-27 17:32 400次阅读

    如何提高RS485通信的可靠性?

    现代工业自动化和智能化的发展进程RS485通信作为一种常用的串行通信标准,因其具有传输距离远、支持多点
    的头像 发表于 09-20 08:07 219次阅读
    如何提高<b class='flag-5'>RS485</b><b class='flag-5'>通信</b>的可靠性?