首页 / 专利库 / 集成电路 / 可编程芯片 / 一种数据传输方法、固件升级方法及总线下载器

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

阅读:230发布:2024-01-27

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

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引脚接电源。

说明书全文

技术领域

发明涉及通信技术,特别涉及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-BUS SPECIFICATION》。
按图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-62 H5T表示响应;其中“ADuC702x” 为产品标识,“-62”对应器件内存大小,“H5T”是硬件和版本号,H代表, 5代表版本号,T代表修订号。
上位机收到ID数据包后就可以开始数据传输了,数据包格式见表1。     Start ID      No.of    Data Bytes     Data 1     CMD     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.of Data Bytes”表示需要传输的数据个数,最少为5,最多为255。“Data 1 CMD” 命令格式,其中E代表擦除,W表示写,V表示校验,R表示运行。“Data 2->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.of    Data Bytes  Data 1    CMD 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+data x,下位机收到数据后就会立即将数据写入FLASH/EE,如果checksum不对或 者地址超出范围,下位机将会发送BEL信号,主机收到BEL信号后,应该立 即终止命令。下载只能重新开始。写命令格式如表3。     Start ID     No.of     Data Bytes  Data 1    CMD Data 2->5   (Address:h,u,m,l)  Datax   (x=1->250)    Checksum      07h          0Eh         5+No.of   Data x     (6->255)      ‘W’  (57h)         h,u,m,l          …      No of  DataBytes  +∑Data Bytes    1-515
                          表3写命令格式
本发明的应用程序在编程时,把62k字节数据分成了256页,每页248个 字节数据。鉴于I2C通讯异常的情况有可能发生(比如芯片虚焊,I2C线缆接 触不良,上位机异常关机等),所以在下载时,先不写首页,即保留80014h 地址内的内容为0xffffffff,待其他页都写入数据后,再写首页。那么即使下 载中途发生了什么不测而导致下载中断,下位机仍然可以被再次下载,否 则将导致该ADuC70xxBCPZxxI芯片报废。
关于“Verify”功能的描述如下。为了提高检测数据的纠错能,需要 检验的数据从高5位移到了低5位,低3位被移到了高3位。下位机会自动恢 复数据正确的序位然后和写入到FLASH/EE里的内容进行比较,正确返回 06h,错误返回07h。校验命令格式如表4所示。
    StartID     No.of     Data Bytes  Data 1    CMD Data 2->5   (Address:h,u,m,l)   Datax     (x=1->250)     Checksum      07h          0Eh         5+No.of   Data x     (6->255)      ‘V’  (56h)         h,u,m,l         Complemented   data bytes       No of Data   Bytes   +∑Data     Bytes 1-515
                          表4校验命令格式
关于“Run”功能的描述如下。所有数据下载完毕后,主机就可以发送 “运行”命令以使处理器从给定的地址开始执行用户程序代码,目前下位 机支持Flash/EE地址从(h,u,m,l=80000h或80001h)开始。用户代码运行 命令格式如表5所示。     Start ID    No.of    Data Bytes Data 1   (Command)   Data 2->5     (Address:h,u,m,l)       Checksum      07h      0Eh      05h   ‘R’   (52h)      h,u,m,l         A9h  
                            表5运行命令格式
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