CN110704341A - 一种串口单线升级代码的装置及其方法 - Google Patents

一种串口单线升级代码的装置及其方法 Download PDF

Info

Publication number
CN110704341A
CN110704341A CN201910845497.XA CN201910845497A CN110704341A CN 110704341 A CN110704341 A CN 110704341A CN 201910845497 A CN201910845497 A CN 201910845497A CN 110704341 A CN110704341 A CN 110704341A
Authority
CN
China
Prior art keywords
slave
master
receives
data
wire
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910845497.XA
Other languages
English (en)
Inventor
李应浪
江华彬
黄立伟
洪灏
施奕洲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Core Semiconductor Co Ltd
Original Assignee
Zhuhai Core Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Core Semiconductor Co Ltd filed Critical Zhuhai Core Semiconductor Co Ltd
Priority to CN201910845497.XA priority Critical patent/CN110704341A/zh
Publication of CN110704341A publication Critical patent/CN110704341A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明涉及软件的技术领域,提供一种串口单线升级代码的装置及其方法,包括主机、从机以及单根信号线,主机和从机之间电性连接单根信号线、VCC电源线和GND接地线,主机利用软件握手通过单根信号线向从机发送请求通信命令,从机通过单根信号线向主机应答,主机与从机之间还通过单根信号线进行数据的发送和接收,通过单根信号线能够实现数据收发、以及软件握手的通信全过程,本发明减少产品预留IAP升级的线路、装配难度和成本,对产品IAP升级改进具有重要经济意义。

Description

