首页 / 专利库 / 软件 / 软件 / 一种嵌入式工控仪表软件开发平台

一种嵌入式工控仪表软件开发平台

阅读:784发布:2023-01-25

专利汇可以提供一种嵌入式工控仪表软件开发平台专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种嵌入式工控仪表 软件 开发平台,包括 硬件 驱动层、系统平台调度层、产品应用层和产品定制层,硬件驱动层和系统平台调度层构成平台核心层,产品应用层和产品定制层构成产品层;硬件驱动层包括工控仪表相关硬件模 块 的驱动代码,系统平台调度层包括嵌入式 操作系统 基本调度管理功能和工控仪表基本处理功能的代码,产品应用层包括工控仪表不同种类产品的相关公共代码,产品定制层包括针对不同的具体产品的各定制代码;硬件驱动层和系统平台调度层的代码经编译封装成LIB库文件,供产品应用层和产品定制层的代码调用。该软件开发平台有利于实现产品开发的标准化、规范化和协同化,加快开发效率,提高研发资源利用率,降低开发和维护成本。,下面是一种嵌入式工控仪表软件开发平台专利的具体信息内容。

1.一种嵌入式工控仪表软件开发系统,其特征在于:包括硬件驱动层、系统平台调度层、产品应用层和产品定制层,所述硬件驱动层和系统平台调度层构成平台核心层,所述产品应用层和产品定制层构成产品层;所述硬件驱动层包括工控仪表相关硬件模的驱动代码,所述系统平台调度层包括针对工控仪表开发的内核软件相关调度管理功能的代码,所述产品应用层包括各种系列化产品对应的公共代码,所述产品定制层包括系列化产品中各具体产品对应的定制代码;
所述硬件驱动层的代码经编译封装成驱动库文件,通过函数调用的方式供产品层使用,所述系统平台调度层的代码分为可编译成LIB库和无法编译成LIB库两部分,可编译成LIB库的代码也通过函数调用的方式供产品层使用,无法编译成LIB库的代码,以源代码的形式提供给产品层,采用功能注册或消息驱动机制的方法进行调度管理;
将产品层所有的变量分为四类:占CPURAM空间的动态参数、占程序FLASH空间的二级参数、占程序FLASH空间而更新程序不受影响的调校参数以及需要掉电存储到FLASH中的RAM变量的掉电存储运行参数,进行工控仪表产品程序开发时,将各种变量调度处理算法在系统平台调度层中设计、调试完成,产品层只针对所述四类变量的相应结构体进行参数定义、应用。
2.根据权利要求1所述的一种嵌入式工控仪表软件开发系统,其特征在于:进行工控仪表产品程序开发时,在硬件驱动层,每个工控仪表产品设置有一个对应的配置文件,定义和硬件相关的类型配置及引脚定义,驱动代码各工控仪表产品共用,编译器根据配置文件生成相应的驱动库文件;在系统平台调度层,所有工控仪表产品共用源代码,根据硬件驱动层的配置文件生成经过裁剪编译后的调度库文件和相应的驱动库文件一起提交给产品层的程序进行编译链接,生成最终的产品程序烧写代码。
3.根据权利要求1所述的一种嵌入式工控仪表软件开发系统,其特征在于:该平台还包括用于工控仪表开机引导及程序升级更新的启动代码,在向工控仪表产品中烧写程序时,所述启动代码烧写在程序区0地址开始的空间,其他代码烧写在0x1000开始的程序空间,利用芯片程序区末尾的部分空间作为掉电保存参数的存储空间。
4.根据权利要求1所述的一种嵌入式工控仪表软件开发系统,其特征在于:所述硬件驱动层包括CPU、存储芯片、AD采样芯片、DA输出芯片、继电器、LED数码管、LCD屏、触摸屏、OLED屏、按键、蜂鸣器、中断模块、RTC、看狗、网络模块、USB、IIC总线、SPI总线、CAN总线、zigbee模块、UART、I/O模块、定时器、低功耗休眠模块的驱动代码。
5.根据权利要求1所述的一种嵌入式工控仪表软件开发系统,其特征在于:所述系统平台调度层包括参数存储调度及设置管理、AD采样调度、DA输出调度、串口通信调度、画面显示调度、按键处理、报警控制、时钟管理、通讯协议调度、定时处理调度、软件看门狗调度、低功耗管理、休眠唤醒调度、PID调节控制、流量积算、电工量测量、程序升级、操作权限管理、记录及报表、输入法管理、打印输出、画面组态控件、通用函数调用的代码。
6.根据权利要求1所述的一种嵌入式工控仪表软件开发系统,其特征在于:包括针对电仪表、安全栅隔离器、流量仪表、压力仪表、温控仪表、物位仪表、数显仪表、变送仪表、无纸记录仪的相关公共代码。
7.根据权利要求1所述的一种嵌入式工控仪表软件开发系统,其特征在于:所述产品应用层支持用定义表格的方法来实现通讯、显示画面的功能设计,以减少后期开发的编码量。

