燃料电池控制系统

合集下载

车用燃料电池系统控制策略综述

车用燃料电池系统控制策略综述

车用燃料电池系统控制策略综述燃料电池系统作为一种新型的动力系统,具有高效、清洁、环保的特点,被广泛应用于车辆领域。

而车用燃料电池系统的控制策略则起着至关重要的作用,决定着燃料电池系统的性能和效能。

本文将对车用燃料电池系统控制策略进行综述,从控制目标、控制策略和优化方法三个方面进行探讨。

一、控制目标车用燃料电池系统的控制目标主要包括以下几个方面:1. 充电控制:充电控制是指燃料电池系统在车辆行驶过程中进行电池充电的过程。

合理的充电控制可以提高燃料电池的能量利用率和寿命。

2. 放电控制:放电控制是指燃料电池系统在车辆需要动力时将储存的能量转化为电能输出。

合理的放电控制可以提供稳定的动力输出。

3. 燃料电池温度控制:燃料电池的温度对其工作性能有着重要影响。

合理的温度控制可以提高燃料电池的效率和寿命。

4. 氢气流量控制:氢气流量控制是指控制燃料电池的氢气供应,确保燃料电池持续供氢。

合理的氢气流量控制可以提供稳定的能源供应。

二、控制策略车用燃料电池系统的控制策略主要包括以下几种类型:1. PID控制策略:PID控制策略是一种经典的控制方法,通过比例、积分和微分三个控制参数的组合调节,实现对燃料电池系统的控制。

这种控制策略简单易实现,但对系统的响应速度和稳定性要求较高。

2. 模糊控制策略:模糊控制策略利用模糊数学理论建立控制规则,模糊控制器可以根据系统的输入和输出信息进行模糊推理和模糊决策,实现对燃料电池系统的控制。

这种控制策略适用于非线性系统,对于车用燃料电池系统的控制具有较好的鲁棒性。

3. 预测控制策略:预测控制策略通过对系统进行建模和预测,生成控制序列,实现对燃料电池系统的控制。

这种控制策略可以预测未来的输出值,对系统的动态响应和稳定性有较好的控制效果。

4. 优化控制策略:优化控制策略通过建立优化模型,选择最优的控制变量组合,实现对燃料电池系统的控制。

这种控制策略可以进一步提高系统的能效和性能。

三、优化方法针对车用燃料电池系统的控制问题,还可以采用以下几种优化方法:1. 遗传算法:遗传算法是一种模拟自然界生物进化原理的优化算法,通过模拟遗传、交叉和变异操作,搜索系统的最优解。

氢燃料电池几大系统原理介绍

氢燃料电池几大系统原理介绍

氢燃料电池几大系统原理介绍氢燃料电池是一种利用氢气与氧气进行电化学反应产生电能的装置。

它被广泛应用于车辆、船舶、电力站等领域,被誉为未来能源的重要替代品之一。

氢燃料电池系统由多个组成部分组成,包括氢气供应系统、氧气供应系统、电化学反应系统、热管理系统和控制系统等。

下面将对这几大系统的原理进行详细介绍。

一、氢气供应系统氢气供应系统是氢燃料电池系统中的重要组成部分,其主要功能是将氢气提供给氢燃料电池以供电化学反应使用。

氢气供应系统由氢气储存器、氢气处理器和氢气输送管道等组成。

1. 氢气储存器:氢气储存器主要用于储存氢气,保证氢气供应的稳定性。

当前常用的氢气储存器有高压储氢罐和液氢储氢罐两种。

高压储氢罐通常使用钢瓶或复合材料罐进行储存,其能够储存高压氢气;而液氢储氢罐则通过将氢气压缩成液态以提高储存密度,并使用特殊材料进行保温。

2. 氢气处理器:氢气处理器主要用于对氢气进行处理,以去除其中的杂质,确保氢气的纯度和质量。

氢气处理器常用的处理方法有脱湿、除尘和脱硫等。

3. 氢气输送管道:氢气输送管道用于将处理后的氢气输送到氢燃料电池反应系统中。

