CN101046789A - 一种数据传输方法、固件升级方法及总线下载器 - Google Patents

一种数据传输方法、固件升级方法及总线下载器 Download PDF

Info

Publication number
CN101046789A
CN101046789A CN 200610020564 CN200610020564A CN101046789A CN 101046789 A CN101046789 A CN 101046789A CN 200610020564 CN200610020564 CN 200610020564 CN 200610020564 A CN200610020564 A CN 200610020564A CN 101046789 A CN101046789 A CN 101046789A
Authority
CN
China
Prior art keywords
parallel port
level converter
pin
data
bus
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
CN 200610020564
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.)
FIBERXON (CHENGDU) Inc
Original Assignee
FIBERXON (CHENGDU) Inc
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 FIBERXON (CHENGDU) Inc filed Critical FIBERXON (CHENGDU) Inc
Priority to CN 200610020564 priority Critical patent/CN101046789A/zh
Publication of CN101046789A publication Critical patent/CN101046789A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种数据传输方法、固件升级方法及总线下载器,涉及通信技术、PC机并口总线技术、I2C总线技术、微控制器技术及应用程序编程技术。本发明提供一种低成本及简单实用的对ADuC70xxBCPZxxI芯片实现固件的数据传输以及固件下载的方法,以及实现前述数据传输和固件下载方法的总线下载器。本发明利用PC机并口和应用程序模拟I2C主设备,利用并口转I2C总线下载器的两个端口分别连接PC并口和ADuC70xxBCPZxxI芯片I2C管脚进行固件的下载。本发明使用的器件少而且全是国产,具有低成本、高可靠性、高易用性、高可移植性等特点,尤其是支持在线下载,方便了固件的调试和升级。

Description

一种数据传输方法、固件升级方法及总线下载器
技术领域
本发明涉及通信技术,特别涉及PC机并口总线技术、I2C总线技术、微控制器技术及应用程序编程技术。
背景技术
ADuC70xxBCPZxxI是美国模拟器件公司(ADI)生产的基于ARM7TDMI精密模拟微控制器(MicroConverter),已经广泛地应用在光通信领域,并扩展到汽车行业、工业控制,以及传感器行业。该芯片可以通过USB转JTAG仿真器或USB转I2C下载器实现固件下载,不仅需要昂贵的硬件支持,而且还需要使用者有相关开发经验以应付USB接口所带来的操作上的复杂性及异常。本发明所要解决的技术问题是,利用PC机并口实现I2C硬件接口,利用PC机应用程序实现I2C软件接口,具有低成本、高可靠性、高易用性、高可移植性等特点,尤其是支持在线下载,方便了固件的调试和升级。
发明内容
本发明所要解决的技术问题是,提供一种低成本及简单实用的对ADuC70xxBCPZxxI芯片实现固件的数据传输以及固件下载的方法,以及实现前述数据传输和固件下载方法的总线下载器。
本发明解决所述技术问题采用的技术方案是,提供一种数据传输方法,利用PC机并口和应用程序模拟I2C主设备,利用并口转I2C总线下载器的两个端口分别连接PC并口和ADuC70xxBCPZxxI芯片I2C管脚进行固件的下载。
进一步的说,通过应用程序实现PC并口与I2C接口的协议转换,与外部设备的ADuC70xxBCPZxxI芯片以I2C协议进行通讯。
本发明还提供一种采用并口转I2C总线数据传输方法实现并口转I2C总线固件升级的方法,包括以下步骤:对ADuC70xxBCPZxxI芯片进行初始化;擦除原有数据;写入更新数据;校验数据。
本发明还提供一种总线下载器,并口第2引脚连接第一电平转换装置的输入端,所述第一电平转换装置的输出端与I2C第一接口引脚相连;并口第3引脚连接第二电平转换装置的输入端,所述第二电平转换装置的输出端、I2C接口第3引脚和并口第12引脚连接于一点。
本发明的有益效果是利用PC机并口实现I2C硬件接口,利用PC机应用程序实现I2C软件接口,由于器件少而且全是国产,具有低成本、高可靠性、高易用性、高可移植性等特点,尤其是支持在线下载,方便了固件的调试和升级。
以下结合具体实施方式和附图对本发明作进一步的说明。
附图说明
图1是本发明的硬件连接示意图。
图2是本发明的硬件原理图。其中,V1:第一电平转换装置;V2:第二电平转换装置;X1:PC机并口;X2:I2C接口。
图3是本发明的软件运行示意图。
具体实施方式
本发明利用PC机并口和应用程序来模拟I2C主设备,实现与ADuC70xxBCPZxxI的I2C通讯。
本发明的***连接示意图如图1,硬件原理图如图2。如图2所示,硬件上采用NPN三极管构成OC门,以符合I2C规范所规定的连接方式。图3是软件运行示意图。
本发明的应用程序完全兼容以下规范或协议:《Intel HEX File Format》、《I2C Download Protocol for ADuC70xxBCPZxxI Models》和《THE I2C-BUSSPECIFICATION》。
按图1连接PC机并口到下载器并口,连接下载器I2C接口到ADuC70xxB-CPZxxI的I2C管脚。
所述下载器将硬件***连接好以后,通过PC机应用程序模拟I2C时序,以确保同ADuC70xxBCPZxxI的I2C进行通讯。应用程序界面如图4,顺序执行“Open”,“Start”,“Erase”,“Program”,“Verify”,“Run”,即可把一个hex文件数据下载到ADuC70xxBCPZxxI芯片中去。通过Open键打开需要下载的hex文件,读入有效数据到一个数据缓冲区并显示在表格中,如果出错会有错误提示;通过Start键实现与ADuC70xxBCPZxxI的握手同步确认后,就可对ADuC70xxBCPZxxI进行擦除操作。擦除操作采用的是整块flash擦除方式,这样比逐页插除方式耗时更少。擦除完后通过Program下载数据到ADuC70xxBCPZxxI中。下载完后可以进行校验,如果出错将会有出错提示;如果校验成功,通过Run键,就可以立即执行刚下载到ADuC70xxBCPZxxI中的固件。
总线数据传输方式是利用PC机并口和应用程序模拟I2C主设备,主设备是利用应用程序产生模拟I2C信号,***ADuC70xxBCPZxxI芯片设备为从设备,接收PC传输的数据。利用并口转I2C总线下载器的两个端口分别连接PC并口和ADuC70xxBCPZxxI芯片I2C管脚进行数据的下载。PC机并口第2引脚发送SCL信号经过第一电平转换装置V1到I2C接口第1引脚,PC机并口第3引脚发送SDA信号经过第二电平转换装置V2和I2C接口第3引脚引出的信号合路,将SDA信号反馈至PC并口引脚12。
进一步的说,通过应用程序实现PC并口与I2C接口的协议转换,转换格式参照《I2C Download Protocol for ADuC70xxBCPZxxI Models》,与外部设备的ADuC70xxBCPZxxI芯片以I2C协议进行通讯。
本发明还提供一种实现并口转I2C总线固件升级的方法,包括以下步骤:对ADuC70xxBCPZxxI芯片进行初始化、擦除原有数据、写入更新数据、校验数据的操作。
本发明提供的总线下载器的结构方式如下:并口第2引脚连接第一电平转换装置V1的输入端,所述第一电平转换装置V1的输出端与I2C第1接口引脚相连;并口第3引脚连接第二电平转换装置V2的输入端,所述第二电平转换装置V2的输出端与I2C接口第3引脚连接于A点,A点通过电阻R5和并口第12引脚相连。
更进一步的说,第一电平转换装置V1包括一个NPN三极管Q1和两个电阻R1,R3,NPN三极管Q1的基极连接电阻R1作为第一电平转换装置V1的输入端;电源通过电阻R3和NPN三极管Q1的集电极连接于B点,B点作为第一电平转换装置V1的输出端;NPN三极管Q1的发射极接地。
更进一步的说,第二电平转换装置V2包括一个NPN三极管Q2和两个电阻R2,R4,NPN三极管Q2的基极连接电阻R2作为第二电平转换装置V2的输入端;电源通过电阻R4和NPN三极管Q2的集电极连接于C点,C点作为第二电平转换装置V2的输出端;NPN三极管Q2的发射极接地。
更进一步的说,并口第18、19、20、21、22、23、24、25引脚接地,第1、4、5、6、7、8、9、10、11、13、14、15、16、17引脚悬空;I2C接口第2引脚接地,第4引脚接电源。
以下是总线数据传输以及固件升级具体的功能描述。
关于“Open”功能的描述如下。ADuC70xxBCPZxxI中的固件是在对于在keil uVersion3环境下编译生成的Intel HEX格式的烧录文件。Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HE-X记录由十六进制数组成的机器码或者静态数据,Intel HEX文件经常被用于将程序或数据传输存储到ROM或EPROM等非易失性存储器中。结合一个A-DuC7020的HEX文件实例,来说明本发明的应用程序如何实现HEX文件的分析:
:020000040008F2
:1000000018F09FE518F09FE518F09FE518F09FE5C0
……
:00000001FF
第一行表明扩展线性地址记录为0008h;第二行表明该行数据记录的偏移首地址为0000h,共10h个数据,分别是00,18,F0,9F,E5,18,F0,9F,E5,18,F0,9F,E5,18,F0,9F,E5;C0是校验码。最后一行表明该文件结束。由于ADuC70xxBCPZxxI的固件数据不会超过62k字节,所以在应用程序中定义了一个62k字节的数组,其各个单元的内容由上述的偏移地址所指定的数据决定。
为了便于描述,本文把PC机称为上位机,把ADuC70xxBCPZxxI芯片称为下位机。
关于“Start”功能的描述如下。下位机一旦进入下载模式,其P1.0和P1.1管脚即被配置成从I2C器件管脚,且从I2C器件地址为04h。上位机发送08h到下位机以表示协议开始。下位机接收到08h以后发送24字节的ID数据包ADuC702x<space><space><space>-62 H5T表示响应;其中“ADuC702x”为产品标识,“-62”对应器件内存大小,“H5T”是硬件和版本号,H代表硅,5代表版本号,T代表修订号。
上位机收到ID数据包后就可以开始数据传输了,数据包格式见表1。
Start ID  No.ofData Bytes   Data 1CMD   Data 2->5(Address:h,u,m,l)   Data x(x=6->25) Checksum
07h 0Eh 5->255 ‘E’,‘W’,‘V’or‘R’ h,u,m,l XX   No of DataBytes+Data1+Data2->5+∑Datax(2’s Comp)
                      表1数据传输格式
