APP下载

基于Cortex-A8闹钟设备控制系统设计

2020-07-04汪跃萍朱云国

电脑知识与技术 2020年15期
关键词:闹钟智能化

汪跃萍 朱云国

摘要:该文是基于Cortex-A8处理器进行闹钟设备控制系统设计,以此紧跟社会发展的步伐,满足人们对电子产品的需求。该设计首先介绍硬件平台的搭建,然后进行软件平台的服务器搭建和开发板参数设置、硬件电路的设计、软件模块的设计,最后在Linux系统下进行项目测试。利用开发板中的LM75数字温度传感器采集温度,通过PWM变频技术实现定时闹钟功能,并可以实现时钟显示功能,用户还可以利用App来控制闹钟的添加、删除、更新等功能。相信在嵌入式技术不断更新的背景下,这项技术必将给人们的生活带来便利,以后的闹钟等电子产品必将向着智能化和数字化方向发展。

关键词:Cortex_A8;闹钟;智能化

中图分类号:TP273 文献标识码:A

文章编号:1009-3044(2020)15-01 12-03

1背景

嵌入式技术经过30多年的发展,各类电子产品层出不穷,满足了人们的生活需求。嵌入式技术的产品已经遍及到我们的生活、学习、工作等方方面面。在军事、科学、商业、工程、娱乐文化等领域均涉及嵌入式技术。伴随着集成电路技术、信息技术、网络技术的发展,可以明显地发现嵌人式应用市场将十分广阔。嵌入式技术代表了今后的发展趋势。本次设计就是基于Cortex-A8闹钟设备控制系统。选择Cortex-A8作为开发条件是因为ARM处理器系列十分丰富,从最开始的ARM7处理器发展到如今的Cortex-A8处理器甚至是Cortex-A9、Cot-tex-A15等一系列在社会生产上应用十分广泛的产品来看,选择ARM处理器是十分正确的。虽然ARM系列的开发板功能都十分强大,但从性价比上来看Cortex-A8处理器最高,它能够使用户可以享受到更高水准的用户体验。在处理器当中它是能效最高、尺寸最小的处理器。

由于嵌入式技术的发展日新月异,因而人们对于电子时钟的精度要求以及一些附加功能要求也越来越高。本次设计的电子闹钟不仅仅能精准地实现年、月、日、时、分、秒,还可以对用户所处室内温度进行检测,而且可以利用App操控闹钟。

2总体结构

本次设计的总体流程图主要分为两部分:主控程序和守护进程。在主控程序中有温度读写模块、时钟显示模块、闹钟显示模块、用户处理指令模块。在用户处理指令模块中有三个功能添加闹钟功能、删除闹钟功能、更新闹钟功能。对于闹钟显示模块利用守护进程去监控。一旦用户设定的闹钟时间到时,守护进程就会响应实现闹钟功能,项目总的流程图如图1所示。

3硬件设计

3.1温度模块

温度检测功能的实现用到了数字温度传感器LM75,LM75芯片依靠两条12C总线协议来监控环境温度,LM75对温度监控的精度达到0.5℃。并且LM75芯片对检测到的温度有自主校对功能,当然LM75对于温度的检测是有范围的,范围值在-55到125℃。当超出这一范围会提醒用户发出报警。LM75内部有五个寄存器,当通电后寄存器设为00时,芯片被设置为温度寄存器,这时候会采集用户环境温度。通过FC总线接口对芯片发出一条指令,将采集到的环境温度返回给用户,这时候LM75就会返回寄存器检测到的温度,如图2所示。

图2中利用的是LM75芯片数字温度传感器。LM75芯片中的1号引脚SDA具有串行数据输出输入的功能,当通上电后它可以用来读取环境温度以及将读取到的温度给发送出去。2号引脚SCL是一个FC接口,用来采集时间的。3号引脚OS在环境温度不在LM75芯片检测范围内时发挥作用,具有数据超值便发生信号中断的功能。4号引脚GND和8号引脚VCC是电源引脚。5号引脚A0和6号引脚A1以及7号引脚A2可以进行地址设定,比如对温度的采集可以通过这三个引脚设定。

3.2 PWM模块

