CN1667590A - 一种快速开发嵌入式应用系统的方法及应用系统 - Google Patents

一种快速开发嵌入式应用系统的方法及应用系统 Download PDF

Info

Publication number
CN1667590A
CN1667590A CN 200510031450 CN200510031450A CN1667590A CN 1667590 A CN1667590 A CN 1667590A CN 200510031450 CN200510031450 CN 200510031450 CN 200510031450 A CN200510031450 A CN 200510031450A CN 1667590 A CN1667590 A CN 1667590A
Authority
CN
China
Prior art keywords
embedded application
data
application plate
exchange card
embedded
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.)
Granted
Application number
CN 200510031450
Other languages
English (en)
Other versions
CN100399292C (zh
Inventor
李云钢
常文森
龙志强
张鼎
程虎
柯朝雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CNB2005100314508A priority Critical patent/CN100399292C/zh
Publication of CN1667590A publication Critical patent/CN1667590A/zh
Application granted granted Critical
Publication of CN100399292C publication Critical patent/CN100399292C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种快速开发嵌入式应用系统的方法及应用系统,通过设置可使嵌入式应用板与PC机相连之数据交换卡,由PC机直接对嵌入式应用系统硬件进行测试,嵌入式应用板进行最基本的数据采集、输出和传输,然后通过PC机及其高级语言开发的数据处理软件与嵌入式系统协调工作,完成数据处理任务,软件调试完成后,将PC机的数据处理工作移植到嵌入式应用板中。本发明由于嵌入式应用板只进行最基本的数据采集、数据输出和数据传输,其本身的软件设计十分简单,应用系统的软件在开发阶段可充分利用PC机的软硬件资源,且硬件和软件设计可相对独立,硬件和软件可分别升级,并具有很好的继承性,可实现嵌入式应用系统的快速开发,既缩短了开发周期,还可降低开发成本。

Description

一种快速开发嵌入式应用系统的方法及应用系统
技术领域
本发明涉及一种嵌入式应用系统,特别涉及一种对于软件或算法特别复杂的嵌入式应用系统的开发。
背景技术
嵌入式应用系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,它主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用软件等部分组成,用于实现对其它设备的控制、监视和管理等功能,通常嵌入在主要设备中运行。目前,以单片机或DSP为处理器的嵌入式应用系统在数据采集、数据处理、控制等领域中有较多的需求,但嵌入式应用系统的开发需要一定的硬件设计与调试能力,比如开发DSP软件的资源较少,面向嵌入式处理器的汇编语言的可读性差,若采用C语言,又存在编译效率较低的缺陷,此外,不同处理器的语言系统各不相同,这些因素造成了嵌入式应用系统开发效率低、程序设计的继承性差之缺陷。因此,嵌入式应用系统的开发是件费时费力的事情。PC机作为最常用的计算机,运算速度快,应用程序开发软件丰富,特别是VC++等开发工具功能强大,开发效率特别高,因此,如果利用PC机直接开发应用系统,那么在开发成本、性能等方面较现有嵌入式应用系统具有明显的优越性。然而,这种系统仅在某些单件特殊设备上具有较好的应用价值,而在需要考虑体积和成本因素的广泛使用的嵌入式应用系统中,就不能使用PC机。PC机主要应用在办公室自动化领域,而嵌入式系统已经广泛渗透到人们的工作、生活中,据统计,嵌入式处理器的数量占分散处理器的94%,而PC机用的处理器只占6%。由此得到启示,如果能将嵌入式处理器的成本和体积优势与PC机的开发优势结合起来,对于嵌入式应用系统的开发和推广应用具有重要意义。
发明内容
本发明所要解决的技术问题是克服目前现有技术的缺陷,将PC机的开发优势和嵌入式处理器的优点相结合,提供一种可快速开发嵌入式应用系统的方法及采用这种方法所设计的应用系统,可以显著提高系统效率,降低开发成本。
本发明所提出的技术方案是:
一种快速开发嵌入式应用系统的方法,其特征在于包括:
1)设置一可使得嵌入式应用板与PC机相连的数据交换卡,由PC机直接对嵌入式应用系统硬件进行测试;
2)嵌入式应用板进行最基本的数据采集、输出和传输;
3)通过PC机及其高级语言开发的数据处理软件与嵌入式系统协调工作,完成数据处理的任务;
4)软件调试完成后,将PC机的数据处理工作移植到嵌入式应用板中。
根据上述方法所设计的一种快速开发嵌入式应用系统,包括:
以嵌入式处理器为核心、可直接对嵌入式应用系统的硬件进行测试且可直接和对象连接、进行数据输入和输出之嵌入式应用板;
既和嵌入式应用板交换数据,又和PC机交换数据之数据交换卡;
进行数据处理之PC机;
其中数据交换卡分别与PC机和嵌入式应用板相连。
所述嵌入式应用系统具体为一套开发平台,包括依次连接的嵌入式应用板、PC机和数据交换卡,其中嵌入式应用板直接和对象连接,数据交换卡通过接口电路分别与PC机和嵌入式应用板相接。
所述嵌入式应用板包括嵌入式处理器,还设有与其相连之辅助电源、复位电路、JTAG口和译码电路。
所述的数据交换卡由存储器和接口逻辑电路组成,其中存储器采用双口或多口RAM存储器,接口逻辑电路将PC机和嵌入式应用板的端口与存储器端口连接。
所述PC机之数据处理程序为:(1)从数据交换卡读取由嵌入式应用板准备好的数据;(2)根据需要对数据进行显示;(3)对数据进行处理;(4)根据需要处理人机交互命令;(5)将计算和处理的结果送入数据交换卡,供嵌入式应用板读取使用;(6)记录运行数据。
本发明的有益效果是:本发明设置了一嵌入式应用板,是实际的嵌入式应用系统的电路板,通过数据交换卡与PC机相连,可以直接对嵌入式应用系统的硬件进行测试;同时由于该嵌入式应用板只进行最基本的数据采集、数据输出和数据传输,其本身的软件设计十分容易。在开发阶段,重要和复杂的处理算法是用PC机及其高级语言开发的,PC机相对于嵌入式处理器而言,其功能强大得多,调试手段丰富,可以充分利用PC机的软硬件资源,因此用PC机开发嵌入式应用系统的应用软件也相当容易,可显著提高开发效率,而且使得嵌入式应用系统的硬件设计和软件设计相对独立并可以分别升级。由于PC机上的软件是和嵌入式应用板硬件进行联合实时在线测试来检查软件和硬件功能的,因此,这种测试是十分完全和充分的,测试成功基本上就证明了可以直接使用。另外,由于软硬件设计的独立性,可以分别由两个小组进行同步开发,既进一步加快了开发速度,实现其快速开发功能,又便于管理人员对项目开发进行控制。
附图说明
图1是本发明的系统结构示意图;
图2是本发明开发阶段结构框图;
图3是本发明实际应用时的结构框图,实际应用时脱离PC机;
图4是本发明中PC机和DSP实现同步的方法示意图;
图5是本发明嵌入式应用板实施例之结构示意图;
图6是本发明数据交换卡实施例之结构示意图;
图7是本发明PC机软件实施步骤示意图。
具体实施方式:
本发明提供了一种快速开发嵌入式应用系统的方法,它是通过下述步骤来完成的:
1)设置一数据交换卡,该数据交换卡使得嵌入式应用板与PC机相连,完成数据传输工作,可使PC机直接对嵌入式应用系统硬件进行测试;
2)使嵌入式应用板与对象直接相连,完成最基本的数据采集、输出和传输;
3)通过PC机及其高级语言开发的数据处理软件与嵌入式系统协调工作,完成数据处理的任务;
4)软件调试完成后,将PC机的数据处理工作移植到嵌入式应用板中。
如图1所示,本发明根据上述方法提供了一个基于PC机开发嵌入式应用系统的开发平台,该平台由嵌入式应用板1、PC机2及数据交换卡3三部分组成。嵌入式应用板1是以嵌入式处理器为核心的实际嵌入式应用系统,可直接和对象连接,进行数据输入和输出,并增加与数据交换卡3交换数据的接口,其功能包括数据采集、数据处理、控制信号输出等,它就是实际应用的嵌入式系统硬件电路板,或具有基本功能的嵌入式应用系统的评估板,具有可直接对嵌入式应用系统的硬件进行测试的功能。由于硬件设计的相对独立性,它非常便于升级。如图2所示,在开发阶段,嵌入式应用板1仅负责底层的数据输入和输出,与对象4交换数据,并与数据交换卡3交换数据,它从对象4采集数据传送给数据交换卡3,从数据交换卡3接收数据作为控制输出传输给对象4。而PC机2则完成作为核心的数据处理工作,比如滤波及控制算法等,它同时还提供调试用的人机交互环境。数据交换卡3实现嵌入式应用板1与PC机2的数据交换。在开发过程中,基于PC机2及其高级语言开发的数据处理软件与嵌入式系统协调工作,完成数据处理的任务。如图3所示,软件调试成熟后,PC机2的数据处理工作移植到嵌入式应用板1中,由嵌入式应用板1完成,从而实现了PC机和嵌入式处理器的相互结合,达到了本发明的设计目的。由于数据处理算法是在PC机2中用高级语言调试的,因此可以充分利用PC机2的软硬件资源来提高效率。
数据交换卡3用以实现PC机2与嵌入式应用板1之间的数据交换,并从逻辑上将PC机2和嵌入式应用板1隔开,使得PC机2和嵌入式应用板1的软件设计互不相关,因此,PC机2的软件设计可采用与嵌入式应用板1无关的高级语言编写。数据交换卡3由存储器和接口逻辑电路组成,通常采用双口RAM作为存储器,接口逻辑电路要将PC机2和嵌入式应用板1的端口与双口RAM的端口连接起来。使用双口RAM要考虑到2个问题:(1)对于同一存储单元,不能同时写;(2)对于同一存储单元,向一侧写的同时不能由另一侧读,否则读出的数据不定。本发明将双口RAM分为A区和B区,A区供嵌入式应用板1写和PC机2读,B区供嵌入式应用板1读和PC机2写。这样,对于同一单元不会同时写,可以避免出现问题(1)。对于问题(2),可以采用软件同步法来解决,如图4所示,将嵌入式应用板1和PC机2的一个工作周期分为写周期、读周期、处理周期,它们基本上是同时分别写A区和B区、同时读、同时处理,工作周期的同步由PC机2定时实现,小周期的同步用设置在双口RAM中的软件标志实现。具体流程是:(1)第N个工作周期到:嵌入式应用板1写数据块A,PC机2写数据块B;(2)嵌入式应用板1若写完成之后置嵌入式写完成标志,并检查PC机2是否写完PC机2没完成就等待,否则,转(4);(3)PC机2若写完成就置PC写完成标志,并检查嵌入式应用板1是否写完;嵌入式应用板1没完成就等待,否则,转(4);(4)嵌入式应用板1和PC机2同时进入读周期,与写周期类似,直到都完成读周期;(5)嵌入式应用板1和PC机2同时进入处理周期,直到都完成,或新的工作周期到达;(6)进入下一个工作周期,用N+1代替N,再转到(1)。
PC机2的处理软件在开发阶段的工作流程是:(1)从数据交换卡3读取由嵌入式应用板1准备好的数据;(2)根据需要对数据进行显示;(3)对数据进行处理;(4)根据需要处理人机交互命令;(5)将计算和处理的结果送入数据交换卡3,供嵌入式应用板1读取使用;(6)记录运行数据供事后分析,并回到(1)。
调试成功之后,将PC机2的高级语言程序翻译成嵌入式处理器程序,下载到嵌入式应用板1,全部功能由嵌入式应用板1实现,和PC机2脱离。有3种方法:(1)手工翻译;该方法工作量大、易出错。(2)设计翻译软件来进行翻译;或由第三方提供翻译软件。(3)将PC机2上开发的C/C++程序在嵌入式处理器的C编译器下重新编译;该方法移植速度快,但需要有针对特定嵌入式处理器的C/C++编译器软件支持。
实施例:
图5展示了本发明之一个实施例,应用于磁悬浮列车的数字式悬浮控制器硬件和算法调试开发平台。该实施例之嵌入式应用板包括数字式悬浮控制器,是以TI公司的16位定点DSP芯片TMS320F240(简称F240)为核心,其主要功能是将悬浮间隙、悬浮加速度、电磁铁电流等输入信号转换为数字量;再根据控制算法,计算出应该施加到电磁铁上的电压,并驱动功率斩波器实施控制,实现稳定悬浮。F240在片内集成了16路10位ADC和12路PWM产生器,可分别用于传感器信号的模/数转换和控制信号的输出(PWM信号经隔离后驱动开关功率管);内部集成的16K字的闪速存储器用于存放F240程序;利用2片SRAM存储器(静态随机存取存储器)IS61C1024(128K×8位)扩展64K×16位的数据空间和64K×16位的程序空间;其它辅助电路包括辅助电源、复位电路、JTAG口和译码电路。
图5展示了本实施例数据交换卡3之具体电路图。如图所示,其存储器采用双口RAM,型号为IDT7134(4K×8位),与PC机2的接口采用并口,工作于EPP模式,与DSP的接口采用并行IO口。它有2套并行数据总线(LDB、RDB)、地址总线(LAB、RAB)和控制总线(LCB、RCB)。在DSP侧,存储器IDT7134的RDB和RAB与DSP的低8位DB和低1 2位AB直接连接,其RCB由DSP的CB和AB译码得到,使得双口RAM映射在DSP的并行IO空间中。在PC机2侧,由于PC机2并口采用了地址数据复用总线,需要通过译码和锁存将它析取为高位地址总线、低位地址总线和数据总线,控制总线也由并口的控制总线译码产生。一次并口访问时间为1.5微秒,和双口RAM交换一次数据需要写高位地址和低位地址各一次、读(或写)数据一次,所以交换一次数据(8位宽度)的时间为4.5微秒。考虑到有5路输入信号和2路输出信号,都按16位宽度计算,PC机2在每个控制周期用于数据交换的时间为63微秒,相对于1毫秒的控制周期,数据交换时间有充足的余量。此外,为了加快访问速度,可以设计页面访问或地址自动加1访问等方式。
数据交换卡3内的RAM映射至F240的并行IO空间。模/数转换由DSP片内的ADC完成,其单次A/D转换时间为6微秒。控制算法的模拟输入量包括2路间隙信号、1路加速度信号及2路电流信号,分别由管脚ADCIN02~ADCIN06输入。控制输出为2路独立的PWM信号,分别由DSP芯片TMS320F240的PWM1和PWM3脚输出。5路传感器输入信号和2路PWM波输出信号通过接插件12与模拟电路相连;DSP的总线经驱动后由接插件11与数据交换卡的接插件22相连;IO和通信接口则由接插件13引出。
如图7所示,本实施例PC机2上采用VisualC++编程,开辟有2个线程,主线程处理人机交互事件,比如包括调试控制器参数、绘制数据图表、启动或停止命令、创建子线程。子线程创建1毫秒定时器,并在定时中断中完成数据处理。几段关键代码为:(1)VC的主线程由MFC主程序自动创建,在主线程中产生子线程m_thread的代码为:
CWinThread*m_hread=NULL;
if(!m_thread)  {
     m_thread=AfxBeginThread(DoCtrl,0);//启动;子线程的
                                          //回调函数是DoCtrl()
     START=true;                        //置子线程启动标志
}
(2)在子线程中创建并启动1毫秒定时器的代码:
timerID=timeSetEvent(period,timerRes,TimerProc,(DWORD)
this,TIME_PERIODIC);
//创建并启动1毫秒定时器tiemrID;TimerProc是定时中断服务程序名
(3)定时中断服务程序完成数据交换和处理任务。PID算法程序例为:
  oid PASCAL TimerProc(UINT wTimerID,UINT msg,DWORD dwUser,

  DWORD dw1,DWORD dw2)  {

    DataInput(ADResults);          //由数据交换卡读数据,

                                    //存入ADResults数组

    PID=DataProcessing();         //依PID算法求解控制量PID

    DataUpdate();                  //更新数据并保存

    PWM=CurrentLoop(PID);         //经电流环程序计算得最终输出量

  PWM

   DataOutput(PWM);               //向数据交换卡写数据

  }