这些管道需要具备一定的耐压性和密封性,以确保氢气的安全输送。

二、氧气供应系统氧气供应系统是氢燃料电池系统中另一个重要的组成部分,其主要功能是将空气中的氧气输送到氢燃料电池中参与电化学反应。

氧气供应系统由空气滤清器、空气压缩机和氧气输送管道等组成。

1. 空气滤清器:空气滤清器用于过滤空气中的颗粒物和杂质,以确保输送到氢燃料电池中的氧气的干净和纯度。

2. 空气压缩机:空气压缩机主要功能是将空气压缩成所需的工作压力,以满足氢燃料电池对氧气的需求。

3. 氧气输送管道:氧气输送管道用于将压缩后的氧气输送到氢燃料电池反应系统中。

这些管道需要具备一定的耐压性和密封性,以确保氧气的安全输送。

三、电化学反应系统氢燃料电池的核心部分是电化学反应系统,它由正极电极、负极电极和电解质膜组成。

简述燃料电池汽车的工作原理

简述燃料电池汽车的工作原理

简述燃料电池汽车的工作原理燃料电池汽车是一种使用燃料电池作为动力来源的汽车,其工作原理涉及化学、电学和机械学等多个领域。

下面将对燃料电池汽车的工作原理进行详细阐述。

一、燃料电池系统组成燃料电池系统主要由燃料电池堆、氢气供应系统、氧气供应系统、热管理系统和控制系统等组成。

1.燃料电池堆:由多个单体燃料电池组成,负责将氢气和氧气通过电化学反应转化为电能和热能。

2.氢气供应系统:包括氢气储存罐、氢气调压阀和氢气循环泵等,负责将高压氢气从储存罐输送至燃料电池堆。

3.氧气供应系统:通常由空气滤清器、空气压缩机和氧气循环泵等组成,负责将空气中的氧气输送至燃料电池堆。

4.热管理系统:包括散热器、冷却水泵和冷却风扇等,负责将燃料电池产生的热能散发出去,保持燃料电池堆的正常工作温度。

5.控制系统:由传感器、控制器和执行器等组成,负责监控燃料电池系统的工作状态,并根据需要调整系统的工作参数。

二、电化学反应过程燃料电池汽车的工作原理主要基于电化学反应。

在燃料电池堆中,氢气和氧气通过质子交换膜(PEM)进行电化学反应,生成水和电能。

具体反应过程如下:1.氢气通过燃料电池堆的阳极进入,与催化剂(通常为铂)接触后发生氧化反应,失去电子并生成质子(H+)和电子(e-)。

这个过程释放出一定的热能。

2.质子通过质子交换膜从阳极传递到阴极,而电子则通过外部电路从阳极流向阴极,形成电流,为电动机提供电能。

3.在阴极侧,氧气与从阳极传递过来的质子和电子发生还原反应,生成水并释放出热能。

这个过程也释放出一定的电能。

4.热管理系统将燃料电池产生的热能散发出去,以保持燃料电池堆的正常工作温度。

同时,控制系统根据传感器监测到的数据调整氢气供应、氧气供应和电流输出等参数,确保燃料电池系统高效稳定地工作。

三、电动机驱动系统燃料电池汽车的动力输出主要通过电动机实现。

电动机将燃料电池提供的电能转化为机械能,驱动车轮转动。

电动机的类型包括直流电动机、交流感应电动机和永磁同步电动机等。

氢燃料电池的自适应控制系统优化

氢燃料电池的自适应控制系统优化

氢燃料电池的自适应控制系统优化氢燃料电池作为一种清洁高效能源技术,受到人们广泛关注。

自适应控制系统在氢燃料电池中的应用是提高其性能的关键之一。

本文将对进行深入研究和探讨。

1. 研究背景氢燃料电池作为一种环保清洁的新能源技术,受到越来越多的关注。

其优点包括高效、低污染、无噪音等,因此在汽车、船舶、航空等领域有着广阔的应用前景。

然而,氢燃料电池系统在实际运行中存在许多挑战,其中之一就是控制系统的优化问题。

