一种zigbee微处理器芯片应用开发系统的制作方法

文档序号:6574759阅读:197来源:国知局
专利名称:一种zigbee微处理器芯片应用开发系统的制作方法
技术领域
本发明是计算机领域中涉及计算机程序的专利申请,涉及一种ZIGBEE微处理器芯片应用开发系统,尤其涉及在不同ZIGBEE微处理器生产商提供的芯片开发平台之间实现跨平台的应用开发的系统。本申请针对ZIGBEE微处理器芯片所基于的工作协议和硬件特征,采用优选的高级计算机语言的优化编程来实现以软件程序对ZIGBEE芯片进行优化、选用的灵活性和应用的高效率。
背景技术
ZIGBEE技术是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术。它兼有着无线标记技术和蓝牙技术的优点,广泛用于近距离无线连接的几乎全部技术领域中来实现监视控制、感测、信息交换和传递等应用中。ZIGBEE技术的工作运行是基于IEEE802.15.4MAC层规范的无线协议标准,能在众多的传感器之间相互协调实现通信。这些传感器只需要极小的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以通信效率非常高。
ZIGBEE技术的研发和应用实体形成的ZIGBEE联盟对其网络层协议和API进行了标准化。完整的ZIGBEE协议套件由高层应用规范、应用会聚层、网络层、数据链路层和物理层组成。在广泛应用中总结出的ZIGBEE技术的优点有数据传输速率低、功耗低、成本低、网络容量大、时延短、安全、工作频段灵活。
在目前的ZIGBEE技术的应用实践中的真实情况是,微处理器芯片的生产商(例如美国莫托罗拉公司和德州仪器公司)对自己生产的芯片进行最初的协议植入,即在自产的芯片中写入标准的ZIGBEE协议栈而形成单片机,并且由自己或由第三方向使用ZIGBEE技术进行应用开发的使用者提供必不可少的作为开发平台的硬件和软件。
本发明人特别指出,本申请中将上述的这种植入有ZIGBEE协议栈和IEEE802.15.4 MAC层规范的无线协议栈而形成的单片机连同与之配合而实现开发应用的硬件和软件开发平台一起总称为ZIGBEE微处理器芯片开发系统,简称为“ZIGBEE微处理器芯片”。
有许多生产厂商或产品的代理商提供上述的这种ZIGBEE微处理器芯片。例如飞思卡尔半导体公司生产的ZigBee芯片,其基于摩托罗拉公司生产的微处理芯片而为终端产品的制造商提供一站式的ZIGBEE开发应用平台。有关的资料可登陆网站www.icbase.com来获得。
图1是上述一类的已有技术中采用ZIGBEE微处理器芯片的开发系统的原理示意图。开发者采用开发商提供C语言源代码编辑软件(1)来开发ZIGBEE应用程序,再通过C编译器(2)软件来编译连接成特定单片机的(3)机器码序列。生成的机器码序列(3)通过计算机主机上的USB接口(5)连接的下载工具将该序列通过连接单片机的(4)调试接口下载到单片机的(6)非易丢指令存储器中。单片机指令执行系统(7)执行该机器码序列(3),从而驱动(8)符合IEEE802.15.4协议硬件设备实现ZIGBEE应用。
采用类似的开发平台实现终端产品开发的实例更是不胜枚举,例如实现车辆控制的中国专利公开CN1786859和实现通信控制的美国专利公开US2006154598。
上述的这些资料作为已有技术结合在本申请中作参考。
虽然现行的以上述形式推广的ZIGBEE微处理器芯片在实现ZIGBEE技术的应用普及方面已经发挥了重要的作用,但是也存在技术上的明显不足和缺陷,例如1.针对不同厂商提供的ZIGBEE微处理器芯片开发的应用程序的不兼容性使得实现终端应用的设计人员无法实现跨平台开发,造成芯片选择的局限性和开发成本的加大。
造成这一问题的原因是,一般说来,不同的制造商提供的微处理/单片机产品的体系结构和指令集是不同的且互不兼容。在受到复杂的IEEE 802.15.4标准和ZIGBEE协议的约束条件下,不同ZIGBEE微处理器芯片的开发/制造商为其用户提供芯片应用开发所用的软件开发系统之间的差异巨大。这使得即使对某一系统平台很熟悉的开发者在试图转向另一系统平台继续其开发应用时,在原来系统上开发的应用程序几乎完全无用。这样开发者在此时必需要花费大量的时间熟悉该另一种“新”ZIGBEE微处理器芯片的硬件特性、熟悉掌握复杂的IEEE 802.15.4标准和ZIGBEE协议才能开发符合协议的应用程序,这都将造成开发成本的增大和开发资源的浪费。
2.现行的ZIGBEE微处理器芯片的供应商所提供的开发系统存在使得嵌入在芯片中的原始嵌入的程序模块(例如协议栈)被破坏的危险。
造成这一问题的原因是,已有的ZIGBEE微处理器芯片的开发平台作为开发工具使得用户能够直接把编程的过程和原始嵌入在ZIGBEE微处理器芯片中的基础模块相联系。当着用户出现编程错误,例如采用了不正确的运算方法、代码及自定义扩展语句时,会造成原始嵌入的基础模块的质量下降甚至遭到破坏而无法正常运行。
因此,有必要提供一种新的ZIGBEE微处理器芯片的开发系统来克服上述已有技术中的上述缺陷而实现既适合针对不同厂商的不同ZIGBEE微处理器芯片实现跨平台开发的需要,又能够保障芯片中原始嵌入模块的安全性。