一种串口单线升级代码的装置及其方法
〖技术领域〗
本发明涉及软件的技术领域,尤其涉及一种串口单线升级代码的装置及其方法。
〖背景技术〗
在计算机行业中,有一种常见的代码升级方法就是IAP,即In ApplicationProgramming,也就是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发卖后可以方便通过预留的通信口对产品中的固件程序进行更新升级。IAP升级通信介质和方式多样,用户可以根据自己的需要决定不同的通信方式;比如在支持SD卡的方案做可以用SD卡升级,同理可以通过UART、SWD、SPI、USB等有线方式或者是Bluetooth、WIFI等无线方式进行升级。
IAP升级原理:代码存储介质可以同时存放两份代码,每份代码都包含了普通用户代码和升级处理的代码,当其中一份在运行时识别到升级时运行升级处理代码将要升级的代码写入空地址,成功后擦除原来的代码,下次上电执行升级后的代码。
在如今几乎每个芯片都配备有标准串口的情况下,串口升级更是深得人心被广泛使用。目前串口双工通信中最少需要两根传输线来完成数据通信中的发送和接收。
目前,UART半双工实现串口单线升级代码的方法或装置,能够通过软件握手实现半双工工作模式。软件握手不需要额外的握手信号线,使用ASCII控制字符XON/XOFF来实现数据流控制,数据收发使用了TX和RX两根单向传输的信号线,其中,TX信号线表示发送信号线,RX信号线表示接收信号线。通常XON/XOFF由接收方发送给发送方,以控制发送方发送允许控制,当接收方缓冲区快满时,接收方会发送XOFF告知发送方停止发送数据,等到接收方缓冲区释放后,接收方会发送XON告知发送方继续发送。软件握手信号属于一种带内信令,由此可知,UART半双工软件握手工作的方法或装置仍然需要数据通信的两根信号线,实际应用中占用了芯片中至少两个外接端口,配合VCC电源线和GND地线来实现数据收发的通信过程,总共需要四个外接端口,浪费了芯片的外接端口资源。
〖发明内容〗
本发明提供一种串口单线升级代码的装置及其方法,旨在减少产品预留IAP升级的线路、装配难度和成本,本发明由以下技术方案实现:
本发明的第一个方面,提供一种串口单线升级代码的装置,包括主机、从机以及单根信号线,所述主机和从机之间电性连接所述单根信号线、VCC电源线和GND接地线,所述主机利用软件握手通过所述单根信号线向所述从机发送请求通信命令,所述从机通过单根信号线向主机应答,所述主机与所述从机之间还通过所述单根信号线进行数据的发送和接收。
优选的,所述主机和所述从机均为总线上拉。
优选的,所述主机和所述从机的初始状态设置为接收状态,所述主机随时发送请求通信命令给所述从机,所述主机发送完请求通信命令后转换为接收状态,等待所述从机应答,所述从机收到请求通信命令后转换为向所述主机发送应答,所述从机发送应答完成后转换为数据接收状态;所述主机发送的数据访问命令如果为写数据,则所述主机继续发送数据给所述从机,所述主机发送的数据访问命令如果为读数据,则所述从机接着发送数据给所述主机。
优选的,所述主机或者所述从机的空闲状态为接收状态,所述主机或者所述从机在发送状态完成后切换回空闲状态,协议命令明确定义数据的收发方向,如果出现通信错误,所述主机重试请求通信命令让所述主机和所述从机恢复到空闲状态。
本发明的第二个方面,提供一种串口单线升级代码的方法,基于上述的串口单线升级代码的装置;所述方法包括:
步骤S100:所述主机主动利用软件握手向所述从机发送请求通信命令,如果所述主机收到所述从机的肯定应答,所述主机和所述从机握手通信;如果所述从机超时未响应,所述主机将进行超时处理,直到所述主机收到所述从机的肯定应答为止;
步骤S200:所述主机主动利用软件握手向所述从机发送数据访问命令,如果所述主机收到所述从机的肯定应答,所述主机和所述从机准备数据通信;如果所述从机超时未响应,所述主机将进行超时处理,直到所述主机收到所述从机的肯定应答为止;
步骤S300:所述主机主动利用软件握手向所述从机发送数据通信命令,如果所述主机收到所述从机的肯定应答,所述主机和所述从机数据通信完成;如果所述从机超时未响应,所述主机将进行超时处理,直到所述主机收到所述从机的肯定应答为止;
步骤S400:所述主机如果收到所述从机的应答并与所述从机完成一包数据通信之后,所述主机和所述从机之间接着进行下一包数据的处理。
优选的,还包括步骤S110:所述主机主动利用软件握手向所述从机发送请求通信命令,如果所述主机收到所述从机的否定应答,所述主机将进行重试,直到所述主机收到所述从机的肯定应答为止。
优选的,还包括步骤S210:所述主机主动利用软件握手向所述从机发送数据访问命令,如果所述主机收到所述从机的否定应答,所述主机将进行重试,直到所述主机收到所述从机的肯定应答为止。
优选的,还包括步骤S310:所述主机主动利用软件握手向所述从机发送数据通信命令,如果所述主机收到所述从机的否定应答,所述主机将进行重新处理上一包数据,直到所述主机主动利用软件握手向所述从机发送数据通信命令时,所述主机收到所述从机的肯定应答为止。
本发明的有益效果是:
与现有技术相比,本发明通过单根信号线、配合VCC电源线和GND地线能够实现数据收发、以及软件握手的通信全过程,只需要三个外接端口,节省芯片的外接端口资源,为通信装置节省了一个针脚,降低串口通信方案的成本;在应用方案开发中,产品在预留IAP接口的时候,不管是从成本还是装配难度、以及后期维护方面的目标是外接端口越少越好。本发明减少产品预留IAP升级的线路、装配难度和成本,对产品IAP升级改进具有重要经济意义。
〖附图说明〗
图1是本发明的装置实施例的结构示意图;
图2是本发明的软件握手以及通信方法的实施例示意图;
图3是本发明通信异常、从机无响应的超时处理的实施例示意图;
图4是本发明在软件开发过程中的通信步骤的实施例示意图;
以下结合附图对本发明的具体实施方式作进一步详细地说明。
〖具体实施方式〗
本发明的较佳实施例如图1-图4所示,附图的作用在于用图形补充说明书文字部分的描述,便于理解本发明的各个技术特征以及整体的技术方案,但不能理解为对本发明的限制。未进行特别解释的技术词语,可视为现有技术的广义含义。附图中的ACK符号表示肯定应答、NACK符号表示否定应答、NO符号表示超时未响应。未做详细说明的技术用语为广义的现有技术用语。
如图1-图4所示,一种串口单线升级代码的装置的实施例,包括主机10、从机20以及单根信号线30,主机10与从机20之间电性连接有单根信号线30、VCC电源线和GND接地线,其电性连接方式可以是:焊接、RSR232接口连接方式或者RSR485接口的连接方式等,主机10和从机20均为总线上拉,使得主机10和从机20得到一个电压稳定的工作环境,主机10和从机20之间电性连接单根信号线30,主机10能利用软件握手通过单根信号线30向从机20发送请求通信命令,软件握手信号属于一种带内信令,从机20能够通过单根信号线30向主机10应答,主机10与从机20之间还通过单根信号线30进行数据的发送和接收。在硬件方面,本发明只需单根信号线30,用于主机10和从机20之间的通信,包括主机10向从机20发出的请求通信命令、读数据命令、写数据命令和数据,也包括从机20向主机10发出的应答和数据,因此,该单根信号线30能够完成双向的数据传输,与现有的单向传输的一根TX信号线和一根RX信号线相比,节省了一个外接端口,在实际应用中节省了芯片的一个引脚,其中,TX信号线表示发送信号线,RX信号线表示接收信号线。省出来的端口位置可以在技术方案的开发中增设其他必要的功能,例如串口调试,或者调频器,或者指示灯,或者用于升级改进而增设的温敏电阻,或者用于外设的I2C总线或者SPI总线的通信方式等,具有很高的开发价值。现有技术中,主机10和从机20之间的通信分别通过一根TX信号线和一根RX信号线,其中TX信号线通信时RX信号线处于非通信状态,RX信号线通信时TX信号线处于非通信状态,两者的非通信状态的时间长度大于通信状态的时间长度,造成资源的浪费,而本发明利用软件握手,使得主机10和从机20之间的通信过程通过单根信号线30完成,其通信的时间仍然余裕,因而并不影响整体的通信时间。其中的请求通信命令是通过软件握手实现的,也可以说是通过握手命令实现的。
其中,主机10和从机20的初始状态设置为接收状态,主机10随时发送请求通信命令给从机20,主机10发送完请求通信命令后转换为接收状态,等待从机20应答,从机20收到请求通信命令后转换为向主机10发送应答,从机20发送应答完成后转换为数据接收状态;主机10发送的数据访问命令如果为写数据,则主机10继续发送数据给从机20,主机10发送的数据访问命令如果为读数据,则从机20接着发送数据给主机10。使得主机10和从机20有序地切换发送命令和应答。其中的数据访问命令是通过软件握手实现的,也可以说是属于握手命令中的一种。
优选的,主机10或者从机20的空闲状态为接收状态,主机10或者从机20在发送状态完成后切换回空闲状态,协议命令明确定义数据的收发方向,如果出现通信错误,主机10重试请求通信命令让主机10和从机20恢复到空闲状态。通过自主协议,厘清了主机10和从机20的各种状态,使得各种通信内容能够顺利地通过单根信号线30。这个协议命令指的是自定义的协议,通过协议命令明确读数据和写数据的方向。
本实施例还提供一种串口单线升级代码的方法,所述方法包括:
步骤S100:所述主机10主动利用软件握手向所述从机20发送请求通信命令,如果所述主机10收到所述从机20的肯定应答,所述主机10和所述从机20握手通信;如果所述从机20超时未响应,所述主机10将进行超时处理,直到所述主机10收到所述从机20的肯定应答为止;
步骤S200:所述主机10主动利用软件握手向所述从机20发送数据访问命令,如果所述主机10收到所述从机20的肯定应答,所述主机10和所述从机20准备数据通信;如果所述从机20超时未响应,所述主机10将进行超时处理,直到所述主机10收到所述从机20的肯定应答为止;
步骤S300:所述主机10主动利用软件握手向所述从机20发送数据通信命令,如果所述主机10收到所述从机20的肯定应答,所述主机10和所述从机20数据通信完成;如果所述从机20超时未响应,所述主机10将进行超时处理,直到所述主机10收到所述从机20的肯定应答为止;
步骤S400:所述主机10如果收到所述从机20的应答并与所述从机20完成一包数据通信之后,所述主机10和所述从机20之间接着进行下一包数据的处理。
优选的,还包括步骤S110:所述主机10主动利用软件握手向所述从机20发送请求通信命令,如果所述主机10收到所述从机20的否定应答,所述主机10将进行重试,直到所述主机10收到所述从机20的肯定应答为止。
优选的,还包括步骤S210:所述主机10主动利用软件握手向所述从机20发送数据访问命令,如果所述主机10收到所述从机20的否定应答,所述主机10将进行重试,直到所述主机10收到所述从机20的肯定应答为止。
优选的,还包括步骤S310:所述主机10主动利用软件握手向所述从机20发送数据通信命令,如果所述主机10收到所述从机20的否定应答,所述主机10将进行重新处理上一包数据,直到所述主机10主动利用软件握手向所述从机20发送数据通信命令时,所述主机10收到所述从机20的肯定应答为止。
本发明实现串口单线升级代码的方法和装置,减少产品预留IAP升级的线路、装配难度和成本,对产品IAP升级改进具有重要经济意义。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,因此,如果对本发明的这些改变和变型属于本发明权利要求及其等同技术范围之内,均应涵盖于本发明的保护范围内。

