CN111522573B - 一种基于txt文件的伺服程序在线升级方法 - Google Patents

一种基于txt文件的伺服程序在线升级方法 Download PDF

Info

Publication number
CN111522573B
CN111522573B CN202010629084.0A CN202010629084A CN111522573B CN 111522573 B CN111522573 B CN 111522573B CN 202010629084 A CN202010629084 A CN 202010629084A CN 111522573 B CN111522573 B CN 111522573B
Authority
CN
China
Prior art keywords
data
computer
txt file
servo driver
servo
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.)
Active
Application number
CN202010629084.0A
Other languages
English (en)
Other versions
CN111522573A (zh
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.)
Chengdu kanop Robot Technology Co.,Ltd.
Original Assignee
Chengdu Crp Automation Control Technology 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 Chengdu Crp Automation Control Technology Co ltd filed Critical Chengdu Crp Automation Control Technology Co ltd
Priority to CN202010629084.0A priority Critical patent/CN111522573B/zh
Publication of CN111522573A publication Critical patent/CN111522573A/zh
Application granted granted Critical
Publication of CN111522573B publication Critical patent/CN111522573B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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

Abstract

本发明公开了一种基于txt文件的伺服程序在线升级方法,包括:采用通信模块连接上位机和伺服驱动器,设定上位机与伺服驱动器传输txt文件的通信协议;上位机下载集成环境CCS生成的txt文件,并将txt文件中的数据发送到伺服驱动器;伺服驱动器收到上位机发送的数据后,对flash数据进行擦写,将txt所有的数据擦写到对应的地址。本发明在升级伺服程序时,不再需要拆开伺服设备的外壳,不需要采用仿真器连接伺服设备,而是借用通信端口传输txt文件升级伺服程序,操作方便,节省维护升本,升级方便,摆脱对TI仿真器的依赖。

Description