(4)停止命令设置一个标志,引导子线程销毁1毫秒定时器,代码为:
result=timeKillEvent(timerID)。

Claims (7)

1、一种快速开发嵌入式应用系统的方法,其特征在于包括:
1)设置可使嵌入式应用板与PC机相连之数据交换卡,由PC机直接对嵌入式应用系统硬件进行测试;
2)由嵌入式应用板进行最基本的数据采集、输出和传输;
3)通过PC机及其高级语言开发的数据处理软件与嵌入式系统协调工作,完成数据处理的任务;
4)软件调试完成后,将PC机的数据处理工作移植到嵌入式应用板中。
2、一种快速开发嵌入式应用系统,其特征在于包括:
以嵌入式处理器为核心、可直接对嵌入式应用系统的硬件进行测试且可直接和对象连接、进行数据输入和输出之嵌入式应用板;
既和嵌入式应用板交换数据,又和PC机交换数据之数据交换卡;
进行数据处理之PC机;
其中数据交换卡分别与PC机和嵌入式应用板相连。
3、根据权利要求2所述的快速开发嵌入式应用系统,其特征在于:为一套开发平台,包括依次连接的嵌入式应用板、PC机和数据交换卡,所述嵌入式应用板直接和对象连接;所述数据交换卡通过接口电路分别与PC机和嵌入式应用板相接。
4、根据权利要求2或3所述的快速开发嵌入式应用系统,其特征在于:所述PC机之处理步骤为:(1)从数据交换卡读取由嵌入式应用板准备好的数据;(2)根据需要对数据进行显示;(3)对数据进行处理;(4)根据需要处理人机交互命令;(5)将计算和处理的结果送入数据交换卡,供嵌入式应用板读取使用;(6)记录运行数据。
5、根据权利要求2或3所述的快速开发嵌入式应用系统,其特征在于:所述的数据交换卡由存储器和接口逻辑电路组成,其中接口逻辑电路将PC机和嵌入式应用板的端口与存储器端口连接。
6、根据权利要求2或3所述的快速开发嵌入式应用系统,其特征在于:所述嵌入式应用板包括嵌入式处理器,其上还设有与其相互连接之辅助电源、复位电路、JTAG口和译码电路。
7、根据权利要求5所述的快速开发嵌入式应用系统,其特征在于:存储器采用双口或多口RAM存储器。
CNB2005100314508A 2005-04-15 2005-04-15 一种快速开发嵌入式应用系统的方法及应用系统 Expired - Fee Related CN100399292C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100314508A CN100399292C (zh) 2005-04-15 2005-04-15 一种快速开发嵌入式应用系统的方法及应用系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100314508A CN100399292C (zh) 2005-04-15 2005-04-15 一种快速开发嵌入式应用系统的方法及应用系统