发明内容
本发明的提出旨在解决已有技术中的上述不足而提供能够方便地实现在不同厂商提供的ZIGBEE微处理器芯片的开发平台上实现跨平台的开发、同时也能够保证ZIGBEE微处理器芯片中由厂商提供的原始协议栈模块的安全性的一种新的跨平台ZIGBEE微处理器芯片应用开发系统。
根据本发明的一个方案,提供一种ZIGBEE微处理器芯片应用开发系统,该系统包括-应用开发平台,包括
源程序编辑器,其针对控制对象进行控制编程,编译器,其采用与硬件特征无关的高级语言程序把已控制编程的控制数据编译转换为字节码,字节码处理器,其对于编译转换而获得的字节码进行处理使之适于调制发送,-有线/无线传输装置,其通过有线/无线的方式输出由所述字节码处理器产生的字节码;-ZIGBEE微处理器芯片,包括字节码存储器,其接收并存储所述的字节码,专配固件模块,该专配固件模块是在该ZIGBEE微处理器芯片的原始固件的基础上通过与硬件特征无关的高级语言程序相关处理而产生的,用来支持对所述的已存储的字节码所定义的操作进行解释,ZIGBEE协议栈,IEEE 802.15.4协议栈,虚拟机装置,结合所述字节码和所述专配固件模块的指令并根据ZIGBEE操作协议栈和IEEE 802.15.4通信协议栈来产生实现目标控制的机器码,ZIGBEE微处理器芯片的支持硬件,根据所述的机器码来产生并输出控制目标的控制信号。
根据本发明的上述方案,其中所述的应用开发平台是一台计算机。
根据本发明的上述方案,其中所述与硬件特征无关的高级语言程序是JAVA语言。
根据本发明的上述方案,其中所述传输装置包括符合IEEE802.15.4协议标准的传输电缆或辐射天线及相关的驱动电路。
根据本发明的另一个方案,提供一种在所述的ZIGBEE微处理器芯片应用开发系统中使用的ZIGBEE微处理器芯片。所述的ZIGBEE微处理器芯片包括字节码存储器,其接收并存储表示控制功能的字节码,专配固件模块,该专配固件模块是在该ZIGBEE微处理器芯片的原始固件的基础上通过与硬件特征无关的高级语言程序相关产生的,用来支持所述的已存储的字节码所定义的操作,ZIGBEE协议栈,IEEE 802.15.4协议栈,虚拟机装置,结合所述字节码和所述专配固件模块的指令并根据ZIGBEE协议栈和IEEE 802.15.4协议栈来产生实现目标控制的机器码,ZIGBEE微处理器芯片的支持硬件,根据所述的机器码来产生并输出控制目标的控制信号。
借助本发明提供的ZIGBEE微处理器芯片应用开发系统,用户可采用JAVA之类的与硬件特征无关的高级语言来开发针对应用目标的ZIGBEE应用程序。这是由于本发明提供的ZIGBEE接口和专配固件模块并不需要开发者了解ZIGBEE细节,也不需要熟悉厂家的单片机开发系统的软件和硬件,从而大大简化了ZIGBEE和802.15.4应用的开发过程。
采用本发明提供的系统和ZIGBEE微处理器芯片,使得用户只需掌握唯一的一种开发工具和开发语言,就能生成与特定平台无关的字节码序列,由于所解释的字节码序列相同,这样就保证用户使用本发明的虚拟机(virtual machine)开发的应用能非常方便被移植到不同的硬件平台上,从而容易地实现在不同生产厂家提供的ZIGBEE微处理器芯片之间的跨平台开发。
而且,本发明提供的虚拟机功能使得在专配固件模块内部实现协议栈的同时,保证开发者完成的应用仅运行在与硬件无关的高级程序语言的解释程序里,因此开发者编写的应用部分是不会影响到协议栈正常工作,从而保证了整个系统的稳定性。


图1是已有技术中采用ZIGBEE微处理器芯片的开发系统的原理示意框图。
图2是根据本发明一个实施例的采用ZIGBEE微处理器芯片的开发系统的原理示意框图。
图3是表示根据本发明的上述实施例执行操作时的数据流的流向示意图。
具体实施例方式
下面将参照附图来描述根据本发明的实施例。通过结合附图的描述,本发明的上述的特征和优点将变得显见。
参见图2,其中示出根据本发明一个实施例的采用ZIGBEE微处理器芯片的开发系统的原理示意框图。该开发系统包括三个主要的部分应用开发平台100、有线/无线传输装置200、和ZIGBEE微处理器芯片300。
更具体地说,应用开发平台100通常是由一台个人计算机来实现的,其中装载了本发明的源程序编辑器101,使得应用开发人员能通过该源程序编辑器101来针对控制对象进行控制编程。
该应用开发平台100还包括一个编译器102,从源程序编辑器101获得程序数据流。根据本发明的一个重要的特征在于,该编译器102将采用与硬件特征无关的高级语言程序(作为非限制性举例,本实施例中采用JAVA语言进行说明,当然本发明不局限于JAVA语言,只要是与硬件特征无关的高级语言程序都可以),把已控制编程控制数据编译转换为字节码。该转换的字节码被随后送到一个字节码处理器103。由于可以通过有线或无线的方式传送该已经转换的字节码,所以该字节码处理器103将采取适当的处理方式来对该接收的已经转换的字节码进行处理以便适合将其通过有线或无线来调制发送。
如上所述,本发明的开发系统的有线/无线传输装置200把所述字节码处理器103产生的字节码有线或无线地输出到目标ZIGBEE微处理器芯片300。
本发明的重要组成部分是所述的作为目标的ZIGBEE微处理器芯片300,它用于接收由有线/无线传输装置200提供的已经转换的控制字节码并且最终完成作为开发目标的控制任务,同时实现本发明的目的和优点。
在本发明的ZIGBEE微处理器芯片300中包括有字节码存储器301,例如在本领域中广泛使用的非易失存储器,用来接收并存储所述的字节码。
本发明的ZIGBEE微处理器芯片300包括有本发明重要特征的专配固件(firmware)模块302。该专配固件模块302是在该ZIGBEE微处理器芯片的原始固件的基础上通过与硬件特征无关的高级语言,例如JAVA语言相关产生的,用来支持所述的已存储的字节码所定义的操作。这里更具体地说明“相关”的技术含义原始固件是随着硬件芯片的生产厂家的不同而不同的基于ZIGBEE操作协议和IEEE802.15.4通信协议的支持程序,本发明为了使得所接收并存储在字节码存储器301中的字节码的执行操作不再与ZIGBEE操作协议和IEEE 802.15.4通信协议直接相关联,采用了和开发平台100中的编译器所用的程序语言相同的语言,在原有固件上构建出一个新的层面,本质上是一个针对具体的原有固件的一个解释器,它将存储在字节码存储器301中的字节码解释成能够被具体的原有固件所理解/支持的数据流,如此地将原有固件相关地形成为新的专用固件模块302。该模块不仅要能够完全解释存储在字节码存储器301中的所述的字节码,还要把字节码解释为符合ZIGBEE操作协议和IEEE802.15.4通信协议信令来驱动硬件设备。
如上所述,本发明的专配固件模块302显然是根据现行所有不同厂商提供的硬件芯片种类而针对性地开发的。共同的结果是,由于其开发采用了与硬件无关的高级程序语言,并且该高级语言与开发平台100中的编译器的语言相同,所以就能使得开发者只需要熟悉使用本发明所涉及的唯一的一种开发工具和开发语言来生成的字节码序列而与具体的不同厂商提供的平台无关,即实现了跨平台开发。
此外,重要的一点是,本发明的上述特点实质上是在ZIGBEE微处理器芯片300中提供了一个虚拟机功能,如图所示,为了清楚和便于理解起见,在图2中以单独的虚框来表示出一个从功能角度上定义的“虚拟机装置303”。正是这种虚拟机装置303作用,实现把所述字节码和所述专配固件模块302的指令相结合,并根据ZIGBEE协议栈和IEEE 802.15.4协议栈来产生实现目标控制的机器码,从而实现了一种开发工具和开发语言来生成的字节码序列而与具体的不同厂商提供的平台无关的技术效果。
同时,由于上述虚拟机装置303的存在,使得开发者完成的应用是运行在JAVA解释程序里,因此开发者编写的应用程序的内容不会影响到协议栈正常工作,因此保证了整个系统的稳定性。
显然,根据本发明的上述的ZIGBEE微处理器芯片300中包括有ZIGBEE操作协议栈304和IEEE 802.15.4通信协议栈305。此外,如本领域技术人员公知的那样,在ZIGBEE微处理器芯片300中的ZIGBEE微处理器芯片的支持硬件306将根据所述的机器码来产生并输出控制目标的控制信号。
上面参照附图2描述了本发明的ZIGBEE微处理器芯片的开发系统。但是明显的是,上述的ZIGBEE微处理器芯片300本身可以作为一个部件而单独使用,特别是在完成了专配固件模块的302的建立和字节码对于字节码存储器301的写入之后。
作为一个在开发平台100上开始进行源程序的编译的实例申请人给出下列的一个产生的字节码演示,其中使用的与硬件无关的高级语言是JAVA语言。但是应该指出,在实际的应用中,本专业的技术人员可以采用任何其它适合要求的高级语言。
在本实施例中,用户在应用开发平台100(PC终端)用源程序编辑器101来编辑JAVA(根据本实施例的要求)程序,经过编译器102的编译后,经过工具处理后生成虚拟机字节码文件,通过字节码处理器103的处理,由有线/无线传输装置200送到含发明专配固件模块302的ZIGBEE微处理器芯片300的字节码存储器301中,即完成用户开发过程。
例如在PC终端编辑如下程序class test{static int count=0;
static int tt=0;public static void main(String[]args){System.out.println(″DEMO 1.0″);Adc.setPrescal er(Adc.DIV64);Adc.setReference(Adc.INTERNAL);while(true){count=Adc.getValue(Adc.CHANNELVBG);count=count/512;count=count+1;Port.setBit(count);}}}编译后将产生如下JAVA虚拟机字节码0xfe,0xaf,0x15,0xbe,0x01,0x03,0x01,0x00,0x0f,0x00,0x25,0x00,0x02,0x10,0x00,0x02,0x00,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x20,0x41,0x44,0x43,0x20,0x76,0x65,0x72,0x20,0x31,0x2e,0x30,0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x15,0x00,0x01,0x00,0x00,0x01,0x01,0x02,0x43,0x00,0x02,0x00,0x01,0x00,0x00,0x01,0x1a,0xb7,0x10,0x00,0xb1,0x11,0x11,0x00,0x12,0x00,0xb6,0x12,0x01,0x10,0x06,0xb8,0x1a,0x01,0x11,0x00,0xc0,0xb8,0x1a,0x02,0x10,0x0e,0xb8,0x1a,0x03,0xb3,0x00,0x00,0xb2,0x00,0x00,0x11,0x02,0x00,0x6c,0xb3,0x00,0x00,0xb2,0x00,0x00,0x04,0x60,0xb3,0x00,0x00,0xb2,0x00,0x00,0xb8,0x16,0x03,0xa7,0xff,0xe0,0x03,0xb3,0x00,0x00,0x03,0xb3,0x00,0x01,0xb1将该字节码输入到并存储在字节码存储器301中,借助于ZIGBEE微处理器芯片300中的专配固件模块302、虚拟机303、ZIGBEE操作协议栈304、IEEE 802.15.4通信协议栈305的如上所述的操作,就能够从单片机支持硬件306输出所希望的执行该程序控制功能的控制信号。
图3是表示根据本发明的上述实施例执行操作时的数据流的流向示意图。用来形象地描述在如上所述的本发明实施例的ZIGBEE微处理器芯片的开发系统中执行程序的开发时的数据流向。
在本实施例的说明中把整个采用本发明的ZIGBEE微处理器芯片应用开发系统进行开发的数据的形成/流动过程大致分成如图所示的四个阶段。
在T1阶段,开发人员在图2所示的应用开发平台100的源程序编辑器101上进行应用程序的编辑(采用高级描述语言来对应用进行描述),由于采用的是与硬件特征无关的高级语言程序(例如JAVA,但是本发明不局限于JAVA语言),开发人员的工作轻松方便,开发的程序将能够应用在采用本开发系统的任何厂家的硬件芯片上。
在T2阶段,开发人员编辑的高级语言程序由编译器102进行编译,形成字节码序列。
在T3阶段,编译器102输出的字节码序列由字节码处理器103处理后,经有线/无线传输装置200传送到目标ZIGBEE微处理器芯片300的字节码存储器301。
在T4阶段,通过ZIGBEE微处理器芯片300中的专配固件模块302来执行对于字节码存储器301已经寄存的字节码解释操作,实现虚拟机303的功能,从而单片机支持硬件306输出根据所述的机器码产生的控制信号。
以上通过附图对本发明的实施例进行了详细的描述。如上所述,本发明具备非常明显的实用性和技术的进步性。采用ZIGBEE微处理器芯片和相应的开发系统,系统用户采用与硬件特征无关的高级语言来开发针对应用目标的ZIGBEE应用程序,在应用开发平台的编译器和ZIGBEE微处理器芯片中的专配固件模块的支持下实现控制程序的开发,与使用的硬件芯片的型号、生产厂家无关,从而实现了跨平台的开发。
而且,由于本发明提供的虚拟机功能,保证开发者完成的应用是运行在所用的高级语言的解释程序中,因此开发者编写的应用部分不会影响到协议栈正常工作,从而保证了整个系统的稳定性。
虽然上文的描述和附图提供了本发明的优选实施例,但应理解的是,在不偏离如所附权利要求定义的本发明原理的精神和范围的条件下,可以作出各种添加、修改和替代。本专业技术人员将理解到,在本发明的实践中可以使用形式、结构、设计、连接方式、组件与元件等许多修改,在不背离本发明原理的条件下,以这样的修改来适应具体的环境和操作要求。因此,给出的公开实施例在各方面都将被认为是说明性的和非限制性的,本发明的范围由附加的权利要求及其法律上的等同物所揭示,而不局限于上述的描述。
权利要求
1.一种ZIGBEE微处理器芯片应用开发系统,该系统包括—应用开发平台,包括源程序编辑器,其针对控制对象进行控制编程,编译器,其采用与硬件特征无关的高级语言程序把已控制编程的控制数据编译转换为字节码,字节码处理器,其对于编译转换而获得的字节码进行处理使之适于调制发送,—有线/无线传输装置,其通过有线/无线的方式输出由所述字节码处理器产生的字节码;—ZIGBEE微处理器芯片,包括字节码存储器,其接收并存储所述的字节码,专配固件模块,该专配固件模块是在该ZIGBEE微处理器芯片的原始固件的基础上通过与硬件特征无关的高级语言程序相关处理而产生的,用来支持对所述的已存储的字节码所定义的操作进行解释,ZIGBEE协议栈,IEEE 802.15.4协议栈,虚拟机装置,结合所述字节码和所述专配固件模块的指令并根据ZIGBEE协议栈和IEEE 802.15.4协议栈来产生实现目标控制的机器码,ZIGBEE微处理器芯片的支持硬件,根据所述的机器码来产生并输出控制目标的控制信号。
2.根据权利要求1的ZIGBEE微处理器芯片应用开发系统,其中所述的应用开发平台是一台计算机。
3.根据权利要求1的ZIGBEE微处理器芯片应用开发系统,其中所述与硬件特征无关的高级语言程序是JAVA语言。
4.根据权利要求1的ZIGBEE微处理器芯片应用开发系统,其中所述传输装置包括符合IEEE 802.15.4协议标准的传输电缆或辐射天线及相关的驱动电路。
5.一种ZIGBEE微处理器芯片,包括字节码存储器,其接收并存储表示控制功能的字节码,专配固件模块,该专配固件模块是在该ZIGBEE微处理器芯片的原始固件的基础上通过与硬件特征无关的高级语言程相关处理而产生的,用来支持所述的已存储的字节码所定义的操作,ZIGBEE协议栈,IEEE 802.15.4协议栈,虚拟机装置,结合所述字节码和所述专配固件模块的指令并根据ZIGBEE操作协议栈和IEEE 802.15.4通信协议栈来产生实现目标控制的机器码,ZIGBEE微处理器芯片的支持硬件,根据所述的机器码来产生并输出控制目标的控制信号。
全文摘要
一种ZIGBEE微处理器芯片应用开发系统,包括应用开发平台、有线/无线传输装置和基于单片机的ZIGBEE微处理器芯片。开发平台中的编译器和ZIGBEE微处理器芯片中的专配固件模块基于与硬件特征无关的高级语言程序,形成的虚拟机把用户开发的程序和协议栈隔离开,从而实现了在不同厂商提供的ZIGBEE微处理器芯片之间的跨平台开发,并且保证了整个系统的稳定性。
文档编号G06F9/45GK101025687SQ20071009020
公开日2007年8月29日 申请日期2007年4月13日 优先权日2007年4月13日
发明者王镜纯 申请人:王镜纯
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1