一种基于txt文件的伺服程序在线升级方法
技术领域
本发明涉及工业机器人控制技术领域,具体的说,是一种基于txt文件的伺服程序在线升级方法。
背景技术
常规的DSP程序下载为通过TI仿真器下载.out文件或者是.hex二进制文件,通过仿真器下载需要专门的JTAG口,为14位引脚的并口。虽然通过仿真器下载具有速度快的优点,但是JTAG口一般设计在PCB板件上,由于将JTAG口引出至设备外面,会增加短路风险以及额外的成本,因此往往不会将JTAG口引出到伺服设备外面,导致在程序升级时,常常需要拆开伺服设备的外壳,露出JTAG口,用仿真器连接它,才能下载程序,存在操作不便的问题。
发明内容
本发明的目的在于提供一种基于txt文件的伺服程序在线升级方法,用于解决现有技术中DSP程序升级时需要拆开伺服设备外壳露出JTAG口再与仿真器连接进行下载程序存在操作不便的问题。
本发明通过下述技术方案解决上述问题:
一种基于txt文件的伺服程序在线升级方法,包括:
步骤S100:采用通信模块连接上位机和伺服驱动器,设定上位机与伺服驱动器传输txt文件的通信协议;
步骤S200:集成环境CCS生成txt文件;
步骤S300:上位机下载所述txt文件,并将txt文件中的数据发送到伺服驱动器;
步骤S400:伺服驱动器收到上位机发送的数据后,对flash数据进行擦写,将txt文件中所有的数据擦写到对应的地址。
所述步骤S200包括:
步骤S210:在TI仿真器的CCS集成化编程环境,建立编译器与txt的联系,并对txt文件进行命名;
步骤S220:修改.CMD文件,使编译器对代码进行4字节对齐编译;
步骤S230:编写升级程序代码,编译后,生成txt文件。
所述步骤S300包括:
步骤S310:上位机选择需要下载程序的伺服驱动器,并从集成环境CCS生成的txt文件中选择对应的txt文件进行下载;
步骤S320:上位机将txt文件中的数据发送到伺服驱动器。
所述步骤S320具体为:
步骤S321:上位机固定发送txt文件第一行中的数据,并对伺服驱动器返回的数据校验通过后,进入下一步;
步骤S322:上位机将txt文件中的其他数据下载为数据区块数据,并将所述数据区块数据按照设定的字节大小多次发送,上位机每次发送数据之后均进行数据校验,直至数据发送完成。
所述数据校验为:
步骤A:上位机接收伺服驱动器返回的对接收数据求和的低字节数据后,若返回的低字节数据正确,上位机发送指示数据,进入步骤B;若当上位机没有收到返回数据或者返回数据错误,提示出错,伺服驱动器断电重启后,执行步骤S320;所述指示数据用于指示伺服驱动器继续发送数据;
步骤B:上位机接收伺服驱动器返回的对接收数据求和的高字节数据后,若返回的高字节数据正确,则进行下一次的数据发送;若上位机没有收到返回或者返回数据错误,提示出错,伺服驱动器断电重启后,执行步骤S320。
所述通信模块为CAN通信模块或RS485通信模块。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明在升级伺服程序时,不再需要拆开伺服设备的外壳,不需要采用仿真器连接伺服设备,而是借用CAN通信端口或RS485通信端口传输txt文件升级伺服程序,操作方便,节省维护升本,升级方便,摆脱对TI仿真器的依赖。
(2)本发明在txt文件数据传输中采用了分数据块传输和数据校验方法,保证了数据传输的快捷和可靠性,开辟了txt文本文件烧写程序的新途径。
(3)本发明中的伺服驱动器和编码器公用RS485通信接口,通过采集编码器的RS485通信接口,实现txt文件的下载,只需要2个引脚(485_H,485_L),节省升级程序的成本。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例:
结合附图1所示,一种基于txt文件的伺服程序在线升级方法,包括:
步骤S100:采用CAN通信模块或者RS485通信模块连接上位机和伺服驱动器,设定上位机与伺服驱动器传输txt文件的通信协议,txt文件由应答握手区域、数据区域和结束区域组成,数据区域又分为地址区域、长度和有效数据。通信协议为:
上位机发送txt文件中应答握手区域的数据;
伺服驱动器接收到数据后返回对接收数据求和的低字节数据;
上位机收到伺服驱动器返回的低字节数据后,进行判断,如果正确,进入下一步;如果不正确,或者上位机在预设时间内没有收到伺服驱动器返回的低字节数据,则上位机报下载错误,伺服驱动器断电重启后,上位机与伺服驱动器之间重传txt文件;
上位机继续发送指示数据;
伺服驱动器返回对接收数据求和的高字节数据;
上位机收到伺服驱动器返回的高字节数据后,进行判断,如果正确,进入下一步;如果不正确,或者上位机在预设时间内没有收到伺服驱动器返回的低字节数据,则上位机报下载错误,伺服驱动器断电重启后,上位机与伺服驱动器之间重传txt文件;
上位机发送txt文件中的数据区域的数据,开始下载一个数据区块数据,并将所述数据区块数据按照预设字节数划分成多个数据块,依次发送每个数据块,直至数据区域发送完成;
上位机发送txt文件中的结束区域的数据,txt文件发送完成;
上位机报下载错误,伺服驱动器断电重启后,上位机与伺服驱动器之间重传txt文件。
每个数据块发送时,均需要校验伺服驱动器返回的对前面接收数据求和的数据,并分二次传送求和数据的低字节数据和高字节数据,上位机对返回求和数据进行判断,如何正确进行下一个数据块的发送。
步骤S200:集成环境CCS生成txt文件,具体包括:
步骤S210:在TI仿真器的CCS集成化编程环境,选择:
“Project”-->“Properties”-->“Build”-->“Steps”-->“Post-build steps”中增加"${CG_TOOL_HEX}" "${BuildArtifactFileName}" -boot -sci8 -a -o "${BuildArtifactFileBaseName}txt",建立编译器与txt的联系,并对txt文件进行命名;;
步骤S220:修改代码存放和加载位置的.CMD文件,使编译器对代码进行4字节对齐编译,也就是在分配地址时,以4的整数倍进行分配;
步骤S230:编写升级程序代码,编译后,生成txt文件,在flash文件夹下面可以看到生成的txt文件。
步骤S300:上位机下载所述txt文件,并将txt文件中的数据发送到伺服驱动器,具体为:
步骤S310:上位机选择需要下载程序的伺服驱动器,并从集成环境CCS生成的txt文件中选择对应的txt文件进行下载;
如果是采用RS485通信,通过设置串口号与伺服驱动器的设备管理器的串口号关联;上位机中通过485Init()函数进行RS485通信模块的配置,包括设置停止位、无奇偶校验位、不使能中断、使能接收和发送和波特率设置等;还通过485DataReceive()及485DataGetSend()函数,实现txt数据的接收和发送,由于RS485通信是单工通信,需要在发送完成后将RS485使能管脚置位,便于接收数据。
如果是采用CAN通信,上位机中通过CANforDownLoadProgram()函数进行CAN通信模块的配置,包括CAN子模块初始化,中断使能,波特率设置,CANID设置等;还通过CANDataReceive()以及CANDataGetSend()函数,实现txt数据的接收和发送。还需要在通信协议还需要将上位机与伺服驱动器关联。
例如:上位机发送01 22 33 44 55 66 77 88(01代表1轴,02代表2轴…直到6轴;后面的22 33 44 55 66 77 88为固定值,连接2轴时发02 22 33 44 55 66 77 88,依次类推直到6轴);
01轴对应的伺服驱动器返回的数据01 23 34 45 56 67 78 89(01代表1轴,02代表2轴…直到6轴;23 34 45 56 67 78 89为发送数据22 33 44 55 66 77 88 每个数据+1后的返回)。
上位机发送0E 00 5D 00 66 27 00 00(6个轴固定都是这个),是远程帧,帧ID是00 00 00 18;
伺服驱动器返回4E 00 5D 00 00 00 00 00,则上位机进行DSP升级程序的下载。
步骤S320:上位机将按照通信协议分块下发txt文本文件中的所有数据到伺服驱动器,传输完每个数据块,伺服驱动器与上位机采用数据块的数据求和校验,以判断所接收数据的准确性,具体如下:
应答握手区域固定为AA 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 08 00 00 00;结束区域为00 0000 00。
例如,本方案中上位机与伺服驱动器传输txt文件的通信协议为:
固定发送txt文件的文本第一行中的AA 08 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 08 00 00 00(即应答握手区域),按照一个个字节发送。
伺服驱动器将返回BA(伺服驱动器将接收的数据求和的低字节),若返回不是BA或设定时间内(如5秒)未收到数据,上位机报下载错误,提示:断电后重新传输,伺服驱动器断电重启后,上位机与伺服驱动器之间重传txt文件;
如果上位机收到伺服驱动器返回的正确数据,则上位机发送指示数据(如16进制的2D,即十进制的45),伺服驱动器将返回00(伺服将接收的数据求和的高字节),若返回不是00或5秒内未收到数据,报下载错误,提示:断电后重新传输,伺服驱动器断电重启后,上位机与伺服驱动器之间重传txt文件;
若上位机接收到返回的00,则发送txt文件的数据区域的数据,开始下载一个数据区块数据。
比如数据区块数据为64 0B XX XX ……,64 0B为此块数据的大小,由于此块数据的个数大于256个字节,那么发送完首次256个字节后将等待下位伺服驱动器返回的此256个字节与之前的数据和(先返回低字节,上位发0x2D,再返回高字节,上位再发0x2D)。同时上位机需要对此返回的数据和进行比较,不相同,则停止下载,报错,伺服驱动器断电重启后,上位机与伺服驱动器之间重传txt文件。
否则,上位机将继续发送第2次紧接着的256个字节,发送完后等待下机返回的所有接收的数据和,并判断是否正确,若返回的低字节正确,则发送2D,再接收所发送字节的数据和的高字节,若正确再发送0x2D;接着再发送下一个256字节,直到发送完这一数据块的所有数据;
按照同样的方法,上位机继续发送下一个数据块,直到最后一个数据块。
如果最后一个数据块的数据小于128,则依然是多少数据就发多少字节。发送完后等待伺服驱动器返回数据和(先是低字节,后是高字节)。若数据和发生溢出,只取一个字的数据用来比较(即只比较低32位)。
发送结束区域数据00 00 00 00,校验通过后,结束。
步骤S400:伺服驱动器收到上位机发送的数据后,对flash数据进行擦写,将txt文件中所有的数据擦写到对应的地址,伺服驱动器判断擦写flash正确后,升级程序完成。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。

