一种可编程设备的在通讯中测试及编程方法

文档序号:6519527阅读:205来源:国知局
专利名称:一种可编程设备的在通讯中测试及编程方法
技术领域
该发明涉及计算机通讯技术(包括USB、LAN、CAN、1394、BLUETOOTH、WLAN、UWB、WUSB等通讯技术)、微处理器/单片机、可编程器件等技术领域。
背景技术
早期的微处理器/单片机多采用外接程序及数据存储器的方法以满足不同的应用要求,随着半导体技术的发展及用户对微处理器/单片机应用系统集成度要求的提高,越来越多的微处理器/单片机逐渐向内置程序及数据存储器的方向发展,在这些微处理器/单片机系统的生产过程中,用户需要用专用编程工具先对器件编程然后才能进行安装焊接组等加工工序,在最终产品状态,用户无法对产品进行程序更改及升级等操作。近年来,一些微处理器/单片机开始向ISP(在系统编程)、IAP(在应用编程)、JTAG(边界扫描测试及编程)功能方向发展,使带此功能的微处理器/单片机或可编程逻辑器件产品可以实现最终产品、最后工序编程或最终用户远程测试或固件编程、升级。
但是目前具备ISP、IAP、JTAG测试或编程功能的微处理器/单片机或可编程逻辑器件的编程接口均是采用专用的简单的通讯方式的电气接口。例如一些8051内核的单片机通过UART串口及RS232转换电路与PC(个人计算机)连接实现ISP/IAP功能;多数ARM内核的微处理器或可编程逻辑器件通过JTAG(边界扫描测试)接口与基于PC并行口的JTAG控制器连接,实现芯片边界扫描测试及编程等功能。这些接口专用于编程、调试及测试,编程电缆包含专用电路及元器件、成本较高、较复杂且需要专门设计,在用户应用固件程序运行过程中一般不使用该接口,最终产品也很难保留该接口进行固件编程或升级。随着计算机通讯技术的发展,这些简单通讯方式接口已逐渐从PC端淘汰(大多数笔记本电脑已取消标准串行及并行电气接口),逐渐被USB/LAN/CAN/1394/BLUETOOTH/WLAN/UWB/WUSB等高效、高速及易连的接口取代。并且越来越多的微处理器/单片机或可编程逻辑器件也已集成了这些高效、高速及易连的通讯方式接口以适应不同的应用需求。甚至有些通讯方式规范已经定义了程序升级的通讯协议(例如USB组织定义了USB外设固件升级规范“USB Device Firmware Upgrade Specification,Revision 1.1”),但是用户需要开发编程工具软件、固件程序甚至驱动程序等,协议较复杂且实现困难。目前也只局限于固件升级,没有整合仿真、调试、测试、固件编程、升级等通信功能及用户应用通信功能,还没有具体的简单易行的系统实施方法。本说明书将以内置USB/LAN/CAN/1394/BLUETOOTH/WLAN/UWB/WUSB等通讯接口的微处理器/单片机为例,详述如何通过微处理器/单片机或可编程逻辑器件的这些通讯接口在已有的微处理器/单片机或可编程逻辑器件仿真、调试、测试、固件编程方法基础上实现在通信中(ICP)仿真、调试、测试、编程通信功能及用户应用通信功能。

发明内容
本发明可以利用现有PC端工具软件及外设驱动程序实现单一通讯接口的仿真、调试、测试、编程通信及应用通信的多功能,本说明书着重于微处理器/单片机通过USB接口实现在通信中(ICP)仿真、调试、测试、编程的方法,该方法也适用于带LAN、CAN、1394、BLUETOOTH、WLAN、UWB、WUSB等通讯方式接口的微处理器/单片机或可编程逻辑器件。
本发明的实现方法为带USB接口的微处理器/单片机或可编程逻辑器件通过USB电缆与PC连接时,其默认状态是一个USB虚拟串口/并口外设(Device)或其它可编程类外设(例如USB-JTAG适配器),用户通过现有的PC端仿真、调试、测试、编程等工具软件及USB虚拟串口/并口或可编程类外设驱动程序实现对微处理器/单片机或可编程逻辑器件的仿真、调试、测试、固件编程操作,完成仿真、调试、测试、编程后用户可以通过PC端的编程工具软件把微处理器/单片机或可编程逻辑器件设置为应用状态,然后微处理器/单片机或可编程逻辑器件即工作于应用状态并运行用户自己设计的应用固件程序,此时微处理器/单片机或可编程逻辑器件作为一个用户设计的应用USB外设按照用户的设计要求通过USB接口及相应的应用驱动程序实现与PC或其它设备的连接通信。
当微处理器/单片机或可编程逻辑器件在应用状态时,如果用户需要对微处理器/单片机或可编程逻辑器件进行仿真、调试、测试、编程或固件升级,用户可以通过硬件设置(例如通过外设的开关、按键或固件命令设置)、或通过PC端的软件工具用特殊命令(例如用USB调试工具软件发送特殊命令至该外设,用户也可自己开发一个软件工具实现该功能)把微处理器/单片机或可编程逻辑器件设置回默认状态,然后再实现在返回的默认状态通过USB接口对微处理器/单片机或可编程逻辑器件进行仿真、调试、测试、编程或固件升级的操作。这样就实现了单一接口的仿真、调试、测试、编程或固件升级通信及应用通信的多功能,并且PC端的仿真、调试、测试、编程工具软件及USB虚拟串口/并口或可编程类外设驱动程序均可采用已经成熟的现有软件及驱动程序。极大地降低了整个系统地实现技术难度及经济成本。
如果本发明被应用于微处理器/单片机或可编程逻辑器件产品中,产品研发或生产的用户就不需要为产品设计专用的仿真、调试、测试及编程接口及工具,也不需要开发专用的仿真、调试、编程软件及驱动程序,只需利用产品本身的应用通讯接口(例如USB接口)及已成熟的仿真、调试、测试、编程工具软件及驱动,可以在最终产品出厂前才对产品进行编程,还可及时根据最终用户的不同要求装载不同的应用固件程序,甚至最终用户也可在此基础上进行固件程序升级或进行二次开发并运行最终用户自己设计的固件程序。本发明中涉及USB接口的部分也适用于LAN/CAN/1394/BLUETOOTH/WLAN/UWB/WUSB等其它通讯方式接口。为了能表达清楚本发明的内容,本说明书以USB通讯方式为例详细说明本发明的内容。