Claims (8)

1.一种串口单线升级代码的装置,其特征在于,包括主机、从机以及单根信号线,所述主机和从机之间电性连接所述单根信号线、VCC电源线和GND接地线,所述主机利用软件握手通过所述单根信号线向所述从机发送请求通信命令,所述从机通过单根信号线向主机应答,所述主机与所述从机之间还通过所述单根信号线进行数据的发送和接收。
2.根据权利要求1所述的串口单线升级代码的装置,其特征在于,所述主机和所述从机均为总线上拉。
3.根据权利要求1至2任意一项所述的串口单线升级代码的装置,其特征在于,所述主机和所述从机的初始状态设置为接收状态,所述主机随时发送请求通信命令给所述从机,所述主机发送完请求通信命令后转换为接收状态,等待所述从机应答,所述从机收到请求通信命令后转换为向所述主机发送应答,所述从机发送应答完成后转换为数据接收状态;所述主机发送的数据访问命令如果为写数据,则所述主机继续发送数据给所述从机,所述主机发送的数据访问命令如果为读数据,则所述从机接着发送数据给所述主机。
4.根据权利要求3所述的串口单线升级代码的装置,其特征在于,所述主机或者所述从机的空闲状态为接收状态,所述主机或者所述从机在发送状态完成后切换回空闲状态,协议命令明确定义数据的收发方向,如果出现通信错误,所述主机重试请求通信命令让所述主机和所述从机恢复到空闲状态。
5.一种串口单线升级代码的方法,基于权利要求1-4中任意一项所述串口单线升级代码的装置;其特征在于,所述方法包括:
步骤S100:所述主机主动利用软件握手向所述从机发送请求通信命令,如果所述主机收到所述从机的肯定应答,所述主机和所述从机握手通信;如果所述从机超时未响应,所述主机将进行超时处理,直到所述主机收到所述从机的肯定应答为止;
步骤S200:所述主机主动利用软件握手向所述从机发送数据访问命令,如果所述主机收到所述从机的肯定应答,所述主机和所述从机准备数据通信;如果所述从机超时未响应,所述主机将进行超时处理,直到所述主机收到所述从机的肯定应答为止;
步骤S300:所述主机主动利用软件握手向所述从机发送数据通信命令,如果所述主机收到所述从机的肯定应答,所述主机和所述从机数据通信完成;如果所述从机超时未响应,所述主机将进行超时处理,直到所述主机收到所述从机的肯定应答为止;
步骤S400:所述主机如果收到所述从机的应答并与所述从机完成一包数据通信之后,所述主机和所述从机之间接着进行下一包数据的处理。
6.根据权利要求5所述的串口单线升级代码的方法,其特征在于,还包括步骤S110:所述主机主动利用软件握手向所述从机发送请求通信命令,如果所述主机收到所述从机的否定应答,所述主机将进行重试,直到所述主机收到所述从机的肯定应答为止。
7.根据权利要求5所述的串口单线升级代码的方法,其特征在于,还包括步骤S210:所述主机主动利用软件握手向所述从机发送数据访问命令,如果所述主机收到所述从机的否定应答,所述主机将进行重试,直到所述主机收到所述从机的肯定应答为止。
8.根据权利要求5-7任意一项所述的串口单线升级代码的方法,其特征在于,还包括步骤S310:所述主机主动利用软件握手向所述从机发送数据通信命令,如果所述主机收到所述从机的否定应答,所述主机将进行重新处理上一包数据,直到所述主机主动利用软件握手向所述从机发送数据通信命令时,所述主机收到所述从机的肯定应答为止。
CN201910845497.XA 2019-09-06 2019-09-06 一种串口单线升级代码的装置及其方法 Pending CN110704341A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910845497.XA CN110704341A (zh) 2019-09-06 2019-09-06 一种串口单线升级代码的装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910845497.XA CN110704341A (zh) 2019-09-06 2019-09-06 一种串口单线升级代码的装置及其方法