“Start ID”包括2个字节07H和0EH,以表示一个有效数据包开始。“No.ofData Bytes”表示需要传输的数据个数,最少为5,最多为255。“Data 1 CMD”命令格式,其中E代表擦除,W表示写,V表示校验,R表示运行。“Data2->5(Address:h,u,m,l)”表示要操作的32位FALSH/EE绝对地址,h代表MSB,l代表LSB。“Data x(x=6->55)”即实际下载数据,数据格式必须为Intel扩展的HEX格式。“Checksum”即校验和。
关于“Erase”功能的描述如下。擦除命令允许擦除FALSH的任何一页,页地址由Data 2->5地址信息决定,例如擦除地址从0x00000000开始,需要擦除00页,责擦除命令数据包格式如表2。
Start ID  No.ofData Bytes  Data 1CMD Data 2->5(Address:h,u,m,l)   Data 6(pages) Checksum
07h 0Eh 6  ‘E’(45h) h,u,m,l x pages   No of DataBytes+∑Data(2’s Comp)
                        表2擦除命令格式
关于“Program”功能的描述如下。写命令涉及到data 1+data 2→5+datax,下位机收到数据后就会立即将数据写入FLASH/EE,如果checksum不对或者地址超出范围,下位机将会发送BEL信号,主机收到BEL信号后,应该立即终止命令。下载只能重新开始。写命令格式如表3。
Start ID   No.ofData Bytes  Data 1CMD Data 2->5(Address:h,u,m,l)  Datax(x=1->250) Checksum
07h 0Eh   5+No.ofData x(6->255) ‘W’(57h) h,u,m,l  No ofDataBytes+∑Data Bytes1-515
                          表3写命令格式
