基于RTOS的嵌入式系统软件设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于RTOS的嵌入式系统软件设计
------太阳能逆变器软件开发
周玲1,2
(1.江南大学信息工程学院,江苏无锡214100;2.无锡商业职业技术学院,江苏无锡214153)摘要:太阳能逆变器等电力电子变化器是典型的嵌入式系统。
本文针对此类嵌入式系统软件的特点,提出采用RTOS进行软件开发。
在软件开发流程的基础上,分析了系统需求,并在TI BIOS实时操作系统上进行系统建构设计。
在一台采用DSP28335控制芯片的100kW太阳能逆变器样机上的试验结果表明:该软件设计方法具有开发周期短,移植性强,可靠性高等优点。
关键词:实时操作系统;太阳能逆变器;状态图
Embedded system software design based on RTOS Abstract: PV inverter is one of the typical embedded systems. According to its characteristics, this paper designs its software on real time operation system. After analyze requirements, architecture design is done on TI BIOS. The scheme is realized in a 100kW PV inverter based on a TMS320F28335 DSP. The result demonstrated that this scheme has short development period, easy implanted characteristic, and high reliability.
Key words:RTOS; PV inverter; state-chart
引言
嵌入式系统是执行专用功能并被内部计算机控制的设备或系统,操作系统以及应用软件集成于计算机硬件系统之中,即系统的应用软件和系统的硬件一体化,嵌入式系统具有软件代码少,高度自动化,响应速度快等特点,特别是适合于要求实时和多任务处理的情况[1]。
随着数字化在电力电子领域的渗透,软件系统开发越来越成为整个系统开发的制约因素。
在UPS,太阳能逆变器等领域,数字化控制已成为行业标准,但绝大多数系统都是基于前后台的设计思想。
不但设计开发周期长,可移植性也很差,维护性也很成问题,同样不利于大规模的开发。
本文将运用软件开发理论,首先从需求开发开始,在基于TI提供的BIOS,对太阳能逆变器软件系统进行开发设计。
1.太阳能逆变器的整体设计
太阳能逆变器系统的总体结构如图1所示。
该系统的主要任务是在电网正常情况下,尽可能的将太阳能电池直流电压的能量转换为交流电送入电网。
采集电网和电池板的信号,使其变换成DSP 的输入标准电压0到3.3V,DSP控制器通过对采集来的信号进行分析,正确的发出动作指令,控制系统的各部件,并通过通讯接口向监控计算机发送相关数据,实现远程监控管理。
系统构成主要包括DSP 及其外围电路所构成的控制系统,液晶显示电路,接触器,直流交流变换器。
系统的整体结构如图1:
图1. 太阳能逆变器总体结构
核心控制芯片控制器采用TI公司推出的业界首款浮点TMS320F28335 DSP,它具有150MHz高速处理能力,具备32位浮点处理单元,单指令周期32位累加运算,可满足应用于更快代码开发与集成高级控制器的浮点处理器性能的要求[2,3]。
同时TI 公司从28系列开始,提供BIOS操作系统。
CCS系列中的最新版本,有很多既方便又强大的功能。
主要包括:①支持同时载入多个工程文件②增加了单步调试命令③编译器有所加强,对语法的检查更加严格④通过建立库工程,支持编译函数文件成为库文件。
2.软件的需求开发
本系统的开发遵从CMMI软件开发流程,基
于瀑布开发模型。
将整个开发过程分为:需求分析,架构设计,详细设计,编码测试,集成测试,系统测试。
本文主要讨论需求开发和架构设计。
对需求加以分析产生需求说明,需求说明过程给出系统功能需求,它包括:
·系统所有实现的功能
·系统的输入、输出
·系统的外部接口需求(如用户界面)
·它的性能以及诸如文件/数据库安全等其他要求
在实时系统中,常用状态变迁图来描述系统。
在设计状态图时,应对系统运行过程进行详细考虑,尽量在状态图中列出所有系统状态,包括许多用户无需知道的内部状态,对许多异常也应有相应处理。
嵌入式系统的软件以状态转换为核心,根据并网型太阳能逆变器的要求,整个系统分为四个状态:准备状态,检查状态,并网状态,故障状态。
所谓准备状态是指,太阳能逆变器电池电压小于最低运行电压,且无故障;检查状态是指,太阳能逆变器电池电压大于最低运行电压,无故障,且此时要检查接触器是否正常,对地阻抗是否符合相关标准的要求并网状态是指,接触器闭合,太阳能逆变器向电网输送能量。
故障状态是指,检测到系统硬件损坏等。
各个状态的转换关系如图2。
图2. 太阳能逆变器状态图
3.基于TI——BIOS的架构设计
在对需求进行分析,了解系统所要实现的功能的基础上,系统开发选用何种硬件、软件平台就可以确定了。
对于软件平台而言,操作系统是否支持实时性及支持的程度、对多任务的管理能力是否支持前面选中的微处理器、网络功能是否满足系统要求以及开发环境是否完善等都是必须考虑的。
为了设计方便选用TI BIOS实时操作系统。
在dsp/bios下一个程序的开发过程如下:
(1)用配置工具建立应用程序要用到的对象;
(2)保存配置文件,保存的同时会生成在编译和链接应用程序时所包括的文件;
(3)为应用程序编写一个框架,可以使用c、c++、汇编语言或这些语言的任意组合;
(4)在ccs环境下编译并链接程序;
(5)使用仿真器(或者使用硬件平台原型)和dsp/bios分析工具来测试应用程序;
(6)重复上述步骤直至程序运行正确;
(7)当正式产品硬件开发好后,修改配置文件来支持产品硬件并测试。
本文在进行软件设计时根据需要,编写了以下几个功能程序,主要包括A/D采样转换程序、有效值计算程序、判断及保护程序,状态切换、控制算法、CAN/SCI通信的发送和接受等。
在各个功能程序编写好以后,创建多个任务,每个任务包含一个功能程序。
对各个任务要根据不同的实际情况赋予不同的优先级,其中A/D采样转换和瞬动判断保护由于对实时性的要求比较高,应赋予较高的优先权,这里用硬中断实现;控制算法必须在一个开关周期内计算完成,对实时性要求也比较高,优先级仅次于A/D采样,用软中断实现。
有效值计算要在一个电网周期内计算完成,用任务来实现,但优先级最高。
判断及保护程序只有在有效值计算完成后才能进行判断,所以赋予的优先权次之;状态切换则需要根据判断及保护程序的信息改变系统运行的状态,所以优先级再次之。
优先级最低的是通信程序。
4.实验结果及结论
本文设计的实验样机首先在实验室进行调试、测量、保护特性测试、上位机和控制器之间的CAN 总线通信等。
试验结果表明:本文设计的控制软件实现了测量、保护、通信和监控等功能,实时性好,指标达到预期要求。
借助BIOS实时操作系统能灵活的改变任务优先级,且各个任务之间耦合较少,程序模块化,适合多人同时进行,加快开发进程。
5. 结束语
本文为了实现对太阳能逆变器的控制,研制了一种基于DSP和嵌入式实时操作系统的新型软件系统,不仅实现了基本功能,而且由于采用了嵌入式实时操作系统,提高了DSP的运行效率和控制器的
可靠性。
参考文献
[1] 刘峥嵘.嵌入式Linux应用开发详解.机械工业出版, 2005.
[2] 丁宜栋,华芸.基于DSP_BIOS的软件系统设计.舰船电子工程,2001,52-55.
[3] 刘盛鹏.基于TMS320C64x DSP/BIOSⅡ的嵌入式语音采集与盲分离系统设计.电子技术,2008.
作者简介:周玲(1983-),女,江苏无锡人,无锡商业职业技术学院助理实验师;江南大学信息工程学院工程硕士研究生,研究方向:计算机技术。