Publications (1)

Publication Number Publication Date
CN110704341A true CN110704341A (zh) 2020-01-17

Family

ID=69195070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910845497.XA Pending CN110704341A (zh) 2019-09-06 2019-09-06 一种串口单线升级代码的装置及其方法

Country Status (1)

Country Link
CN (1) CN110704341A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579509A (zh) * 2020-12-14 2021-03-30 珠海格力电器股份有限公司 单线通讯方法、装置、电子设备及可读存储介质
CN112948308A (zh) * 2021-02-05 2021-06-11 杭州微纳科技股份有限公司 一种异步单线通信接口电路
CN114817097A (zh) * 2022-05-09 2022-07-29 深圳市科创奇科技有限公司 一种单线通讯方法、系统、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013371A (zh) * 2006-11-21 2007-08-08 四川长虹电器股份有限公司 嵌入式系统程序升级方法
CN101383918A (zh) * 2008-06-27 2009-03-11 青岛海信电器股份有限公司 1+1电视系统及其通信方法
CN201974798U (zh) * 2010-09-30 2011-09-14 中山市骏德(电子)数码科技有限公司 一种电视机离线升级工具

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013371A (zh) * 2006-11-21 2007-08-08 四川长虹电器股份有限公司 嵌入式系统程序升级方法
CN101383918A (zh) * 2008-06-27 2009-03-11 青岛海信电器股份有限公司 1+1电视系统及其通信方法
CN201974798U (zh) * 2010-09-30 2011-09-14 中山市骏德(电子)数码科技有限公司 一种电视机离线升级工具

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579509A (zh) * 2020-12-14 2021-03-30 珠海格力电器股份有限公司 单线通讯方法、装置、电子设备及可读存储介质
CN112579509B (zh) * 2020-12-14 2024-07-23 珠海格力电器股份有限公司 单线通讯方法、装置、电子设备及可读存储介质
CN112948308A (zh) * 2021-02-05 2021-06-11 杭州微纳科技股份有限公司 一种异步单线通信接口电路
CN114817097A (zh) * 2022-05-09 2022-07-29 深圳市科创奇科技有限公司 一种单线通讯方法、系统、装置及存储介质

