CN101046789A - 一种数据传输方法、固件升级方法及总线下载器 - Google Patents
一种数据传输方法、固件升级方法及总线下载器 Download PDFInfo
- 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
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引脚接电源。
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)
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广东移动通信有限公司 | 数据通信方法及装置 |
-
2006
- 2006-03-27 CN CN 200610020564 patent/CN101046789A/zh active Pending
Cited By (18)
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 |