首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA的多功能空调控制器设计

基于FPGA的多功能空调控制器设计

  1 引言
  今年八月,以格力“睡梦宝”卧室空调为代表的一批性能卓越,设计人性化的空调一经上市,就吸引了大批消费者的目光,但其居高不下的价格却也让很多普通的消费者望而却步。
空调市场的高价位,除了商家基于利润的考虑之外,一个很重要的原因,就是在空调的研发过程中所投入的巨额经费。以格兰仕为例,公司每年拿出的科研奖励基金就高达1000万元[1],其投入的研发经费之巨也就不难想象。如何降低设计成本,缩短研发周期,规避前期风险投资已成为空调产业发展所面临的一个重要课题。
  基于对上述问题的思索,本文以一个小型多功能家用空调控制器的设计作为实例,介绍一种设计简便,性能优秀且能有效控制成本的FPGA解决方案。
  2 设计指标
  本设计的任务是一个具有多种工作模式和多级风速可供选择的小型家用空调控制器。其基本设计指标如下:
  1.系统上电后,默认工作于标准模式,风速为1级,自设温度为22℃,定时功能关,工作状态指示灯亮。
  2.系统有四种工作模式:
  标准模式:系统根据用户自设温度与室内温度进行对比判断,驱动响应设备工作。
  自动模式:系统根据室内温度与系统内预设温
度阈值进行对比判断,驱动响应设备工作。
  睡眠模式:除具有标准模式的功能外,在该模式下系统能根据人体睡眠特点和夜间温度变化情况,自动进行温度调节。
  除湿模式:启用该模式后,将驱动响应设备对室内进行除湿操作。
  3.此外系统还提供四级风速供用户选择,方便的温度设定输入,定时,工作状态指示等功能。
  3 FPGA方案的引入
  长期以来,对于这类家用空调控制器的设计,多采用单片机来实现,其特点是成本较低,性能一般。但普通单片机的集成度通常较低,如Intel公司的AT89S51仅128字节片内数据存储器,32根可编程I/O口线,5个中断源。显然,要想完成较为复杂的运算和控制功能,就必须对其进行扩展,而外部硬件电路所带来的延时等不可预知风险,使得扩展必须以牺牲整机性能作为代价。而且这种设计方法受制于硬件电路,开发难度较大。而一些商家研发的空调专用芯片,也多因技术上的壁垒,在通用性,升级和价格方面不具优势。
  FPGA作为一种新兴的可编程技术,是进行原型设计最理想的载体[2],其精确的可测试性和目前已达到的深亚微米级工艺,能较好的解决传统设计方法中的诸多难题。其丰富的编程资源和灵活的编程特性,能将许多原本需要借助外部硬件实现的功能,转化为软件编程来完成,使升级改进更为灵活。而且这种设计方法能在软件阶段就对设计做出准确的预测和评估,从而能极大地提高开发效率,有效规避前期的风险投资。现代先进的FPGA工艺技术,使得FPGA在功耗和价格方面都大为降低,以工作电压为3.3V的EPCS1SI8芯片为例,其目前的市场价格仅在10元左右。
  4 系统划分
  FPGA技术的一个巨大优势,就是采用自顶向下的设计思想,将设计模块化处理。为完成控制器各项功能,设计被划分为多个模块进行。整个控制器的组成及各模块之间控制关系如图1所示。

  图1 控制器结构图
  由图1可知,控制器由工作模式(含模式选择和四种工作模式),风速选择,室温设定,定时,设备驱动等模块构成。且在各模块之间,存在明确的控制关系。
  5 设计实现
  由系统划分可知,控制器的各项功能由各模块协同完成。其中模式选择,室温设定,定时三个模块都要接受来自外部的按键输入,经硬件实测,设计选用了4HZ的系统频率来减少按键输入过程中的抖动干扰。另外,有限状态机设计作为进行高效率高可靠逻辑控制的重要途径[3],设计中也多次运用了这一设计方法。以下分别阐释各模块及模块间控制关系的设计思想和工作流程。
  5.1 工作模式
  模式选择由选择控制和四种工作模式构成。
  选择控制:该模块为四种工作模式提供选通信号,通过按键从NORMAL开始循环切换,驱动各模式正常工作。该部分被设计为一个具有四种工作状态的字符型有限状态机,其状态转换控制关系如图2所示。

  图2 选择控制状态转换图
  标准模式:该模块将外部采集的室温与用户自设温度值进行对比判断,确定当前室温状况(冷、热或适宜),并将该状态信息送入驱动模块处理。
  自动模式:该模块将外部采集的室温与系统内预设温度阈值(此处设定为[17℃-26℃])进行对比判断,若外部采集的温度超出该阈值,则有相应状态信号向驱动模块发出。
  睡眠模式:该模块除具有标准模式的功能外,为了营造一个舒适的睡眠环境,系统每隔1小时,会向自设温度模块发出自增1℃的请求信号,5小时后向设备驱动模块发出关机请求。睡眠模式程序设计流程如图3所示。

  图3 睡眠模式设计流程图
  除湿模式:该模式下除湿请求自动向设备驱动模块发出。
返回列表