基于STM32的无线通信系统设计课程设计解析

上传人:最**** 文档编号:116668499 上传时间:2019-11-17 格式:DOC 页数:45 大小:2.05MB
返回 下载 相关 举报
基于STM32的无线通信系统设计课程设计解析_第1页
第1页 / 共45页
基于STM32的无线通信系统设计课程设计解析_第2页
第2页 / 共45页
基于STM32的无线通信系统设计课程设计解析_第3页
第3页 / 共45页
基于STM32的无线通信系统设计课程设计解析_第4页
第4页 / 共45页
基于STM32的无线通信系统设计课程设计解析_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《基于STM32的无线通信系统设计课程设计解析》由会员分享,可在线阅读,更多相关《基于STM32的无线通信系统设计课程设计解析(45页珍藏版)》请在金锄头文库上搜索。

1、I 课程设计说明书课程设计说明书 题 目: 基于 STM32 的无线通信系统设计 课 程: ARM 课程设计 院 (部): 计算机科学与技术学院 专 业: 计算机科学与技术专业 班 级: 学生姓名: 学 号: 指导教师: 完成日期: II 目录目录 课程设计说明书.I 课程设计任务书1 1. 课程设计题目2 2. 课程设计目的2 3. 课程设计内容 2 3.1 硬件资源 .2 3.2 软件资源7 3.3 调试环境准备与使用 .10 3.4 系统设计步骤 .10 341 需求分析.10 342 概要设计.11 343 详细设计.15 344 系统实现及调试19 345 功能测试39 346 系统

2、评价(结果分析).40 3.5结论(体会).41 3.6参考文献.41 课程设计指导教师评语课程设计指导教师评语42 1 山东建筑大学计算机科学与技术学院山东建筑大学计算机科学与技术学院 2 课程设计任务书课程设计任务书 3 设计题目基于 STM32 的无线通信系统设计指导教师 班 级 学 号 已知技术 参数和设 计要求 技术参数:技术参数: 基于 Cortex-M3 内核的奋斗 STM32 开发板,无线射频收发器 nRF24L01P 工作于 2.4GHz 频段,STM32 和 nRF24L01P 之间采用 SPI 接口方式,嵌入式操作系统平台采用 uC/OS-II。 设计要求:设计要求: 用

3、 STM32 开发板和 nRF24L01 扩展板设计一个基于 uC/OS-II 的无线通信系统,能够实现两个无线节点间的数据收发。 设计内 容与步 骤 设计内容设计内容: 1. 编写 STM32 和 nRF24L01P 的初始化程序。 2. 将 uC/OS-II 移植至 STM32。 3. 设计简单的无线通信协议,编写无线通信任务和射频收发 中断服务子程序。 设计步骤:设计步骤: 1uC/OS-II 任务划分及概要设计,ISR 的功能设计。 2编写 STM32 和 nRF24L01P 的初始化程序,调试 STM32 的片 内定时器模块,编写基于 nRF24L01P 模块的数据收发 ISR。 3

4、编写与移植相关的几个函数,将 uC/OS-II 移植至 STM32。 4拟定通信协议,编写无线通信任务。 5利用两套 STM32 开发板和 nRF24L01 扩展板调试上述功能, 总结分析,撰写课程设计说明书。 设计工作计 划与进度安 排 1、奋斗 STM32 开发版资源及应用:10 学时 2、Cortex M3 权威指南 、 STM32F10X 参考手册 、 STM32 固件库手册:20 学时 3、MDK 安装及使用:5 学时 4、概要设计:15 学时 5、uC/OS-II移植及所用外设的驱动程序编写:10 学时 6、无线通信任务编程及调试:15 学时 7、撰写课程设计说明书:15 学时 设

5、计考核 要求 1、考勤 20% 2、课程设计说明书 50%。 3、成果演示 30% 4 1. 课程设计题目课程设计题目 基于 STM32 的无线通信系统设计 2. 课程设计目的课程设计目的 ARM 课程设计是计算机科学与技术专业的专业限定选修实践课程,是学习嵌入式 系统设计课程后必要的实践教学环节。通过本课程设计使学生加深理解、巩固课堂教学和 平时实验内容,使学生初步具备嵌入式应用系统分析、系统设计、系统实现与测试的实际能 力,强化学生的实践意识、提高动手能力,发挥学生的想象力和创新能力,从而实现课程教 学目标。提高综合运用所学知识进行系统分析、设计的能力。加深对嵌入式软件开发流程以 及项目开

