1.环境监控驱动开发
①时钟&SWD配置
原理图分析
时钟原理图
如下图所示,STM32F407外部高速晶振为25MHz,分别连接到PH0和PH1引脚!
SWD原理图
如下图所示,STM32F407仿真接口SWD分别连接到PA13和PA14引脚!
外设配置
时钟外设配置
使能时钟源
- 选择RCC外设
- 选择高速时钟为外部时钟源
- PH0和PH1引脚自动高亮
配置时钟树
1. 锁相环时钟源为25MHz外部高速时钟
2. 高速时钟分频系数配置为25,输出为1MHz
3. 倍频系数配置为336
4. 分频系数配置为2,输出为168MHz
5. 系统时钟源选择PLL
6. APB1配置为4分频,为42MHz
7. APB2配置为2分频,为84MHz
SWD外设配置
-
选择SYS外设
-
配置debug接口为串行接口(SWD)
-
引脚自动高亮
②串口配置
原理图分析
Zigbee通信接口
1.J28为Zigbee模块底座,其中Z_W_R和Z_W_T分别Zigbee串行通信接口
2.Z_W_R和Z_W_T网络连接到J13,通过J13选择连接STM32还是USB转串口,我们选择连接到STM32上的USART1(PA9和PA10)
串行调试接口
如下图所示:
-
板载两个串行通信接口,串口1连接到USART1,串口2连接到USART3,我们选择USART3
-
由于USART3可以用于串口和485通信,我们选择485必须要把CON4和CON5拨到串口通信
③外设配置
USART1配置
-
配置PA9和PA10为USART1模式
-
打开USART1,配置为异步通信模式
USART3配置
1. 配置PB10和PB11为USART3模式
2. 打开USART3外设,并配置为异步通信模式
GPIO配置
原理图分析
-
PF7 PF8 PF9 PF10 控制板载的D6 D7 D8 D9
-
PF6控制板载蜂鸣器
GPIO外设配置
1. 配置PF6-PF10为输出模式
2. PF6默认输出低
3. PF7-PF10默认输出高
2.人机交互驱动开发
FSMC
SRAM
原理图分析
通过下图所示:
-
采用IS61LV51216 SRM 为1MB,其实为了节约成本焊接的为IS61LV25616 为512KB
-
占用地址总线为18bit,数据总线为16bit
-
内存访问起始地址为0x6800 0000
数据手册分析
read周期
地址建立时间 <7ns
数据建立+保持时间 = 7 + 2.5ns = 10ns
write周期
数据建立周期 = 5 + 3 = 8 + 5ns = 13ns
FSMC读写周期
read
write
外设配置
1.打开FSMC外设
2.配置FSMC
1. 选择存储块为NE3
2. 内存类型为SRAM
3. 寻址长度为18bit
4. 数据宽度为16bit
3.配置FSMC时序
-
地址建立时间为1分频 1/168 = 0.005 = 5ns
-
数据建立时间为3分频
4.字节访问使能
LCD
原理图分析
1.如下图所示,LCD采用8080接口,CS片选,D/C命令/数据切换,RD读操作,WR写操作,D[23:0]数据总线
2.如下图所示,数据总线D[0:15]连接FSMC总线接口处,RS起始就D/C接口,连接到FSMC地址总线A0,CS片选总线连接到FSMC_NE4上,WR写操作连接FSMC_NWE总线上,RD读操作总线连接到FSMC_NOE上,背光控制连接到PC7上
3.写命令操作0x6C00 0000
4.写数据操作0x6C00 0002
数据手册分析
分析LCD驱动芯片时序图,计算得出地址和数据总线建立时间
地址保持周期 = 2ns
数据建立周期 = 12 + 1ns = 15ns
外设配置
-
打开FSMC外设
-
配置FSMC参数
-
内存块为NE4
-
内存类型为LCD
-
LCD数据/命令切换映射到A0
-
数据宽度为16bit
-
3.配置PC7为输出模式
-
上电默认输出高电平
SPI
FLASH
原理图分析
如下图所示,SPI接口,CS连接到PH2,MISO连接到PB4,MOSI连接到PB5,CLK连接到PA5
数据手册分析
1.时钟极性及相位
通过时序图分析,SPI CLK 高有效 时钟极性为高
时钟边沿为奇数边沿
2.SPI速率
满足数据传输速率,最大不能超过33MHz
外设配置
1. 配置SPI时钟和数据引脚
2. 配置SPI为全双工主机模式
3. 配置SPI参数
1. 通信速率为系统时钟4分频
2. 时钟极性为低电平
3. 相位为奇数边沿
4.配置片选引脚PH2默认输出高
Touch
原理图分析
1. 如下图所示,SPI接口,CS连接到PG15,MISO连接到PI2,MOSI连接到PI3,SCK连接到PI1
2. 触摸中断连接到PG7
数据手册分析
-
通过计算TCH+TCL得出SPI通信速率
-
通过时序图分析,SPI不工作时为低电平
1. 时钟边沿为奇数边沿
2. 通信速率最小为400ns,大概2Mbit/S左右
外设配置
1. 配置SPI时钟和数据引脚
2. 配置SPI为全双工主机模式
3. 配置SPI参数
1. 通信速率为系统时钟32分频
2. 时钟极性为低电平
3. 相位为奇数边沿
4.配置SPI片选引脚
1. 配置PG15为输出模式
2. 配置PG15上电默认输出高,SPI低电平有效
3.WebServer驱动开发
SDIO
原理图分析
根据原理图分析,我们采用SD总线,4bit
外设配置
1. 打开SDIO外设
2. 配置SD总线为4bit位宽
3. 配置DMA接收和发送
4.使能sdio全局中断 重点配置DMA优先级小于SDIO优先级
ETH
原理图分析
1.如下图所示,以太网PHY采用DP83848芯片,通信模式采用RMII接口