本发明的应用程序在编程时,把62k字节数据分成了256页,每页248个字节数据。鉴于I2C通讯异常的情况有可能发生(比如芯片虚焊,I2C线缆接触不良,上位机异常关机等),所以在下载时,先不写首页,即保留80014h地址内的内容为0xffffffff,待其他页都写入数据后,再写首页。那么即使下载中途发生了什么不测而导致下载中断,下位机仍然可以被再次下载,否则将导致该ADuC70xxBCPZxxI芯片报废。
关于“Verify”功能的描述如下。为了提高检测数据的纠错能力,需要检验的数据从高5位移到了低5位,低3位被移到了高3位。下位机会自动恢复数据正确的序位然后和写入到FLASH/EE里的内容进行比较,正确返回06h,错误返回07h。校验命令格式如表4所示。
StartID   No.ofData Bytes  Data 1CMD Data 2->5(Address:h,u,m,l)   Datax(x=1->250) Checksum
07h 0Eh   5+No.ofData x(6->255) ‘V’(56h) h,u,m,l Complementeddata bytes   No of DataBytes+∑DataBytes 1-515
                          表4校验命令格式
关于“Run”功能的描述如下。所有数据下载完毕后,主机就可以发送“运行”命令以使处理器从给定的地址开始执行用户程序代码,目前下位机支持Flash/EE地址从(h,u,m,l=80000h或80001h)开始。用户代码运行命令格式如表5所示。
Start ID  No.ofData Bytes Data 1(Command)   Data 2->5(Address:h,u,m,l) Checksum
07h 0Eh 05h ‘R’(52h) h,u,m,l A9h
                            表5运行命令格式

Claims (6)

1、一种数据传输方法,其特征在于,利用PC机并口和应用程序模拟I2C主设备,利用并口转I2C总线下载器的两个端口分别连接PC并口和ADuC70xxBCPZxxI芯片I2C管脚进行固件的下载;通过应用程序实现PC并口与I2C协议的转换,与外部设备的ADuC70xxBCPZxxI芯片以I2C协议进行通讯。
2、采用权利要求1所述的采用并口转I2C总线数据传输方法实现并口转I2C总线固件升级的方法,其特征在于,包括以下步骤:
对ADuC70xxBCPZxxI芯片进行初始化;
擦除原有数据;
写入更新数据;
校验数据。
3、总线下载器,其特征在于,并口第2引脚连接第一电平转换装置(V1)的输入端,所述第一电平转换装置(V1)的输出端与I2C接口第1引脚相连;并口第3引脚连接第二电平转换装置(V2)的输入端,所述第二电平转换装置(V2)的输出端与I2C接口第3引脚连接于(A)点,(A)点通过电阻(R5)和并口第12引脚相连。
4、如权利要求3所述的总线下载器,其特征在于,第一电平转换装置(V1)包括NPN三极管(Q1),电阻(R1,R3),NPN三极管(Q1)的基极连接电阻(R1)作为第一电平转换装置(V1)的输入端;电源通过电阻(R3)和NPN三极管(Q1)的集电极连接于(B)点,(B)点作为第一电平转换装置(V1)的输出端;NPN三极管(Q1)的发射极接地。
5、如权利要求3所述的总线下载器,其特征在于,第二电平转换装置(V2)包括NPN三极管(Q2),电阻(R2,R4),NPN三极管(Q2)的基极连接电阻(R2)作为第二电平转换装置(V2)的输入端;电源通过电阻(R4)和NPN三极管(Q2)的集电极连接于(C)点,(C)点作为第二电平转换装置(V2)的输出端;NPN三极管(Q2)的发射极接地。
6、如权利要求3所述的总线下载器,其特征在于并口第18、19、20、21、22、23、24、25引脚接地,第1、4、5、6、7、8、9、10、11、13、14、15、16、17引脚悬空;I2C接口第2引脚接地,第4引脚接电源。
CN 200610020564 2006-03-27 2006-03-27 一种数据传输方法、固件升级方法及总线下载器 Pending CN101046789A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610020564 CN101046789A (zh) 2006-03-27 2006-03-27 一种数据传输方法、固件升级方法及总线下载器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610020564 CN101046789A (zh) 2006-03-27 2006-03-27 一种数据传输方法、固件升级方法及总线下载器

