一种以移动设备为基础的集成电路编程系统及方法

文档序号:6383223阅读:196来源:国知局
专利名称:一种以移动设备为基础的集成电路编程系统及方法
技术领域
本发明涉及电子、微电子领域,具体地,涉及一种以移动设备为基础的集成电路编程系统及方法。
背景技术
移动设备或者又称为手持设备(如智能手机、平板电脑、各种手持终端等)代表了电子及信息技术领域的新的发展方向。由于这类设备能够帮助使用者及时、方便地获取信息,随时随地进行通信、娱乐等活动,加之其价格不断下降、功能不断增强,他们正成为随处可见、人人必备的工作和生活必需品。随着移动设备的普及,以移动设备为基础,在其上面开发新的附加功能(如刷卡器等)越来越成为一个不错的选择。一方面,由于附加功能是在移动设备的软硬件平台上面完成的,这样的附加功能往往比独立的设备更具有成本优势;另一方面,这样开发的产品的便携性也往往更好;还有,由于人们往往更经常使用移动设备,对其更熟悉,这些附加其上的产品也往往用户界面更加友好、具有更好的易用性。例如,相对与专用的GPS设备,在手机上实现的GPS往往更加具有上面所说的这些优势。在这样的背景下,以移动设备为基础实现编程器产品成为可能。这里所说的编程器是指将代码或者数据“下载”到一些集成电路(如微控制器、可编程逻辑器件等)的存储空间(如EEPR0M、Flash Memory等)中的设备。如果不进行这样的“下载”,则这些集成电路无法工作。这样的编程器(或者叫烧录器)被广泛应用在电子、微电子、汽车、自动化、通信等行业。在使用编程器的用户中,有很多用户对编程器的移动性、便携性有强烈的需求。例如,有些用户使用编程器对户外甚至野外的电子设备进行编程(如为了修复程序中的Bug而更新程序等),在这样的情况下,编程器移动性和便携性就显得尤为重要。一般情况下,专业的编程器由于使用场合、研发成本、生产数量等因素的限制,其价格要明显高于移动设备;其体积也往往明显大于移动设备,从而造成了便携性要差于一般的移动设备。从使用方面讲,专业编程器的操作过程也往往比一般的移动设备复杂,其用户界面不如移动设备的用户界面友好、其易用性也往往比一般的移动设备差。因此,在移动设备的基础上开发的编程器,往往能够在上述方面取得明显的改善。这样的改善尤其对于那些对移动性、便携性需求强烈的用户而言,有很强的吸引力而且意义重大。此外,由于移动设备一般具有无线通信能力,以移动设备为基础完成的编程器一般也就自然而然地具有了无线通信能力,能够通过无线网络进行文件传输、通信等操作。在实现本发明的过程中,发明人发现现有技术中至少存在成本高、体积大、便携性差、用户界面不友好、易用性差等缺陷。

发明内容
本发明的目的在于,针对上述问题,提出一种以移动设备为基础的集成电路编程系统,以实现成本低、体积小、便携性好、用户界面友好、易用性好等优点。本发明的另一目的在于,提出一种以移动设备为基础的集成电路编程方法。为实现上述目的,本发明采用的技术方案是一种以移动设备为基础的集成电路编程系统,主要包括移动设备、用于将所述移动设备与目标设备连接的连接模块、以及运行于移动设备上的实现编程功能的软件。进一步地,所述连接模块,包括在所述移动设备与目标设备之间的接口协议不兼容时用于完成移动设备与目标设备之间的信号转换、以及在需要电压转换时用于完成移动设备与目标设备之间的电压幅度转换的编程扩展模块,或者在所述移动设备与目标设备之间的接口协议兼容时、能够直接将移动设备与目标设备连接的信号连接线(如直接连接电缆)。进一步地,所述编程扩展模块,包括用于与移动设备连接的第一接口,用于与目标设备连接的第二接口,以及连接在所述第一接口与第二接口之间的协议转换芯片。这里,第一接口可以是miniUSB、Lighting、厂商(如诺基亚、三星、苹果等)自己定制的协议等;第二接口可以是如 JTAG、UART、CAN、SPI、I2C、SWD、ISSP、BDM、M0N08、ICSP,CSI、CSIHS、MICROffIRE, ICC、SWIM,SBW、Flexray、Microwire, SCC 等。进一步地,所述协议转换芯片,包括依次连接在所述第一接口与第二接口之间的现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,简称CPLD)或专用的协议转换芯片(如FTDI公司的接口转换芯片);
可选地,所述协议转换芯片,还包括连接在所述第二接口与现场可编程门阵列FPGA或复杂可编程逻辑器件CPLD或专用协议转换芯片之间的电压转换模块;
可选地,所述协议转换芯片,还包括与所述现场可编程门阵列FPGA或复杂可编程逻辑器件CPLD或专用协议转换芯片连接的高速缓冲存储器。具体地,上述协议转换芯片是直接利用现有技术的。一般而言有两中可能,一种是芯片本身可直接进行协议转换,如=FTDI公司的接口转换芯片;另一种是可编程逻辑器件,如FPGA、复杂可编程逻辑器件(Complex Programmable Logic Device,简称CPLD)等,对于可编程逻辑器件而言,用户需要对其进行定制开发,然后将开发好的文件配置到芯片中去,虽然开发工作量更大,但是其优点是用户可以按照自己的需求设计其所转换的协议。可选地,所述编程扩展模块,还包括用于在需要多路输出时实现对多个目标设备编程的多路输出模块,从而实现对多个目标设备编程。进一步地,所述移动设备,包括CPU,分别与所述CPU连接的存储器和外设接口,以及嵌入在所述存储器中、且能够在CPU控制下进行的操作系统和编程应用程序;所述外设接口,能够直接或间接与目标设备连接。这里,操作系统与编程应用程序都是软件。其代码一般存放在存储器或者CPU的存储部分中。当该移动设备开始工作时,CPU会执行这些代码。进一步地,所述移动设备,包括智能手机、平板电脑、掌上电脑、便携式媒体播放器和笔记本电脑。同时,本发明采用的编程软件部分是一种以移动设备为基础的集成电路编程方法,其主要步骤包括 对移动设备进行初始化,通过连接模块将移动设备与目标设备建立连接;
通过移动设备,将编程驱动程序和待编程数据发送至目标设备;
对目标设备进行编程。进一步地,在该移动设备的操作系统上运行编程软件。进一步地,所述对目标设备进行编程的操作,即编程软件控制移动设备完成编程功能,具体包括
初始化编程环境,显示各种信息,响应用户操作,执行编程功能;其中
初始化编程环境的操作,具体包括初始化内存,读取接口状态;
显示各种信息的操作,具体包括当前移动设备信息、目标芯片信息、连接情况、编程进
度;
响应用户操作的操作,具体包括选择需要编程的文件,设置编程扩展模块的输出电压、开始编程,终止编程;
执行编程功能的操作,具体包括将各种命令及数据以适当的信号从接口送出。本发明各实施例的以移动设备为基础的集成电路编程系统及方法,由于该系统主要包括移动设备,以及用于将移动设备与目标设备连接的连接模块;可以通过连接模块在移动设备与目标设备之间建立连接,改善客户对移动性和便携性的需求,随时随地对目标设备进行编程;从而可以克服现有技术中成本高、体积大、便携性差、用户界面不够友好、易用性差的缺陷,以实现成本低、体积小、便携性好、用户界面友好、易用性好的优点。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中
图Ia和图Ib为以移动设备为基础的集成电路编程系统的工作原理框 图2为编程扩展模块的工作原理框 图3为以移动设备为基础的集成电路编程方法的流程示意 图4为以移动设备为基础的集成电路编程系统优选实施例的工作原理框图。结合附图Ia和附图lb,本发明实施例中附图标记如下
101-移动设备;102_目标设备;103_编程扩展模块;104_编程应用程序;105_操作系统;106-外设接口 ; 107-存储器;108- CPU ; 109-接口; 110-目标芯片;111-移动设备与目标设备之间的直接连接电缆。结合附图2,本发明实施例中附图标记如下
201-接口 A (即第一接口);202_协议转换芯片;203-接口 B (即第二接口)。结合附图4,本发明实施例中附图标记如下
401-手机;402_编程扩展模块;403-目标设备;404_接口 A (即第一接口);405_FPGA ;406-电压转换模块;407_接口 B (即第二接口);408_高速缓冲存储器(cache)。
具体实施例方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。系统实施例
根据本发明实施例,如图la、图lb、图2和图4所示,提供了一种以移动设备为基础的集成电路编程系统。参见图Ia和图lb,本实施例的以移动设备为基础的集成电路编程系统,主要包括具有操作系统和在该操作系统上开发的编程应用程序的移动设备(如图Ia和图Ib中的移动设备101),以及用于将移动设备与目标设备(如图Ia和图Ib中的目标设备102)连接的连接模块。该连接模块,包括在移动设备与目标设备之间的接口协议不兼容时用于完成移动设备与目标设备之间的信号转换、以及在需要电压转换时用于完成移动设备与目标设备之间的电压幅度转换的编程扩展模块(如图Ia中的编程扩展模块103),或者在移动设备与目标设备之间的接口协议兼容时、能够直接将移动设备与目标设备连接的信号连接线(如图Ib中的直接连接电缆111)。该移动设备,包括CPU (如图Ia和图Ib中的CPU 108),分别与CPU连接的存储器(如图Ia和图Ib中的存储器107)和外设接口(如图Ia和图Ib中的外设接口 106),以及嵌入在所述存储器中、且能够在CPU控制下进行运行的操作系统(如图Ia和图Ib中的操作系统105)和编程应用程序(如图Ia和图Ib中的编程应用程序104);外设接口,能够直接或间接与目标设备连接。例如,移动设备,可以包括智能手机(如图4中的手机401)、平板电脑、掌上电脑、便携式媒体播放器和笔记本电脑。相应的目标设备,包括与连接模块连接的接口(如图Ia和图Ib中的接口 109),以及与该接口连接的目标芯片(如图Ia和图Ib中的目标芯片110)。参见图2,上述编程扩展模块,包括用于与移动设备连接的第一接口(如图2中的接口 A 201),用于与目标设备连接的第二接口(如图2中的第二接口 B 203),以及连接在第一接口与第二接口之间的协议转换芯片(如图2中的协议转换芯片202)。另外,编程扩展模块,还可以包括电压转换模块以及多路输出模块。参见图4,上述协议转换芯片,包括依次连接在第一接口(如图4中的接口 A 404)与第二接口(如图4中的接口 B 407 )之间的现场可编程门阵列FPGA(如图4中的FPGA 405 )或复杂可编程逻辑器件CPLD或专用协议转换芯片;可选地,该协议转换芯片还可以包括连接在第二接口与现场可编程门阵列FPGA或复杂可编程逻辑器件CPLD或专用协议转换芯片之间的电压转换模块(如图4中的电压转换模块406);可选地,该协议转换芯片还可以包括与现场可编程门阵列FPGA或复杂可编程逻辑器件CPLD或专用协议转换芯片连接的高速缓冲存储器(即cache,如图4中的高速缓冲存储器408)。上述实施例的以移动设备为基础的集成电路编程系统,在移动设备的基础上通过增加软件及硬件模块,实现编程器。参见图Ia和图lb,该集成电路编程系统的硬件部分,包括移动设备(如图Ia和图Ib中的移动设备101)和编程扩展模块(如图Ia和图Ib中的编程扩展模块103)两部分,目标设备(如图Ia和图Ib中的目标设备102)是在编程过程中被编程的设备。在绝大多数情况下,移动设备和目标设备之间的接口(由于协议不兼容)不能直接连接,必须通过一个编程扩展模块(如图Ia中的编程扩展模块103)完成两者接口之间的信号与电压幅度的转换;也有在个别情况下,移动设备和目标设备的接口协议能够直接兼容(例如二者都用miniUSB接口,参见图Ib中的模块111 ),那么移动设备与目标设备之间就不需要再增加额外的编程扩展模块。作为一个主要的硬件部分组成部分,编程扩展模块的最主要功能是协议转换。图2所示为该编程扩展模块的基本架构。其中,主要的协议转换工作由一片协议转换芯片(如图2中的协议转换芯片202)完成。移动设备(如智能设备)的信号以其输出接口的协议(如miniUSB)由接口 A (即第一接口,如图2中的接口 A 201)进入到该协议转换芯片后,协议转换芯片将该信号转换成目标设备能够接收的协议(如JTAG、UART、CAN、SPI、I2C、SWD、ISSP、BDM、M0N08、ICSP、CSI、CSIHS、MICROWIRE、ICC, SWIM, SBff, Flexray,Microwire 和 SCC 接口中的任意多种),然后再由接口 B (即第二接口,如图2中的接口 B 203)发送到目标设备中去。经过这样一个转换后,智能设备就能够与目标设备进行通信并对其进行编程操作了。除了进行协议转换之外,该编程扩展模块还可以(根据用户需要)具有多路器的功能。也就是说,该编程扩展模块可以将移动设备的一路编程信号转换成为多路信号(如多路输出模块),从而完成对多个目标设备同时进行编程的目的。对于一般的移动设备而言,其硬件部分至少包括了一个CPU和数据存储部分(如RAM,ROM等);其软件部分一般包括一种操作系统(如谷歌公司的Andriod、苹果公司的iOS、微软公司的Windows或Windows Phone、RIM公司的Blackberry、或者开源的Linux等)。本编程器的编程软件部分是针对这种移动操作系统开发的,并且作为该移动设备的一个应用(Application)运行在这个操作系统之上。为了使编程软件具有更广泛的适用性,它往往具有多个应用于不同操作系统的版本,例如 Android 版、iOS 版、Windows 版、Windows Phone 版、Blackberry 版、Linux 版等等。优选地,参见图4。在图4中,移动设备可以为一台运行的Android操作系统的智能手机(如图4中的手机401),该智能手机可以通过miniUSB接口与编程扩展模块(如图4中的编程扩展模块402)相连,该编程扩展模块主要由一片Altera公司的Cyclon V系列FPGA芯片作为核心。智能手机发出的控制信号从编程扩展模块的miniUSB接口 A (404)进入该模块,然后,再由FPGA将该信号转换为JTAG/SWD/SPI/I2C信号中的一种,转换后的信号再经过一个TI公司的电压转换(Voltage Level Conversion)芯片(406),然后通过接口B (407)发送到目标设备(403)。这里的电压转换模块的主要功能是实现对目标设备的电压适配。例如,目标设备的系统工作在I. 8V电压下,而编程扩展模块上的工作电压为3. 3V时,则该电压转换模块能够将烧录扩展模块(即编程扩展模块)输出的信号转换到目标模块的工作电压下。另外,为了对传输的数据进行缓冲,在编程扩展模块上还安装了一块ISSI公司的SRAM,其容量为2M字节。编程器的软件部分是针对Android操作系统开发的应用(Application),其用户界面完全按照一般智能手机的操作习惯设计,以方便用户使用。该软件可以运行在各种运行Android操作系统的移动设备(如各种智能手机、平板电脑等)上面。方法实施例
根据本发明实施例,如图3所示,提供了一种以移动设备为基础的集成电路编程方法,主要包括
步骤300 :对移动设备进行初始化,执行步骤301 ;
步骤301 :通过连接模块(如编程扩展模块或miniUSB接口),在移动设备与目标设备之间建立连接,执行步骤302 ;
步骤302 :通过移动设备,将编程驱动程序发送至目标设备,执行步骤303 ;
步骤303 :通过移动设备,将待编程数据发送至目标设备,执行步骤304 ;
步骤304 :对目标设备进行编程。在步骤300至步骤304中,在移动设备的操作系统上可以运行编程软件。在步骤304中,对目标设备进行编程的操作,即编程软件控制移动设备完成编程功能,具体包括
初始化编程环境,显示各种信息,响应用户操作,执行编程功能等;其中
初始化编程环境的操作,具体包括初始化内存,读取接口状态等;
显示各种信息的操作,具体包括当前移动设备信息、目标芯片信息、连接情况、编程进度等;
响应用户操作的操作,具体包括选择需要编程的文件,设置编程扩展模块的输出电压、开始编程,终止编程等;
执行编程功能的操作,具体包括将各种命令及数据以适当的信号从接口送出等。上述步骤300-步骤304,为以移动设备为基础的集成电路编程方法(即以移动设备为基础的集成电路编程系统的软件部分)的一个流程图3,其主要步骤包括初始化、与目标设备建立连接、发送驱动程序到目标设备、发送数据到目标设备、编程操作等。某些编程扩展模块只具有输出一路信号的能力,一次只能对一个目标设备进行编程;另一些编程扩展模块具有输出多路信号的能力,从而具有对多个目标设备进行编程的能力。用户可以根据自身的需要选择相应的模块。上述各实施例的以移动设备为基础的集成电路编程系统及方法,至少具有以下的优点
(I)由于编程器(即以移动设备为基础的集成电路编程系统)是在移动设备的基础上实现的,充分利用了移动设备的软硬件平台,因此它与专业的烧录器产品相比,具有明显的价格优势;
⑵ 基于同样的原因,该编程器(即以移动设备为基础的集成电路编程系统)与专业的烧录器相比,体积更小,便携性大大提高;
(3)由于该编程器(即以移动设备为基础的集成电路编程系统)的软件在移动操作系统(如Android、iOS、Windows等)上开发的,其用户界面往往更友好、其易用性往往比传统的编程器更好;
⑷由于大多数移动设备都具有无线通信的能力,使得该编程器(即以移动设备为基础的集成电路编程系统)天然就具有了无线通信、文件传输的能力,能够充分利用无线通信、无线互联网领域的各种外部资源(如云存储、云计算等外部平台)。最后应说明的是以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种以移动设备为基础的集成电路编程系统,其特征在于,主要包括具有操作系统和在该操作系统上开发的编程应用程序的移动设备,以及用于将所述移动设备与目标设备连接的连接模块。
2.根据权利要求I所述的以移动设备为基础的集成电路编程系统,其特征在于,所述连接模块,包括在所述移动设备与目标设备之间的接口协议不兼容时用于完成移动设备与目标设备之间的信号转换、以及在需要电压转换时用于完成移动设备与目标设备之间的电压幅度转换的编程扩展模块,或者在所述移动设备与目标设备之间的接口协议兼容时、能够直接将移动设备与目标设备连接的信号连接线。
3.根据权利要求2所述的以移动设备为基础的集成电路编程系统,其特征在于,所述编程扩展模块,包括用于与移动设备连接的第一接口,用于与目标设备连接的第二接口,以及连接在所述第一接口与第二接口之间的协议转换芯片。
4.根据权利要求3所述的以移动设备为基础的集成电路编程系统,其特征在于,所述协议转换芯片,包括依次连接在所述第一接口与第二接口之间的现场可编程门阵列FPGA或复杂可编程逻辑器件CPLD或专用协议转换芯片;和/或, 还包括连接在所述第二接口与现场可编程门阵列FPGA或复杂可编程逻辑器件CPLD或专用协议转换芯片之间的电压转换模块;和/或, 还包括与所述现场可编程门阵列FPGA或复杂可编程逻辑器件CPLD或专用协议转换芯片连接的高速缓冲存储器。
5.根据权利要求2所述的以移动设备为基础的集成电路编程系统,其特征在于,所述编程扩展模块,还包括用于在需要多路输出时实现对多个目标设备编程的多路输出模块。
6.根据权利要求1-5中任一项所述的以移动设备为基础的集成电路编程系统,其特征在于,所述移动设备,包括CPU,分别与所述CPU连接的存储器和外设接口,以及嵌入在所述存储器中、且能够在CPU控制下进行运行的操作系统和编程应用程序;所述外设接口,能够直接或间接与目标设备连接。
7.根据权利要求1-5中任一项所述的以移动设备为基础的集成电路编程系统,其特征在于,所述移动设备,包括智能手机、平板电脑、掌上电脑、便携式媒体播放器和笔记本电脑。
8.一种以移动设备为基础的集成电路编程方法,其特征在于,主要包括 对移动设备进行初始化,通过连接模块将移动设备与目标设备建立连接; 通过移动设备,将编程驱动程序和待编程数据发送至目标设备; 对目标设备进行编程。
9.根据权利要求8所述的以移动设备为基础的集成电路编程方法,其特征在于,在该移动设备的操作系统上运行编程软件。
10.根据权利要求8或9所述的以移动设备为基础的集成电路编程方法,其特征在于,所述对目标设备进行编程的操作,即编程软件控制移动设备完成编程功能,具体包括 初始化编程环境,显示各种信息,响应用户操作,执行编程功能;其中 初始化编程环境的操作,具体包括初始化内存,读取接口状态; 显示各种信息的操作,具体包括当前移动设备信息、目标芯片信息、连接情况、编程进度;响应用户操作的操作,具体包括选择需要编程的文件,设置编程扩展模块的输出电压、开始编程,终止编程; 执行编程功能的操作,具体包括将各种命令及数据以适当的信号从接口送出。
全文摘要
本发明公开了一种以移动设备为基础的集成电路编程系统及方法,该系统主要包括具有操作系统和在该操作系统上开发的编程应用程序的移动设备,以及用于将所述移动设备与目标设备连接的连接模块。本发明所述以移动设备为基础的集成电路编程系统及方法,可以克服现有技术中成本高、体积大、便携性差、用户界面友好性差和易用性差等缺陷,以实现成本低、体积小、便携性好、用户界面友好、易用性好、具有跨硬件平台能力等优点。
文档编号G06F13/40GK102981858SQ20121051543
公开日2013年3月20日 申请日期2012年12月5日 优先权日2012年12月5日
发明者楚丰, 王力波, 刘静 申请人:楚丰
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1