6、发步逐的认识,进一步熟悉 UC/OS-II 的一直与使用,进一步熟悉 UCGUI 的使用, 提高嵌入式软件开发所必须的技能。 本课程设计主要培养学生在嵌入式系统设计方面的能力。通过本课程的学习和实践,学 生应能在嵌入式系统组成形式、构造方法、设计流程以及基于集成开发环境调试嵌入式系统 的方法等方面得到锻炼,在硬件系统设计(整合) 、操作系统移植、应用程序编写等方面得 到全面训练。 3. 课程设计内容课程设计内容 3.1 硬件资源硬件资源 基于奋斗 STM32 开发板,完成的设计及调试。系统涉 及的硬件资源主要有: (1 1)电源模块电源模块 AMS1117-3.3(N1)输入+5V,提供 3.

7、3V 的固定电压输出,为了降低电磁干扰,C1-C5 为 CPU 提供 BANK 电源(VCC:P50、P75、P100、P28、P11 GND:P49、P74、P99、P27、P10)滤波。CPU 的模拟输入电源供电脚 VDDA(P22)通过 L1 22uH 的电感与+3.3V VDD 电压连接,CPU 的模拟地 VSSA(P19)及 VREF-(P20)通过 R1 0 5 欧电阻与 GND 连接。VREF+(P21)采用 VDDA(P22)电源基准。 RT9166-2.5(N2)和 RT9166- 2.8(N3)输入+5V,提供 2.5V 及 2.8V 的固定电压输出,为 MP3 电路 VS

8、1003 提供所需的 电压。为 RTC 的备份电源采用 V1 3.3V 锂离子片状电池,如图 3.1。 图 3.1 (2 2)复位时钟模块复位时钟模块 外部晶体/陶瓷谐振器(HSE)(P12、P13):B1:8MHz 晶体谐振器,C8,C9 谐振电容 选择 10P。系统的时钟经过 PLL 模块将时钟提高到 72MHz。 低速外部时钟源(LSE)(P8、P9):B2: 32.768KHz 晶体谐振器。C10,C11 谐振电容 选 择 10P。注意: 根据 ST 公司的推荐, B2 要采用电容负载为 6P 的晶振,否则有可能会出 现停振的现象,时钟模块如图 3.2 所示。 6 图 3.2 (3 3

9、)主控芯片主控芯片 采用 STM32F103VET6 作为开发板的 MCU 平台。这个 MCU 是 STM32F103 里的高容量芯 片, 具有 512K 字节的内部 FLASH,64K 字节的 SRAM, 外设资源有全速 USB Device,SDIO,SPI,I2C,I2S,FSMC,定时器,USART,ADC,DAC,CAN 等接口,如图 3.3 所示。 图 3.3 7 (4 4)LCDLCD 液晶显示模块液晶显示模块 LCD 显示模块采用 STM32 的 FSMC 接口模式。显示速度更快。3 寸屏, 分辨率 240X400, 64K 色,数据接口 16 位,背光源是 4 LED 并联模

10、式, 背光驱动采用白光驱动器提供背光 用的横流源, 使背光更加均匀,背光明暗控制采用 TTL 电平或者 PWM 模式控制。屏上带电 阻式触摸屏, 模块板上带 SPI 控制方式的触摸屏控制电路,如图 3.4 所示。 图 3.4 (5 5)串行接口串行接口 拥有 1 路 RS-232 接口,CPU 的 PA9-US1-TX(P68) 、PA10-US1-RX(P69)通过 MAX3232 实现 1 路 RS-232 接口,分别连接在 XS5 和 XS17 接口上。 USART1 在系统存储区启动模式 下,可以通过该口通过 PC 对板上的 CPU 进行 ISP,该口也可作为普通串口功能使用, XS6

