前言
线控器,是中央空调的“指挥家”。是空调运行的第一步,也是日常调节的中枢,通过线控器指令的传导,空调就会做出相应的服务。随着空调普及率的提高,空调线控器及遥控器的产量不断上升。又由于单片机的集成度高,功能强,通用性好,且其体积小,重量轻,能耗低,可靠性高,抗干扰能力强等特点,所以大部分空调遥控器和线控器都采用单片机作为主控制器。
芯源推出的CW32L系列产品已全面实现 -40℃ ~ 85℃超宽温度范围和 1.65V~5.5V 超宽工作电压,面向最广泛的各种基础应用。CW32系列HBM ESD、MM ESD、CDM ESD、Latch up@105℃全面达到JEDEC最高等级,所以CW32系列具备稳定可靠的eFLASH制造,确保了工业产品的高可靠性。此次产品的研发就是基于芯源产品的系列进行的,并将对产品进行ESD测试等内容。
开发记录
第一步:硬件设计及PCB制板
此线控器是基于武汉芯源半导体推出的CW32L083低功耗系列产品设计研发而成的,其主要包括MCU、触摸模块、通信模块、红外遥控模块、存储模块、编程接口等部分,设计系统原理框图如图1所示:
图1 系统原理框图
该线控器自带背光,白底黑字液晶,触摸按键,可显示和设置时钟,可预约24小时开关机(倒计时、时刻定时功能),可调节7档风速、上下扫风和左右扫风,可切换自动、制冷、初始、送风、自热等模式,不仅可以通过WiFi与手机相连使用APP控制,还可以接收红外遥控器控制,具有机组参数查询与设置功能,防潮设计、不易受潮。其设计原理图及PCB板实物图分别如图2、图3所示:
图2 线控器原理图
图3 线控器PCB板
第二步:软件设计
软件部分主要分为以下几部分内容,软件构成如图4所示:
图4 线控器程序图
LCD显示部分,LCD主要显示温度,风速,模式等系列设置内容,例如模式设置内容为:
/* @brief 运行模式显示@detail 显示自动、制暖、制冷、抽湿和送风*/ void display_mode(void) { 复制if (G_CleanState) return; switch(G_SystemMode) { case SYSTEM_MODE_AUTO: lcd_SystemMode_Auto; break; case SYSTEM_MODE_WARM: lcd_SystemMode_WARM; break; case SYSTEM_MODE_COLD: lcd_SystemMode_COLD; break; case SYSTEM_MODE_COLD_WET: //lcd_SystemMode_COLD; lcd_SystemMode_WET; break; case SYSTEM_MODE_WET: lcd_SystemMode_WET; break; case SYSTEM_MODE_WIND: lcd_SystemMode_WIND; break; }}
2. 蜂鸣器部分,主要实现功能是按键响应,例程如下:
void ppg_program(void) { if(key_keepon_beep) { PPG_time=0; return;} switch(PPG_type) { case 0: ppg_off(); break; case 1: ppg_type1(); break; case 2: ppg_type2(); break; case 3: ppg_type3(); break; case 4: ppg_type4(); break; case 5: ppg_type5(); break; case 6: ppg_type6();break; default: ppg_off(); break; }}
3. 存储部分,存储用的是24C04,通过使用IIC通讯方式与MCU进行连接的,用来存储用户设置的相关信息等,例程如下:
uint8_t i=0; I2C_SDA_OUTPUT(); delay_5us(); for(i=0;i< 8;i++) { if (Byte & 0x80) I2C_SDA_HIGH(); else I2C_SDA_LOW(); NOP(); I2C_SCL_HIGH(); delay_5us(); I2C_SCL_LOW(); delay_5us(); Byte < <= 1; } I2C_SDA_INPUT(); I2C_SCL_HIGH(); delay_5us(); if (I2C_SDA_READ()) i = 0x01; else i = 0x00; I2C_SCL_LOW(); return i;}
4. 按键部分,按键主要是用来处理按键信息,实现用户想要设置的内容,例程如下:
//功能部分 void key2_deal(void) { backlight_cnt=0; backlight_flag=1; if(self_check_flag) return; if (G_FeatureSetStatus) return; if (set_status == SET_CLOCK) return; if (G_CleanState) return;/******************************************************/ 复制/* (1)短按释放 */ /******************************************************/ if(key2_down_flag) { if(set_status) { set_status=NO_SET; G_IrSendFlag |= IR_NORMAL_SEND_FLAG; G_TxTime1sCnt=0; if(beep_enable) { ppg_off();PPG_type=1;PPG_time=0; } } else if(server_set_status) { server_change_deal(); beep_enable_deal(1); } else if(G_NanoeSingle) { G_NanoeSingle=0; nanoe_single_write = 1; G_SystemMode=G_NanoeMode; system_mode_write=1; beep_enable_deal(1); G_IrSendFlag |= IR_NORMAL_SEND_FLAG; G_TxTime1sCnt=0; } else { if(mode_lock==0) //模式 0--自动 1-制暖 2--制冷 3--抽湿 4--送风 { //G_FreshAir = 0; if (G_StrongColdState) { G_StrongColdState = 0; strong_cold_write = 1; //G_Rx0SendFlag |= RX0_SEND_FLAG_NORMAL; } if (G_StrongWarmState) { G_StrongWarmState = 0; strong_warm_write = 1; //G_Rx0SendFlag |= RX0_SEND_FLAG_NORMAL; }
5. 触摸部分,由于CW32L083本身没有触摸功能,所以另外又搭配了YS806电容感应式芯片,此芯片也是通过I2C与主芯片进行通讯的,具体部分例程如下:
uint8_t I2C_806_ReadByte(uint8_t ack) { unsigned char i, Data; I2C_806_SDA_INPUT(); Data = 0x00; for(i = 0; i < 8; i++){ Data < <= 1;I2C_806_SCL_HIGH(); DelayIIC(HALF_CLK_CYCLE);if(I2C_806_SDA_READ()){ Data |= 0x01; } else { } DelayIIC(HALF_CLK_CYCLE); I2C_806_SCL_LOW(); DelayIIC(CLK_CYCLE);} I2C_806_SDA_OUTPUT(); //send ACK or not if(ack){ I2C_806_SDA_HIGH();} else { I2C_806_SDA_LOW();} I2C_806_SCL_HIGH(); DelayIIC(CLK_CYCLE); I2C_806_SCL_LOW(); DelayIIC(CLK_CYCLE); return Data; }
除以上部分外还有其他例如背光、红外等程序内容,在此就不一一赘述。
第三步:下载调试
线控器安装液晶屏后,只需下载程序即可上电调试。为了方便刷程序,将程序的hex文件烧录至离线编程器中,四线插入正确按下烧录键即可烧录成功。烧录后通过按不同的触控按钮,实现其相对应的功能。然后再对产品进行1.5KV电压干扰下测试,测试结果展示如下图5所示,其功能及状态属于正常,CW32具有超强抗干扰能力。来自传说中的“小黑盒”隔空点灯神技攻击——MCU抗干扰实验系列专题(1)
图5 1.5KV干扰下测试状态
第四步:总结
以上即为本次线控器设计的全部基本内容,芯源推出的CW32L系列产品已全面实现 -40℃ ~ 85℃超宽温度范围和 1.65V~5.5V 超宽工作电压,面向最广泛的各种基础应用。CW32系列HBM ESD、MM ESD、CDM ESD、Latch up@105℃全面达到JEDEC最高等级,所以CW32系列具备稳定可靠的eFLASH制造,确保了工业产品的高可靠性。此次产品的研发就是基于芯源产品的系列进行的,并将对产品进行ESD测试等内容。可以方便快捷的满足客户的需求,控制空调温度,调节空调模式、风速等,当然也有不足,后续将继续改进。
来源: CW32生态社区
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。