说明书全文

一种嵌入式工控仪表软件开发平台

技术领域

[0001] 本发明涉及嵌入式工控仪表软件开发技术领域,特别是一种适用于基于ARM CORTEX-M3/M4处理器开发的嵌入式工控仪表的软件开发平台。

背景技术

[0002] 国内工控数显仪表从80年代末发展至今,从模仿国外仪表到自主创新,并成功替代进口仪表,产品逐渐进入成熟期,随着研发生产企业的增多,客户需求从过去注重功能向注重品牌、服务、产品品质发展,对仪表设计的专业化、个性化定制提出更高的要求。
[0003] 过去工控数显仪表只要能实现信号采集、LED显示、继电器控制、模拟输出、通讯功能,再加上PID控制算法、流量算法的支持,基本就能满足用户的要求。随着技术的进步,客户应用要求的升级,逐步增加LCD显示、低功耗节能、强抗干扰、无线组网、NET组网、USB支持、特殊算法支持、多回路调节控制等功能要求。为提高产品竞争,提高产品性价比,企业开发要求通过软件减少或降低对硬件的需求,简化生产工艺及维修流程。这些需求对软件开发提出了更高的要求。
[0004] 早期工控数显仪表主要采用8位的51单片机以及部分16位CPU来实现,随着32位ARM芯片价位的不断降低及实现复杂功能需求的增加,采用32位机开发工控数显仪表将逐渐成为主流。目前,在稍微复杂的仪表开发上采用最新CORTEX-M3/M4系列的ARM芯片做主处理器,其性价比已超越51系列单片机,其最低成本不足1美元,但集成的资源、运行速度大大超越了51单片机。因此,在今后较复杂功能的产品开发中,采用该系列CPU必将进一步提升产品的功能及性价比,但是也使新产品设计的复杂程度不断增加。
[0005] 早期工控数显仪表的软件开发主要由公司中几个骨干技术人员在整个开发过程中单人独立完成,其设计源码、技术及经验主要积累在几位骨干中,这样一旦产品出现问题,其他开发人员很难介入。加上各人所用芯片各不相同,开发工具、编译环境也不一样,即使技术骨干之间也很难介入他人设计的产品开发中,而个人的成功经验别人也无法进行复制、推广。一旦出现人员流失,后续的产品研发及维护将耗费巨大的资源及损失。因此,随着产品设计复杂度的不断提高,这种开发模式已难以满足要求,仪表开发企业迫切需要能快速、优质、高效满足客户需求的开发新模式,若能实现多人协同开发、管理,将大大缩短产品的研发周期。而不同程序员之间考虑到保密性、结构完整性、编码格等因素,如何实现方便的技术复用成为一个亟待解决的问题。

发明内容

[0006] 本发明的目的在于克服现有技术的不足,提供一种嵌入式工控仪表软件开发平台,该软件开发平台有利于实现产品开发的标准化、规范化和协同化,加快开发效率,提高研发资源利用率,降低开发和维护成本。
[0007] 为实现上述目的,本发明的技术方案是:一种嵌入式工控仪表软件开发平台,包括硬件驱动层、系统平台调度层、产品应用层和产品定制层,所述硬件驱动层和系统平台调度层构成平台核心层,所述产品应用层和产品定制层构成产品层;所述硬件驱动层包括工控仪表相关硬件模的驱动代码,所述系统平台调度层包括针对工控仪表开发的内核软件相关调度管理功能的代码,所述产品应用层包括各种系列化产品对应的公共代码,所述产品定制层包括系列化产品中各具体产品对应的定制代码;
[0008] 所述硬件驱动层的代码经编译封装成驱动库文件,通过函数调用的方式供产品层使用,所述系统平台调度层的代码分为可编译成LIB库和无法编译成LIB库两部分,可编译成LIB库的代码也编译成调度库文件供产品层调用,无法编译成LIB库的代码,以源代码的形式提供给产品层,采用功能注册或消息驱动机制的方法进行调度管理。
[0009] 与现有技术相比,本发明的有益效果是构建了一个针对工控仪表开发的集专用程序库、驱动库、算法库及调度管理等一体的软件开发平台,通过该平台开发系列产品,有利于提高产品开发的标准化、规范化、通用化和协同化,形成一种搭积木的开发模式,不仅可以提高后期产品的研发效率,保证产品质量在前期产品上不断提升,而且可以提高代码复用率,减少重复开发工作,提高研发资源的利用率,极大地减轻了研发人员的工作量,使研发人员可以将精力集中在客户应用功能的开发上,使仪表产品向高端化发展,涉入国外仪表占据的领域,在提升产品档次的同时为各行业的应用降低成本。此外,该软件开发平台使多人并行研发成为可能,使新产品的开发从个人开发模式过渡到团队协同分层开发,减少了产品开发对单一技术人员的依赖程度,大大降低了产品开发和后期维护成本。附图说明
[0010] 图1是本发明实施例的实现原理框图

具体实施方式

[0011] 本发明嵌入式工控仪表软件开发平台,如图1所示,分四层设计,包括硬件驱动层、系统平台调度层、产品应用层和产品定制层,所述硬件驱动层和系统平台调度层构成平台核心层,所述产品应用层和产品定制层构成产品层;所述硬件驱动层包括工控仪表相关硬件模块的驱动代码,所述系统平台调度层包括针对工控仪表开发的内核软件相关调度管理功能的代码,所述产品应用层包括各种系列化产品对应的公共代码,所述产品定制层包括系列化产品中各具体产品对应的定制代码,利用这一层实现产品的快速定制。
[0012] 产品应用层针对硬件设计不同种类的系列化产品的公共代码,形成针对不同种类产品的标准产品功能,产品定制层在标准产品功能的基础上根据各产品的具体要求设计相应的定制代码,实现系列化产品的差异化编程。产品应用层的开发主要采用填表格的方式进行设计,系统平台调度层根据表格的信息进行相应功能的调度,减少了后期开发的编码量,既加快了开发速度,又提高了软件设计的可靠性。
[0013] 所述硬件驱动层的代码经编译封装成驱动库文件,通过函数调用的方式供产品层使用,所述系统平台调度层的代码分为可编译成LIB库和无法编译成LIB库两部分,可编译成LIB库的代码也编译成调度库文件供产品层调用,无法编译成LIB库的代码,以源代码的形式提供给产品层,采用功能注册或消息驱动机制的方法进行调度管理。
[0014] 设置系统平台调度层,是为了简化产品应用层的开发,将各产品软件设计有共性的地方提取出来,进行统一的调度管理,使产品应用层只专注产品的功能开发,减少应用层代码量,而系统的调度及可靠性管理由系统平台调度层完成,使产品开发人员不需要很高的编程平就能设计出可靠、功能复杂的产品,缩短产品开发周期,简化后期维护。整个系统平台调度层又分成2个部分,由于编译的关系,有些和产品应用层关系密切的代码无法编译成lib库使用,将这部分调度代码放置在系统平台调度层的USER目录中,采用#include命令以源代码的方式提供给产品应用层,采用功能注册或消息驱动机制的方法实现代码的调度管理(使应用层专注考虑功能设计)。而与产品应用层编译要求不紧密的代码则编译成lib库,以函数调用的方式供应用层调用。
[0015] 进行工控仪表产品程序开发时,在硬件驱动层,每个工控仪表产品设置有一个对应的配置文件,定义和硬件相关的类型配置及引脚定义,驱动代码各工控仪表产品共用,编译器根据配置文件进行裁剪生成相应的驱动库文件;在系统平台调度层,所有工控仪表产品共用源代码,根据硬件驱动层的配置文件生成经过裁剪编译后的调度库文件和相应的驱动库文件一起提交给产品层的程序进行编译链接,生成最终的产品程序烧写代码。
[0016] 该平台还包括用于工控仪表开机引导及程序升级更新的启动代码,在向工控仪表产品中烧写程序时,所述启动代码烧写在程序区0地址开始的空间,其他代码烧写在0x1000开始的程序空间,利用芯片程序区末尾的部分空间作为掉电保存参数的存储空间,省略了CPU外扩的参数掉电存储芯片。
[0017] 本发明的嵌入式工控仪表软件开发平台,将产品层所有的变量分为四类:占CPU RAM空间的动态参数、占程序FLASH空间的二级参数、占程序FLASH空间而更新程序不受影响的调校参数以及需要掉电存储到FLASH中的RAM变量的掉电存储运行参数,为保证各种异常情况下的数据可靠存储(如存储中发生掉电情况的处理,定义空间溢出的处理,参数通讯读写的保护处理、CPU时钟变化后读写时序间隔的自动调整等),进行工控仪表产品程序开发时,将各种变量调度处理算法在系统平台调度层中设计、调试完成,产品层只针对所述四类变量的相应结构体进行参数定义、应用,至于如何保存、调度不用关心,大大方便了后期产品的开发。避免新开发人员因经验不足造成产品数据存储丢失、溢出等现象的发生。
[0018] 在本发明的较佳实施例中,上述硬件驱动层包括CPU、存储芯片、AD采样芯片、DA输出芯片、继电器、LED数码管、LCD屏、触摸屏、OLED屏、按键、蜂鸣器、中断模块、RTC、看狗、网络模块、USB、IIC总线、SPI总线、CAN总线、zigbee模块、UART、I/O模块、定时器、低功耗休眠模块以及专用芯片等的驱动代码。
[0019] 上述系统平台调度层包括参数存储调度及设置管理、AD采样调度、DA输出调度、串口通信调度、LED或LCD的画面显示调度(应用级只要定义画面数,各画面的显示内容。画面的切换、刷新等功能由软件平台实现调度)、按键处理、报警控制、时钟管理、通讯协议调度、定时处理调度、软件看门狗调度、低功耗管理、休眠唤醒调度、PID调节控制、流量积算、电工量测量、程序升级、操作权限管理、记录及报表、输入法管理、打印输出、画面组态控件、通用函数调用的代码。
[0020] 上述产品应用层包括针对电力仪表、安全栅隔离器、流量仪表、压力仪表、温控仪表、物位仪表、数显仪表、变送仪表、无纸记录仪等不同种类产品的相关公共代码。
[0021] 本发明软件开发平台适用于基于ARM CORTEX-M3/M4处理器开发的嵌入式工控仪表的软件开发。32位机的编译系统支持程序库的设计,程序代码区可通过程序编程进行擦写,这些新特性为本发明软件开发平台的设计实现提供了技术保证,另外32位ARM芯片采用统一的指令系统,同一个系列几十种不同资源配置的IC,管脚数相同情况下其管脚定义也兼容,这为芯片替换、功能升级提供了极大的方便,从而使本发明具有很强的实用意义。
[0022] 以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