CN107145322A - 组态串口屏及其实现方法 - Google Patents
组态串口屏及其实现方法 Download PDFInfo
- Publication number
- CN107145322A CN107145322A CN201710324665.1A CN201710324665A CN107145322A CN 107145322 A CN107145322 A CN 107145322A CN 201710324665 A CN201710324665 A CN 201710324665A CN 107145322 A CN107145322 A CN 107145322A
- Authority
- CN
- China
- Prior art keywords
- picture
- information
- instruction
- serial ports
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明提供了一种组态串口屏及其实现方法,涉及串口屏技术领域,该串口屏包括通信接口、存储器、MCU系统、FPGA系统和显示屏,通信接口用于接收外部设备发送的工程文件;存储器包括NANDFLASH和SDRAM;其中,NANDFLASH用于存储工程文件,SDRAM内建立有显示图层,显示图层包括系统图层和用户图层;MCU系统用于将通信接口接收的工程文件下载至NANDFLASH,还用于对工程文件解码得到控制指令,获得控制指令对应的画面,并在SDRAM内的显示图层内绘制画面;FPGA系统用于驱动显示屏显示显示图层上的画面。本发明极大的简化了串口屏的应用过程,节约了人力成本,较好地提升了用户体验。
Description
技术领域
本发明涉及串口屏技术领域,尤其是涉及一种组态串口屏及其实现方法。
背景技术
串口屏是一种带串口控制的液晶屏显示设备,该设备可以通过串口和外部单片机交互通信。传统串口屏仅通过简单的上位机软件下载需要的图片和字库,并存储在NANDFLASH(闪存)中。
然而,发明人在研究过程中发现,传统串口屏在应用过程中存在以下两种主要问题:(1)需要人工利用单片机频繁地向串口屏发送各种指令,致使控制过程非常繁琐;例如,当串口屏启动后,用户利用单片机通过串口向串口屏发送大量指令数据,以初始化串口屏画面;当画面中需要显示一个矩形、椭圆等图形时,也需由用户通过串口发送指令显示;如果需要切换画面,则用户必须通过串口发送切换画面指令。也即,在运行过程中的几乎所有操作都需要由用户的单片机发送指令完成。(2)需要人工考虑因素众多,致使绘制过程复杂;例如,用户在利用串口屏开发自己的工程时,需要人工计算出所有需要绘制的坐标、考虑绘制画面元素方法,以及考虑如何建立画面元素的逻辑关系,致使串口屏的开发人员耗费大量的时间和精力在绘制界面上。综上所述,现有技术中的串口屏的画面实现过程需要人工进行复杂计算,并发送大量指令对串口屏进行控制,不仅费时费力,而且效率低下。
针对上述现有技术中的传统串口屏应用过程较为繁琐,且需要耗费较大的人力成本的问题,目前尚未提出有效的解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种组态串口屏及其实现方法,以改善现有技术中存在的传统串口屏应用过程较为繁琐,且需要耗费较大的人力成本的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种组态串口屏,包括:通信接口、存储器、MCU(Micro Control Unit,微控制单元)系统、FPGA(Field-Programmable Gate Array,现场可编程门阵列)系统和显示屏;通信接口用于接收外部设备发送的工程文件;其中,工程文件为用户编译文件,用于存储工程信息;工程信息包括图片文件、声音文件、字库文件、工程配置文件、键盘配置文件、MINIC脚本、MODBUS协议模块和FX协议模块中的多种;工程配置文件存储有画面和画面控件之间的描述信息和逻辑关系信息,以及控制指令;存储器包括NANDFLASH和SDRAM(synchronous dynamic random-access memory,同步动态随机存取内存);其中,NANDFLASH用于存储工程文件,SDRAM内建立有显示图层,显示图层包括系统图层和用户图层;MCU系统用于将通信接口接收的工程文件下载至NANDFLASH,还用于对工程文件解码得到控制指令,获得控制指令对应的画面,并在SDRAM内的显示图层内绘制画面;FPGA系统用于驱动显示屏显示显示图层上的画面。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,MCU系统包括串口通信模块、非串口接收模块、资源加载模块、指令解析模块和数据存储模块;串口通信模块用于通过串口收发数据,对存储于指令缓冲区的数据进行处理,还用于按照工程下载协议将通过串口接收到的工程文件下载至NANDFLASH中;非串口通信模块用于按照工程下载协议将通过与非串口通信模块对应的接口接收到的工程文件下载至NANDFLASH中;其中,非串口通信模块包括SD(Secure Digital,安全数码)模块和USB(Universal Serial BUS,通用串行总线)模块;SD模块与SD卡接口相对应,USB模块与USB接口相对应;资源加载模块用于从NANDFLASH中获取目标资源,将目标资源加载至指令解析模块或SDRAM内;其中,所述目标资源包括文字字模数据、声音数据或视频数据;指令解析模块用于对工程文件解码得到控制指令,以执行与控制指令对应的操作;数据存储模块用于存储工程文件中的待保存数据,以使串口屏在重启时,为指令解析模块提供待保存数据。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,通信接口包括串口,还包括USB接口、SD卡、WIFI模块、蓝牙接口、以太网接口中的一种或多种。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,工程配置文件的结构依次包括工程配置文件信息、工程画面信息、指令批处理信息、指令缓冲区信息、页面索引区、批处理索引区和指令索引区;其中,工程配置文件信息包括工程文件的基础信息;基础信息至少包括文件大小信息、版本号信息;工程画面信息包括工程画面数量信息、画面索引信息和与画面索引信息对应的页面索引区偏移地址;指令批处理信息包括指令批处理索引数量信息、指令批处理索引信息和与指令批处理索引对应的批处理索引区偏移地址;指令缓冲区信息包括指令缓冲区的容量信息以及与指令缓冲区对应的指令存储区偏移地址;页面索引区存储有与画面索引信息对应的画面信息和指令偏移地址;批处理索引区存储有与指令批处理索引信息对应的批处理信息和批处理指令偏移地址;指令索引区存储有指令信息和批处理指令信息。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,指令解析模块用于按照如下步骤对工程文件解码:查找与工程画面信息对应的页面索引区,根据页面索引区内的画面信息和指令偏移地址,确定指令索引区内与指令偏移地址对应的控制指令,解析控制指令,以执行与控制指令对应的操作。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,串口通信模块用于按照如下步骤对存储于指令缓冲区的数据进行处理:为存储于指令缓冲区的数据建立双向队列;按照预设周期读取数据的帧头和帧尾,根据读取到的帧头和帧尾判断数据是否完整;如果是,将数据发送至指令解析模块,以使指令解析模块对数据进行解码;如果否,丢弃数据。
第二方面,本发明实施例还提供一种组态串口屏的实现方法,该方法采用第一方面任一项可能的实施方式所提供的组态串口屏执行,包括:通信接口接收外部设备发送的工程文件;NANDFLASH通过MCU系统下载工程文件;MCU系统对工程文件解码得到控制指令,获得控制指令对应的画面,并在SDRAM内的显示图层内绘制画面;FPGA系统驱动显示屏显示显示图层上的画面。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,在SDRAM内的显示图层绘制画面包括:在SDRAM内建立多个显示图层;其中,显示图层包括系统图层和用户图层;采用图层切换的方式进行画面切换,以绘制画面。
结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,采用图层切换的方式进行画面切换包括:在SDRAM内建立系统图层列表;其中,系统图层列表内包括多个后台系统图层和显示系统图层;在后台系统图层上绘制预显示画面;将绘制有预显示画面的后台系统图层切换作为当前的显示系统图层,将上一个显示系统图层切换作为系统图层列表内的后台系统图层。
结合第二方面的第二种可能的实施方式,本发明实施例提供了第二方面的第三种可能的实施方式,其中,方法还包括:当接收到用户图层开启指令时,在用户图层上绘制与控制指令对应的画面;将用户图层叠加于显示系统图层上。
本发明实施例提供了一种组态串口屏及其实现方法,该组态串口屏通过接收用户编译的工程文件,由MCU系统对工程文件进行解码,并在SDRAM内的显示图层内绘制画面,最后由FPGA系统驱动显示屏显示该画面。本发明实施例提供的组态串口屏可以对包含有工程信息的工程文件自动解析,并绘制相应的画面,无需人工频繁的发送控制指令或者耗费时间精力去考虑如何在串口屏上绘制画面,极大的简化了串口屏的应用过程,节约了人力成本,较好地提升了用户体验。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的一种组态串口屏的结构示意图;
图2示出了本发明实施例所提供的另一种组态串口屏的结构示意图;
图3示出了本发明实施例所提供的一种存储于NANDFLASH内的编译后的工程文件结构示意图;
图4示出了本发明实施例所提供的一种工程配置文件结构示意图;
图5示出了本发明实施例所提供的一种MCU系统结构示意图;
图6示出了本发明实施例所提供的一种组态串口屏的应用示意图;
图7示出了本发明实施例所提供的一种组态串口屏的实现方法流程图;
图8示出了本发明实施例所提供的一种组态串口屏的具体实现方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
传统串口屏在应用过程中需要人工利用单片机频繁地向串口屏发送各种控制指令,同时还需要人工考虑串口屏上所需绘制画面的坐标、方法、逻辑关系等,致使串口屏的开发人员耗费大量的时间和精力在绘制界面上。考虑到现有技术中传统串口屏应用过程较为繁琐,且需要耗费较大的人力成本的问题,本发明实施例提供的一种组态串口屏及其实现方法,可以简化串口屏的应用过程,节约人力成本,较好地提升了用户体验。以下对本发明实施例进行详细介绍。
实施例一:
参见图1所示的一种组态串口屏的结构示意图,包括:通信接口10、存储器20、MCU系统30、FPGA系统40和显示屏50;
通信接口10用于接收外部设备发送的工程文件;其中,工程文件为用户编译文件,用于存储工程信息;工程信息包括图片文件、声音文件、字库文件、工程配置文件、键盘配置文件、MINIC脚本、MODBUS协议模块和FX协议模块中的多种;工程配置文件存储有画面和画面控件之间的描述信息和逻辑关系信息,以及控制指令;通信接口包括串口,还包括USB接口、SD卡、WIFI模块、蓝牙接口、以太网接口中的一种或多种。串口屏可以支持自定义通信协议,也可以支持MODBUS、三菱FX1协议,并可自由切换。具体的,MINIC脚本为众多脚本中的一种类型,MINIC为脚本名称;MODBUS协议模块也是众多协议中的一种,MODBUS代表协议名称,三菱FX1协议也是一种协议类型,具体可参照相关技术实现,在此不再赘述。
存储器20包括NANDFLASH和SDRAM;其中,NANDFLASH用于存储工程文件,SDRAM内建立有显示图层,显示图层包括系统图层和用户图层;
MCU系统30用于将通信接口接收的工程文件下载至NANDFLASH,还用于对工程文件解码得到控制指令,获得控制指令对应的画面,并在SDRAM内的显示图层内绘制画面;
FPGA系统40用于驱动显示屏50显示显示图层上的画面。进一步,显示屏50可以为触摸显示屏,可以接收用户指令,并将该用户指令发送至MCU系统,以与MCU系统交互信息。串口屏的触摸屏接收来自用户的触摸操作,触摸屏还用于确定触摸位置,根据当前显示的画面及该坐标显示的控件进行业务分发处理。具体的,显示屏可以为LCD显示屏。采用FPGA系统的优势在于处理速度更快,且性价比更高。
本实施例提供的上述组态串口屏通过接收用户编译的工程文件,由MCU系统对工程文件进行解码,并在SDRAM内的显示图层内绘制画面,最后由FPGA系统驱动显示屏显示该画面。本发明实施例提供的组态串口屏可以对包含有工程信息的工程文件自动解析,并绘制相应的画面,无需人工频繁的发送控制指令或者耗费时间精力去考虑如何在串口屏上绘制画面,极大的简化了串口屏的应用过程,节约了人力成本,较好地提升了用户体验。
在具体操作时,用户可以在串口屏匹配的上位机软件中利用预先设计好的美工图片等进行界面排版和控件配置,生成工程文件,然后通过串口、USB或SD卡等方式将工程文件下载至串口屏中的存储器内。
为了便于理解,参见图2所示的另一种组态串口屏的结构示意图,进一步示出了组态串口屏各部件的连接关系与交互关系。其中,通信接口包括串口、USB接口、SD接口等,MCU系统通过该通信接口进行外部通讯;存储器包括SDRAM和NANDFLASH;MCU系统与NANDFLASH交互进行工程文件解析处理,MCU系统还用与对解析后的工程文件进行显示运算,在SDRAM上内的显示图层内绘制画面,FPGA系统参与从NANDFLASH中读取图像数据到SDRAM,也即图像处理(或图片处理);具体为对SDRAM的图像画面刷新显示到显示屏中。也可理解为,FPGA用于驱动显示屏显示SDRAM的显示图层上的画面。该显示屏也可以接收用户指令,并将用户指令发送至MCU;从而实现用户交互处理。
上述工程文件和工程配置文件是组态串口屏在应用过程中的关键文件,为便于理解,在此详细说明。工程文件为配套上位机软件对用户编译产生的结果文件,参见图3所示的一种存储于NANDFLASH内的编译后的工程文件结构示意图,包含工程中的图片和声音文件、字库文件、工程配置文件、键盘配置、MINIC脚本、MODBUS协议、三菱FX协议等;同时还举例示出了一条控制指令0x00000000。具体的,图片和声音文件内存储图片索引和声音索引、图片和声音数据信息;字库文件存储字库索引及字库数据。工程文件中的工程配置文件是必不可少的,工程文件中的其余文件可以在初始化时预先存储于存储器内,诸如存储于NANDFLASH中;在串口屏的存储器内包括有大量的组态图像、控件库等,串口屏能够根据接收的当前工程配置文件,而将用户所需绘制的画面、控件、图形等逻辑操作均在内部自动完成,开发人员只需直接通过与串口屏配套的上位机软件对所需画面进行简单的拖动及配置,则可编译成工程文件,然后将工程文件下载至串口屏中即可。使得开发人员不用花费大量时间精力绘制界面,能够节约百分之九十以上的开发时间。
在具体实现时,工程配置文件的结构依次包括工程配置文件信息、工程画面信息、指令批处理信息、指令缓冲区信息、页面索引区、批处理索引区和指令索引区;
其中,工程配置文件信息包括工程文件的基础信息;基础信息至少包括文件大小信息、版本号信息;
工程画面信息包括工程画面数量信息、画面索引信息和与画面索引信息对应的页面索引区偏移地址;
指令批处理信息包括指令批处理索引数量信息、指令批处理索引信息和与指令批处理索引对应的批处理索引区偏移地址;
指令缓冲区信息包括指令缓冲区的容量信息以及与指令缓冲区对应的指令存储区偏移地址;
页面索引区存储有与画面索引信息对应的画面信息和指令偏移地址;
批处理索引区存储有与指令批处理索引信息对应的批处理信息和批处理指令偏移地址;
指令索引区存储有指令信息和批处理指令信息。
为了便于理解,参见图4所示的一种工程配置文件结构示意图,由上至下依次包括[工程配置文件描述相关信息]、[工程画面数量、索引、偏移地址]、[指令批处理数量、索引、偏移地址]、[指令缓冲区大小、偏移地址]、[页面索引区]、[批处理索引区]和[指令存储区]。
其中,[工程配置文件描述相关信息]相当于上述工程配置文件信息,用于保存文件大小、版本号等信息;[工程画面数量、索引、偏移地址]相当于上述工程画面信息,主要存储画面的索引信息,包括画面数量、索引大小、画面索引区偏移位置等信息;[指令批处理数量、索引、偏移地址]相当于上述指令批处理信息,主要用于保存指令批处理索引的数量、大小、偏移地址等相关信息;[页面索引区]用于保存工程所有与画面索引相关的信息,图4中示出了其对应有画面0、画面1直至画面n;[批处理索引区]用于保存所有与批处理索引相关信息,图4中示出了其对应有批处理0、批处理1直至批处理n;[指令存储区]保存所有指令信息和批处理指令信息,图4中示出了其对应有指令组0、指令组1、指令组n,以及批处理指令0、批处理指令1、直至批处理指令n。
在图4中的箭头示出了一种MCU系统对工程配置文件的解析方向,具体如下所示:
根据[工程画面数量、索引、偏移地址]信息查找到[页面索引区],根据显示的画面ID计算查找到对应的画面信息及画面中所有创建控件的指令偏移地址,根据解析到的偏移地址在[指令存储区]查找到所有创建控件的指令,根据既定的指令格式,解析每一条指令,在SDRAM中的显示图层中绘制对应的控件,这样就可以自动完成画面的显示功能。MCU系统还可以对画面和控件等所有元素进行进一步的解析,配置其可能存在的批处理指令。其中,画面ID为画面的身份标识,与串口屏配套的上位机会对工程文件中的每个画面、图片和控件分配一个唯一ID。
在具体应用中,上述MCU系统包括串口通信模块、非串口接收模块、资源加载模块、指令解析模块和数据存储模块;
串口通信模块用于通过串口收发数据,对存储于指令缓冲区的数据进行处理,还用于按照工程下载协议将通过串口接收到的工程文件下载至NANDFLASH中;
具体的,串口通信模块用于按照如下步骤对存储于指令缓冲区的数据进行处理:
为存储于指令缓冲区的数据建立双向队列;按照预设周期读取数据的帧头和帧尾,根据读取到的帧头和帧尾判断数据是否完整;如果是,将数据发送至指令解析模块,以使指令解析模块对数据进行解码;如果否,丢弃数据。
非串口通信模块用于按照工程下载协议将通过与非串口通信模块对应的接口接收到的工程文件下载至NANDFLASH中;其中,非串口通信模块包括SD模块和USB模块;SD模块与SD卡接口相对应,USB模块与USB接口相对应;在实际应用中,还可以采用WIFI模块、蓝牙接口、以太网接口等,在此不再赘述。
资源加载模块用于从NANDFLASH中获取目标资源,将目标资源加载至指令解析模块或SDRAM内;其中,目标资源包括文字字模数据、声音数据或视频数据;例如,在界面需要显示文字时,资源加载模块中相关的字库管理器根据字库ID、文字编码等信息加载文字字模数据;在工程需要播放声音时,资源加载模块中相关的声音管理器根据声音ID加载声音文件相关的数据进行播放;在工程需要播放视频时,资源加载模块中相关的视频管理器根据显示视频指令,通过AV接口或DVI接口加载视频数据流,进行播放视频。
指令解析模块用于对工程文件解码得到控制指令,以执行与控制指令对应的操作;
具体的,指令解析模块用于按照如下步骤对工程文件解码:
查找与工程画面信息对应的页面索引区,根据页面索引区内的画面信息和指令偏移地址,确定指令索引区内与指令偏移地址对应的控制指令,解析控制指令,以执行与控制指令对应的操作。上述过程实质为对工程文件中的工程配置文件进行解码。具体应用时,可以参照图4所示的工程配置文件结构以及箭头方向进行解码,在此不再赘述。
数据存储模块用于存储工程文件中的待保存数据,以使串口屏在重启时,为指令解析模块提供待保存数据。
为了便于理解,具体可参见图5所示的一种MCU系统结构示意图,示出了串口通信模块、SD模块、USB模块、资源加载模块、指令解析模块、数据存储模块以及IAP(In-Application programmable,在应用可编程)模块;在该图中仅示出了SD模块和USB模块,同时还示出了与串口通信模块相对接的串口,与SD模块对接的SD卡,与USB模块对接的USB,与资源加载模块对接的NANDFLASH。串口通信模块、SD模块、USB模块、资源加载模块均与指令解析模块相连,以使指令解析模块对从外部接收的数据进行解析。同时数据存储模块能够保存工程中所需保存的数据和参数,必要时可以在串口屏重新启动时再次读取。指令解析模块还与IAP模块相关联,该串口屏支持IAP功能,即可以通过自身程序修改程序区内容。图5主要示出了上述各模块的连接关系,具体的,上述模块的功能在此不再赘述。
参见图6所示的一种组态串口屏的应用示意图,该组态串口屏内部已下载有工程文件,以外部设备是单片机为例进行说明,单片机向串口屏发送绘制控制指令,串口屏内部下载的工程文件中包括多种文件及资源,诸如变量设置、逻辑处理、动画处理、MINIC脚本、键盘资源、声音资源、MODBUS协议模块、FX协议模块、画面控件等;其中,画面控件内部包括有按钮、仪表、滑块、进度条、记录控件、曲线、滑动选择器、菜单、二维码等等常用控件,构成了非常丰富的控件库,为串口屏的画面绘制提供了方便。其中,工程文件在解析加载后,经过串口屏的工程逻辑(即工程配置文件)进一步处理,使得串口屏可以基于绘制控制指令以及解析处理后的工程文件而自动绘制界面。
串口屏内可以安装有丰富的控件库,便于绘制画面时直接使用,对工程文件的绝大部分的逻辑处理均由串口屏内部处理,不需要用户单片机参与即可完成,有效降低了串口屏和单片机的通信数据量,无需人工频繁的发送控制指令或者耗费时间精力去考虑如何在串口屏上绘制画面,极大的简化了串口屏的应用过程,节约了人力成本,较好地提升了用户体验。
实施例二:
在前述实施例的基础上,本实施例提供了一种组态串口屏的实现方法,该方法采用前述实施例所提供的组态串口屏执行,参见图7所示的一种组态串口屏的实现方法流程图,包括如下步骤:
步骤S702,通信接口接收外部设备发送的工程文件;
步骤S704,NANDFLASH通过MCU系统下载工程文件;
步骤S706,MCU系统对工程文件解码得到控制指令,获得控制指令对应的画面,并在SDRAM内的显示图层内绘制画面;
步骤S708,FPGA系统驱动显示屏显示显示图层上的画面。
本实施例提供的上述组态串口屏的实现方法,通过接收用户编译的工程文件,由MCU系统对工程文件进行解码,并在SDRAM内的显示图层内绘制画面,最后由FPGA系统驱动显示屏显示该画面。上述方法可以对包含有工程信息的工程文件自动解析,并绘制相应的画面,无需人工频繁的发送控制指令或者耗费时间精力去考虑如何在串口屏上绘制画面,极大的简化了串口屏的应用过程,节约了人力成本,较好地提升了用户体验。
进一步,上述步骤S706中的“在SDRAM内的显示图层绘制画面”可以参照以下步骤执行:
步骤一:在SDRAM内建立多个显示图层;其中,显示图层包括系统图层和用户图层;
步骤二:采用图层切换的方式进行画面切换,以绘制画面。
具体的,上述采用图层切换的方式进行画面切换包括:
(1)在SDRAM内建立系统图层列表;其中,系统图层列表内包括多个后台系统图层和显示系统图层;
(2)在后台系统图层上绘制预显示画面;
(3)将绘制有预显示画面的后台系统图层切换作为当前的显示系统图层,将上一个显示系统图层切换作为系统图层列表内的后台系统图层。
进一步,为了使用户和串口屏之间的交互更加方便直接,上述方法还包括:
当接收到用户图层开启指令时,在用户图层上绘制与控制指令对应的画面;
将用户图层叠加于显示系统图层上。
为了便于理解,在此详细解释:串口屏的显示使用图层切换的方式进行画面切换,即采用多缓冲的方式,在串口屏系统图层建立一个系统图层列表,要显示某个画面时,首先在SDRAM中的后台系统图层上绘制出要显示的画面,然后将该图层切换作为串口屏显示图层,原显示图层放入后台系统图层列表循环使用。同时,系统图层也可以用于局部刷新使用,当更新画面中控件的数值等操作时,系统图层用于保存一个画面中不变的部分作为背景,将变化的部分更新到图层上,然后切换显示出来,避免画面每次更新时需要全部重新通过解析指令绘制,可以加快串口的处理速度。
某些情况下用户需要动态的创建控件或图形,然后根据条件动态的清空这些动态创建的元素,而不影响工程配置的画面,同时对处理速度有要求。所以给用户提供了两个用户图层,用户可以选择启用或关闭用户图层。如果启用了用户图层,所有通过发送指令动态创建的控件和图形均在用户图层中绘制,在串口屏显示画面时,将这个用户图层叠加到系统图层之上;当不需要这些动态创建的图形时,只需要发送清除用户图层命令即可。
进一步,参见图8所示的一种组态串口屏的具体实现方法流程图,包括如下步骤:
步骤S802:按照设计的硬件原理组成串口屏硬件,将MCU系统烧录入MCU芯片,将FPGA系统烧录入FPGA芯片;
步骤S804:利用配套上位机软件配置并编译工程文件,通过串口、USB或SD卡将该工程文件下载到串口屏的NANDFALSH;
步骤S806:MCU系统从NANDFLASH中加载工程文件,然后对工程文件中的工程配置文件进行解析;
步骤S808:在绘制画面时,在SDRAM中建立多个图层,包括系统图层和用户图层。
步骤S810:FPGA从NANDFLASH中读取图片数据到SDRAM,并将图片数据刷新显示到显示屏上;
步骤S812:当工程需要显示文字时,资源加载模块中相关的字库管理器根据字库ID、文字编码等信息加载文字字模数据;
步骤S814:当工程需要播放声音时,资源加载模块中相关的声音管理器根据声音ID加载声音文件相关的数据进行播放;
步骤S816:当工程需要播放视频时,资源加载模块中相关的视频管理器根据显示视频指令,通过AV接口或DVI接口加载视频数据流,进行播放视频;
步骤S818:串口屏通过串口和外部单片机建立通信,串口接收的数据放入指令缓冲区,通过串口通信模块对指令进行读取解析,将解析后的指令发送至MCU系统进行处理,以执行该指令对应的功能;
步骤S820:串口屏的触摸屏接收外界触摸操作,当串口屏收到触摸位置时,将根据当前显示的画面及该坐标显示的控件进行业务分发处理;
应当说明的是,本发明实施例提供的上述组态串口屏的具体实现方法并不以图8所述的具体顺序为限制。应当理解,在其它实施例中,该方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。
相较于传统串口屏,本发明实施例提供的上述组态串口屏实现方式,用户只需要通过与串口屏配套的上位机软件将工程配置好,编译之后即可生成串口屏所能理解的工程文件,并将工程文件下载到串口屏,由串口屏对该工程文件进行解析,从而自动绘制用户所需的画面,无需人工频繁的发送控制指令或者耗费时间精力去考虑如何在串口屏上绘制画面,极大的简化了串口屏的应用过程,节约了人力成本,较好地提升了用户体验。
本发明实施例所提供的一种组态串口屏及其实现方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种组态串口屏,其特征在于,包括:通信接口、存储器、MCU系统、FPGA系统和显示屏;
所述通信接口用于接收外部设备发送的工程文件;其中,所述工程文件为用户编译文件,用于存储工程信息;所述工程信息包括图片文件、声音文件、字库文件、工程配置文件、键盘配置文件、MINIC脚本、MODBUS协议模块和FX协议模块中的多种;所述工程配置文件存储有画面和画面控件之间的描述信息和逻辑关系信息,以及控制指令;
所述存储器包括NANDFLASH和SDRAM;其中,所述NANDFLASH用于存储所述工程文件,所述SDRAM内建立有显示图层,所述显示图层包括系统图层和用户图层;
所述MCU系统用于将所述通信接口接收的所述工程文件下载至所述NANDFLASH,还用于对所述工程文件解码得到控制指令,获得所述控制指令对应的画面,并在所述SDRAM内的显示图层内绘制所述画面;
所述FPGA系统用于驱动所述显示屏显示所述显示图层上的画面。
2.根据权利要求1所述的组态串口屏,其特征在于,所述MCU系统包括串口通信模块、非串口接收模块、资源加载模块、指令解析模块和数据存储模块;
所述串口通信模块用于通过串口收发数据,对存储于指令缓冲区的数据进行处理,还用于按照工程下载协议将通过串口接收到的所述工程文件下载至所述NANDFLASH中;
所述非串口通信模块用于按照所述工程下载协议将通过与所述非串口通信模块对应的接口接收到的所述工程文件下载至所述NANDFLASH中;其中,所述非串口通信模块包括SD模块和USB模块;所述SD模块与SD卡接口相对应,所述USB模块与所述USB接口相对应;
所述资源加载模块用于从所述NANDFLASH中获取目标资源,将所述目标资源加载至指令解析模块或所述SDRAM内;其中,所述目标资源包括文字字模数据、声音数据或视频数据;
所述指令解析模块用于对所述工程文件解码得到控制指令,以执行与所述控制指令对应的操作;
所述数据存储模块用于存储所述工程文件中的待保存数据,以使所述串口屏在重启时,为所述指令解析模块提供所述待保存数据。
3.根据权利要求1所述的组态串口屏,其特征在于,所述通信接口包括串口,还包括USB接口、SD卡、WIFI模块、蓝牙接口、以太网接口中的一种或多种。
4.根据权利要求2所述的组态串口屏,其特征在于,所述工程配置文件的结构依次包括工程配置文件信息、工程画面信息、指令批处理信息、指令缓冲区信息、页面索引区、批处理索引区和指令索引区;
其中,所述工程配置文件信息包括所述工程文件的基础信息;所述基础信息至少包括文件大小信息、版本号信息;
所述工程画面信息包括工程画面数量信息、画面索引信息和与所述画面索引信息对应的页面索引区偏移地址;
所述指令批处理信息包括指令批处理索引数量信息、指令批处理索引信息和与所述指令批处理索引对应的批处理索引区偏移地址;
所述指令缓冲区信息包括指令缓冲区的容量信息以及与所述指令缓冲区对应的指令存储区偏移地址;
所述页面索引区存储有与所述画面索引信息对应的画面信息和指令偏移地址;
所述批处理索引区存储有与所述指令批处理索引信息对应的批处理信息和批处理指令偏移地址;
所述指令索引区存储有指令信息和批处理指令信息。
5.根据权利要求4所述的组态串口屏,其特征在于,所述指令解析模块用于按照如下步骤对所述工程文件解码:
查找与所述工程画面信息对应的页面索引区,根据所述页面索引区内的画面信息和指令偏移地址,确定所述指令索引区内与所述指令偏移地址对应的控制指令,解析所述控制指令,以执行与所述控制指令对应的操作。
6.根据权利要求4所述的组态串口屏,其特征在于,所述串口通信模块用于按照如下步骤对存储于指令缓冲区的数据进行处理:
为存储于指令缓冲区的数据建立双向队列;
按照预设周期读取所述数据的帧头和帧尾,根据读取到的所述帧头和所述帧尾判断所述数据是否完整;
如果是,将所述数据发送至所述指令解析模块,以使所述指令解析模块对所述数据进行解码;
如果否,丢弃所述数据。
7.一种组态串口屏的实现方法,其特征在于,所述方法采用权利要求1-6任一项所述的组态串口屏执行,包括:
所述通信接口接收外部设备发送的工程文件;
所述NANDFLASH通过所述MCU系统下载所述工程文件;
所述MCU系统对所述工程文件解码得到控制指令,获得所述控制指令对应的画面,并在所述SDRAM内的显示图层内绘制所述画面;
所述FPGA系统驱动所述显示屏显示所述显示图层上的画面。
8.根据权利要求7所述的方法,其特征在于,在所述SDRAM内的显示图层绘制所述画面包括:
在所述SDRAM内建立多个显示图层;其中,所述显示图层包括系统图层和用户图层;
采用图层切换的方式进行画面切换,以绘制所述画面。
9.根据权利要求8所述的方法,其特征在于,采用图层切换的方式进行画面切换包括:
在所述SDRAM内建立系统图层列表;其中,所述系统图层列表内包括多个后台系统图层和显示系统图层;
在所述后台系统图层上绘制预显示画面;
将绘制有所述预显示画面的后台系统图层切换作为当前的显示系统图层,将上一个显示系统图层切换作为所述系统图层列表内的后台系统图层。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当接收到用户图层开启指令时,在所述用户图层上绘制与所述控制指令对应的画面;
将所述用户图层叠加于所述显示系统图层上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710324665.1A CN107145322A (zh) | 2017-05-09 | 2017-05-09 | 组态串口屏及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710324665.1A CN107145322A (zh) | 2017-05-09 | 2017-05-09 | 组态串口屏及其实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107145322A true CN107145322A (zh) | 2017-09-08 |
Family
ID=59777453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710324665.1A Pending CN107145322A (zh) | 2017-05-09 | 2017-05-09 | 组态串口屏及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107145322A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107817776A (zh) * | 2017-12-05 | 2018-03-20 | 中国地质大学(武汉) | 一种串口屏二次开发方法与系统 |
CN108710594A (zh) * | 2018-06-01 | 2018-10-26 | 西京学院 | 一种12864串口组态屏装置及控制方法 |
CN109612290A (zh) * | 2018-12-12 | 2019-04-12 | 湖北科技学院 | 一种基于组态屏的加热炉控制系统 |
CN113672122A (zh) * | 2021-08-17 | 2021-11-19 | 北京字节跳动网络技术有限公司 | 图像处理方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN204178688U (zh) * | 2014-10-20 | 2015-02-25 | 深圳市大帝金茂实业有限公司 | 一种新型的tft智能显示屏 |
CN204641669U (zh) * | 2015-04-20 | 2015-09-16 | 重庆文理学院 | 基于移动通信网的车辆安防系统 |
CN105116760A (zh) * | 2015-03-27 | 2015-12-02 | 上海大学 | 基于fpga的铁路减速顶状态动态检测系统 |
CN106155766A (zh) * | 2016-06-29 | 2016-11-23 | 广州大彩光电科技有限公司 | 一种虚拟串口屏模拟系统及其模拟方法 |
-
2017
- 2017-05-09 CN CN201710324665.1A patent/CN107145322A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN204178688U (zh) * | 2014-10-20 | 2015-02-25 | 深圳市大帝金茂实业有限公司 | 一种新型的tft智能显示屏 |
CN105116760A (zh) * | 2015-03-27 | 2015-12-02 | 上海大学 | 基于fpga的铁路减速顶状态动态检测系统 |
CN204641669U (zh) * | 2015-04-20 | 2015-09-16 | 重庆文理学院 | 基于移动通信网的车辆安防系统 |
CN106155766A (zh) * | 2016-06-29 | 2016-11-23 | 广州大彩光电科技有限公司 | 一种虚拟串口屏模拟系统及其模拟方法 |
Non-Patent Citations (1)
Title |
---|
大彩科技: "Nano 型串口屏数据手册 V4.0", 《百度文库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107817776A (zh) * | 2017-12-05 | 2018-03-20 | 中国地质大学(武汉) | 一种串口屏二次开发方法与系统 |
CN108710594A (zh) * | 2018-06-01 | 2018-10-26 | 西京学院 | 一种12864串口组态屏装置及控制方法 |
CN109612290A (zh) * | 2018-12-12 | 2019-04-12 | 湖北科技学院 | 一种基于组态屏的加热炉控制系统 |
CN113672122A (zh) * | 2021-08-17 | 2021-11-19 | 北京字节跳动网络技术有限公司 | 图像处理方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109358936A (zh) | 信息处理方法、装置、存储介质、电子设备及系统 | |
JP7013466B2 (ja) | アプリケーションデータ処理方法、装置、及びコンピュータプログラム | |
CN108010112B (zh) | 动画处理方法、装置及存储介质 | |
CN103324471B (zh) | 动态修改应用启动图标的方法、消息的发送方法、终端 | |
CN107145322A (zh) | 组态串口屏及其实现方法 | |
US11016785B2 (en) | Method and system for mirror image package preparation and application operation | |
CN103430142B (zh) | 用于编译系统映象和分割启动的方法和装置 | |
CN109445784B (zh) | 结构数据的处理方法、装置、存储介质及电子设备 | |
CN115097982B (zh) | 处理内容的方法及其电子设备 | |
CN102541538B (zh) | 一种基于移动终端的图片显示方法及装置 | |
CN105700925B (zh) | 一种app的界面实现方法和装置 | |
CN104995601B (zh) | 切换到本机网页应用程序及从本机网页应用程序切换离开 | |
CN112988400B (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
CN110198243A (zh) | 一种虚拟机的网络接入方法及相关设备 | |
CN109725948A (zh) | 一种动画资源的配置方法及装置 | |
CN111773704B (zh) | 游戏数据处理方法、装置、存储介质、处理器及电子装置 | |
EP3312720A1 (en) | Method and device for previewing dynamic image, and method and device for displaying expression package | |
CN103778211A (zh) | 移动终端游戏软件的语言切换方法及装置 | |
CN102193806B (zh) | 更新动画的方法和装置 | |
CN112306594A (zh) | 一种基于移动端的渲染方法、装置及存储介质 | |
CN109936716A (zh) | 一种显示驱动的实现方法及系统 | |
CN112579048A (zh) | 小程序集成方法、装置、电子设备及存储介质 | |
CN107423291B (zh) | 一种数据翻译方法以及客户端设备 | |
CN104598237B (zh) | 一种在升级模式下生成用户界面的方法和装置 | |
CN107203397A (zh) | 移动应用的运行方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170908 |
|
RJ01 | Rejection of invention patent application after publication |