好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于ARM的单片机应用及实践 STM32案例式教学 武奇生第九章.ppt

49页
  • 卖家[上传人]:E****
  • 文档编号:89108614
  • 上传时间:2019-05-18
  • 文档格式:PPT
  • 文档大小:3.55MB
  • / 49 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第九章 STM32 外设接口模块,STM32 外设接口模块,基于 Cortex-M3 的 STM32 系列微控制器具有丰富的外设资源在工业应用场合、建筑安防、低功耗应用以及消费类电子产品中有着广泛的应用场景 本章主要就 STM32 微控制器中的USART 模块、SPI 模块、I2C 模块、CAN 模块以及 USB 模块进行了深入浅出的介绍对每一个模块的操作都配合开发板设计了丰富的例程9.1 USART 模块,USART: (Universal Synchronous/Asynchronous Receiver / Transmitter)即通用同步/异步串行接收/发送器是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备 USART 收发模块一般分为三大部分:时钟发生器、数据发送器和接收器控制寄存器为所有的模块共享9.1 USART 模块,时钟发生器由同步逻辑电路(在同步从模式下由外部时钟输入驱动)和波特率发生器组成发送时钟引脚 XCK 仅用于同步发送模式下,发送器部分由一个单独的写入缓冲器(发送 UDR)、一个串行移位寄存器、校验位发生器和用于处理不同帧结构的控制逻辑电路构成。

      接收器是 USART 模块最复杂的部分,最主要的是时钟和数据接收单元,此外还包括校验位校验器、控制逻辑、移位寄存器和两级接收缓冲器(接收 UDR) 接收器支持与发送器相同的帧结构,同时支持帧错误、数据溢出和校验错误的检测,并实现了连续发送多帧数据无延时的通信 数据接收单元用作异步数据的接收9.1 USART 模块,9.1 USART 模块,几种实物图,9.1.1 USART 功能概述,通用同步异步收发器( USART)提供了一种灵活的方法来与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换 USART结构框图如图9.1所示它支持同步一路通信和半双工的单线通信,LIN,智能卡协议,IrDA和调制解调器操作( CTS/RTS);允许多处理器通信,可以进行高速的数据通信任何USART双向通信都至少需要两个引脚:接收数据输入( RX)和发送数据输出( TX) RX:接收数据输入是串行数据输入采用过采样技术来区分有效输入数据和噪音,从而恢复数据 TX:发送数据输出当发送器禁能的时候,输出引脚恢复到I/O 端口配置当发送器使能的时候并且没有数据要发送,TX引脚是高电平9.1.1 USART 功能概述,9.1.1 USART 功能概述,通过这些引脚,在正常USART模式下,串行数据作为帧发送和接收。

      包括: ● 总线在发送或接收前应处于空闲状态 ● 一个起始位 ● 一个数据字( 8位或者9位) ,最低有效位在前2个停止位,由此表明数据帧的结束 ● 使用分数波特率产生器–带12位整数和4位小数,9.1.1 USART 功能概述,● 一个状态寄存器(USART_SR) ● 数据寄存器(USART_DATA) ● 波特率寄存器(USART_BRR) 带12位尾数和4位小数 ● 智能卡模式下的保护时间寄存器( USART_GTPR),STM32 外设接口模块,在同步模式中需要下列引脚: SCLK: 发送器时钟输出 在IrDA模式中需要下列引脚: IrDA_RDI:数据输入就是IrDA模式下的数据输入 IrDA_TDO: IrDA模式下的数据输出 在调制解调器模式中需要下列引脚: nCTS: 清除发送 nRTS: 发送请求,STM32 外设接口模块,USART结构框图,9.1.2 USART寄存器简介,串口最基本的设置,就是波特率的设置STM32 的串口使用起来非常简单的,只要开启了串口时钟,并设置相应 IO 口的模式,然后配置一下波特率,数据位长度,奇偶校验位等信息, 就可以使用了9.1.3 USART 操作实例,本实验介绍的是通过串口和计算机通信。

      复用功能的 IO 设置步骤: 1.使能 GPIO 时钟 2.使能复用功能时钟,同时要把 GPIO模式设置为复用功能对应的模式 3.进行串口参数的设置,包括波特率、停止位等参数设置完成后使能串口如果开启了串口的中断,要初始化 NVIC、设置中断优先级别; 4.编写中断服务函数STM32 外设接口模块,串口设置一般可以总结为如下几个步骤: 1、串口时钟使能, GPIO 时钟使能 2、串口复位 3、GPIO 端口模式设置 4、串口参数初始化 5、开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤) 6、使能串口 7、编写中断处理函数,STM32 外设接口模块,实验用电路板串口电路原理图,1.硬件连接 电路硬件连接如下图 所示STM32 外设接口模块,2.软件编程步骤 步骤一:添加库函数,编写用户函数 步骤二:系统时钟配置 main.c文件中SystemInit()函数配置系统时钟为72M 步骤三:串口初始化 步骤四:串口数据输出 步骤五:打开串口调试助手9.2 SPI模块,SPI是英语 Serial Peripheral interface的缩写,即串行外围设备接口它是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时在PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议, STM32也有SPI接口。

      SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等SPI的功能框图如下图所示9.2.2 SPI功能描述,一个基本的单主单从的连接例子如下图所示9.2 SPI模块,如图9.5所示,可以通过SPI_CR1寄存器中的SSM位来配置在软件管理中,外部NSS引脚对其他的应用来说是自由的,可以作为它用,而内部NSS信号电平通过SPI_CR1寄存器中的SSI位来驱动图 9.5 硬件/软件从选择管理,9.2 SPI模块,主从时序图,9.2 SPI模块,9.2.3 SPI 配置简介,STM32的SPI功能很强大,SPI时钟最多可以到18Mhz,支持DMA,可以配置为SPI协议或者I2S协议 STM32的主模式配置步骤如下: 1)配置相关引脚的复用功能,使能SPI1时钟 2)设置SPI1工作模式 3)使能SPI19.2.4 SPI 操作实例,STM32 开发板 SPI 硬件原理图如下图所示,实验结果:,9.2 SPI模块,9.3 I2C 模块,I2C (Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。

      它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上 I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号其中,起始信号是必需的,结束信号和应答信号都可以不要9.3.2 I2C 功能描述,除了发送和接收数据,接口还要把数据从串行转化为并行,反之亦然中断由软件使能或者禁能接口通过数据引脚(SDA)和时钟引脚(SCL)连接到I2C总线,可以连接到标准(100KHz)或者快速(400KHz)的I2C总线 接口可以是在下面四种模式下工作: ● 从发送模式 ● 从接收模式 ● 主发送模式 ● 主接收模式 默认情况下,接口处于从模式9.3.2 I2C 功能描述,通信流在主模式下,I2C接口启动一次数据传输并且产生时钟信号一次串行数据传输都是以起始条件开始并且以结束操作条件结束起始条件和结束操作条件都是在主模式下由软件产生的在从模式下,接口能够识别自己的地址(7位或者10位)和广播地址软件可以使能或禁能应答(ACK),I2C接口的地址(7位、10位地址或广播呼叫地址)可通过软件设置。

      I2C接口的结构图如图9.9所示9.3.2 I2C 功能描述,9.3.3 I2C 配置简介,本开发板 I2C-EEPROM 硬件原理图如下图所示:,正确编写源程序并下载后,打开串口调试助手,选择正确的串口号,将波特率设置为115200,复位单片机即可观察到如下结果9.3 I2C 模块,9.4 CAN 总线模块,CAN 是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH 公司开发,并最终成为国际标准是国际上应用最广泛的现场总线之一 近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境时间触发通信模式 ● 可关闭自动重发模式 ● 16位自由运行定时器 ● 可配置的定时器精度 ● 最后两个数据字节中发送的时间戳管理 ● 可屏蔽的中断 ● 邮箱占用单独一块地址空间,便于提高软件效率 注意:USB和CAN共享一个512字节的SRAM存储器用于数据发送和接收,因此它们不能够同时使用(CAN和USB对SRAM的访问是互斥的)USB和CAN可以用于同样的应用中,但是不能够同时使用。

      9.4 CAN 总线模块,主要特性: ● 支持2.0A,2.0B版本CAN协议 ● 高达1M/S的比特率 ● 支持时间触发通信功能发送 ● 三个发送邮箱 ● 可软件配置的发送优先级 ● 记录发送 SOF 时刻的时间戳接收 ● 3级深度的2个接收FIFO 管道 ● 14个可扩展过滤阵列-整个CAN共享 ● 标识符列表 ● 可配置的FIFO管道溢出处理 ● 记录接收SOF的时间戳,9.4 CAN 总线模块,CAN网络拓扑图如下图所示9.4 CAN 总线模块,bxCAN模块全自动处理CAN报文的发送和接收硬件对标准标识符(11位)和扩展标识符(29位)都支持 应用程序通过这些寄存器,可以: ● 配置CAN参数,例如波特率 ● 请求发送报文 ● 处理报文接收 ● 管理中断 ● 取得诊断信息,9.4 CAN 总线模块,发送报文的流程为: 1、应用程序选择 1 个空发送邮箱; 2、设置标识符、数据长度和待发送数据;CAN_TIxR 寄存器的TXRQ 位置1,来请求发送 3、TXRQ 位置1后,邮箱马上进入挂号状态,并等待成为最高优先级的邮箱 4、邮箱成为最高优先级的邮箱,其状态就变为预定发送状态 5、当CAN 总线进入空闲状态,预定发送邮箱中的报文就马上被发送(进入发送状态)。

      6、邮箱中的报文被成功发送后,它马上变为空邮箱,硬件相应地对CAN_TSR 寄存器的RQCP 和TXOK 位置1,来表明一次成功发送9.4 CAN 总线模块,发送的优先级可以由标识符或发送请求次序决定: 1)由标识符决定 2)由发送请求次序决定 时间触发通信模式: 在该模式下,CAN 硬件的内部定时器被激活,并且被用于产生时间戳,分别存储在CAN_RDTxR/CAN_TDTxR 寄存器中内部定时器在接收和发送的帧起始位的采样点位置被采样,并生成时间戳9.4 CAN 总线模块,bxCAN 占用4 个专用的中断向量通过设置CAN 中断允许寄存器CAN_IER,每个中断源都可以单独允许和禁用 (1) 发送中断可由下列事件产生: ─ 发送邮箱0 变为空,CAN_TSR 寄存器的RQCP0 位被置1 ─ 发送邮箱1 变为空,CAN_TSR 寄存器的RQCP1 位被置1 ─ 发送邮箱2 变为空,CAN_TSR 寄存器的RQCP2 位被置1 (2) FIFO0 中断可由下列事件产生: ─ FIFO0 接收到一个新报文,CAN_RF0R 寄存器的FMP0 位不再是‘00’ ─ FIFO0 变为满的情况,CAN_RF0R 寄存器的FULL0 位被置1。

      ─ FIFO0 发生溢出的情况,CAN_RF0R 寄存器的FOVR0 位被置19.4 CAN 总线模块,(3) FIF。

      点击阅读更多内容
      猜您喜欢
      基础会计 田家富教学课件 已更新情境八任务三 编制利润表.ppt 应用光学 刘晨第5章 光学系统的光束限制.pptx 20xx年10月预备党员思想汇报:加强自身党性修养.docx 基础会计 田家富教学课件 已更新情境八任务二 编制资产负债表.ppt 基础会计 田家富教学课件 已更新情境八任务一 会计信息与财务报告.ppt 20xx年10月预备党员思想汇报:加深对党的认识.docx 基础会计 田家富教学课件 已更新情境九任务一 整理会计档案.ppt 20xx年10月预备党员思想汇报:向党组织靠拢.docx 基础光学 潘路军第4章光波在界面的反射和折射规律.pptx 幼儿园教育活动设计与指导 中职国规 学前教育大班语言活动“会走路的树” (早期阅读 ).ppt 基础会计 田家富教学课件 已更新情景二任务一 认知企业.pptx 幼儿园教育活动设计与指导 中职国规 学前教育第四章.ppt 基础会计第五版 樊行健 课件及参考答案9z.ppt 单片微机原理与应用第2版 罗印升part_03.2.ppt 20xx年10月预备党员思想汇报:反腐倡廉.docx 基础会计 田家富教学课件 已更新情景三任务二 筹集资金的核算.pptx 基础会计 田家富教学课件 已更新情境七任务一 对账.ppt 基础审计第五版 高翠莲 教学课件第1章概论.ppt 20xx年10月预备党员思想汇报:在基层工作的年轻干部.docx 20xx年10月预备党员思想汇报:坚决拥护党的路线.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.