[工学]现代电力电子技术的广泛应用_电力电子装置的控制.doc_第1页
[工学]现代电力电子技术的广泛应用_电力电子装置的控制.doc_第2页
[工学]现代电力电子技术的广泛应用_电力电子装置的控制.doc_第3页
[工学]现代电力电子技术的广泛应用_电力电子装置的控制.doc_第4页
[工学]现代电力电子技术的广泛应用_电力电子装置的控制.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华北电力大学(北京)硕士学位论文摘要 摘摘 要要 电力电子技术日趋广泛地应用于能源、工业、信息、家电消费品等领域。根据 电力电子装置控制器在硬件、软件和开发途径三个方面具有的广泛共性,完全可以 研制一种通用的电力电子装置数字控制器开发平台。 本文针对电力电子装置控制器的通用性特点和要求,设计并实现了一种通用电 力电子装置数字控制平台。该平台采用 TI 公司的 32 位浮点 DSPTMS320VC33 为核心,以满足电力电子装置控制高精度、高实时性的要求;在此硬件平台上移植 了嵌入式实时操作系统 C/OS-II,并扩充了电力电子控制所必需的基础模块,使该 操作系统适用于电力电子装置控制,并具有很好的可移植性。 该控制平台为从事电力电子科研和教学的研究人员提供了通用的软硬件开发平 台,具有很大的实际意义。 关关键键词词:电电力力电电子子, DSP,嵌嵌入入式式实实时时操操作作系系统统( RTOS) , C/OS-II ABSTRACT The technology of Power Electronic has been widely applied in the many fields. There is abroad commonness in aspects of hardware, software and development of control system of the power electronic devices. So, it is possible to design a universal digital development platform for the control system of the power electronic devices. A universal digital development platform for power electronic control system has been implemented. DSP (TMS320VC33), which can meet the requirement of high precision and real time, was used in the platform. An embedded RTOS (C/OS-II) was transplanted into the plat and some basic function blocks were appended into the RTOS. It is a universal hardware and software development platform for the research personnel of power electronic. And it has highly practice meaning. Liu Jin (Power Electronics and Electric Drives) Directed by Prof. Zhang Yigong KEY WORDS: Power electronics, DSP, RTOS, C/OS-II 华北电力大学(北京)硕士学位论文 2 目 录 中文摘要 英文摘要 第一章 引 言1 1.1 现代电力电子技术的广泛应用 1 1.2 电力电子装置的控制 2 1.3 电力电子装置通用控制平台 2 第二章 硬件平台的设计与调试 .5 2.1 控制平台硬件结构 .5 2.2 32 位浮点 DSPTMS320VC33 .6 2.3 控制平台功能分配 .8 2.3.1 电源管理及看门狗 .8 2.3.2 数据采集 9 2.3.3 开关量输入/出10 2.3.4 串口通信 10 2.3.5 引导加载程序(Bootloader)12 2.3.6 系统扩展 12 第三章 嵌入式实时操作系统 C/OS-II13 3.1 C/OS文件结构与硬件平台关系 .13 3.2 嵌入式系统 .14 3.3 嵌入式操作系统 .15 3.3.1 前后台系统 15 3.3.2 实时多任务操作系统( RTOS)15 3.3.3 嵌入式实时操作系统 .17 3.4 嵌入式实时操作系统 C/OS-II .17 第四章 操作系统的移植 20 4.1 C/OS的移植 20 4.1.1 INCLUDES.H 文件20 4.1.2 OS_CPU_H.H 文件20 4.1.3 OS_CPU_A.ASM 文件 21 华北电力大学(北京)硕士学位论文 3 4.1.4 OS_CPU_C.C 文件 22 4.2 C/OS移植代码的测试 .23 第五章 基于 C/OS-的嵌入式系统构件 .25 5.1 嵌入式系统构件的思想 25 5.2 开关量输入输出模块( DIO) .26 5.2.1 头文件(DIO.H)27 5.2.2 硬件抽象层和硬件驱动层( DIO 模块).27 5.2.3 应用函数接口 .28 5.3 数据采集模块(AI) .29 5.3.1 头文件 AI.H .29 5.3.2 硬件抽象层和硬件驱动层( AI 模块) .29 5.3.3 应用函数接口 .30 5.3.4 采样数据的处理 .30 5.4 通信模块(UART).30 5.4.1 接收数据 31 5.4.2 发送数据 31 5.4.3 串口 UART 模块 32 5.5 CPLD 脉宽调制发生模块 (PWM) 33 5.5.1 用 CPLD 实现的 PWM 控制器 33 5.5.2 软件模块(PWM)34 5.5.3 用 CPLD 实现空间矢量(SVPWM)控制器 35 5.6 控制算法模块 .38 5.6.1 平均值滤波模块 .38 5.6.2 数字滤波模块 .38 5.6.3 abc_dq 变换与 dq_abc 反变换模块 .38 5.6.4 abc_dq0(派克变换)变换与 dq0_abc 反变换模块39 5.6.5 PID 模块 39 5.7 用户应用程序模块 39 5.7.1 用户主程序基本结构 .39 5.7.2 用户任务程序基本结构 .40 第六章 结论与展望 41 参 考 文 献42 致 谢 .44 华北电力大学(北京)硕士学位论文 1 第一章 引 言 电力电子技术以功率处理为对象,以实现高效率用电和高品质用电为目标,通 过采用电力半导体器件,并综合自动控制、计算机(微处理器)等技术,实现电能 的获取、传输、变换和利用。随着电力电子技术在能源、工业、信息、家电消费品 等领域的广泛应用,以及电力电子功率器件、控制技术、微处理器技术的飞速发展, 对于电力电子装置的控制提出了更高的要求,其控制器逐步向数字化、模块化、智 能化发展。 1.1 现代电力电子技术的广泛应用 以功率 MOSFET 和 IGBT 为代表的、集高频、高电压和大电流于一身的功率半 导体复合器件和以微处理器为主的数字控制技术的应用,表明已经进入现代电力电 子技术时代。 电力电子技术在交流变频调速、供电电源、电力系统输配电、照明、电能质量 控制等方面已经获得日益广泛的应用。同时,光伏、风力、燃料电池等新能源发电 技术和电动汽车的推广需要电力电子技术的支持,并将形成电力电子产品的巨大市 场。在信息产业中,信息电子应用、以及采用现代最新技术的汽车电子和家用电器, 将有可能成为现代电力电子技术重要的应用方向。 大功率、高频化、低功耗是功率器件发展的重要特征,电力电子器件的工作频 率已经提高到了数十千赫兹。电力电子电路功率变换技术与电力电子器件同步发展, 除发明了众多功率变换的电路拓扑,还提出了如吸收、多重化、谐振开关、多电平 等概念;在控制技术方面出现了相控、 PWM 控制、空间矢量控制、以状态空间平 均法为代表的动态建模理论、神经网络、模糊控制等技术。它们无论对改造传统工 业(如电力、机械、矿冶、汽车、船舶等),还是对高技术产业(航空航天、激光、 通信等)的发展和高效利用能源都将起到至关重要的作用。 在电力变换和控制中采用可编程数字信号处理技术( DSP) 、半导体元器件的 集成技术等方面的发展为电力电子控制提供了新的控制方式。 随着功率器件高频化、控制技术多样化、实现功能复杂化和微处理器各项功能 的飞速发展,电力电子装置的控制器也从以前的模拟型、简单功能型向现代的数字 化、复杂功能型转化,并要求具有高精度、高实时性和高可靠性。 华北电力大学(北京)硕士学位论文 2 1.2 电力电子装置的控制 早期电力电子装置采用模拟电路进行控制,其主要缺点有:硬件修改困难、设 计成本高、抗干扰能力差、存在元件老化问题等。随着微处理器技术的飞速发展, 单片机、数字信号处理器( DSP) 、可编程器件(CPLD/FPGA)等越来越多地应用 到电力电子装置控制中。数字控制具有较高的灵活性(可以通过修改软件来修改控 制算法) 、能够实现复杂的控制算法、性能稳定、可靠性高、抗干扰能力强等优点, 从而逐渐取代了传统的模拟控制技术。 目前,电力电子装置控制器的开发方法主要是从硬件到软件的统一集中设计。 即首先进行硬件电路的设计、制作和调试,然后再进行控制软件的设计,并且软件 设计的成功与否很大程度上取决于设计人员对微处理器的了解程度和使用的熟练程 度。 许多运行于没有内存管理的 CPU 之上的程序都是一些比较简单的控制程序,系 统大多数工作在超级循环加事件(中断)的方式下。在系统控制的外设和担负的任 务不多的时候,这种方式可以满足要求。但是,当有多任务需要处理,要求对外部 事件做出实时响应,任务之间存在信息传递,甚至多个微处理器协同工作时,这种 传统的程序设计方法就会面临许多问题。 另外,程序设计人员要十分了解硬件的特性、结构及其专用的汇编语言,这样 就要求在开发之前先去学习硬件知识和汇编语言。这些都阻碍了电力电子应用工程 师快速、高效地致力于控制算法软件的研究与设计,并且对于新的项目要进行类似 的重复工作。 1.3 电力电子装置通用控制平台 从主回路拓扑结构上看,许多电力电子装置具有相同或相近的主回路结构,其 功能的不同大多依赖于控制器的控制算法。从电力电子装置控制器结构组成上看, 基本上是由信号调理电路、 A/D 转换电路、微处理器( DSP 或单片机)核心电路、 PWM 发生器、D/A 转换电路、开关量输入输出、与上位机的通信(串口或USB 口) 电路、程序数据存储器等部分组成,其结构示意图如图1.1 所示。 因此,以微处理器为基础的电力电子装置控制器具有广泛的共性,其共性集中 表现在硬件、软件和开发途径三个方面。从有利于加快电力电子装置的研制、开发, 控制算法的试验、提高效率和缩短开发周期的观点来看,研制一种电力电子装置通 用数字控制器开发平台很有必要,对它进行研究必将促进电力电子装置控制算法的 华北电力大学(北京)硕士学位论文 3 研究和电力电子产品的开发。 从控制器的硬件结构上考虑,可以设计一个通用的硬件平台以满足大多数电力 电子装置的控制要求,应包括图 1.1 中的几个部分:信号调理电路、 A/D 转换电路、 D/A 转换电路、DSP 核心电路、开关量输入输出电路、 PWM 控制波形发生电路、 程序数据存储电路以及通信接口电路等部分。 由于电力电子装置的控制,往往是由多个控制要求(任务)组成,如数据采集、 数据的处理、控制算法的实现、控制信号的输出、与上位机的通信以及对于电力电 子装置主回路的保护等任务。也就是说,电力电子装置控制系统是一个的多任务的 控制系统。所以在控制软件的设计上借鉴了的 PC 机采用操作系统(如 Windows) 来对多任务进行管理。这同以前的超级循环加事件(中断)方式有本质的区别。 近年来,华北电力大学(北京)电力电子研究所一直在进行电力电子装置控制 通用数字化开发平台的研究 1。其控制平台由最初的单片机发展到现在的 DSP 控 制器。但由于开发工具的限制,其编程语言一直限于汇编语言。由于不同的处理器 有其不同的汇编语言,这样就限制了该开发平台的通用性,延长了控制算法的开发 周期。 本文借鉴原有的定点 DSP(TMS320F240)控制平台的设计思想,引入了嵌入 式实时操作系统 C/OS-II,完成了浮点 DSP(TMS320VC33)通用控制平台的硬件 部分的设计和调试;在该硬件平台上进行了嵌入式实时操作系统 C/OS-II 的移植; 根据电力电子装置的控制特点和要求,扩充了电力电子控制所必需的基础模块,使 其成为适用与电力电子控制的嵌入式实时操作系统;编写了与硬件平台相关的硬件 驱动程序,使得操作系统可以方便的通过系统调用来操作硬件;进行了操作系统的 图 1.1 电力电子装置主回路与控制器结构示意图 华北电力大学(北京)硕士学位论文 4 测试。该平台提供了与定点 DSP 控制平台兼容的外部接口,从而可以根据不同 的 控制要求来选择定点 DSP 和浮点 DSP 控制平台。后续开发人员可以不需要深入了 解硬件平台,在该嵌入式操作系统平台上 用 C 语言进行二次开发,从而致力于控制 算法的研究,大大缩短了控制算法的开发周期。 华北电力大学(北京)硕士学位论文 5 第二章 硬件平台的设计与调试 现代电力电子装置的控制要求具有高精度、高实时性和高可靠性。本文所完成 的硬件平台的 CPU 采用美国 TI 公司的 32 位浮点 DSPTMS320VC33,工作频率 可达到 150MHz;A/D 转换芯片采用 MAXIM 公司的 MAX125,精度为 14 位,采 样速率最高可达 250ksps(单通道) ,能够进行 8 路信号的采样( 4 路同时采样) , 每路信号的转换时间为 3 微秒。因此,该硬件平台能够满足大多数的电力电子装置 对于精度和实时性的控制要求,从而保证了平台的通用性。 2.1 控制平台硬件结构 大多数电力电子装置的控制流程为: 1.通过电压和电流互感器得到三相电压和三相电流(需测量电压、电流及其相 数是根据控制对象和要求来确定的); 2.测得的电压电流量通过信号调理电路调整为 A/D 转换芯片所要求的电压范 围; 3.A/D 芯片把来自调理电路的模拟电压电流量转换为数字量; 4.微控制器根据这些数字量进行控制算法的运算,得出需要由电力电子主回路 输出的控制波形数据; 5.将控制波形的数据送到 PWM 发生电路,形成各个开关的 PWM 控制信号; 6.通过隔离和放大电路将控制信号送到各个开关的驱动电路。 7.驱动电路工作,控制主回路输出需要的波形。 因此电力电子装置控制器基本上是由信号调理电路、 A/D 输入、DSP 核心单元、 PWM 发生器等组成,另外还有一些辅助功能电路,如D/A 输出、开关量输入输出、 与上位机通信(串口或 USB 口) 、程序和数据存储器等部分组成。 本文设计的硬件平台采用 TMS320VC33 为主控芯片,除实现数据处理和控制算 法外,还要进行系统外设的管理(包括 A/D、串口通信、开关量输入 /出、 Bootloader 等) 。DSP 通过控制算法得出的与 PWM 控制有关的数据送到 CPLD(PWM 发生器)中,从而产生 6 路 PWM 控制信号,送到主回路驱动控制模 块,实现对电力电子装置的实时控制。硬件平台的结构框图如图2.1 所示。 华北电力大学(北京)硕士学位论文 6 2.2 32 位浮点 DSPTMS320VC33 在定点 DSP 芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表 示。一个整型数的最大表示范围取决于 DSP 芯片所给定的字长。字长越长,所能表 示的数的范围越大,精度也越高 6。对于定点数而言,数值范围与精度是一对矛盾, 一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;要想提高精度, 数的表示范围就相应地减小。 在定点 DSP 上进行浮点运算时,则需将浮点运算改写为定点算法。其在动态范 围和精度要求上存在矛盾,而且将降低 DSP 的运算速度。 由于浮点 DSP 芯片有支持浮点加法和乘法的硬件结构,从而具有运算精度高、 浮点运算快、编程方便和容易支持高级语言等特点。 正是基于浮点 DSP 的这些优点,在控制平台中选用了浮点 DSP-TMS320VC33 作为硬件平台的 CPU。 TMS320C3X 系列芯片是美国 TI 公司推出的第一代浮点 DSP 芯片,具有丰富 的指令集、很高的运算速度、较大的寻址空间和较高的性价比,在各领域得到了广 泛的应用6。 图 2.1 硬件平台结构框图 TMS320VC33 DSP 电源管理 看门狗 EEPROM (Bootload) 开关量输出 (8路) UART 系统扩展 (地址数据) 开关量输入 (8路) A/D (MAX125) 控制逻辑 RS232 驱动电路 CPLD (PWM发生器) 14位 8路8路 6路 华北电力大学(北京)硕士学位论文 7 TMS320VC33 是一种低功耗高性能 的浮点 DSP。VC33 能工作在 150MHz 的时 钟频率下,指令运行速度达到 150 MFLOPS。对 TMS320VC33 进行开发可以使用 汇编语言,也可以使用 C 语言。使用汇编语言的优点在于运行速度快、可以充分利 用芯片的硬件特性,但开发速度较慢,程序的可读性差;而C 语言的优势在于编程 容易、调试快、可读性好,可以大大缩短开发周期。 TMS320VC33 芯片的组成如图 2.2 所示7:32 位 CPU、34K 字静态 RAM(可 满足大多数系统对 RAM 的要求) 、1 个 DMA 通道、1 个串口、2 个定时器、引导 加载程序(BootLoader) 、6432 位的指令 Cache(用来存储经常使用的代码块,这 图 2.2 TMS320VC33 功能结构图 华北电力大学(北京)硕士学位论文 8 可大大减少片外访问的次数,从而提高程 序运行速度) ;另外还有如下的通用寄存 器:8 个 40bit 的寄存器(R0R7),可以用来存放 32bit 的整数,同时也可以用来存 放 40bit 的扩展精度的浮点数; 8 个 32bit 的辅助寄存器(AR0AR7) ,它们的主要 作用是存储地址、参与各种模式的寻址等,也可以作为一般的寄存器来使用;状态 寄存器 ST(含全局中断使能位 ) 、堆栈寄存器 SP、中断标志寄存器 IF、中断使能 寄存器 IE、I/O 标志寄存器 IOF、数据页指针寄存器 DP、索引寄存器 IR0、IR1、 块寄存器 BK、重复执行寄存器 RS(块起始地址) 、RE(块终止地址) 、RC(重复 次数) 。分开的程序总线、数据总线和 DMA 总线使得取指、读写数据和 DMA 操 作可并行进行。由于主总线的地址总线是 24 位,因此 TMS320VC33 可以访问多达 16M 的 32 位字的存储器空间,其中程序、数据和 I/O 空间都包含在这 16M 字的空 间中。 从软件资源上看 TMS320VC33 有丰富的指令系统、灵活的程序流控制、流水线 操作和多种寻址方式。 2.3 控制平台功能分配 2.3.1 电源管理及看门狗 TMS320VC33 为双电源供电,接口电源电压为 3.3V,内核电源电压为 1.8V。 采用 TI 公司的线性稳压器 TPS767D318 为 DSP 芯片供电,该芯片专门为 DSP 的应 用设计,具有双电压输出。其输入电压为 5V,输出电压为 3.3V 和 1.8V,可以提 供高达 1A 的电流,并有两路电源监视复位功能,提供两个宽度为200ms 的低电平 复位脉冲,分别对内核和 I/O 进行复位。 由于 VC33 接口电源电压为 3.3V,复位信号低电平有效,选用了 MAXIM 公司 的 MAX706T 芯片(可监测 3.3V 电压) ,监控电路如图 2.3 所示。该电路实现了系 VCC /RESET /MR WDI /WDO PFO GND PFI MAX706T VCC /RESET XF1 TMS320 VC33 RESET 16C550C 3.3v 图 2.3 MAX706T 监控电路原理 图图 华北电力大学(北京)硕士学位论文 9 统上电自动复位、手动复位、电源低压报 警和看门狗软件监视等功能。 MAX706T 的复位输出(RESET)是低电平有效,直接送往 VC33 的复位端, 复位信号被反相后送往串行通信接口芯片 TL16C550C(复位信号高电平有效)的复 位端。当 3.3V 电源电压低于 MAX706T 的复位门限 2.93V(或 MR 端复位按键按下) 时,MAX706T 的 RESET 端输出低电平复位 VC33 和 TL16C550C。当 3.3V 电源电 压高于 2.93V 时,或 MR 端复位按键弹起时, MAX706T 的 RESET 端的低电平维 持 200ms 后变为高电平。与电阻、电容和反相器所构成的普通复位电路相比, MAX706T 复位功能的实现更为方便,并且复位准确、可靠。 看门狗功能电路是将 MAX706T 的 WDI 端与 VC33 的输出引脚 XF1 相连, WDO 端通过二极管 D 与 MR 端相连。在 VC33 正常运行时,VC33 每隔一定时间 (小于 1.6s)改变 XF1 引脚的状态 1 次,刷新 MAX706T 的内部定时器, WDO 维 持高电平;当 VC33 运行失控时,VC33 无法定期改变 XF1 引脚状态,这样, MAX706T 的内部定时器就会溢出, WDO 变为低电平,二极管 D 导通,造成复位 端 RESET 输出低电平,强行复位 VC33 和 TL16C550C。这样,由系统控制软件通 过定时“喂狗”来实现看门狗的功能,防止控制程序跑飞。 2.3.2 数据采集 数据采集芯片选用了 MAXIM 公司的 MAX125 芯片。MAX125 有 8 个数据采 集通道,能同时采集 4 路信号,每路信号的转换时间为 3s,14 位分辨率,工作频 率从 0.1Hz 到 16MHz,采样频率单通道可以达到 250ksps,有高速并行 DSP 接口。 通过编程进行转换通道的选择;在转换结束信号有效后,通过连续读操作可以依次 读取每个通道的转换结果。 由于 MAX125 是 5V 供电,而 TMS320VC33 的 I/O 是 3.3V 供电,在两者的数 据线之间用 TLVC16245 进行电平转换。数据采集部分如图 2.4 所示。 CH1A A0/D0 CH2A A1/D1 . . CH3B D7 CH4B D8 CLK D13 MAX125 /RD /WR /CS /INT /CONVST 16MHz 输入信号 TLVC16245 DIR /G TMS320VC33 控制平台 14位 GAL16V8 控制逻辑 14位 图 2.4 MAX125 与 VC33 系统接口电路框图 华北电力大学(北京)硕士学位论文 10 MAX125 的使用步骤如下: (1)设定工作方式: MAX125 有 8 种转换工作方式及省电模式。初始上电时, 器件工作于缺省方式,即每次只转换 A 组的通道 1。可以通过编程选择每次转换 A 组或 B 组中的一个、两个、三个、四个通道。当选定的所有通道转换结束后, INT 信号变为低电平表明转换结束。可以使用 INT 作为中断请求信号或查询方式下 的转换结束信号。 (2)启动转换:在编程 MAX125 的工作方式后,提供给 CONVST 一个低电 平脉冲可以启动一次转换过程, MAX125 在 CONVST 信号的上升沿采样模拟信号。 (3)读取转换结果:把 A/D 转换结果(最多可达 4 个通道)自动存储在 MAX125 的片内 RAM 中;在接受到 INT 信号有效后,为了获取转换结果,可以执 行最多 4 次连续的读操作。当 CS 为低电平,首先读取的是通道 1 的转换结果,在 第一次 RD 的上升沿,将 INT 复位为高电平,在每个 RD 信号的上升沿,片内地址 指针前移一步。如果编程为每次转换一个通道,只需要一次读操作;对于多通道转 换方式,可以最多在 4 个 RD 信号的下降沿顺序读取通道 1 至通道 4 的转换结果。 对于 n 通道的转换过程( 1n4) ,在 n 个 RD 脉冲后,地址指针复位至通道 1。 2.3.3 开关量输入/出 开关量输入/出部分由数据、地址总线和 74LVC244 和 74LS273 构成。开关量 的输入通过 74LVC244 转换为 3.3V 电平,送入 VC33;开关量通过锁存器 74LS273 输出,用来控制信号灯和继电器等,以实现调试、指示、保护动作等功能。 2.3.4 串口通信 控制平台与上位机通信采用异步串口通信方式。 TMS320VC33 只有同步串口, 为了实现异步串行通信,使用了 TI 公司的 UART(通用异步串口)芯片 TLC16C550C,其总线连接逻辑包括 I/O 数据总线、地址线、读写信号线等,通过 总线可直接与 DSP 实现连接。TL16C550C 硬件逻辑连接如图 2.5 所示。 D00 . D08 A00 A01 A02 INT SIN SOUT RCLK BAUDOUT CS RD WR TL16C550C TMS320VC33 MAX232 控制逻辑 PC机 8位 3位 图 2.5 串口通信结构示意图 华北电力大学(北京)硕士学位论文 11 TL16C550C 内部寄存器主要有:接收缓冲寄存器( RBR) ;发送保持寄存器 (THR) ;中断允许寄存器( IER) ;FIFO 控制寄存器(FCR) ;中断状态寄存器 (ISR) ;线路控制寄存器( LCR) ;线路状态寄存器( LSR) ;MODEM 控制寄存器 (MCR) ;MODEM 状态寄存器(MSR) ;临时数据寄存器( SCR) ;波特率除数锁 存器低位(LSB) ;波特率除数锁存器高位( MSB) 。 在 16C550 中,使用 3 位地址线定义了 11 个内部寄存器。除之外, 012 AAA LCR.7 (DLAB)参与了辅助定义。当 LCR.70,且000/001 时,定义访问波特 012 AAA 率除数锁存器 LSB/MSB;当 LCR.70,且000 时,定义访问接收缓冲 / 012 AAA 发送保持寄存器 RBR/THR。 当 UART 接收数据时,在接收时钟信号 RCLK 的作用下,将 SIN 输入端上的 数据串行移入接收缓冲寄存器 RBR,供 DSP 读取;当 UART 发送数据时,在发送 时钟信号的作用下,将数据总线上的数据写入到发送寄存器THR,再从 SOUT 端 上串行输出。 对 16C550 的编程主要包括两部分:初始化和数据收发。初始化编程主要完成对 其工作模式的设定及内部寄存器的设置;对于数据的收发,一般采用中断方式。 开始 复位 MCBL/MP=1 是INT3 中断? 是INT0 中断? 是INT1 中断? 是INT2 中断? 串口装载 存储器装载 从1000H开始 存储器装载 从FFF000H开始 存储器装载 从400000H开始 否 否 否 是 是 是 是 存储器装载 跳转至BOOT1、 BOOT2、BOOT3 读取块大小 设置存储器配 置控制字 决定装载模式 是8/16/32位? 块大小为0? 装载目标地址 从原地址向目标 地址传输数据 块大小1 读取块大小 跳转至所装载的第 一个块的首地址 块大小为0? 是 否 是 否 开始执行程序 图 2.6 引导加载程序的流 程图 华北电力大学(北京)硕士学位论文 12 2.3.5 引导加载程序(Bootloader) TMS320VC33 可运行于微计算机模式或微处理器模式下。当 MCBL/MP 引脚为 高电平时,VC33 将运行于微计算机模式下。在上电后,通过 VC33 内部自带的引 导程序将存储在慢速存储器件里的数据装载到 VC33 片内的高速 RAM 中来运行, 从而降低了系统的成本,方便了系统设计。 VC33 提供了四种引导模式,通过硬件和控制逻辑的合理设计进行不同模式的选 择。其中三种模式可以选择外部的存储空间进行引导,一种模式可以通过串口进行 引导。VC33 引导加载程序流程如图 2.6 所示。 本系统的 Bootloader 采用了 TMS320VC33 的中断 1(INT1)引导方式,系统上 电后将根据内部的引导程序,从 EEPROM 中将程序读入 DSP 内部的高速 RAM 中 运行。 EEPROM 选用了 SST 公司的 SST29LE010 芯片,3.3V 供电,容量为 128KX8 位,用来存放系统程序。 SST29LE010 具有以下主要特点:可电擦除、可编程存储; 读取时间150ns;分页程序操作,擦除、编程单向循环方式,可超过10000 次; 1024 页分区(128 字节/页) ,内部地址和 128 位数据锁存;硬件和软件数据保护; 快速的分页编程。 2.3.6 系统扩展 为了以后根据需要对系统进行功能扩展,该平台扩展出了8 位地址总线和 16 位数据总线;提供了与 CPLD 控制板的扩展接口,包括地址、数据总线,控制逻辑 信号、锁相同步信号以及中断信号等,能方便地与CPLD 控制板进行通信。 华北电力大学(北京)硕士学位论文 13 第三章 嵌入式实时操作系统C/OS-II 在传统的嵌入式系统软件设计中,多采用单任务循环加事件(中断)机制。此 机制的优势在于流程直观,但它常常会带来一个重要问题 系统安全性差,即程 序运行中任何一个环节出错都会导致系统的混乱,只能靠看门狗进行复位,重新运 行,不适合处理多任务的控制系统。 实时多任务操作系统 (Real Time multi-tasking Operation System, RTOS)是嵌 入式应用软件的基础和开发平台 。RTOS 将应用分解成多个任务,简化了应用系统 软件的设计;良好的多任务设计,有助于提高系统的稳定性和可靠性。 基于 RTOS 开发出的程序,绝大部分代码与硬件平台无关, 具有较高的可移植 性。嵌入式软件的函数化、产品化能够 提高软件的可重用性 ,减少软件的重复开发, 提高应用算法的研发 效率。 针对电力电子装置控制的多任务性、实时性、算法的多样性和复杂性,本文选 用了嵌入式实时操作系统 C/OS-II 作为应用软件的基础和开发平台 ,由操作系统 来管理电力电子多个控制任务。这样,既满足了电力电子的控制要求,又可以提高 控制软件的重用性,减少重复劳动,提高了工作效率。 3.1 C/OS文件结构与硬件平台关系 嵌入式实时操作系统 C/OS的内核文件结构与硬件平台的关系如图 3.1 所示3。可以看出 C/OS内核介于硬件平台和用户应用程序之间,通过与 CPU 相关的几个模块与硬件平台进行交互,为用户应用程序提供良好的应用程序接 口(API) 。 操作系统把系统软件和硬件部分隔离开来,这样就使得系统的设备 操作程序与 硬件设备无关,从而大大提高了系统的可移植性。从软硬件测试角度来看,软硬件 的测试工作都可分别基于 操作系统来完成,使得软硬件的测试工作的并行进行成为 可能。 根据电力电子控制的特点,将重要的、必不可少的电力电子控制基础程序作为 操作系统的扩充部分(包括对 A/D 数据的读取、数据的简单处理、开关量的输入输 出、与上位机的通信等) ,将操作系统修改为适用于电力电子控制的专用操作系统。 这样,开发人员可以在操作系统的基础上方便地进行控制算法开发,减少了编写基 华北电力大学(北京)硕士学位论文 14 础程序工作量,提高了控制算法的开发效率。 3.2 嵌入式系统 嵌入式系统是以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应 用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,它由硬件 和软件组成2。嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系 统以及特定的应用程序等 4 个部分组成,用于实现对其它设备的控制、监视或管理 功能。很多简单的嵌入式系统, 如大多数单片机系统,是不需要操作系统的。但一 些功能复杂的嵌入式系统,如机顶盒,有自己的操作系统。 从硬件方面来讲,各式各样的嵌入式处理器是嵌入式系统硬件中最核心的部分, 包括:嵌入式微控制器( MicroController Unit, MCU) ,其典型代表是单片机;嵌入 式 DSP 处理器(Digital Signal Processor, DSP) ;嵌入式微处理器( MicroProcessor Unit, MPU)和嵌入式片上系统( System On Chip, SOC) 。 目前,嵌入式系统的软件主要有两大类:实时系统和分时系统。其中实时系统 又分为两类:硬实时系统和软实时系统。 图 3.1 C/OS硬件与软件体系结构图 CPU定时器 移植uC/OS-II (与处理器类型有关的代码) OS_CPU.H OS_CPU_A.ASM OS_CPU_C.C 应用软件 (用户代码) uC/OS-II (与处理器类型无关的代码) OS_CORE.C uC/OS_II.C OS_MBOX.C uC/OS_II.H OS_MEM.C OS_Q.C OS_SEM.C OS_TASK.C OS_TIME.C uC/OS-II配置文件 (与应用程序有关) OS_CFG.H INCLUDES.H 软件 硬件平台 华北电力大学(北京)硕士学位论文 15 3.3 嵌入式操作系统 3.3.1 前后台系统 不复杂的小系统一般设计成如图 3.2 所示。这种系统可称为前后台系统或超循 环系统(Super-Loops) 。应用程序是一个无限的循环,循环中调用相应的函数完成 相应的操作,这部分可以看成后台行为( background) 。中断服务程序处理异步事件, 这部分可以看成前台行为( foreground) 。后台也可以叫做任务级。前台也叫中断级。 时间相关性很强的关键操作( Critical operation)一定是靠中断服务来保证的。因为 中断服务提供的信息一直要等到后台程序运行到该处理这个信息这一步时才能得到 处理。处理信息的及时性称作任务级响应时间,最坏情况下的任务级响应时间取决 于整个循环的执行时间。因为循环的执行时间不是常数,程序经过某一特定部分的 准确时间也是不能确定的。所以,如果程序修改了,循环的时序也会受到影响。 3.3.2 实时多任务操作系统 (RTOS) 实时多任务操作系统是嵌入式应用软件的基础和开发平台,是相对分时操作系 统而言的,我们日常接触的通用操作系统(如 Windows、Unix、Linux 等)都是分 时操作系统。RTOS 能及时(或即时) 地响应外部事件的请求,在规定的时间内完 成对该事件的处理,并控制所有实时任务协调一致地运行。与分时系统相比,具有 多路性、独立性、及时性、交互性、可靠性的特点。 实时多任务系统的特点是,如果逻辑和时序出现偏差将会引起严重后果。实时 系统分为两种类型:软实时系统和硬实时系统。在软实时系统中,系统的宗旨是使 图 3.2 前后台系统示意图 华北电力大学(北京)硕士学位论文 16 各个任务运行得越快越好,并不限定某 一任务必须在给定的时间内完成。 在硬实时系统中,各个任务不仅要执行无误而且要做到准时。大多数实时系统 是二者的结合。实时系统的应用涵盖广泛的领域,而多数实时系统又是嵌入式的。 这意味着计算机嵌在系统内部,用户 从系统外部看不到计算机的存在。 RTOS 的采用使得实时应用程序的设计和扩展变得容易,不需要大的改动就可 以增加新的功能。通过将应用程序分割成若干独立的任务, RTOS 使得应用程序的 设计过程大为减化。使用可剥夺性内核时,所有对时间要求苛刻的事件都得到了尽 可能快捷、有效的处理。通过有效的服务,如信号量、邮箱、队列、延时、超时等, RTOS 使得资源得到更好的利用。多任务运行的实现实际上是靠CPU(中央处理单 元)在许多任务之间转换、调度。 CPU 只有一个,轮番服务于一系列任务中的某一 个。多任务运行很像前后台系统,但后台任务有多个。多任务运行使CPU 的利用 率得到最大的发挥,并使应用程序模块化。在实时应用中,多任务化的最大特点是, 开发人员可以将很复杂的应用程序层次化。 RTOS 最关键的部分是实时多任务内核。内核负责管理各个任务,或者说为每 个任务分配 CPU 时间,并且负责任务之间的通讯。内核提供的基本服务是任务切换。 之所以使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分 成若干个任务,由实时内核来管理它们。内核本身也增加了应用程序的额外负荷, 代码空间增加 ROM 的用量,内核本身的数据结构增加了 RAM 的用量。但更主要 的是,每个任务要有自己的栈空间,这部分栈空间要求有足够的内存。内核本身对 CPU 的占用时间一般在 2 到 5 个百分点之间。 通过提供必不可缺少的系统服务,诸如信号量管理,邮箱、消息队列、延时等, 实时内核使得 CPU 的利用更为有效。 RTOS 的引入,解决了嵌入式软件开发标准化的问题。引入RTOS 相当于引入 了一种新的管理模式,对于开发单位和开发人员都是一个提高。基于RTOS 开发出 的程序具有较高的可移植性 4。 RTOS 中的几个重要的概念是: (1) 系统响应时间:系统发出处理要求到系统给出应答信号的时间。 (2) 任务切换时间:任务之间切换而使用的时间。 (3) 中断延迟:是计算机收到中断信号到操作系统做出响应,并完成切换转 入到中断服务程序的时间。 (4) 任务:实时操作系统中的任务( Task)等同于分时操作系统中的进程的 概念。系统任务一般有四种状态:运行态、就绪态、挂起态和睡眠态。 评价一个实时操作系统一般可以从任务调度、内存管理、任务通信、内存开销、 任务切换时间、最大中断禁止时间等几个方面来衡量 4。其中最大中断禁止时间和 华北电力大学(北京)硕士学位论文 17 任务切换时间是评价一个 RTOS 实时性的最重要的两个技术指标。 3.3.3 嵌入式实时操作系统 嵌入式实时操作系统是将嵌入式和实时性相结合的产物。由于其优良的特性, 广泛应用于制造工业、通信、航空航天、军事武器装备等领域。它的主要特点有: 响应时间快,并且有确定的硬实时性要求;具有异步处理并发事件的能力;具有快 速启动、出错处理和自动复位功能 。 嵌入式实时操作系统的种类繁多,大体上可分为两种:商用型和源码开放型。 商用型的主要有美国 WindRiver 公司的 VxWork、pSOS;Microwave 公司的 OS- 9;Lynx Real-time System 的 LynxOS 和加拿大 QNX 公司的 QNX 等。源码开放型 的主要有嵌入式 Linux(软实时)和C/OS,C/OS-II 是C/OS 的升级版本。 3.4 嵌入式实时操作系统C/OS-II C/OS-II 是由 Labrosse 先生编写的嵌入式实时操作系统内核( RTOS) 。其主 要特点如下3: 1源代码开放 使系统变得完全透明,很容易将其移植到各个不同的硬件平台上。 2可移植性 C/OS-II 绝大部分源代码是用 ANSI C 写的,可移植性较强。而与微处理器硬 件相关的部分是用汇编语言写的,已经压到最低限度,使其便于移植。 3可裁剪性 用户可以在应用程序中选择需要的 C/OS-II 的功能,从而减少所需的存储空间。 其可裁剪性是通过条件编译实现的。 4占先式 C/OS-II 完全是占先式的实时内核,它总是运行就绪条件下优先级最高的任务。 5多任务 C/OS-II 可以管理 64 个任务,其中 8 个留给系统,应用程序最多可以有 56 个任务,赋予每个任务的优先级必须是不同的。 6可确定性 全部C/OS-II 的函数调用与服务的执行时间具有可确定性,是可知的,系统服 务的执行时间不依赖于应用程序任务的多少。 华北电力大学(北京)硕士学位论文 18 7任务栈 每个任务自己单独的栈, C/OS-II 允许每个任务有不同的栈空间,以便压低应 用程序对 RAM 的需求。 8系统服务 C/OS-II 提供很多系统服务,例如邮箱、信息队列、信号量、块大小固定的申 请和释放、时间相关函数等。 9中断管理 中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该中断唤醒, 则高优先级的任务在中断嵌套全部推出后立即执行,中断嵌套层数可达255 层。 10稳定性与可靠性 C/OS-II 是基于C/OS 的,已经有许多成功的商业应用,具有很好的稳定性和 可靠性。 C/OS-II 控制下的任务状态的转换过程如图 3.3 所示。 一个任务,也称作一个线程,是一个简单的程序。实时应用程序的设计过程, 包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被 等待状态 任务 被中断态 任务 运行态 任务 就绪态 任务 睡眠态 任务 OSTaskDel() OSTaskDel() OSTaskCreat() OSTaskCreatExt() OSFlagPost() OSMboxPost() OSMboxPostOpt() OSMutexPost() OSQPost() OSQPostFront() OSQPostOpy() OSSemPost() OSTaskResume() OSTimeTick() OSStart() OSIntExit() OS_TASK_SW() OSTaskDel() 任务的CPU 使用权被剥夺 中断 OSTaskDel() OSFlagPend() OSMboxPend() OSMutePend() OSQPend() OSSemPend() OSTaskSuspend() OSTimeDly() OSTimeDlyHMSM() 图 3.3 C/OS-II 任务状态转换示意 图 华北电力大学(北京)硕士学位论文 19 赋予一定的优先级,有它自己的任务堆 栈空间。 由该实时系统内核实现任务调度。使各个任务在睡眠、就绪、运行、等待、被 中断五种状态之间转变,就绪任务中优先级最高者将占有CPU。 睡眠态:任务驻留在程序空间( ROM 或 RAM) ,还没有交给C/OS-II 来管理, 即任务还没有被应用程序建立。 就绪态:任务一旦建立,就进入了就绪态,准备运行。任务的建立可以是在多 任务运行开始之前,也可以动态地由一个运行着的任务建立。一个任务可以通过调 用 OSTaskDel()返回到睡眠态,或通过调用该函数让另一个任务进入睡眠态。 运行态:已经就绪的优先级最高的任务在启动多任务后,被执行,进入运行态。 等待状态:正在运行的任务可以通过调用延时函数,将自身延迟一段时间,进 入等待状态。当等待时间过去后,系统会使延迟的任务进入就绪态。 中断服务态:响应中断时,正在执行的任务被挂起,中断子程序控制了CPU 的使用权,被中断的任务就进入中断服务态。 C/OS-II 操作系统内核由与处理器无关的文件(系统函数)、与应用相关的文 件(对操作系统进行配置)和与移植相关(与移植的具体CPU 有关)的文件组成,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论