天津工业大学本科毕业论文
2.2 系统工作原理
该设计在整体上分为MCU控制部分、信号采集部分、PWM照明输出部分。信号采集部分又分为环境照明信号采集部分和人体活动红外信号采集部分。MCU控制部分在整个系统中主要起到控制系统工作时序和实现采样数据的本地处理,人机交互等功能。
2.2.1 MCU控制部分工作原理
ARM体系结构是个非常优秀的处理器体系结构。特别适合功能专一,性能要求较高的嵌入式系统。STM32以ARM CortexM3为内核,主频最高工作在72MHz,上电之后,进行按键的判断,获取信号采集模块的信息,当条件满足时分配合适的占空比进行PWM输出。
2.2.2信号采集部分工作原理
信号采集部分用来与MCU控制部分对接,分别采集环境照明信号和人体活动红外信号。两个信号采集点除了采集信号的对象不同,信号调理电路不同,对样点数据的处理方法不同之外,在其它功能上非常相似。为减少误操作需要进行时间段内多次采样取平均值。环境照明信号和人体活动红外信号在经过各自的信号调理电路之后被送入与之对应的ADC进行采样,然后在主控MCU的控制下通过TIM输出合适的占空比。
2.2.3 ADC工作原理
ADC是将模拟信号转化成数字信号的转换器,将模拟量转换为数字量。现代电子技术以各种处理器为核心,也就是说,现代电子技术核心是数字电子技术。但是人们所处的世界是个模拟的,从电子系统外部感知到的信号大部分都是模拟信号。将模拟信号变换成数字的信号,这就是ADC在所有电子系统中的作用。对于本设计信号采集模块来讲,首先不需要太高的分辨率,其次调理电路输出的信号比较纯净,幅值也满足一般ADC对输入信号的要求,从而不需要位数过高的ADC来提高对信号采样的精度。所以在该系统信号采集部分上选择了STM32单片机片上的12位分辨率的ADC对光电信号和红外信号进行采样。信号经过调理电路之后直连到单片机的ADC输入引脚,除了具有节省成本的优点之外,ADC采样的控制和数据的读取都非常方便而且稳定、可靠。
2.2.4 PWM照明输出部分工作原理
脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的连通和中断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波
6
天津工业大学本科毕业论文
形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率[11] 。
从主控MCU获取占空比,占空比控制着LED闪烁的频率,频率低时反映到人眼就是LED亮度低;反之,亮度高。从而达到我们的照明需求。
7
天津工业大学本科毕业论文
第三章 硬件电路设计
3.1 硬件总体设计
硬件设计的总体框架如图3-1所示。整个系统以STM32单片机为主控芯片,周边模块包括:电源、晶振、复位、USB串口、按键模块、光敏传感器模块、热释电红外传感器模块、LED照明模块。其中,热释电红外传感器模块采用BISS0001对红外信号进行处理,外围有相应的信号调理电路,将传感器采集到的红外信号经过处理后送入STM32单片机的片上ADC进行采样。 光敏传感器模块 电源晶振复位STM32F103ZET6LED照明模块按键模块USB串口电路 热释电红外传感器模块图3-1 硬件设计总体框架框图 3.2 主控硬件设计
在该系统中,主控硬件部分,对整个系统的工作时序进行协调和控制,ADC信号采集,扫描按键,处理当前状态,分配合适的占空比来控制PWM输出。
8
天津工业大学本科毕业论文
3.2.1 STM32单片机最小系统
选用STM32F103ZET6 作为 MCU,最小系统如图3-2所示。该芯片为意法半导体(ST)公司出品。STM32F1系列属于中低端的ARM微控制器,以Cortex-M3为内核的32位RISC处理器,功耗低,处理能力强,144引脚LQFP封装。
该芯片拥有的资源包括:64KB SRAM、512KB FLASH、2 个基本定时器、4 个通用定时器、2 个高级定时器、2 个 DMA 控制器(共 12 个通道)、3 个 SPI、 2 个 IIC、5 个串口、1 个 USB、1 个 CAN、3 个 12 位 ADC、1 个 12 位 DAC、1 个 SDIO 接口、 1 个 FSMC 接口以及 112 个通用 IO 口。
开发时,出于开发方便的目的选用的是STM32F1家族常用型号里面,最高配置的芯片STM32F103ZET6。在本设计中我们仅用到了电源接口、ADC、timer等很少一部分功能和GPIO接口。所以在实际的生产应用中,我们使用STM32F103C8T6就足以应对生产需求了,从而降低了生产成本。
图3-2 STM32单片机最小系统原理图
与ARM其它较高端处理器比较,STM32单片机的最小系统相对比较简单,该系统外接一个8MHz无源晶体震荡器到单片机的震荡输入引脚OSC_IN和OSC_OUT,经过
9
天津工业大学本科毕业论文
单片机内部锁相环倍频到72MHz后提供给单片机内核。只要在单片机的复位引脚NRST保持一定时间低电平,单片机将可靠复位,整个系统对复位电路要求较低,所以外接一个RC电路和一个按键分别充当单片机的上电复位电路和手动复位电路,在单片机刚上电的时刻,由于电容尚且没有容纳电荷,3.3V电源经电阻R14对电容C20充电,可以近似的看成是3.3V电源与地之间形成回路,NRST引脚上的电平被正在充电的电容拉低,当电容充电充满时,3.3V电源与地之间的回路断开,NRST引脚上的电平被3.3V电源经电阻R14拉高,单片机跳出复位状态开始正常工作。在系统调试时,如果需要复位单片机系统,只需按下按键,将NRST引脚上的电平强制拉低,单片机便可以可靠复位。需要注意的是单片机的BOOT0、BOOT1引脚只有在都拉低的状态下单片机才能正常启动,否则不能。但是在烧写程序时,BOOT0引脚又必须拉高以选择相应的启动模式来烧写程序,所以在系统中将BOOT0和BOOT1引脚均由一个10K的电阻拉低到地,烧写程序时,在预留的BOOT0端口上外接3.3V电源电压就可以完成程序的烧写了。
3.2.2启动模式设置接口
STM32 的启动方式用BOOT0 和 BOOT1来设置,其接口如图3-3所示。其启动模式如表3-1 所示。
图3-3 启动模式设置接口原理图
串口下载代码配置:BOOT0为1,BOOT1为 0;
STM32 复位键按下后直接跑代码配置: BOOT0 为 0,BOOT1任意设置;于是有开发人员专门设计了一键下载电路,通过串口的 DTR 和 RTS 信号配置 BOOT0 和 RST 信号。不再需要用户来手动切换他们的状态,可以直接使用串口下载软件自动控制,下载代码更加方便。
10