Publications (1)

Publication Number Publication Date
CN101046789A true CN101046789A (zh) 2007-10-03

Family

ID=38771410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610020564 Pending CN101046789A (zh) 2006-03-27 2006-03-27 一种数据传输方法、固件升级方法及总线下载器

Country Status (1)

Country Link
CN (1) CN101046789A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033770A (zh) * 2010-12-17 2011-04-27 中兴通讯股份有限公司 移动终端的触摸屏固件升级方法及装置
CN102855151A (zh) * 2012-08-21 2013-01-02 武汉电信器件有限公司 不打断业务的光模块固件在应用升级方法
US8943256B1 (en) 2013-08-08 2015-01-27 Cypress Semiconductor Corporation Serial data intermediary device, and related systems and methods
CN104933349A (zh) * 2015-05-20 2015-09-23 广东欧珀移动通信有限公司 具有下载验证功能的usb转接装置及下载验证方法
CN105117248A (zh) * 2015-08-20 2015-12-02 浙江中科领航汽车电子有限公司 一拖多tpms主控制器的程序下载器及下载方法
CN107678770A (zh) * 2017-09-14 2018-02-09 硅谷数模半导体(北京)有限公司 接口芯片升级方法、装置、存储介质和处理器
CN109684246A (zh) * 2018-12-19 2019-04-26 东莞博力威电池有限公司 不同接口协议的设备之间进行数据传输的方法及***
CN110597537A (zh) * 2019-08-29 2019-12-20 南宁学院 一种物联网节点安全更新升级方法
CN110908689A (zh) * 2019-11-27 2020-03-24 杭州莱宸科技有限公司 程序升级接口电路、嵌入式设备、下载接口电路、下载器
CN113360433A (zh) * 2020-03-06 2021-09-07 Oppo广东移动通信有限公司 数据通信方法及装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012079301A1 (zh) * 2010-12-17 2012-06-21 中兴通讯股份有限公司 移动终端的触摸屏固件升级方法及装置
CN102033770B (zh) * 2010-12-17 2015-01-28 中兴通讯股份有限公司 移动终端的触摸屏固件升级方法及装置
CN102033770A (zh) * 2010-12-17 2011-04-27 中兴通讯股份有限公司 移动终端的触摸屏固件升级方法及装置
CN102855151B (zh) * 2012-08-21 2016-06-08 武汉电信器件有限公司 不打断业务的光模块固件在应用升级方法
CN102855151A (zh) * 2012-08-21 2013-01-02 武汉电信器件有限公司 不打断业务的光模块固件在应用升级方法
US8943256B1 (en) 2013-08-08 2015-01-27 Cypress Semiconductor Corporation Serial data intermediary device, and related systems and methods
CN104933349B (zh) * 2015-05-20 2017-10-13 广东欧珀移动通信有限公司 具有下载验证功能的usb转接装置及下载验证方法
CN104933349A (zh) * 2015-05-20 2015-09-23 广东欧珀移动通信有限公司 具有下载验证功能的usb转接装置及下载验证方法
CN105117248A (zh) * 2015-08-20 2015-12-02 浙江中科领航汽车电子有限公司 一拖多tpms主控制器的程序下载器及下载方法
CN107678770A (zh) * 2017-09-14 2018-02-09 硅谷数模半导体(北京)有限公司 接口芯片升级方法、装置、存储介质和处理器
CN107678770B (zh) * 2017-09-14 2021-03-09 硅谷数模半导体(北京)有限公司 接口芯片升级方法、装置、存储介质和处理器
CN109684246A (zh) * 2018-12-19 2019-04-26 东莞博力威电池有限公司 不同接口协议的设备之间进行数据传输的方法及***
CN110597537A (zh) * 2019-08-29 2019-12-20 南宁学院 一种物联网节点安全更新升级方法
CN110597537B (zh) * 2019-08-29 2022-12-13 桂林理工大学南宁分校 一种物联网节点安全更新升级方法
CN110908689A (zh) * 2019-11-27 2020-03-24 杭州莱宸科技有限公司 程序升级接口电路、嵌入式设备、下载接口电路、下载器
CN110908689B (zh) * 2019-11-27 2023-09-15 杭州莱宸科技有限公司 程序升级接口电路、嵌入式设备、下载接口电路、下载器
CN113360433A (zh) * 2020-03-06 2021-09-07 Oppo广东移动通信有限公司 数据通信方法及装置
CN113360433B (zh) * 2020-03-06 2024-05-17 Oppo广东移动通信有限公司 数据通信方法及装置