自适应控制系统能够对氢燃料电池系统进行实时调节,以适应外部环境变化和内部系统参数变化,从而提高系统的性能和稳定性。

2. 自适应控制系统的原理自适应控制系统是一种具有自学习和自适应能力的控制系统,它能够根据系统的实际情况自动调整控制策略,以保持系统在不断变化的环境下的稳定性和性能。

在氢燃料电池系统中,自适应控制系统可以通过实时监测氢气、氧气、电压、电流等参数,以及温度、湿度等环境因素,来动态调节电池堆的工作状态,使其在不同负载下保持最佳工作状态。

3. 自适应控制系统的优化方法为了实现氢燃料电池系统控制的自适应性和智能化,需要对控制系统进行优化。

一种常用的方法是基于模型的自适应控制,通过建立氢燃料电池系统的数学模型,运用自适应控制算法对系统进行控制。

另一种方法是基于数据驱动的自适应控制,通过实时采集氢燃料电池系统的数据,利用机器学习和人工智能技术进行控制。

4. 实验验证为了验证自适应控制系统在氢燃料电池系统中的有效性,进行了一系列实验。

实验结果表明,采用自适应控制系统的氢燃料电池系统在稳态和动态工况下均能提高系统的效率和稳定性,同时可以降低功率损耗和电池寿命的影响。

5. 结论与展望本文通过对氢燃料电池的自适应控制系统进行优化研究,为提高氢燃料电池系统的性能和稳定性提供了重要的理论基础和实践指导。

未来可以进一步深入研究氢燃料电池系统的自适应控制算法和策略,以实现更高效的能源转化和利用效率,推动氢能技术的发展和应用。

燃料电池驱动系统的控制与优化

燃料电池驱动系统的控制与优化

燃料电池驱动系统的控制与优化第一章绪论燃料电池技术是一种先进的绿色能源技术,可以将化学能转化为电能,具有高能量密度、高效率、低排放、零排放等优点。

燃料电池驱动系统是燃料电池车的核心部件,其中控制系统起着至关重要的作用。

本文主要讨论燃料电池驱动系统的控制与优化。

第二章燃料电池驱动系统燃料电池驱动系统由燃料电池堆、氢气储存装置、电子控制器、电机等组成。

其中燃料电池堆是整个系统的核心部件,是将化学能转化为电能的场所。

氢气储存装置用于储存氢气,提供燃料电池堆所需氢气。

电子控制器用于控制燃料电池堆的输出功率和电流,保证系统的稳定性和安全性。

电机则将燃料电池堆产生的电能转化为机械能,驱动车辆运动。

第三章燃料电池驱动系统控制燃料电池驱动系统控制是指控制燃料电池堆的输出功率和电流,保证系统的稳定性和安全性。

控制系统是燃料电池驱动系统的关键部分,需要根据不同的工况进行相应的控制策略。

3.1 静态控制静态控制是指在静止状态下的控制,主要控制燃料电池堆的输出电流,控制方法通常是通过改变电子控制器中的电阻或电容等参数来实现。

3.2 动态控制动态控制是指在运动状态下的控制,主要控制燃料电池堆的输出功率,控制方法通常是通过改变电子控制器中的开关状态来实现。

3.3 整车控制整车控制是指对整个燃料电池车的控制,包括动力总成控制、制动控制、转向控制、安全控制等。

整车控制需要结合车辆的速度、路况、驾驶员需求等因素进行控制,保证整个车辆系统的稳定性和安全性。

第四章燃料电池驱动系统优化燃料电池驱动系统优化是指在保证燃料电池驱动系统性能良好的基础上,降低系统成本、提高系统效率和性能。

主要包括以下几个方面。

4.1 燃料电池堆优化燃料电池堆的优化是在保证其性能稳定的前提下,降低制造成本和体积。

目前,燃料电池堆的制造成本是燃料电池驱动系统成本的主要来源。

在优化燃料电池堆时,需要考虑燃料电池堆的工作温度、耐久性、稳定性等因素。

4.2 氢气储存装置优化氢气储存装置的优化是在保证其储氢量和安全性的前提下,降低其成本和体积。

燃料电池系统动态控制中的智能负载调节技术研究

燃料电池系统动态控制中的智能负载调节技术研究

燃料电池系统动态控制中的智能负载调节技术研究燃料电池技术作为一种清洁能源技术,被广泛应用于交通运输、能源存储和分布式能源系统等领域。

然而,在实际应用中,燃料电池系统的动态控制面临着诸多挑战,尤其是在智能负载调节方面存在较大的技术难点和研究空白。

本文将针对燃料电池系统中智能负载调节技术展开深入研究,探讨其在提高系统稳定性、效率和可靠性方面的作用及意义。

一、燃料电池系统动态控制的背景和意义燃料电池系统是一种将化学能直接转化为电能的高效能源转换装置。

与传统的内燃机相比,燃料电池系统具有零排放、高能量转换效率和低噪音等优点,因此备受关注。

然而,在实际应用中,燃料电池系统的动态控制极其重要,尤其是在面对复杂多变的负载要求时,需要智能调节技术来保证系统运行稳定、高效。

二、燃料电池系统动态控制中的问题与挑战1. 负载波动导致系统不稳定:燃料电池系统在运行过程中,负载的波动往往会导致系统电压和电流的波动,进而影响系统的稳定性和输出性能。

2. 负载响应速度慢:燃料电池系统的负载响应速度慢,无法满足部分需要快速动态调节的应用场景,例如电动汽车的快速加速和减速。

3. 能量管理不足:燃料电池系统的能量管理在动态调节方面存在不足,导致系统能量利用率低,降低了系统的工作效率和使用寿命。

三、智能负载调节技术的基本原理与方法1. 智能负载调节技术基本原理:智能负载调节技术是指利用先进的传感器、控制算法和执行器等装置,通过对系统的实时监测和调节,使系统能够快速响应、稳定运行。

2. 基于模型预测控制的智能负载调节技术:模型预测控制是一种基于系统动态模型的控制策略,通过对系统未来状态的预测,根据优化准则调节控制器参数,实现对系统的智能调节。

3. 基于人工智能算法的智能负载调节技术:人工智能算法包括神经网络、模糊逻辑、遗传算法等,在智能负载调节中具有广泛的应用前景,能够实现系统的自适应调节和优化控制。

四、现状目前,国内外学者对燃料电池系统动态控制中的智能负载调节技术进行了大量研究,取得了一些重要成果。

氢燃料电池系统的控制策略及优化研究

氢燃料电池系统的控制策略及优化研究

氢燃料电池系统的控制策略及优化研究氢燃料电池系统被认为是未来清洁能源发展的重要技术之一。

它利用氢气和氧气化学反应产生电能,不会产生任何有害物质,是一种零排放的能源系统。

但是,氢燃料电池系统的控制和优化仍然是一个值得研究的问题。

一、氢燃料电池系统的控制策略氢燃料电池系统由氢气供给系统、氧气供给系统、电化学反应系统和控制系统组成。

其中,控制系统负责控制氢气流量、氧气流量、电化学反应温度等参数,以优化电池的功率输出和寿命。

1. 氢气流量控制氢气流量的控制是氢燃料电池系统中最重要的控制之一。

通过控制氢气流量可以控制电池的输出功率和电池的寿命。

当氢气流量过大时,会使电池输出功率过高,导致电池寿命缩短;当氢气流量过小时,会使电池输出功率过低,影响电池的功率输出。

2. 氧气流量控制氧气流量的控制也是氢燃料电池系统中一个重要的控制。

通过控制氧气流量可以控制电池的输出功率和电池的寿命。

当氧气流量过大时,会使电池输出功率过高,导致电池寿命缩短;当氧气流量过小时,会使电池输出功率过低,影响电池的功率输出。

3. 温度控制电化学反应的温度对电池的输出功率和电池的寿命都有影响。

当温度过高时,会导致电池寿命缩短;当温度过低时,会影响电池的功率输出。

因此,温度的控制也是氢燃料电池系统中一个重要的控制。

二、氢燃料电池系统的优化研究随着氢燃料电池技术的不断发展,如何优化氢燃料电池系统,提高其效率和经济性,成为了相关研究领域的一个重要课题。

1. 氢气流量优化氢气流量的优化是氢燃料电池系统优化研究的一个重点。

通过优化氢气流量可以提高电池的效率和经济性。

目前,已有研究表明,在一定条件下,适当降低氢气流量可以提高电池寿命和经济性。

2. 温度优化温度的优化也是氢燃料电池系统优化研究的一个重点。

通过优化温度可以提高电池的输出功率和经济性。

目前,已有研究表明,在一定条件下,适当降低温度可以提高电池的效率和经济性。

3. 系统控制优化除了氢气流量和温度的优化之外,氢燃料电池系统的控制优化也是相关研究的一个重点。

燃料电池系统的控制策略研究

燃料电池系统的控制策略研究

燃料电池系统的控制策略研究燃料电池技术被认为是未来车辆动力系统发展的重要方向之一,具有零排放、高效能、环保等优点。

为了实现燃料电池的高效运行,需要采用科学有效的控制策略,优化系统的运行过程。

目前燃料电池系统的控制策略主要包括三个方面:气体、热管理和电池管理。

首先,气体管理方面的控制策略主要通过控制氢气和氧气的流量比例及质量分数,来控制燃料电池系统的输出功率。

实现方法主要有以下几种:1. 恒定流量控制策略:通过控制氢气和氧气的流量,使其始终保持一定的比例,从而控制电池的输出功率。

2. 恒定质量分数控制策略:通过控制氢气和氧气的质量分数,使其始终保持一定的比例,从而控制电池的输出功率。

3. 预测控制策略:通过对氢气和氧气流量、电压和电流等参数进行实时监测和分析,建立数学模型,从而实现对电池输出功率的预测和控制。

其次,热管理方面的控制策略主要通过控制进气空气和冷却水的温度,来保持燃料电池系统的稳定运行。

实现方法主要有以下几种:1. 基于比例积分微分(PID)控制器的控制策略:通过对进气空气和冷却水的温度进行调整,使其始终保持在合适的范围内,从而实现燃料电池系统的稳定运行。

2. 基于模型预测控制(MPC)的控制策略:通过对燃料电池系统的温度动态建模,预测未来的系统状态,从而自适应调整进气空气和冷却水的温度,实现系统的稳定运行。

最后,电池管理方面的控制策略主要包括燃料电池系统的状态估计和电池电压控制。

实现方法主要有以下几种:1. 基于扩展卡尔曼滤波(EKF)的状态估计方法:通过对系统的输入输出进行实时监测和估计,建立燃料电池系统的数字化模型,实现对系统状态的精准估计。

2. 基于模型参考自适应控制(MRAC)的电池电压控制:通过对系统的电压和电流进行实时监测和估计,建立电池的数字化模型,实现对电池电压的自适应控制。

总之,燃料电池系统的控制策略是燃料电池技术得以实现工程化应用的基础和关键。

随着科技的不断进步,我们相信未来的燃料电池技术在控制策略的研究上,必将有更加深入的探索和突破。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于HCS12的实时嵌入式燃料电池控制系统白日光3,1,萧蕴诗1,孙泽昌3,2(1.同济大学控制工程与科学系,上海 200092;2.同济大学汽车学院,上海 200092;3.同济大学摩托罗拉汽车电子联合实验室,上海 20092)摘要:燃料电池控制器是燃料电池中非常关键的部分,对于燃料电池稳定而安全的工作有积极的作用。

针对燃料电池控制中要求较高的实时性与可靠性,利用摩托罗拉16位单片机MC9S12DP256b把实时嵌入式系统UC/OS-II成功移植到控制中。

本文结合HCS12单片机和Codewarrior编译器的特点详细介绍了内核的优化实现,并利用实例说明了嵌入式操作系统带来的优点。

关键词:UC/OS-II;燃料电池控制器(FCC);MC9S12DP256b;移植;内核Real Time Kernel Fuel Cell Control System Based on HCS12Bai Riguang3,1,Xiao Yunshi1,Sun Zechang3,2(1. Department of Control Engineering & Science, Tongji University, Shanghai, 200092, China;2. Automobile College, Tongji University, Shanghai, 200092,China;3. Tongji University Motorola Automobile Electronic Laboratory, Shanghai, 200092, China)Abstract: The Fuel Cell Controller (FCC) is an important part of Fuel Cell. It affects steady and safe running of Fuel Cell. Considering real time and reliability qualities of FCC, we port real time embedded operation system UC/OS-II to the controller using HCS12. With the characteristic of HCS12 single chip and Codewarrior, the paper introduces the implementation of the kernel in details, and shows the advantage of the embedded operation system by an example.Key words: UC/OS-II; fuel cell controller (FCC); MC9S12DP256b; port; kernel0 引言随着汽车工业的发展,人类对传统能源(如原油)的需求日益扩大,从而带来空气污染和资源枯竭两大问题,燃料电池作为一种新型的绿色能源开始受到人类的关注。

结合由同济大学承担的国家863电动汽车重大专项——燃料电池轿车项目,需要开发适用于质子交换膜燃料电池稳定而安全工作的燃料电池控制器。

考虑到燃料电池控制器硬件资源的需求,研究中利用了摩托罗拉公司的16位单片机MC9S12DP256b。

为了进一步满足控制中高可靠性与实时性的要求,把内核公开的UC/OS-II实时嵌入式操作系统移植到此单片机中,从而使开发具有更好的扩展性。

本文首次把实时嵌入式操作系统应用到燃料电池控制中,取得了良好的效果。

基金项目:国家863电动汽车重大专项(2003AA501)作者简介:白日光(1980—),男,硕士生,主要从事燃料电池控制器,过程控制与计算机控制方向研究。

萧蕴诗(1946—),男,教授,博士生导师,主要研究方向为智能控制理论与系统。

孙泽昌(1953—),男,教授,博士生导师,主要研究方向为汽车电子。

