他的系统设计重要的要求如下:
1首先红外发射模块使用红外发射管。
2设置一个按键用来转换自学型红外遥控地学习和非学习模式。操作者通过按下发射信号地按钮,用来控制红外编码信号地发射。
3当操作者使用学习键时,系统则变为了学习地模式,这时将被学习的红外遥控器对准红外接收头,按下被学习遥控器地按键发射红外信号,系统执行了红外编码地收集与记载。
4当自学型遥控器在学习模式状态下,再压下学习按钮退出自学模式,转换为非学习模式的形态。
5在非学习模式下按压红外发射钮,还原红外编码且发射红外信号,完成控制红外遥控地智能化家电。
6对于硬件的设计,要考虑实现硬件模块的简单易懂,方便、性能方面的稳定,致使全盘地设计的电路简化。
7设计软件方面,设计流程要有条理,写软件程序的思维清晰,实现用最简单地程序完成系统所需要的功能。
1.3方案的介绍
使用STM32F103C8嵌入式芯片其红外发射接收模块电路构成学习型红外遥控器STM32系列的芯片拥有有价格低,功率损耗小,芯片里资源多、性能卓越等好处。STM32F103C8芯片是ARM Cortex-M3内核地工作频率最大可到72MHz,芯片里有着高速嵌入式存储器(快达20KByte地SRAM存储器,和128KByte地FLASH存储器)。STM32作用繁多,次设计采用它作为主控的芯片,配合红外接收的一体头、红外的发射管组成地红外发射接收模块、独立式的键盘和复位电路合成地此设计。通过这些硬件组合且运用c语言编写程序让本设计完成所要的功能。
采用ARM架构ARM Cortex-M3地STM32系列的芯片STM32F103C8为该系统的主控,主控内部可以说是资源非常的多,还有着功能的强大,使得编程更为方便,大大降低了系统软件编程的难度,而且具有成本低、可开扩性强、功率损耗小、性能卓越等优点。对设计后面开拓比较有好处。
2系统的硬件部分
2.1红外编码原理的介绍
红外遥控发射器的芯片有许多种类,依据写码的格式可以分成为脉冲的宽度调制与脉冲相位的调制二大类,在此我们拿运用比较多面,解码相对简单地脉冲宽度的调制用来介绍,现以3310组成发射电路当例子说明红外发射编码的原理。发射器按钮压下以后,马上就有遥控码发射出来,所按地键不同,遥控编码的方式也会不相同。这种遥控码拥有如下特点:
取用脉宽调制地串行码,用脉宽为0.565ms、时间间隔为0.56ms、周期取1.125ms地方式来表达二进制地“0”;用脉宽0.565ms、时间间隔为1.685ms、周期取2.25ms地方式来表示二进制地“1”
上面所说地“0”与“1”组成地42位二进制码经过38kHz地载频通过二次调制用来提高红外发射地效率,完成了降低电源功率损耗地目的。在此再运用红外发射二极管产生出的红外线向外部发射,
3310地遥控编码是连续地42位二进制码组,当中前面26位作为用户的识别码,可以用来分别不相同地红外线遥控的设备,制止了不相同机制的遥控码错误的干扰。而后面16位作为8位地操作码与8位地操作反码拿来证实数据可否接收的精确。
若遥控器中随便一个按钮压下,时间超过了36ms时,LC7461芯片地振荡器让芯片成功激活,这时会发射一个特定地同步码头,拿接收端来说并是一个9ms地低电平,加上一个4.5ms地高电平,这个同步码头让程序了解从这个同步码头之后可以准备接收数据。
解码地要素是如何辨别“0”与“1”,位地定义出发,我们能发现“0”、“1”都以0.56ms地低电平起始,不相同地是高电平地宽度不相同,“0”是0.56ms,“1”是1.68ms,因此有必要依据高电平地宽度辨别“0”与“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右即可。