Similar Documents

Publication Publication Date Title
CN101046789A (zh) 一种数据传输方法、固件升级方法及总线下载器
CN108415717B (zh) 一种zynq soc固件升级方法及升级装置
US20050251799A1 (en) Method of updating firmware
CN1313941C (zh) 数据处理装置与操作***进行数据交换的方法
CN100461105C (zh) 一种智能化设备软件升级与修复的方法和***
CN1932778A (zh) 一种对nand flash存储器进行虚拟空间管理的方法
CN102346677A (zh) Fpga程序的升级方法
CN104133705B (zh) 一种串口加载PowerPC***引导文件的***及方法
CN101398765A (zh) 用于更新固件的方法以及固件更新装置
CN101957765A (zh) 一种实现设备固件更新的方法及***、设备
CN108170480A (zh) 一种基于u-boot引导μC/OS操作***的启动方法
CN101051269A (zh) 智能平台管理接口韧体架构及其建立方法
CN108255510B (zh) 一种基于iap在线升级待升级固件传输校验设计方法
CN103902315A (zh) 一种多板卡在线更新的方法及其***
CN101452393A (zh) 基于pci总线的dsp2812程序在线升级方法
CN102364433A (zh) 在ARM处理器上实现Wine构建工具移植的方法
CN101067791A (zh) 启动芯片软件版本信息设置方法和装置
CN1831760A (zh) 应用自动编译框架来快速开发嵌入式***的方法及装置
CN100576187C (zh) 一种应用程序的开发调试方法及***
CN103577344A (zh) 数据写入方法、存储器控制器与存储器储存装置
CN1622053A (zh) 一种嵌入式产品软件开发方法
CN1530832A (zh) 使用一共同参数格式对电子装置进行程序化的方法与装置
CN1228718C (zh) 防止覆写dmi数据中***端子的mac地址的方法
CN100426233C (zh) 一种由嵌入式cpu自动配置可编程器件的方法
CN111552498B (zh) 一种实现显示屏的屏参升级的方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication