CN104965713B - 基于集成开发环境的芯片级控制器开发平台及其控制方法 - Google Patents
基于集成开发环境的芯片级控制器开发平台及其控制方法 Download PDFInfo
- Publication number
- CN104965713B CN104965713B CN201510436074.4A CN201510436074A CN104965713B CN 104965713 B CN104965713 B CN 104965713B CN 201510436074 A CN201510436074 A CN 201510436074A CN 104965713 B CN104965713 B CN 104965713B
- Authority
- CN
- China
- Prior art keywords
- program
- module
- instruction
- host computer
- catalogue
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于集成开发环境的芯片级控制器开发平台,包括程序检测模块用于检测上位机下传的指令表;其中,在上位机中设置以平台为核心的集成开发环境,用户通过上位机中进行编程和操作。翻译模块将程序检测模块检测过的指令表翻译成具体指令;运行调试模块用于控制翻译模块翻译出的指令工作的进程;程序存储模块用于存储常用控制程序;程序ID模块用于存储查找和调用程序存储模块中每个常用控制程序的信息;当指令中需要调用常用控制程序,运行调试模块根据程序ID模块中存储的常用控制程序的信息,找到相应的常用控制程序,从程序存储模块中把程序提取出来并进行调用。本发明使用更加简单、方便,而且提供的平台更加的多元化,使用的范围广,生产成本低。
Description
技术领域
本发明属于微电子系统中的控制器领域,特别涉及一种基于集成开发环境的芯片级控制器开发平台及其控制方法。
背景技术
目前控制器一般都采用DSP或单片机(CPU或MCU)作为核心芯片或元部件。但掌握控制器的设计和编程技术需要工程技术人员付出大量的时间和心血去学习和在实践中摸索经验。其实很多工程技术人员主要目的是为了实现某一控制目的或对所收集到的数据进行处理,对于固件即CPU或DSP开发只是一种必须使用的手段。但开发固件(单片机或DSP)本身并不是一件容易的事,对于一些从事非计算机专业的工程人员,开发数字固件不是这些工程人员的长项。同时目前大部分单片机等固件都是需要C语言或者汇编等复杂的编程语句,工程技术人员必须要用这些语言来编程才能控制单片机。这样无形中增加了对控制器开发的难度,而且学习这种开发技术需要费很长的时间和消耗很大的精力,耽误了工程的进度甚至导致开发失败。
发明内容
发明目的:本发明的目的在于针对现有技术的不足,提供了一种使用方便、简单的芯片级控制器的开发平台。
技术方案:本发明提供了基于集成开发环境的芯片级控制器开发平台,开发平台包括程序检测模块、翻译模块、运行调试模块、程序存储模块和程序ID模块;其中,所述程序检测模块用于检测上位机下传的指令表;所述翻译模块将所述程序检测模块检测过的指令表翻译成具体指令;所述运行调试模块用于控制翻译模块翻译出的指令工作的进程;所述程序存储模块用于存储常用控制程序;所述程序ID模块用于存储查找和调用所述程序存储模块中每个常用控制程序的信息;所述程序检测模块与上位机连接,并对上位机下传的指令表进行检测,所述程序检测模块将检测合格的指令表传至翻译模块进行翻译,所述翻译模块将翻译后的指令传至所述运行调试模块,所述运行调试模块控制目标控制器工作,当指令中需要调用常用控制程序,所述运行调试模块根据程序ID模块中存储的常用控制程序的信息,找到相应的常用控制程序,从程序存储模块中把程序提取出来并进行调用。
进一步,所述程序存储模块为ROM或Flash。
进一步,所述程序存储模块中存储的常用控制程序为滤波程序、数据采样程序、PID控制程序、数据处理程序、芯片间通信程序;所述每个常用控制程序对应不同的PLC编程梯形图的图形和编号,所述对应的图形数据的索引和编号存储在所述程序ID模块中。
本发明还提供一种基于集成开发环境的芯片级控制器开发平台的控制方法,包括以下步骤:
步骤1:上位机将用户编好的PLC梯形图程序进行检查和翻译,并将翻译成的指令表发送至程序检测模块;
步骤2:程序检测模块对上位机传输的指令表进行检测,如果指令表符合要求,则将指令表传输至翻译模块;如果指令表不符合要求,则向上位机报错;
步骤3:翻译模块将接收到的指令表翻译成具体指令,并将翻译成的指令发送至运行调试模块;
步骤4:运行调试模块对根据步骤2中翻译模块发送的指令进行调试,当指令中需要调用常用控制程序,所述运行调试模块根据程序ID模块中存储的常用控制程序的信息,找到相应的常用控制程序,并从程序存储模块中把程序提取出来并进行调用,将最终的形成指令序列传输至目标控制器。
进一步,所述控制器芯片为MCU、DSP、CPU或ASIC编程芯片。
进一步,所述步骤4中,如果运行调试模块接收到的指令中包括控制指令,则目标控制器受上位机的控制,所述运行调试模块根据指令控制目标控制器工作;如果运行调试模块接收到的指令中不包括控制指令,目标控制器接收到指令后自主运行。
工作原理:本发明通过在开发平台上建立常用程序的数据库,并将常用程序模块化,用户能够直接调用常用程序,常用程序可以以图形化或编号的形式供用户选择,这样用户可以在上位机通过简单的PLC梯形图编程语言进行编程,直接调用一些常用的复杂程序对下位机进行控制。同时,本发明提供的开发平台中支持多种不同的固件芯片,比如MCU、DSP、CPU或ASIC编程芯片。
有益效果:与现有技术相比,本发明使用更加简单、方便,容易上手,而且本发明提供的平台更加的多元化,使用的范围广,生产的成本也低。
附图说明
图1为目标控制器开发仿真系统硬件结构连接图;
图2为本发明的芯片级控制器的开发平台的结构示意图;
图3为目标控制器开发仿真系统模块连接图。
具体实施方式
下面结合附图对技术方案作详细说明:
如图1所示,以本发明提供的芯片级控制器的开发平台为核心的开发系统,芯片级控制器的开发平台通过USB或RS232电缆与上位机连接,一般上位机为PC机,在PC机中设置以开发平台为核心的集成开发环境;用户在上位机的集成开发环境中进行同时芯片级控制器的开发平台通过通信线和烧写线与目标控制器连接;芯片级控制器的开发平台是整个开发系统的关键部件,目标控制器可以直接设置在用户的系统内,也可以独立存在。目标控制器可以为MCU、DSP、CPU或ASIC等编程芯片中的一种或多种组合。其中,在上位机的软件集成开发环境中一般包括编辑模块、语法检查模块、编译模块、调试模块和烧写模块。其中,编辑模块是给用户编写程序的页面模块,用户采用PLC梯形图进行编程。
如图2所示,本发明提供的芯片级控制器的开发平台,包括程序检测模块、翻译模块、运行调试模块、程序存储模块和程序ID模块。其中,程序检测模块用于检测上位机下传的指令表;翻译模块将程序检测模块检测过的指令表翻译成具体指令;运行调试模块用于控制翻译模块翻译出的指令工作的进程;程序存储模块用于存储常用控制程序;程序ID模块用于存储查找和调用程序存储模块中每个常用控制程序的信息;程序检测模块与上位机连接,并对上位机下传的指令表进行检测,程序检测模块将检测合格的指令表传至翻译模块进行翻译,翻译模块将翻译后的指令传至运行调试模块,运行调试模块控制目标控制器工作,当指令中需要调用常用控制程序,运行调试模块根据程序ID模块中存储的常用控制程序的信息,找到相应的常用控制程序,从程序存储模块中把程序提取出来并进行调用。一般程序存储模块采用ROM或Flash,不仅可以用于存储常用程序,还可以用于存储临时数据。
如图3所示,基于芯片级控制器的开发平台的开发和控制方法为:包括以下步骤:
步骤1:上位机将用户在集成开发环境编好的PLC梯形图程序进行检查和翻译,并将翻译成的指令表发送至程序检测模块;
当用户在集成开发环境中将控制程序编写好后,编辑模块将程序传输至语法检查模块进行检查,如果程序没有语法错误,语法检查模块将检查好的程序传输至编译模块编译成指令表。其中将PLC梯形图程序编译成指令表的方法为:PLC梯形图程序生成AOV图,再由AOV图生成二叉树,最后遍历二叉树生成指令表。
编译后的指令表被传输至调试模块,在调试模块中主要是把用户编写的程序进行单步执行的结果显示出来,让用户可以根据自己的需求进行修改。当用户确定需要的运行的程序后,调试模块将指令表传输到发明提供的芯片级控制器的开发平台。如果用户选择了烧写模块中的烧写指令,则调试模块在向芯片级控制器的开发平台发送指令表时会增加烧写程序的指令表。
步骤2:程序检测模块对上位机传输的指令表进行检测,这里主要是对程序再次检验,避免错误。主要是对语句表检验,防止误码,保证接到的语句表是准确无误的,如果指令表符合要求,则将指令表传输至翻译模块;如果指令表不符合要求,则向上位机报错;
步骤3:翻译模块将接收到的指令表翻译成指令,并将翻译成的指令发送至运行调试模块;
步骤4:运行调试模块对根据步骤2中翻译模块发送的指令进行调试,当指令中需要调用常用控制程序,所述运行调试模块根据程序ID模块中存储的常用控制程序的信息,找到相应的常用控制程序,并从程序存储模块中把程序提取出来并进行调用;将这些程序和数据从程序存储模块中提取出来,按照客户的编程要求进行组织,将最终的形成指令序列传输至目标控制器。其中,常用控制程序包括滤波程序、数据采样程序、PID控制程序、数据处理程序、芯片间通信程序等程序。
程序ID模块有的还包括了每个常用控制程序适应的芯片信息,当用户在编程时选择了目标控制的芯片,则在运行调试模块中会进行判断,如果用户选用的常用程序与其选用的芯片不适用,则运行调试模块会将错误信息反馈至上位机。其中,目标控制器芯片可以为MCU、DSP、CPU或ASIC编程芯片。
如果运行调试模块接收到的指令中包括控制指令,则目标控制器受上位机的控制,所述运行调试模块根据指令控制目标控制器工作;如果运行调试模块接收到的指令中不包括控制指令,则开发平台通过烧写线将上位机上的程序烧写到目标控制器中,目标控制器根据接收到指令自主运行。
Claims (7)
1.一种基于集成开发环境的芯片级控制器开发平台,其特征在于:包括程序检测模块、翻译模块、运行调试模块、程序存储模块和程序ID模块;其中,所述程序检测模块用于检测上位机下传的指令表;所述翻译模块将所述程序检测模块检测过的指令表翻译成具体指令;所述运行调试模块用于控制翻译模块翻译出的指令工作的进程;所述程序存储模块用于存储常用控制程序;所述程序ID模块用于存储查找和调用所述程序存储模块中每个常用控制程序的信息;所述程序检测模块与上位机连接,并对上位机下传的指令表进行检测,所述程序检测模块将检测合格的指令表传至翻译模块进行翻译,所述翻译模块将翻译后的指令传至所述运行调试模块,所述运行调试模块控制目标控制器工作,当指令中需要调用常用控制程序,所述运行调试模块根据程序ID模块中存储的常用控制程序的信息,找到相应的常用控制程序,从程序存储模块中把程序提取出来并进行调用;其中,在上位机的软件集成开发环境中包括编辑模块、语法检查模块、编译模块、调试模块和烧写模块;当用户在集成开发环境中将控制程序编写好后,编辑模块将程序传输至语法检查模块进行检查,如果程序没有语法错误,语法检查模块将检查好的程序传输至编译模块编译成指令表;编译后的指令表被传输至调试模块,在调试模块中主要是把用户编写的程序进行单步执行的结果显示出来,让用户可以根据自己的需求进行修改;当用户确定需要的运行的程序后,调试模块将指令表传输到程序检测模块;如果用户选择了烧写模块中的烧写指令,则调试模块在向程序检测模块发送指令表时会增加烧写程序的指令表,程序检测模块通过烧写线将上位机上的程序烧写到目标控制器中,目标控制器根据接收到指令自主运行。
2.根据权利要求1所述的基于集成开发环境的芯片级控制器开发平台,其特征在于:所述程序存储模块为ROM或Flash。
3.根据权利要求1所述的基于集成开发环境的芯片级控制器开发平台,其特征在于:所述程序存储模块中存储的常用控制程序为滤波程序、数据采样程序、PID控制程序、数据处理程序、芯片间通信程序;所述每个常用控制程序对应不同的PLC编程梯形图的图形和编号,所述对应的图形数据的索引和编号存储在所述程序ID模块中。
4.一种基于权利要求1所述的基于集成开发环境的芯片级控制器开发平台的控制方法,其特征在于:包括以下步骤:
步骤1:上位机将用户编好的PLC梯形图程序进行检查和翻译,并将翻译成的指令表发送至程序检测模块;
步骤2:程序检测模块对上位机传输的指令表进行检测,如果指令表符合要求,则将指令表传输至翻译模块;如果指令表不符合要求,则向上位机报错;
步骤3:翻译模块将接收到的指令表翻译成具体指令,并将翻译成的指令发送至运行调试模块;
步骤4:运行调试模块对根据步骤2中翻译模块发送的指令进行调试,当指令中需要调用常用控制程序,所述运行调试模块根据程序ID模块中存储的常用控制程序的信息,找到相应的常用控制程序,并从程序存储模块中把程序提取出来并进行调用,将最终的形成指令序列传输至目标控制器;
其中,在上位机的软件集成开发环境中包括编辑模块、语法检查模块、编译模块、调试模块和烧写模块;当用户在集成开发环境中将控制程序编写好后,编辑模块将程序传输至语法检查模块进行检查,如果程序没有语法错误,语法检查模块将检查好的程序传输至编译模块编译成指令表;编译后的指令表被传输至调试模块,在调试模块中主要是把用户编写的程序进行单步执行的结果显示出来,让用户可以根据自己的需求进行修改;当用户确定需要的运行的程序后,调试模块将指令表传输到程序检测模块;如果用户选择了烧写模块中的烧写指令,则调试模块在向程序检测模块发送指令表时会增加烧写程序的指令表,程序检测模块通过烧写线将上位机上的程序烧写到目标控制器中,目标控制器根据接收到指令自主运行。
5.根据权利要求4所述的基于集成开发环境的芯片级控制器开发平台的控制方法,其特征在于:所述程序ID模块中存储了每个常用控制程序在上位机中对应的图形、编号和在程序存储模块中的位置信息。
6.根据权利要求4所述的基于集成开发环境的芯片级控制器开发平台的控制方法,其特征在于:所述控制器芯片为MCU、DSP、CPU或ASIC编程芯片。
7.根据权利要求4所述的基于集成开发环境的芯片级控制器开发平台的控制方法,其特征在于:所述步骤4中,如果运行调试模块接收到的指令中包括控制指令,则目标控制器受上位机的控制,所述运行调试模块根据指令控制目标控制器工作;如果运行调试模块接收到的指令中不包括控制指令,目标控制器接收到指令后自主运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510436074.4A CN104965713B (zh) | 2015-07-22 | 2015-07-22 | 基于集成开发环境的芯片级控制器开发平台及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510436074.4A CN104965713B (zh) | 2015-07-22 | 2015-07-22 | 基于集成开发环境的芯片级控制器开发平台及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104965713A CN104965713A (zh) | 2015-10-07 |
CN104965713B true CN104965713B (zh) | 2018-04-13 |
Family
ID=54219747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510436074.4A Active CN104965713B (zh) | 2015-07-22 | 2015-07-22 | 基于集成开发环境的芯片级控制器开发平台及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104965713B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814480B (zh) * | 2019-01-18 | 2021-10-08 | 广州宁基智能系统有限公司 | Plc与线控程序之间的可视化交互方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566839A (zh) * | 2009-06-01 | 2009-10-28 | 杭州电子科技大学 | 一种梯形图内嵌组态算法的实现方法 |
CN102722142A (zh) * | 2011-12-09 | 2012-10-10 | 绍兴文理学院 | 基于图编程的轴承切削自动生产线专用控制系统 |
CN104217068A (zh) * | 2014-08-22 | 2014-12-17 | 深圳市汇川控制技术有限公司 | 一种plc图形化组态设计系统和方法 |
-
2015
- 2015-07-22 CN CN201510436074.4A patent/CN104965713B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566839A (zh) * | 2009-06-01 | 2009-10-28 | 杭州电子科技大学 | 一种梯形图内嵌组态算法的实现方法 |
CN102722142A (zh) * | 2011-12-09 | 2012-10-10 | 绍兴文理学院 | 基于图编程的轴承切削自动生产线专用控制系统 |
CN104217068A (zh) * | 2014-08-22 | 2014-12-17 | 深圳市汇川控制技术有限公司 | 一种plc图形化组态设计系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104965713A (zh) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063325B (zh) | 一种针对嵌入式软件的测试用例自动化生成装置及其方法 | |
CN109343854B (zh) | 基于zynq系统的智能自动化编译方法及系统 | |
CN104898546B (zh) | 一种基于soc的plc在线调试系统和方法 | |
US10789049B2 (en) | Recipe program code generation method and recipe compiling cloud platform system | |
CN105373407A (zh) | 嵌入式系统dsp和fpga在线升级方法 | |
CN101799506B (zh) | 基于脚本控制的芯片测试方法、装置及系统 | |
CN106648681A (zh) | 一种可编程语言编译装载系统及方法 | |
CN108897676B (zh) | 基于形式化规则的飞行引导控制软件可靠性分析系统与方法 | |
RU2015131115A (ru) | Вспомогательная система программирования программируемого контроллера и соответствующий способ | |
CN105094939B (zh) | 一种基于Makefile自动编译技术实现的软件源文件静态分析方法 | |
CN104503898A (zh) | 一种嵌入式软件调试参数实时查看的方法及系统 | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
CN101482848A (zh) | 一种在嵌入式软件运行状态下的动态调试方法及系统 | |
CN103744684A (zh) | 一种异构软硬件协同开发的方法及系统 | |
KR101722856B1 (ko) | 프로그래밍 언어 기반의 plc 자동 테스트 장치 | |
CN106021101A (zh) | 对移动终端进行测试的方法及装置 | |
CN105591779A (zh) | 网元巡检方法及装置 | |
CN101344855A (zh) | 一种基于编译的跟踪代码中特定对象的控制方法及装置 | |
CN114153743A (zh) | 基于接口自动化测试方法 | |
CN104965713B (zh) | 基于集成开发环境的芯片级控制器开发平台及其控制方法 | |
CN104991810A (zh) | 自动添加apk到安卓系统中的方法及处理系统 | |
CN101571798B (zh) | 自动化测试脚本产生及使用方法 | |
CN105700934A (zh) | 一种智能编译方法和智能编译系统 | |
CN107340995A (zh) | 一种牵引控制应用软件开发系统 | |
CN102566481A (zh) | 一种基于c语言的plc控制系统及其实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |