基于物联网的安保系统软件设计—测控模块本科论文(编辑修改稿)内容摘要:
储器 FLASH 是存储器技术最新的发展结果,具有高密度、低价格、非意失性、快速读取以及电气可重编程等特点,在嵌入式系统中的使用迅速增长。 嵌入式系统中使用 FLASH 有两种形式,一种是嵌入式处理器上集成了 FLASH,西安欧亚学院本科毕业论文(设计) 6 另一种是片外扩展 FLASH。 系统控制模块 一个 ARM 芯片中通常有很多功能部件,其中有一些是独自工作的,不会对其他部件产生影响,比如 UART 接口、 I2C 接口等。 而有一些部件的影响是全局性的,它们的状态改变时可能引起整个系统运行状态的改变,这些部件如表 31 所 列。 表 31 系统控制模块名称及简介 部件名称 功能简介 晶体振荡器 通过外外结晶振或时钟源为系统提供时钟信号 复位 复位使 ARM 内核与外设部件进入一个确定的初始状态 存储器隐射控制 控制异常向量表的重新映射方式 锁相环( PLL) 将晶体振荡器输入的时钟倍频到一个合适的时钟频率 VPB 分频器 将内核时钟与外设时钟分开的部件 功率控制 使处理器空闲或者掉电,还能关闭指定的功能部件,以降低芯片功耗 唤醒定时器 系统上电或掉电唤醒后,保证晶体振荡器能输出稳定的时钟信信号 时钟系统是计算机系统的 脉搏,处理器核在一拍接一拍的时钟驱动下完成指令执行、状态变换等动作。 外设部件在时钟的驱动下进行着各种工作,比如串口数据的收发、 A/D 转换、定时器计数等 [7]。 因此时钟对于一个计算机系统是至关重要的,通常时钟系统出现问题也是最致命的,比如振荡器不起振、振荡不稳、停振等 [7]。 时钟系统包括 4 个部分,分别为晶体振荡器、唤醒定时器、锁相环( PLL)和VPB 分频器。 其中 “ 晶体振荡器 ” 为系统提供基本的时钟信号。 当复位或处理器从掉电模式被唤醒时, “ 唤醒定时器 ” 要对输入的时钟信号做计数延时,使芯片内部件有时间进行初始化。 接下来 Fosc信号被 PLL提高到一个符合用户需要的频率( Fcclk) ,Fcclk 用于 CPU 内核。 因为 CPU 内核通常比外设部件的工作速度要快,所以用户可以设置 VPB 分频器,把 Fcclk信号降低到一个合适的值 Fpclk,该信号用于外设部件。 UART 模块 主要寄存器描述 UART 是异步通信收发器的简称,遵守工业异步通信标准。 目前大多数嵌入式处理器都配了 UART 接口,有的处理器上称为 SCI。 异步通信允许处理器之间的通信不使用公共的参考时钟。 通信的双方使用相同的波特率,数据发送和接收的单位是 帧。 西安欧亚学院本科毕业论文(设计) 7 帧由一系列在通信线上传输的位组成 [8]。 UART 的特性: 16 字节接收 FIFO 和 16 字节发送 FIFO。 寄存器位置符合 16C550 工业标准。 接收器 FIFO 触发点可为 8 和 14 字节。 内置波特率发生器。 UART1 含有标准调制解调器接口信号。 编程结构 UART 的编程结构通常包括发送寄存器、接收寄存器、模式寄存器、状态寄存器、控制寄存器和波特率发生器等;如果串行接口模块支持同步通信方式,则还会包含同步字符寄存器等。 对于高性能的 UART 模块,发送寄存器和接收寄存器可能被多个字节的发送 缓冲区和接收缓冲区所取代,以最大限度地减少处理器内核的负担 [8]。 U0RBR 是 UART0RxFIFO 的最高字节 , 是 UART0 接收 FIFO 的出口,如图 33所示。 它包含了最早接收到的字符,可通过总线接口读出。 LSB( bit0)代表最早接收到的数据位。 如果接收到的字符小于 8 位,未使用的 MSB 填充为 0。 如果要访问 U0RBR, U0LCR 的除数锁存访问位( DLAB)必须为 0。 U0RBR 为只读寄存器。 由于 PE、 FE 和 BI位与 RBRFIFO 顶端的字节相对应(即下次读 RBR 时读出的字节),因此,将接收的字节及其状 态位成对读出的正确方法是先读 U0LSR 寄存器的内容,再读 U0RBR 的字节 [9]。 图 32 接收 FIFO16 字节 U0THR 是 异步串行通信 0 口 Tx先进先出 的高字节, UART0 发送 FIFO 的入口。 我们 可 以用 总线接口写入 TxFIFO 中 最近的字符 [9]。 西安欧亚学院本科毕业论文(设计) 8 假如 访问 U0THR, U0LCR 的除数锁存访问位( DLAB) 要置 为 0。 U0THR 为只能 写 入的 寄存器。 图 33 发送 FIFO16 字节 其中 PCLK 为外围时钟, U0DLM 和 U0DLL 为标准的 异步串行通信 T0 波特率除数寄存器, DIVADDVAL 和 MULVAL 为 异步串行通信 T0 规 定的 值 [10]。 MULVAL 和DIVADDVAL的参数值应具备 [11]: 0< MULVAL≤15 0≤DIVADDVAL≤15 如果 U0FDR 寄存器 的数 值 不满足以上条件 , 则 会引起 小数分频 后 输出未定义。 如果 DIVADDVAL为 0, 就 不会被分频。 UART0 可以使能 4 个 UART0 中断源,操作示例: U0IER = 0X01; //使能 RBR 中断,即接收中断。 U0IIR 提供状态代码用于指示一个挂起中断的中断源和优先级。 在访问 U0IIR 过程中中断被冻结。 如果在访问 U0IIR 时产生了中断,该中 断被记录,下次 U0IIR 访问可读出 [11]。 实时日历时钟 RTC 日历时钟主要包括日历数据(年、月、日)和时钟数据(时、分、秒)。 目前大多数嵌入式系统的日历时钟采用专用的日历时钟芯片实现,有的时钟芯片需要外接电池,也有的时钟芯片与电池组装在一起,形成模块电路,即使系统掉电,凭借电池也可以维持日历时钟芯片准确的运行。 概述 内部的 RTC 实时日历时钟模块需要以外部晶振来提供时钟源,并且可以在系统关闭的情况下运行计时,具有闰年产生器、报警功能和时钟节拍中断等功能。 内部实时日历时钟 RTC 模 块,在系统电源掉电的情况下,支持备用电池供电,西安欧亚学院本科毕业论文(设计) 9 从而保持了日历时间的持续。 用 ARM 的 STRB/LDRB 指令, RTC 能发送 8 位 BCD码数据给处理器,包含了秒、分、时、星期、日、月和年。 RTC 单元也具备报警功能。 RTC 总体特性: BCD 数据包含秒、分、时、星期、日、月和年。 具有闰年产生器。 具有报警中断或者从掉电模式中唤醒等功能。 独立的电源供电引脚 VDDRTC。 支持毫秒级的时钟节拍中断,可用于 RTCS 的内核时钟节拍。 具备循环时间复位功能。 特殊寄存器 控制寄存器( RTCCON) 控制寄存器 RTCCON 由 4 位组成, RTCEN 位于控制 BCD 寄存器的读 /写功能,CLKSEL、 CNTSETL和 CLKRST 位用于测试。 由于 RTCEN 位控制着处理器和 RTC的所有接口,所以在系统复位之后, RTC 控制程序要使能数据的读 /写功能。 在掉电之前, RTCEN 位又必须清零,以防止对 RTC 寄存器的不安全操作。 在小端存储模式下, RTCCON 寄存器位于 0x01D70040 地址处;在大端存储模式下, RTCCON 寄存器位于 0x01D70043 地址处,各位定义如下表 [12]。 表 32 RTCCON 寄存器 RTCCON 位 描述 初始值 CLKRST [3] RTC 时钟计数重置 0=不重置 1=重置 0 CNTSEL [2] BCD 计数选择 0=组合 BCD 计数器 1=保留 0 CLKSEL [1] BCD 时钟选择 0=XTAL1/215 分频 1=保留 0 RTCEN [0] RTC 读 /写使能 0=禁止 1=使能 0 报警控制寄存器( RTCALM) 报警控制寄存器 RTCALM 用于设置报警使能和报警时间,在掉电模式下,RTCALM 寄存器可产生 ALMINT 和 PMWKUP 信号,但是在 正常模式下,只产生ALMINT 信号。 在小端模式下, RTCALM 寄存器位于 0x01D70050 地址处;在大端模式下,位于 0x01D70053 地址处 [13]。 报警时间数据寄存器 报警时间数据寄存器共 6 个,为 ALMSEC 到 ALMYEAT。 均为 8 位,最高位保留,其他位保存设置的报警时间。 循环复位寄存器( RTCRST) 循环复位寄存器 RTCRST 用于设置循环复位使能和循环边界值。 在小端存储模西安欧亚学院本科毕业论文(设计) 10 式下, RTCRST寄存器位于 0x01D7006C地址处;在大端存储模式下,位于 0x01D7006F地址处。 BCD 时间数据寄 存器 BCD 时间数据寄存器一共 7 个,为 BCDSEC 到 BCDYEAR,分别保存时间秒、分、时、日、星期、月和年。 时钟节拍计数寄存器( TICNT) 时钟节拍计数寄存器 TICNT 用于设置节拍时钟使能和时钟计数值。 在小端存储模式下, TICNT 寄存器位于 0x01D7008C 地址处;在大端存储模式下,位于0x01D7008F 地址处 [13]。 LCD 显示模块 简介 采用 32 位 ARM 处理器 和 FPGA 双核控制架构开发的一款高性能、低功耗、易使用的 64K 的 TFT 真彩显示器,可以直接和具有 UART 串行接 口的 MCU(如 51 单片机、 AVR、 PIC、 DSP、 ARM、工控机等)连接。 只需通过串口向终端发命令,便可完成相应的操作。 主要特点如下: 处理器 : 采用 32 位 ARM 处理器 +FPGA 双核控制架构,加强图像处理功能。 存储容量 : 1GBitFlash存储容量,储存一百多张 16bit 真彩色图片。 接口特性 图片下载接口:全速 USB,速度 600KB/ S。 通讯接口: 或 TTL/CMOS 电平。 PC 软件功能 IDE 编译下载环境,可视化窗口、界面美观大方; IDE 集成了大量工控行业图标、按钮、 3D 视图等矢量图 ,降低了美工难度;支持新建多个页面,编译后软件自动生成每个页面的驱动函数;支持 PC 软件与 HMI 同步显示,具有单步调试等功能;支持二进制文件烧录,量产更快更安全。 工程编译后 IDE 将自动生成工程二进制文件。 电源 : 912V@1A 工作温 度 : 20℃ ~ 70℃ 指令集使用示例 握手( 0x00) 发送: fd 00 00 00 dd cc bb aa 返回: 05 ff ff 清屏( 0x02) 发送: fd 02 00 00 dd cc bb aa 设置调色板( 0x05) 西安欧亚学院本科毕业论文(设计) 11 发送: fd 05 00 04 ff ff f8 00 dd cc bb aa 0xff 0xff:前景色的颜色编码, 0xffff 代表白色。 0x55 0x00:背景色的颜色编码, 0xf800 代表红色。 智能终端收到该命令后将白色和红色分别设为默认的前景色和背景色。 在没有执行该命令前,系统默认的前景色为黄色,背景色为蓝色。 背景色取色( 0x06) 发送: fd 06 00 04 00 03 00 05 dd cc bb aa 返回:无 解析: 0xfd:命令头,每个指令发送前必须发送。 0x06:背景色取色指令的指令码。 0x00 0x04:用两 个字节表示数据长度。 在本指令中需要发送的数据为 0x00 0x03 0x00 0x05,共 4 个。 0x00 0x03:表示 x轴的坐标。 0x00 0x05:表示 x轴的坐标。 用十进制表示其 XY坐标为( 3, 5)。 智能终端收到该命令后将坐标值为( 3, 5)的点的颜色设为默认的背景色。 前景色取色 ( 0x07) 发送: fd 07 00 04 00 03 00 05 dd cc bb aa 返回:无 解析: 0x07:前景色取色指令的指令码。 智能终端收到该命令后将坐标值为( 3, 5)的点的颜色设为默认的前景色。 设置字符显示模 式( 0x08)。 发送: fd 08 00 03 01 00 00 dd cc bb aa 背光灯 关闭背光灯指令( 0x09) , 发送: fd 09 00 00 dd cc bb aa 返回:无 系统默认开机自动打开背光灯。 打开背光灯指令( 0x0a) , 发送: fd 0a 00 00 dd cc bb aa 返回:无 调节背光亮度( 0x0b) , 发送: fd 0b 00 01 66 dd cc bb aa 返回:无 解析: 0x7f:为为背光亮度 PWM 控制设定值 PWM_Light, PWM_Light 设为 0x7f 即将背光 亮度设为半暗。 PWM_Light 的取值范围 0x000xff,值越大背光亮度越大,例如西安欧亚学院本科毕业论文(设计) 12 0x0。基于物联网的安保系统软件设计—测控模块本科论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。