图1本发明的第一实施方案系统结构框图。
图2本发明的第一实施方案的引导程序操作流程图。
图3本发明的第一实施方案在默认状态的程序操作流程图。
图4本发明的第一实施方案在应用状态的程序操作流程图。
图5本发明的第二实施方案系统结构框图。
图6图6本发明的第二实施方案在应用状态的系统结构及操作流程图。
图7本发明的其它通讯方式实施方案系统结构框图。
具体实施例方式
第一实施方案在图1中,该USB接口的微处理器/单片机包含USB控制器、程序存储器、数据存储器、微处理器内核、外围接口电路及电源时钟等六大部分。
如图2,该微处理器/单片机复位后程序指针首先指向引导程序存储区,并运行引导程序存储区内的引导程序,该程序管理整个微处理器/单片机系统内的硬件、固件程序的运行,如果微处理器/单片机的外围硬件设置条件或软件设置条件满足进入默认状态,则程序指针指向默认程序存储区,并运行默认存储区内的默认程序,反之则程序指针指向用户应用程序存储区,并运行用户应用存储区内的应用程序。如图3,如果微处理器/单片机被设置为默认状态,当通过USB电缆与PC连接时,微处理器/单片机运行默认程序并作为一个虚拟串口/并口或可编程外设完成与PC主机的枚举,这时,如果用户运行PC端仿真、调试、测试或编程工具软件,就可以通过工具软件对微处理器/单片机进行仿真、调试、测试、编程或状态设置操作。一旦微处理器/单片机状态被设置为应用状态,则微处理器/单片机程序指针指向用户应用程序存储区并进入用户应用状态。
如图4,如果微处理器/单片机被设置为用户应用状态,当通过USB电缆与PC连接时,微处理器/单片机运行用户应用程序并作为一个用户设计定义的USB外设完成与PC主机的枚举,这时,该设备可以按照用户的设计要求与PC端的应用软件进行数据传输。当用户需要对该设备固件重新编程或升级时,仍然可以可以用硬件设置(例如通过外设的开关、按键或固件命令设置)、或通过PC端的软件工具用特殊命令(可以用USB调试工具软件发送特殊命令至该外设、用户也可自己开发一个软件工具实现该功能)把微处理器/单片机设置回默认状态。一旦微处理器/单片机状态被设置为默认状态,则微处理器/单片机程序指针指向默认程序存储区并进入默认状态。这样用户就又可以对微处理器/单片机在默认状态进行编程操作了。目前许多51内核的单片机都具有通过串口ISP/IAP的功能,这里以带ISP/IAP功能的单片机为例详细说明如何实施该发明。但并不表明本发明只适用于51内核的单片机或USB通讯方式,该发明也适用于其它类型的微处理器/单片机(例如ARM7、ARM9等内核的微处理器)及LAN/CAN/1394/BLUETOOTH/WLAN/UWB等其它通讯方式。
51内核单片机连接USB控制器在默认状态运行默认程序作为一个USB虚拟串口设备实现与PC系统的逻辑连接。PC端的编程工具软件(可以采用已有的编程工具软件)通过虚拟串口实现对该单片机的编程操作,完成编程后,用户可以设置把单片机的状态标志改为应用状态。然后单片机会退出默认状态而进入应用状态,断开USB虚拟串口外设与PC主机的逻辑连接,重新作为一个用户设计的应用外设实现与PC主机的逻辑连接。在应用状态,如果硬件设置条件满足(例如通过开关、按键或应用固件程序命令设置)、或软件设置条件满足(可以用USB调试工具软件发送特殊命令至该外设、用户也可自己开发一个软件工具实现该功能)单片机的状态标志会被改变,单片机会断开应用外设与PC主机的逻辑连接,再进入默认状态作为虚拟串口与PC主机逻辑连接并实现在该状态下的固件编程。
第二实施方案如图5,该实施方案系统结构框图与方案一类似,在默认状态时,系统操作流程与方案一相同;唯一不同是在应用状态时微处理器/单片机既运行默认固件程序也运行应用固件程序,PC端同时连接在一个逻辑USBHUB下的两个逻辑外设,一个是默认虚拟串口/并口或可编程外设,另一个是应用外设。如图6所示。在PC端的用户应用软件操作应用逻辑外设时,PC端的仿真、调试、测试及编程工具软件也可以操作默认的虚拟串口/并口或可编程外设。这样本方案就可以实现系统直接在应用状态的仿真、调试、测试及编程操作。
第三实施方案如图7,该实施方案系统结构框图与方案一类似,只是把方案1中的USB控制器及USB连接替换为LAN、CAN、1394、BLUETOOTH、WLAN、UWB、WUSB等通讯控制器及相应连接。该方案系统操作流程与方案一也相似(如图2、3、4),只需把USB置换为对应的其它通讯方式;实施该方案仍然可以实现该发明的所有功能。
权利要求
1.一种可编程设备,该可编程设备包括程序存储器、微处理器、通讯控制器等部分。其特征是该可编程设备可以是单个芯片、也可以多个芯片及元器件的组合、还可以是一个芯片或一个产品中的一部分;该可编程设备具有两种状态,在默认状态时,微处理器运行默认程序,控制和管理通讯控制器的通讯接口与其它设备连接通信,并接收其它设备的指令或数据对该可编程设备进行测试、调试或编程操作;在应用状态时,微处理器运行应用程序或同时运行应用程序及默认程序,按具体应用要求控制和管理通讯控制器的通讯接口与其它设备连接通信并接收其它设备的指令或数据,实现具体的应用通信功能。
2.根据权利要求1所述的程序存储器,其特征在于其至少包括默认程序存储区及应用程序存储区,或者包括分开的默认程序存储器及应用程序存储器;应用程序存储区或应用程序存储器可以被可编程设备自己编程;微处理器运行默认程序存储区或默认程序存储器的程序可以对应用程序存储区或应用程序存储器甚至整个程序存储器进行编程。
3.根据权利要求1所述的通讯控制器,其特征在于按照一定的通讯规范及协议实现设备与设备之间的连接通信,该通讯控制器的通讯方式可以是USB、LAN、CAN、1394、BLUETOOTH、WLAN、UWB、WUSB等其中的一种,也可以是其它通讯方式。
4.根据权利要求1所述的微处理器,其特征在于其可以运行程序存储器的程序实现对与其连接的部件的逻辑控制,其可以是微处理器、微控制器、单片机、DSP或FPGA/CPLD等可编程逻辑器件。
5.根据权利要求1所述的默认程序,其特征在于其可以被固化于程序存储器之中,不需要通过通讯接口在通信过程中对其编程或更改其内容;微处理器运行该程序可以控制和管理通讯控制器实施默认的相关通讯协议并实现默认状态的仿真、调试、测试或编程中的部分或全部功能。
6.根据权利要求1所述的应用程序,其特征在于其所在存储区域及内容可以在通信过程中被更改或编程,微处理器运行该程序可以控制和管理通讯控制器实施应用通讯协议并实现应用状态的所有功能。
7.根据权利要求1所述的一种可编程设备,其在通讯中测试或编程的方法,该方法的特征是在可编程设备中设定一个状态标志,在可编程设备生产、测试或程序存储器被擦除等初始条件下,首先固化默认程序于特定存储区域并设定可编程设备处于默认状态,当该可编程设备通过其通讯控制器与其它设备连接时,该可编程设备运行其默认程序并按照默认的测试或编程的通讯协议与相连的设备进行数据通信。该可编程设备的状态标志可以被与其连接的设备通过命令设置改变。一旦可编程设备的状态标志被设定为应用状态,该可编程设备即运行其应用程序或同时运行应用程序及默认程序并按照相应通讯协议与相连的设备进行数据通信。
全文摘要
该发明涉及计算机通讯技术、微处理器/单片机及可编程器件等技术领域。本发明可以实现单一通讯接口的仿真、测试、调试或编程通信及应用通信的多功能。该可编程设备包括程序存储器、微处理器、通讯控制器等部分,其具有两种状态,在默认状态时,微处理器运行默认程序,控制和管理通讯控制器与其它设备连接并接收其它设备的指令或数据对该设备进行仿真、测试、调试或编程操作;在应用状态时,微处理器运行应用程序或同时运行应用程序及默认程序,按具体应用要求控制和管理通讯控制器与其它设备连接并接收其它设备的指令或数据,实现具体的应用通信功能。
文档编号G06F11/00GK1920806SQ200510021509
公开日2007年2月28日 申请日期2005年8月23日 优先权日2005年8月23日
发明者郭阳斌, 郭阳勇 申请人:成都联星微电子有限公司, 郭阳斌, 郭阳勇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1