Claims (5)

1.一种基于txt文件的伺服程序在线升级方法,其特征在于,包括:
步骤S100:采用通信模块连接上位机和伺服驱动器,设定上位机与伺服驱动器传输txt文件的通信协议;
步骤S200:集成环境CCS生成txt文件,具体包括:
步骤S210:在TI仿真器的CCS集成化编程环境,建立编译器与txt的联系,并对txt文件进行命名;
步骤S220:修改.CMD文件,使编译器对代码进行4字节对齐编译;
步骤S230:编写升级程序代码,编译后,生成txt文件,txt文件由应答握手区域、数据区域和结束区域组成;
步骤S300:上位机下载所述txt文件,并将txt文件中的数据发送到伺服驱动器;
步骤S400:伺服驱动器收到上位机发送的数据后,对flash数据进行擦写,将txt文件中所有的数据擦写到对应的地址。
2.根据权利要求1所述的一种基于txt文件的伺服程序在线升级方法,其特征在于,所述步骤S300包括:
步骤S310:上位机选择需要下载程序的伺服驱动器,并从集成环境CCS生成的txt文件中选择对应的txt文件进行下载;
步骤S320:上位机将txt文件中的数据发送到伺服驱动器。
3.根据权利要求2所述的一种基于txt文件的伺服程序在线升级方法,其特征在于,所述步骤S320具体为:
步骤S321:上位机固定发送txt文件第一行中的数据,并对伺服驱动器返回的数据校验通过后,进入下一步;
步骤S322:上位机将txt文件中的其他数据下载为数据区块数据,并将所述数据区块数据按照设定的字节大小多次发送,上位机每次发送数据之后均进行数据校验,直至数据发送完成。
4.根据权利要求3所述的一种基于txt文件的伺服程序在线升级方法,其特征在于,所述数据校验为:
步骤A:上位机接收伺服驱动器返回的对接收数据求和的低字节数据后,若返回的低字节数据正确,上位机发送指示数据,进入步骤B;若当上位机没有收到返回数据或者返回数据错误,提示出错,伺服驱动器断电重启后,执行步骤S320;所述指示数据用于指示伺服驱动器继续发送数据;
步骤B:上位机接收伺服驱动器返回的对接收数据求和的高字节数据后,若返回的高字节数据正确,则进行下一次的数据发送;若上位机没有收到返回或者返回数据错误,提示出错,伺服驱动器断电重启后,执行步骤S320。
5.根据权利要求1所述的一种基于txt文件的伺服程序在线升级方法,其特征在于,所述通信模块为CAN通信模块或RS485通信模块。
CN202010629084.0A 2020-07-03 2020-07-03 一种基于txt文件的伺服程序在线升级方法 Active CN111522573B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010629084.0A CN111522573B (zh) 2020-07-03 2020-07-03 一种基于txt文件的伺服程序在线升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010629084.0A CN111522573B (zh) 2020-07-03 2020-07-03 一种基于txt文件的伺服程序在线升级方法

