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

    文章

    18275

    浏览量

    222140
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620821
  • 通信网络
    +关注

    关注

    20

    文章

    1992

    浏览量

    51549
收藏 人收藏

    评论

    相关推荐

    RS485通信网络的EMC解决方案

    可以看出,RS-485收发必须能在极端恶劣的环境下工作,必须能耐受这些瞬变,提供稳健的通信网络。IEC61000瞬变抗扰度标准工业网络必须能在恶劣环境
    发表于 06-20 05:00

    RS485简介

    屏蔽双绞线传输。这种接线方式为总线式拓扑结构同一总线上最多可以挂接32个结点。RS485通信网络中一般采用的是主从通信方式,即一个主机带
    发表于 06-21 05:00

    RS-485通信网络如何保护

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

    CAN-485G远程驱动怎么样?

      由西门子S7-200PLC组成的RS485通信网络其最大通信距离为500米,可挂接32个节点,距离超过500米时需RS485总线上加装
    发表于 09-26 08:18

    不能用RS485通信方式通信

    RS422通信方式都能正常通信使用串口调试助手智能RS422方式通信,不能RS485
    发表于 10-11 06:31

    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通信硬件实现

    阅读目录1、RS485简介 2、RS485特性3、RS485通信硬件实现4、RS485通信软件实
    发表于 08-19 08:20

    RS485通信与Modbus协议的特点

    RS485通信与Modbus协议 附源码及视频教程下载RS485通信的特点1、采用差分信号。2、RS485
    发表于 11-30 07:05

    基于ucosii实时操作系统的RS485通信

    使用系统:UCOSII三、RS485部分原理RS-485通讯网络,节点中的串口控制器使用RX与TX信号线连接到收发
    发表于 02-18 07:35

    RS485电路的设计资料分享

    RS-232,RS-485标准的通信系统抗干扰能力较强,可实现长距离数据传输,同时支持多个收发连接到同一个通信网络
    发表于 02-28 07:02

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

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

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

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