Publications (2)

Publication Number Publication Date
CN1667590A true CN1667590A (zh) 2005-09-14
CN100399292C CN100399292C (zh) 2008-07-02

Family

ID=35038698

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100314508A Expired - Fee Related CN100399292C (zh) 2005-04-15 2005-04-15 一种快速开发嵌入式应用系统的方法及应用系统

Country Status (1)

Country Link
CN (1) CN100399292C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894067A (zh) * 2010-06-04 2010-11-24 四川大学 一种基于arm处理器的嵌入式软件能耗统计模型
CN106878100A (zh) * 2015-12-11 2017-06-20 全球能源互联网研究院 一种椭圆曲线公钥密码安全协处理器的测试方法及系统
CN110018959A (zh) * 2019-03-26 2019-07-16 福建升腾资讯有限公司 一种嵌入式应用调试的方法以及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894067A (zh) * 2010-06-04 2010-11-24 四川大学 一种基于arm处理器的嵌入式软件能耗统计模型
CN106878100A (zh) * 2015-12-11 2017-06-20 全球能源互联网研究院 一种椭圆曲线公钥密码安全协处理器的测试方法及系统
CN110018959A (zh) * 2019-03-26 2019-07-16 福建升腾资讯有限公司 一种嵌入式应用调试的方法以及系统

