cortex-M0详细资料
Cortex-M0单板详细资料 Cortex-M0是ARM公司推出的低功耗32位处理器,广泛应用于物联网、自动控制、嵌入式系统等领域。本资源摘要信息将对Cortex-M0单板的设计和工作流程进行详细的介绍。 1. 终端设备方案描述 终端设备是物联网系统的核心组件之一,主要负责对仓库中各种信息进行采集,并将信息上传给终端设备,并对终端设备发出的指令进行及时响应。室内的相关信息主要包括温湿度、光感度、三轴加速度信息。 2. 主控制器选择 主控制器选择了NXP的LPC11C14(以下简称M0),它是ARM Cortex-M0系列的低功耗32位处理器,最高可以工作到50MHZ,无论是在速度上还是在功耗上,亦或是抗干扰能力上,它完全能够胜任终端数据采集的重任。 3. 前端设备与终端设备的通信 前端设备与终端设备的通信采用的是ZigBee通信模块,它功耗低,成本低,具有优良的网络拓扑结构,便于组网。它与M0之间的连接采用的是双向的SPI到UART转换芯片SC16IS752IPW,节省了片上有限的UART资源。 4. 终端设备工作流程 1)系统上电,初始化系统时钟,使能IO时钟、配置LED、FAN、SPEAKER的IO端口,初始化SPI0、SPI1。使能系统滴答定时器,设置其中断时间为1ms。 2)采集环境信息并显示在OLED上 3)将信息打包,通过ZigBee发送给A8服务器 4)检测ZigBee是否有数据接收,有则根据命令驱使相应的器件 5. 功能模块 1.3.1 GPIO设备 M0具有多达42个通用I/O(GPIO)引脚,上拉/下拉电阻可配置,GPIO引脚还可以可以用作边沿和电平触发的中断源。 1.3.1.1 LED灯 LED灯通过简单的GPIO的输入低电平就可以点亮 GPIOSetValue(PORT3, 0, 0); // PIO3_0 output 1, turn on LED1 GPIOSetValue(PORT3, 1, 0); // PIO3_1 output 1, turn on LED2 1.3.1.2 风扇 风扇可以通过直接操作GPIO输出高低电平来实现开启和关闭 GPIOSetValue(PORT0, 2, 0); // PIO0_2 output 0, run FAN 1.3.1.3 蜂鸣器 蜂鸣器需要在一定的频率下开关方能发出声响,使用在这里我用了系统滴答定时器,在其中用一个全局标志位来控制蜂鸣器是否报警。 static int SPK_FLAG = 0; void SysTick_Handler(void){ static uint32_t Tick=0; Tick ++; if(SPK_FLAG){ if(Tick == 1)GPIOSetValue(PORT1, 1, 0); else if(Tick >= 2){ GPIOSetValue(PORT1, 1, 1); Tick = 0; } } } 1.3.1.4 温度湿度传感器DHT11 DHT11用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次传送40位数据,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验位。 M0读取数据的步骤如下: 1) DHT11上电后(DHT11上电后要等待1S越过不稳定状态,在此期间不要做任何操作),测试环境温湿度,并记录数据,此时DHT11的DATA数据线由上拉电阻拉高,它的引脚处于输入状态,时刻检测外部起始信号。 2) 将M0设置为输出,并输出低电平,保持18ms以上,然后M0设置为输入,此时DATA数据线被拉高,等待DHT11的响应信号。 3) DHT11接收到M0的低电平起始信号后,延时一段时间,向M0发送80us的低电平响应信号,接下来继续发送80us的高电平信号,通知M0准备接收数据。 4) DHT11的DATA引脚输出40位的数据,MO根据电平的变化来获得数据。 5) DHT11输出40位数据后,继续输出50us的低电平后转为输入状态。 void PIOINT1_IRQHandler(void){ if(GPIOIntStatus(PORT1, 5)) { p1_5_tc = SysTick->VAL; p1_5_c } } Cortex-M0单板的设计和工作流程已经详细介绍完毕,它的应用前景非常广阔,能够满足物联网、自动控制、嵌入式系统等领域的需求。
剩余23页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助