利用PWM模块的功能来实现定时闹钟,利用PWM产生方波序列,之后经过三极管的放大,将放大后的电信号传递给蜂鸣器,蜂鸣器再转化成自身所带的声音信号以此发出声响,从而实现闹钟设备的定点报时功能。其电路图如图3。

图3主要是由PWM信号波、三极管、蜂鸣器组成。PWM可以说是一种变频技术,它通过改变周期大小来控制输入的频率大小以及通过改变脉冲的宽度来对输出电压进行控制。三极管的作用在这里是放大,三极管能够把基极微小的电流,在集电极得到一个很大的电流。三极管中有一个参数叫作电流放大系数B,在集电极得到的电流就是基极电流的B倍。每次基极电流微小的变化都会在集电极得到一个大电流。蜂鸣器的作用是把从三极管得到的电信号转换为自身所带的声信号,同时它也具有把信号放大的作用。由上述分析看出来PWM不断产生变化的信号,在三极管的基极得到不断变化的电流信号,导致在集电极产生很大且连续变化的电流,放大后的电流信号再经过蜂鸣器的放大且转换成声信号,这一阶段便实现闹钟。

4软件设计

4.1时钟与温度模块

对于温度检测与时钟显示功能的流程图如图4所示。当时钟功能开始工作时,为了使得本次设计的各个功能够相互之间不会阻塞,所以为温度读写功能设置了一个线程,为时钟显示功能设置一个线程。这样系统在检测用户所在环境的温度的同时也可以进行时钟显示的功能。

4.2闹钟(PVVM)模块

定时闹钟功能的模块流程图如图5所示,从流程图可以看出闹钟功能的实现需要守护进程来监控。这里利用了守护进程的特点,在系统后台运行一直监视着闹钟功能,当用户设定的闹钟时刻t2到时,这个时间t2存放在crontab里,守护进程会先读取当前系统时间t1,t1和t2较。t1=t2时表明闹钟时刻到了,然后进入闹钟模块线程,读取crontab模块里的信息开始闹钟功能。最后并把闹钟时刻给显示到液晶显示屏上。

调用void alarm(void)函数来配合硬件部分的PWM模块来实现闹钟报警功能。对于用户设定的闹钟时间还要显示在屏幕上给用户看,这里调用Lcd__ClearAlarm(Black)函数来显示闹钟背景图片,调用函数显示闹钟响起的时刻用函数Lcd_Put-string。调用while(fgets(ret,sizeof(ret)来循环控制用户设定的多个闹钟。对于While()里的参数意思是当用户设定的时间到的时候就循環执行里面的闹钟程序。

4.3 LCD模块

图6是LCD显示设计实物图的背景图,对于LCD显示部分是通过图片形式显示的,每次在液晶屏上出现的年、月、日、时、分、秒以及温度实际显示的是对应的图片。

4.4用户指令处理模块

对于用户指令处理功能是对闹钟显示模块的控制。为了确保各个模块之间的工作能够独立工作,要在主函数里设置一个线程即用户指令线程来专门为它服务。用户指令模块可以控制的功能有(A/a添加闹钟、D/d删除闹钟、U/u更新时钟)。

当用户输入对应的指令时,如输入A来添加闹钟,也就是设定了闹钟被执行的时刻,程序会对用户输入的指令进行解析判断从而执行相应的功能。在这里执行相应的功能之前会修改crontab里的文件,当crontab里的文件被修改后,守护进程被唤醒后获取到crontab文件里的内容,解析出闹钟执行的时刻然后进入到闹钟显示模块。用户指令处理流程图如图7。

5结束语

提出了基于Cortex-A8的闹钟设备控制系统设计,硬件设计方面首先进行开发板与笔记本的搭建,软件设计方面完成了时钟显示模块、定时闹钟模块、温度采集模块、用户指令模块的设计。完成了基本的运行和调试,达到了预期目标。操作实物图如图8。

猜你喜欢

闹钟智能化
智能化战争多维透视
多彩创意闹钟
智能化的“世界观”
印刷智能化,下一站……
我们家的“大闹钟”
可爱的闹钟
小闹钟的提醒
能帮我设个闹钟不等四则
基于“物联网+”的智能化站所初探