1 系统平台介绍1.1 硬件MC9S12DP256b]1[MC9S12DP256b是摩托罗拉16位单片机HCS12家族中的一员,它的处理单元采用了16位的STAR12 CPU。

此单片机内嵌了很多资源,包括256K FLASH,4K EEPROM,12K RAM,8通道定时器以及多种通信接口。

此单片机可通过单线BDM进行程序的编译,下载和在线调试。

1.2 软件平台CodewarriorCodewarrior是Metrowerks公司开发的一个编程环境。

这里使用的Codewarrior4.2是专门针对HCS12系列单片机开发的,他可以用来进行程序编辑,编译,连接和在线调试等多项功能,并支持多种语言功能,可在C中嵌入汇编程序。

1.3 嵌入式操作系统UC/OS-II内核]2[UC/OS-II(Micro Control Operation System Two)是一种源代码公开的嵌入式操作系统, 程序绝大部分是用C语言写的, 带有少量的汇编程序, 并且有详细的说明和示例, 可移植、易调试, 稳定性与可靠性高, 功能也比较完善。

在改进后的2.51版]3[中包括了任务管理,时间管理,任务间通信(消息,邮箱,信号量和标志)和内存管理等多项功能。

UC/OS-II的内核是占先式的,具有最高优先级的任务一旦准备就绪, 就能立刻得到CPU的控制权, 可以剥夺低优先级任务的CPU使用权, 处理系统最紧急的事务。

1.4 移植条件一般来说,能移植UC/OS-II的CPU及其编译器必须满足以下条件:①用户的编译器能产生可重入性代码;②用C语言就可以打开和关闭中断;③CPU能产生定时中断,而且给用户留有自定义中断向量;④具有一定的数据和代码空间,至少4K的ROM和2K 的RAM;⑤CPU有将堆栈指针和其他CPU寄存器读出和存储到堆栈和内存中的指令。

对于以上条件,MC9S12DP256b和其编译器Codewarrior都能满足。

2 移植过程图1 UC/OS-II 2.51版的软硬件结构体系图1显示了UC/OS-II 2.51版移植到MC9S12DP256b时的软硬件结构体系。

应用程序软件使用Codewarrior编译器,硬件利用MC9S12DP256b 单片机。

嵌入式系统UC/OS-II共由3部分组成,一部分是与处理器无关的代码,在移植中可直接使用,无需更改;一部分是与应用相关的代码,其中INCLUDES.H用来配置头文件,OS_CFG.H用来配置需要的UC/OS-II资源;另一部分就是处理器相关的代码,这部分是移植的重点,其中OS_CPU.H定义了与处理器相关的常量,宏和类型,OS_CPU_C.C中包括了与处理器相关的代码。

在OS_CPU_C.C中共有五个重要的函数:OSStartHighRdy(), OSCtxSw(), OSIntCtxSw(), OSTaskStkInit(), OSTickISR()。

这几个函数都是与STAR12 CPU的内部寄存器和堆栈处理有关联的,OSTickISR()还和MS9S12DP256b的时间模块有关联。

2.1 STAR12 CPU堆栈介绍在移植中关键就是如何构造任务堆栈及如何在切换任务时调整堆栈指针,因而需要对STAR CPU的堆栈调用有详细的了解。

STAR12 CPU的内部寄存器有:16位累加器D(也可分作两个8位累加器A和B),变址寄存器IX,变址寄存器IY,堆栈指针SP,程序计数器PC和8位条件码寄存器CCR。

当中断发生时,所有的寄存器都会按一定顺序自动的保存到堆栈中,如图2所示。

图2 STAR12 CPU中断发生时的堆栈变化2.2 文件OS_CPU.H的移植从图2可以看出,STAR12 CPU的堆栈指针是向下增长的,因而在OS_CPU.H中要宏定义对应变量为1。

CPU的开关中断采用文献]2[中介绍的方法1,而定时中断采用有输出比较功能的TC7。

此CPU 还提供了专门的软中断指令swi,这对于移植是非常有利的。

下面列出了移植后的关键代码:#define OS_STK_GROWTH 1#define OS_ENTER_CRITICAL() __asm sei#define OS_EXIT_CRITICAL() __asm cli#define OS_TICK_OC 7#define OS_TASK_SW() __asm swi2.3函数OSTaskStkInit()的移植函数OSTaskStkInit()的功能是初始化任务堆栈,在任务建立时会调用它。

当多任务启动和任务切换时,会通过中断返回指令把已准备就绪的优先级最高的任务的堆栈内容返回。

因而,必须模仿中断发生时的堆栈内容来初始化堆栈。

下面显示了此函数移植后的关键代码:INT16U *wstk; //字堆栈指针INT16U *OffsetAddress; //任务偏址指针INT8U *bstk; //字节堆栈指针INT8U regPage; //任务页地址wstk = (INT16U *)ptos; //堆栈栈顶*--wstk = (INT16U)pdata; //数据参数地址OffsetAddress = (INT16U*)&task; //任务偏地址regPage = (INT8U)task; //任务页地址*--wstk = (INT16U)*OffsetAddress; //偏址入栈*--wstk = (INT16U)*OffsetAddress; //偏址入栈*--wstk = (INT16U)0x1111; //IY寄存器*--wstk = (INT16U)0x2222; //IX寄存器*--wstk = (INT16U)0xBBAA; //D累加器bstk = (INT8U *)wstk; //堆栈指针为8位--bstk = 0x80; //CCR寄存器#if defined( __BANKED__) || defined(__LARGE__)*--bstk = regPage; //页地址入栈(8位)#endifreturn ((void *)bstk);//返回新的栈顶图3 OSTaskStkInit()初始化后的任务堆栈堆栈初始化后如图3所示,比较图2,这里增加了一个最后入栈的任务页地址regPage。

由于在此单片机中有256K FLASH,而且外部可扩展768K FLASH,因而当单片机工作时,无法用16位的程序计数器完全寻址,需要利用分页寻址的方式,其中页地址存储在8位PPAGE寄存器中。

当程序在不同的页之间切换时,就需要把PPAGE寄存器的值保存起来,Codewarrior编译器可实现此功能。

相关文档
最新文档