CN111522573A - 一种基于txt文件的伺服程序在线升级方法 - Google Patents
一种基于txt文件的伺服程序在线升级方法 Download PDFInfo
- Publication number
- CN111522573A CN111522573A CN202010629084.0A CN202010629084A CN111522573A CN 111522573 A CN111522573 A CN 111522573A CN 202010629084 A CN202010629084 A CN 202010629084A CN 111522573 A CN111522573 A CN 111522573A
- Authority
- CN
- China
- Prior art keywords
- data
- upper 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates 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文件的伺服程序在线升级方法。
背景技术
常规的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 00 0008 00 00 00;结束区域为00 0000 00。
例如,本方案中上位机与伺服驱动器传输txt文件的通信协议为:
固定发送txt文件的文本第一行中的AA 08 00 00 00 00 00 00 00 00 00 00 00 0000 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 (6)
1.一种基于txt文件的伺服程序在线升级方法,其特征在于,包括:
步骤S100:采用通信模块连接上位机和伺服驱动器,设定上位机与伺服驱动器传输txt文件的通信协议;
步骤S200:集成环境CCS生成txt文件;
步骤S300:上位机下载所述txt文件,并将txt文件中的数据发送到伺服驱动器;
步骤S400:伺服驱动器收到上位机发送的数据后,对flash数据进行擦写,将txt文件中所有的数据擦写到对应的地址。
2.根据权利要求1所述的一种基于txt文件的伺服程序在线升级方法,其特征在于,所述步骤S200包括:
步骤S210:在TI仿真器的CCS集成化编程环境,建立编译器与txt的联系,并对txt文件进行命名;
步骤S220:修改.CMD文件,使编译器对代码进行4字节对齐编译;
步骤S230:编写升级程序代码,编译后,生成txt文件。
3.根据权利要求2所述的一种基于txt文件的伺服程序在线升级方法,其特征在于,所述步骤S300包括:
步骤S310:上位机选择需要下载程序的伺服驱动器,并从集成环境CCS生成的txt文件中选择对应的txt文件进行下载;
步骤S320:上位机将txt文件中的数据发送到伺服驱动器。
4.根据权利要求3所述的一种基于txt文件的伺服程序在线升级方法,其特征在于,所述步骤S320具体为:
步骤S321:上位机固定发送txt文件第一行中的数据,并对伺服驱动器返回的数据校验通过后,进入下一步;
步骤S322:上位机将txt文件中的其他数据下载为数据区块数据,并将所述数据区块数据按照设定的字节大小多次发送,上位机每次发送数据之后均进行数据校验,直至数据发送完成。
5.根据权利要求4所述的一种基于txt文件的伺服程序在线升级方法,其特征在于,所述数据校验为:
步骤A:上位机接收伺服驱动器返回的对接收数据求和的低字节数据后,若返回的低字节数据正确,上位机发送指示数据,进入步骤B;若当上位机没有收到返回数据或者返回数据错误,提示出错,伺服驱动器断电重启后,执行步骤S320;所述指示数据用于指示伺服驱动器继续发送数据;
步骤B:上位机接收伺服驱动器返回的对接收数据求和的高字节数据后,若返回的高字节数据正确,则进行下一次的数据发送;若上位机没有收到返回或者返回数据错误,提示出错,伺服驱动器断电重启后,执行步骤S320。
6.根据权利要求1所述的一种基于txt文件的伺服程序在线升级方法,其特征在于,所述通信模块为CAN通信模块或RS485通信模块。
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 true CN111522573A (zh) | 2020-08-11 |
CN111522573B 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) |
Citations (5)
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 |
CN102879834A (zh) * | 2012-09-28 | 2013-01-16 | 北京东方联星科技有限公司 | 一种实现卫星导航气象探空仪导航数据通信的方法 |
CN110908693A (zh) * | 2019-11-21 | 2020-03-24 | 江苏北方湖光光电有限公司 | 一种基于fpga的程序更新方法及系统 |
CN110955447A (zh) * | 2019-11-14 | 2020-04-03 | 北京航天时代激光导航技术有限责任公司 | 一种基于烧写模块的激光惯组系数多扇区烧写及校验方法 |
CN111104143A (zh) * | 2019-12-26 | 2020-05-05 | 北谷电子有限公司上海分公司 | 一种固件升级方法及升级装置 |
-
2020
- 2020-07-03 CN CN202010629084.0A patent/CN111522573B/zh active Active
Patent Citations (5)
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 |
CN102879834A (zh) * | 2012-09-28 | 2013-01-16 | 北京东方联星科技有限公司 | 一种实现卫星导航气象探空仪导航数据通信的方法 |
CN110955447A (zh) * | 2019-11-14 | 2020-04-03 | 北京航天时代激光导航技术有限责任公司 | 一种基于烧写模块的激光惯组系数多扇区烧写及校验方法 |
CN110908693A (zh) * | 2019-11-21 | 2020-03-24 | 江苏北方湖光光电有限公司 | 一种基于fpga的程序更新方法及系统 |
CN111104143A (zh) * | 2019-12-26 | 2020-05-05 | 北谷电子有限公司上海分公司 | 一种固件升级方法及升级装置 |
Non-Patent Citations (1)
Title |
---|
ZHAOJINXIN0411: ""在CCS上生成.bin .hex .txt文件并烧录到MSP430使LCD灯亮"", 《HTTPS://WWW.CNBLOGS.COM/ZHAOJINXIN0411/P/9655000.HTML》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111522573B (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134415A (zh) | 一种控制器及其软件升级方法和装置 | |
CN105045626A (zh) | 程序的烧录方法、烧录设备和控制器 | |
CN109976767B (zh) | 软件烧录方法和装置 | |
US7155567B2 (en) | Control method for data transfer device, data transfer circuit, and disk array device | |
CN105487890A (zh) | 一种基于c51系列单片机内核的固件下载方法 | |
CN107346244B (zh) | 一种汽车eps控制器程序自动化下载系统及方法 | |
CN114281394A (zh) | 一种快速在线升级程序的方法、系统、设备及介质 | |
CN113608772B (zh) | 一种应用程序升级方法及装置 | |
JPH06119296A (ja) | プログラマブル・コントローラ用データ・インタフェース初期設定装置および初期設定方法 | |
CN101841594B (zh) | 便携式电子设备及其固件下载程序下载方法 | |
CN107357595A (zh) | 一种基于总线的多驱动器固件在线更新系统 | |
WO2023045440A1 (zh) | 一种ecu程序刷写方法以及装置 | |
CN108037931B (zh) | 一种对微处理器存储单元进行文件烧写的方法 | |
CN111506334A (zh) | 一种dsp芯片程序在线升级方法及系统 | |
CN111522573B (zh) | 一种基于txt文件的伺服程序在线升级方法 | |
CN114860278A (zh) | 一种语音芯片ota升级方法 | |
CN112181455A (zh) | 微控制器的在线升级方法、微控制器及存储介质 | |
CN110134423A (zh) | 固件的更新方法、装置及计算机可读存储介质 | |
CN112346665B (zh) | 基于pcie的通信方法、装置、设备、系统及存储介质 | |
CN112181460B (zh) | 程序固件升级方法、装置、电子设备及存储介质 | |
CN111142919B (zh) | 一种适用于多组mcu单元程序同时升级的方法 | |
CN1327556A (zh) | 程序更新方法及通信终端装置 | |
KR20010027466A (ko) | 차량의 엔진제어유닛 리프로그래밍 방법 | |
CN111443930A (zh) | 级联终端的升级方法、装置、存储介质及电子终端 | |
CN116430771A (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 | ||
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. |