Similar Documents

Publication Publication Date Title
US6389495B1 (en) Dedicated circuit and method for enumerating and operating a peripheral device on a universal serial bus
CN111953387B (zh) 近场通信和无线功率
US8037229B2 (en) Combination non-volatile memory and input-output card with direct memory access
US7761627B2 (en) Wireless USB hub
US5537558A (en) Apparatus and method for communicating multiple devices through one PCMCIA interface
US7660938B1 (en) Flash card reader and data exchanger utilizing low power extended USB protocol without polling
CN110704341A (zh) 一种串口单线升级代码的装置及其方法
KR101068380B1 (ko) 다기능 주변 장치, 대응 방법 및 단일 인터페이스를 통해 통신하는 주변 장치와 호스트를 갖는 전자 시스템
US20090013103A1 (en) Data sharing and transfer systems and methods
US20040022204A1 (en) Full duplex/half duplex serial data bus adapter
EP1695269A1 (en) Multi-module circuit card with inter-module direct memory access
EP2704021B1 (en) SRAM handshake
EP1496436A2 (en) Method and apparatus for autoreset of a usb smart card device in a mute mode
CN213069787U (zh) 记忆卡的读写控制系统
EP1516261B1 (en) Bus system, station for use in a bus system, and bus interface
CN112346665B (zh) 基于pcie的通信方法、装置、设备、系统及存储介质
US20100049877A1 (en) Peripheral equipment operating method, peripheral equipment and host
US7850082B1 (en) Extended universal serial bus (USB) card reader
CN213182727U (zh) 记忆卡的读写控制系统
US20210303051A1 (en) System and method for implementing low-power, low code-size power-delivery communication protocol on single and multiple usb-c ports
WO2020234099A1 (en) Exchange of data between a nfc reader and a dual nfc interface transponder
EP3570449A1 (en) Multi-mode nfc controller
CN216561756U (zh) 支持网络升级的电路及电子装置
CN114077560B (zh) 内存储存装置的读写控制系统及方法
CA2702290C (en) Data exchange between an electronic payment terminal and a maintenance tool through a usb link

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200117