Publications (2)

Publication Number Publication Date
CN111522573A CN111522573A (zh) 2020-08-11
CN111522573B true CN111522573B (zh) 2020-10-16

Family

ID=71911925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010629084.0A Active CN111522573B (zh) 2020-07-03 2020-07-03 一种基于txt文件的伺服程序在线升级方法

Country Status (1)

Country Link
CN (1) CN111522573B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555657B2 (en) * 2003-03-28 2009-06-30 Ricoh Company, Ltd. Communication device, software update device, software update system, software update method, and program
CN102879834B (zh) * 2012-09-28 2015-02-25 北京东方联星科技有限公司 一种实现卫星导航气象探空仪导航数据通信的方法
CN110955447A (zh) * 2019-11-14 2020-04-03 北京航天时代激光导航技术有限责任公司 一种基于烧写模块的激光惯组系数多扇区烧写及校验方法
CN110908693A (zh) * 2019-11-21 2020-03-24 江苏北方湖光光电有限公司 一种基于fpga的程序更新方法及系统
CN111104143B (zh) * 2019-12-26 2021-08-31 北谷电子有限公司上海分公司 一种固件升级方法及升级装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
信号君."读懂CCS链接命令文件(.cmd)".<https://www.cnblogs.com/ncdxlxk/p/9226451.html>.2018,第1-7页. *
刘凇佐 等."MSP430FR5969串口程序加载升级设计方法".《科技广场》.2015,(第01期),第52-56页. *

Also Published As

Publication number Publication date
CN111522573A (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
US7155567B2 (en) Control method for data transfer device, data transfer circuit, and disk array device
US20010011347A1 (en) Method and apparatus for upgrading firmware boot and main codes in a programmable memory
US5925140A (en) Apparatus and method for error free loading of a programmable non-volatile memory over a datalink
CN102662697B (zh) 一种软件升级方法及装置
CN105045626A (zh) 程序的烧录方法、烧录设备和控制器
CN105487890A (zh) 一种基于c51系列单片机内核的固件下载方法
CN108415717B (zh) 一种zynq soc固件升级方法及升级装置
CN101841594B (zh) 便携式电子设备及其固件下载程序下载方法
CN107346244B (zh) 一种汽车eps控制器程序自动化下载系统及方法
CN101807155A (zh) 一种嵌入式软件在线更新方法
CN110134415A (zh) 一种控制器及其软件升级方法和装置
JPH06119296A (ja) プログラマブル・コントローラ用データ・インタフェース初期設定装置および初期設定方法
CN105786753A (zh) 一种i2c总线上的主从设备间的传输数据的方法及设备
CN105045671A (zh) 一种智能终端的系统升级方法及装置
CN107357595A (zh) 一种基于总线的多驱动器固件在线更新系统
CN111522573B (zh) 一种基于txt文件的伺服程序在线升级方法
CN104133743B (zh) 一种将文件烧录到emmc芯片的方法及装置
CN206892846U (zh) 一种微控制器嵌入式系统的程序烧写系统
WO2017049557A1 (zh) 为适配器升级的方法、移动终端和适配器
CN107870776B (zh) 一种ipmc在线升级方法及装置
CN113672270A (zh) 升级方法,计算机系统和远端升级设备
CN106155734B (zh) 一种软件版本的下载方法及装置
CN111506334A (zh) 一种dsp芯片程序在线升级方法及系统
CN1327556A (zh) 程序更新方法及通信终端装置
CN111722858A (zh) 在线升级方法及终端设备

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 610000 No. 42, Huatai Road, Chenghua District, Chengdu, Sichuan

Patentee after: Chengdu kanop Robot Technology Co.,Ltd.

Address before: No.199, Huaguan Road, Longtan Industrial Park, Chenghua District, Chengdu, Sichuan 610000

Patentee before: CHENGDU CRP AUTOMATION CONTROL TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address