Also Published As

Publication number Publication date
CN100399292C (zh) 2008-07-02

Similar Documents

Publication Publication Date Title
Singh et al. Kiwi: Synthesis of FPGA circuits from parallel programs
Maassen et al. Efficient Java RMI for parallel programming
CN103714039B (zh) 通用计算数字信号处理器
CN102200913A (zh) 一种基于模型的自动变速箱软件开发平台的分层设计方法
CN105137800A (zh) 一种基于sopc技术的plc协同控制装置
CN102087609A (zh) 多处理器平台下的动态二进制翻译方法
CN102073480B (zh) 基于时分复用实现多核处理器内核模拟的方法
CN1667590A (zh) 一种快速开发嵌入式应用系统的方法及应用系统
CN115271078A (zh) 一种超级计算机与量子计算机协同的软件栈及工作方法
Jyothi et al. Debugging support for Charm++
CN111008042B (zh) 基于异构流水线的高效通用处理器执行方法及系统
CN102195361B (zh) 一种多核单芯片的配电智能终端的数据采集处理方法
Pouillon et al. A generic instruction set simulator api for timed and untimed simulation and debug of mp2-socs
CN103729180A (zh) 一种快速开发cuda并行程序的方法
CN1632759A (zh) 可灵活实现片内eeprom仿真功能的方法
Sampson Process-oriented patterns for concurrent software engineering
Nghiem MLE+: a Matlab-EnergyPlus co-simulation interface
de Carvalho Junior et al. Haskell#: Parallel Programming Made Simple and Efficient.
CN1848093A (zh) 基本输入输出系统中高级配置和电源接口模块的调试方法
CN1219254C (zh) 一种用于51核ic卡的硬件仿真系统
CN2613818Y (zh) 用于超导储能装置的主控制器
Pais et al. A tool for tailored code generation from petri net models
CN100498716C (zh) 一种用于处理器仿真模型中的系统调用转换直通通道方法
CN1558330A (zh) 家电控制器嵌入式软件的仿真集成开发系统及其纯软件仿真执行方法
CN1731354A (zh) Pc架构嵌入式系统中上电自检的设计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080702

Termination date: 20100415