11、 接口作为 TTL 异步通信接口 USART2 的接口,在一些应用的调试上有作用,比如通过 XS6 连 接 GPS OEM 板, 可以接收 GPS 的协议数据。串行接口如图 3.5 所示。 USART1 地址:0x4001 3800 - 0x4001 3BFF USART2 地址:0x4000 4400 - 0x4000 47FF 8 图 3.5 (6 6)NRF24L01NRF24L01 模块简介模块简介 本实验采用的无线模块芯片型号为 NRF24L01+,是工作在 2.42.5GHz 频段的,具备自 动重发功能,6 个数据传输通道,最大无线传输速率为 2Mbits。MCU 可与该芯片通过

12、SPI 接口访问芯片的寄存器进行配置,模块规格如图 3.6 所示。 图 3.6 SPI 写操作 9 图 3.7 SPI 读操作 图 3.8 3.2 软件资源软件资源 (1 1)操作系统操作系统 A 操作系统介绍 本设计所使用的 UC/OS-II 操作系统版本号为 2.85,是一种可移植的,可植 入 ROM 的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微 处理器、微控制器和数字信号处理器 C/OS-II 是一种可移植的,可植入 ROM 的, 可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微 控制器和数字信号处理器;最小编译内核可达到 2KB,结构精简,硬件

13、要求低。 B 目录结构 (a) UC-OS-II/Port 在此目录下包含三个文件,OS_CPU_C.C,OS_DBG.C,OS_CPU_A.ASM; 1.在 OS_CPU_C.C 中,定义了系统初始化,系统滴答,系统堆栈初始化等 钩子函数函数,其中,除了系统堆栈初始化是“可重入的” ,其他函数 都是不可冲入函数,在执行期间必须关闭中断,否则系统将会出现不可 预料的错误。 10 2.在 OS_DBG.C 中,声明了调试相关的数据结构,以及全局的数据结构配 置声明数据信息,以及系统调试初始化函数; 3.在 OS_CPU_A.ASM 中,使用 arm 汇编程序完成了全局中断的保存于回复, 最高就绪

14、态的执行,系统上下文切换,系统异常挂起以及进入异常的堆 栈操作等函数; (b) UC-OS-II/CPU 在此目录下仅有 CPU_A.asm 这一个文件,通篇使用 arm 汇编完成;主要操 作有中断的使能与清除;临界区操作(进出临界区) ; (c) UC-OS-II/Source 在此目录下是操作系统的平台无关性源码,保存了系统核心代码、邮箱, 内存管理,信号量,消息队列,临界资源控制,时间控制等操作系统的各 种高级应用 API 接口函数,是操作系统的主要功能实现部分; C 修改内容 在通过以上的了解之后,UC-OS-II 系统的源码结构十分清晰,在此只需要修 改 UC-OS-II/Port,

15、UC-OS-II/CPU 这两个文件中的少量代码即可(细节将在详细 设计中介绍) 。 (2 2)固件库固件库 stm32f10x_stdperiph_lib,版本为 3.5.0,系统库的结构如图 3.9 所示: 图 3.9 CMSCS 文件夹内包含的内容与 cpu 内核和 cpu 启动相关的文件, stm32F10x_stdperiph_driver 文件内包含了 stm32f10x 系列所有外设的驱动库; stm32f10x_stdperiph_example 内包含了多个关于本系列芯片的一些例程; stm32f10x_stdperiph_templete 内包含了多种开发平台的模板;最下面

16、的 chm 文件为关于 固件库的使用说明; 11 A MSICS 文件,如图 3.10 所示: 图 3.10 core_m3.c 为内核相关源码;start_up_stm32f10x.hd.s 为 stm32f10x 高容量系列的启 动文件;system_stm32f10x.c 为系统时钟和 cpu 设置相关配置的源码; B stm32F10x_stdperiph_driver 这个文件夹内容如图 3.11,包含两个部分,为库的外设驱动源码文件夹,inc 中保存头 文件,src 保存相关外设的源文件。 图 3.11 图 3.12 所示的是外设驱动库的头文件的内容: 图 3.12 图 3.13 所示的是外设驱动库的 C 文件内容: 12 图 3.13 在本设计中仅使用 FSMC,GPIO,RCC,MSIC,EXTI,SPI 六个部分;因此只需添加这三个 原文件即可;其中

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号