第十四讲 SPI高速同步串行输入/输出端口

Slides:



Advertisements
Similar presentations
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
Advertisements

NAT与ICMP交互.
TMS320F2812串行外设接口 Serial Peripheral Interface (SPI)
实验四 利用中规模芯片设计时序电路(二).
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第10章 FPGA硬件设计 <EDA技术与应用> 课程讲义
在PHP和MYSQL中实现完美的中文显示
施耐德电气(中国)投资有限公司 运动控制部技术经理 李幼涵 高级工程师
主要内容 串行口的结构 串行口的工作方式 波特率的计算 简单应用
AVR单片机软硬件设计教程-入门篇 ——学单片机就要学AVR!
第8章 SCI/SPI串行通信模块 并行---多位同时传输。速度快,距离近,占引脚多,抗干扰弱
Roy Wan PCI MS/s 14-bit 高速数字化仪 Roy Wan
ARDUINO+BLUETOOTH Arduino实现蓝牙数据传输.
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
第九讲 增强型脉冲捕获模块eCAP 《手把手教你学DSP——基于TMS320F28335》配套视频资料 南京研旭电气科技有限公司
SPI驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
I2C驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
深圳市藏海科技有限公司—CH7852 建议零售价格:140元 上市时间:2017年 12 月 11 日
逆向工程-汇编语言
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
CPU结构和功能.
串行外围设备接口 Serial Peripheral Interface 广州创龙电子科技有限公司
第五讲 内容回顾 1、SCI的特点 1)F2812包含两个SCI接口,记做SCIA和SCIB
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
工业机器人技术基础及应用 主讲人:顾老师
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
(Random Access Memory)
实验七 安全FTP服务器实验 2019/4/28.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
《数字电子技术基础》(第五版)教学课件 清华大学 阎石 王红
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
HSC高速输出例程 HORNER APG.
定时中断与LED MCU起航 QQ:
6.1 定时器/计数器的结构及工作原理 定时器/计数器的结构 定时器/计数器T0、T1的逻辑结构如图6-1所示。
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
WSAAsyncSelect 模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
信号发生电路 -非正弦波发生电路.
上节复习(11.14) 1、方式2、方式0的特点? 2、定时/计数器的编程要点? 3、实验5方案优化问题.
ADC0809并行A/D转换 (实验十) DAC0832并行D/A转换实验 (实验十一) RS232串口通信实验 (实验九)
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第10章 串行外设接口SPI SPI:高速同步串行输入/输出端口,传送速率可编程,
第十三讲 串行通信SCI模块 《手把手教你学DSP——基于TMS320F28335》配套视频资料 南京研旭电气科技有限公司
反应显微谱仪的飞行时间测量 暨数据获取系统的研究
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
质量控制(QC)模式 BrookFIELD.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
DSP技术与应用 电子与信息技术系.
四路视频编码器 快速安装手册 1、接口说明 2、安装连接 3、软件下载 4、注意事项 编码器软件下载地址
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

第十四讲 SPI高速同步串行输入/输出端口 《手把手教你学DSP——基于TMS320F28335》配套视频资料 第十四讲 SPI高速同步串行输入/输出端口 南京研旭电气科技有限公司 公司网站:www.njyxdq.com 天猫旗舰店:yanxusmpj.tmall.com 交流邮箱:zqj518@vip.qq.com www.f28335.com 学习论坛: www.armdsp.net

本课程是依照南京研旭电气科技有限公司推出的TMS320F28335至尊板来进行详细讲解的,如果在学习过程中遇到任何疑问欢迎与我们进行联系沟通。

本教程是依照南京研旭电气科技有限公司推出的TMS320F28335至尊板来进行详细讲解的。本书详细地阐述了TMS320F28335 DSP处理器内部各功能模块的硬件结构、工作原理、资源分配、功能特点以及应用等内容,同时每个模块都配了实验教程,方便学生掌握提高。 本书配套资料包括:书中所有实例例程、烧写软件工具、配套PPT、配套视频以及常用的调试工具软件,读者可以在研旭电气提供的交流论坛(www.armdsp,net)相关版块或www.f28335.com 网站免费获取。 本书可作为DSP开发应用的入门级教材,也可作为其他层次DSP开发应用人员的参考手册。

第十四讲 SPI高速同步串行输入/输出端口 2、F28335的SPI模块 3、SPI寄存器 4、SPI应用

SPI概述 SPI即Serial Peripheral Interface是高速同步串行输入/输出端口,SPI最早是由Freescale(原属Motorola)公司在其MC68HCxx系列处理器上定义的一种高速同步串行接口。SPI目前被广泛用于外部移位寄存器、D/A、 A/D、串行EEPROM、LED显示驱动器等外部芯片的扩展。与前文介绍的SCI最大的区别是,SPI是同步串行接口。SPI总线包括1根串行同步时钟信号线(SCI不需要)以及2根数据线,实际总线接口一般使用4根线,即SPI四线制:串行时钟线、主机输入/从机输出数据线、主机输出/从机输入数据线和低电平有效的从机片选线。有的SPI接口带有中断信号线,也有SPI接口没有主机输出/从机输入线。在F28335中使用的是上文介绍的SPI四线制。

SPI概述 SPI接口的通信原理简单,以主从方式进行工作。在这种模式中,必须要有一个主设备,可以有多个从设备。通过片选信号来控制通信从机,SPI时钟引脚提供串行通信同步时钟,数据从从入主出引脚输出,从出主入引脚输入。通过波特率寄存器设置数据速率。SPI向输入数据寄存器或发送缓冲器写入数据时就启动了从入主出引脚上的数据发送,先发送最高位。同时,接收数据通过从出主入引脚移入数据寄存器最低位。选定数量位发送结束,则整个数据发送完毕。收到的数据传送到SPI接收寄存器,右对齐供CPU读取。SPI的通信链接如图14.1所示:

第十四讲 SPI高速同步串行输入/输出端口 2、F28335的SPI模块 3、SPI寄存器 4、SPI应用

F28335的SPI模块 F28335 SPI特点 28335的SPI接口具有以下特点。 1、4个外部引脚: SPISOMI:SPI从输出/主输入引脚; SPISIMO:SPI从输入/主输出引脚; SPISTE :SPI从发送使能引脚; SPICLK :SPI串行时钟引脚。 2、2种工作方式:主和从工作方式。 波特率:125种可编程波特率。 数据字长:可编程的1~16个数据长度。 3、4种时钟模式(由时钟极性和时钟相应控制); 无相位延时的下降沿;SPICLK为高电平有效。在SPICLK信号的下降沿发送数据,在SPICLK信号的上升沿接收数据; 有相位延时的下降沿:SPICLK为高电平有效。在SPICLK信号的下降沿之前的半个周期发送数据,在SPICLK信号的下降沿接收数据; 无相位延迟的上升沿:SPICLK为低电平有效。在SPICLK信号的上升沿发送数据,在SPICLK信号的下降沿接收数据; 有相位延迟的上升沿:SPICLK为低电平有效。在SPICLK信号的下降沿之前的半个周期发送数据,而在SPICLK信号的上升沿接收数据。 4、接收和发送可同时操作(可以通过软件屏蔽发送功能)。 通过中断或查询方式实现发送和接收操作。 9个SPI模块控制寄存器。 5、增强特点: 16级发送/接收FIFO; 延时发送控制。

F28335的SPI模块

F28335的SPI模块 F28335 SPI工作模式 典型的两个SPI控制器连接方式如下图14.4所示: 主控器发送SPICLK信号时,也启动了数据传输。无论是主控制器还是从控制器,数据都是在SPICLK边沿时移出移位寄存器,并且在相反的边沿锁存进移位寄存器。如果CLOCK PHASE(SPICTL.3)位为高电平,则数据在SPICLK跳变之前的半个周期被发送和接收。因此两个控制器的数据的接收与发送是同步的。应用软件决定数据是否有用还是仅仅是占位的无意义的数据。数据传输的时候有三种可能形式: 1、Master发送数据,Slave发送伪数据; 2、Master发送数据,Slave发送数据; 3、Master发送伪数据Slave发送数据。 主控制器因为控制着SPICLK信号,所以可以在任何时候来启动数据传输。但是软件决定着主控制器是如何检测到从控制器已经准备好数据传输。

F28335的SPI模块 SPI的工作模式是通过主/从位(MASTER/SLAVE位SPICTL.2)来选择。 1 主控制器模式 MASTER/SLAVE=1时,控制器工作在主控制器模式下,SPI通过主控制器的SPICLK引脚为整个串行通信网络提供时钟。数据从SPISIMO引脚输出,并锁存SPISOMI引脚上输入的数据。可以通过SPIBRR寄存器(SPI波特率寄存器)配置数据传输率,可以配置126种不同的数据传输率。 数据写到SPIDAT(SPI数据寄存器)或SPITXBUF(SPI输出缓冲寄存器)时会启动SPISIMO引脚上的数据发送,首先发送的是最高位有效位(MSB most significant bit)。同时,接收的数据通过SPISOMI引脚移入SPIDAT的最低有效位。当传输完指定的位数后,接收到的数据被存放到SPIRXBUF寄存器,以备CPU读取。数据在SPIRXBUF寄存器中采用右对齐的方式存储。 指定数量的数据位通过SPIDAT移出后,会发生下列事件: Ø SPIDAT中的内容发送到SPIRXBUF寄存器中。 Ø SPI INT FLAG位(SPISTS.6)置1。 如果在发送缓冲器SPITXBUF中还有有效的数据(SPISTS寄存器中的TXBUF FULL位用来标志是否在SPITXBUF中存在有效数据),则这个数据被传送到SPIDAT寄存器被发送出去。若所有位从SPIDAT寄存器移出后,SPICLK时钟即停止。 如果SPI中断使能位SPI INT ENA位(SPICTL.0)为高电平,则产生中断。 在典型应用中, SPISET引脚作为从SPI控制器的片选控制信号,在主SPI设备同从SPI设备之间传送信息的过程中,被置成低电平;当数据传送完毕后,再改该引脚为高电平。

F28335的SPI模块 从控制器模式 在从控制器模式中(MASTER/SLAVE = 0),SPISOMI引脚为数据输出引脚,SPISIMO引脚为数据输入引脚。SPICLK引脚为串行移位时钟的输入,该时钟有网络主控制器提供,传输率也由该时钟决定。SPICLK输入频率不应超过CLKOUT频率的四分之一。 当从SPI设备检测到来自网络主控制器的SPICLK信号的合适时钟边沿时,已经写入SPIDAT或SPITXBUF寄存器的数据被发送到网络上。要发送字符的所有位移出SPIDAT寄存器后,写入到SPITXBUF寄存器的数据将会传送到SPIDAT寄存器。如果向SPITXBUF写入数据时没有数据发送,数据将立即传送到SPIDAT寄存器。为了能够接受数据,从SPI设备等待网络主控器发送SPICLK信号,然后将SPISIMO引进的数据移入到SPIDAT寄存器中,如果从设备同时也发送数据,而且SPITX部分还没有装载数据,则必须在SPICLK开始之前把数据写入到SPITXBUF或SPIDAT寄存器。 当TALK位(SPICTL.1)清零,数据发送被禁止,输出引脚(SPISOMI)处于高阻态。如果在发送数据期间将TALK位(SPICTL.1)清零,即使SPISOMI引脚被强制成高阻状态也要完成当前的字符传输。这样可以保证SPI设备能够正确地接收数据。TALK位允许在网络上设有许多个从SPI设备,但在某一时刻只能有1个从设备来驱动SPISOMI。 SPISET引脚用作从器件的选通引脚,当该引脚为低电平时,允许从SPI设备向串行总线发送数据;当该引脚为高电平时,从SPI串行移位寄存器停止工作,串行输出引脚被置成高阻状态。在同一网络上可以连接多个从SPI设备,但同一时刻只能有1个从设备起作用。

F28335的SPI模块 SPI的数据传输 SPI接口数据传输时一共有3种模式:简单模式、基本模式、增强模式。下面依次介绍这3种模式。 在简单工作模式下,SPI可以通过移位寄存器实现数据交换,即通过SPIDAT寄存器移入或移出数据。在发送数据帧的过程中将16位的数据发送到SPITXBUF缓冲,直接从SPIRXBUF读取接收到的数据帧。 在基本操作模式下,接收操作采用双缓冲,也就是在新的接收操作启动时,CPU可以暂时不读取SPIRXBUF中接收到的数据,但是在新的接收操作完成之前必须读取SPIRXBUF,否则将会覆盖原来接收到的数据。在这种模式下,发送操作不支持双缓冲操作。在下一个字写到SPITXDAT寄存器之前必须将当前的数据发送出去,否则会导致当前的数据损坏。由于主设备控制SPICLK时钟信号,他可以在任何时候配置数据传输。 在增强的FIFO缓冲模式下,用户可以建立16级深度的发送和接收缓冲,而对于程序操作仍然使用SPITXBUF和SPIRXBUF寄存器。这样可以使SPI具有接收或发送16次数据的能力。此种模式下还可以根据两个FIFO的数据装载状态确定其中断级别。SPI接口的内部功能如图14.5所示。

F28335的SPI模块 28335的SPI主要为后2种操作模式:基本操作模式和增强的FIFO缓冲模式。 SPI主设备负责产生系统时钟,并决定整个SPI网络的通信速率。所有的SPI设备都采用相同的接口方式,可以通过调整处理器内部寄存器改变时钟的极性和相位。由于SPI器件并不一定遵循同一标准,比如EEPROM、DAC、ADC、实时时钟及温度传感器等器件的SPI接口的时序都有所不同,为了能够满足不同的接口需要,采用时钟的极性和相位可配置就能够调整SPI的通信时序。 SPI设备传输数据过程中总是先发送或接收高字节数据,每个时钟周期接收器或收发器左移1位数据。对于小于16位的数据发送之前必须左对齐,如果接收的数据小于16位则采用软件将无效的数位屏蔽,如图14.6所示。

F28335的SPI模块 FIFO操作 下边通过具体步骤来说明FIFO的特点,在使用SPI FIFO功能时,这些步骤有助于编程。 系统在上电复位时,SPI工作在标准SPI模式,禁止FIFO功能。FIFO的寄存器SPIFFTX、SPIFFRX和SPIFFCT不起作用。通过将SPIFFTX寄存器中的SPIFFEN的位置为1,使能FIFO模式。SPIRST能在操作的任一阶段复位FIFO模式。 FIFO模式有2个中断,一个用于发送FIFO、SPITXINT,另一个用于接收FIFO、SPIINT/SPIRXINT。对于SPI FIFO接收来说,产生接收错误或者接收FIFO溢出都会产生SPIINT/SPIRXINT中断。对于标准SPI的发送和接收,唯一的SPIINT将被禁止且这个中断将服务于SPI接收FIFO中断。发送和接收都能产生CPU中断。一旦发送FIFO状态位TXFFST(位12~8)和中断触发级别位TXFFIL(位4~0)匹配,就会触发中断。这给SPI的发送和接收提供了可编程的中断触发器。接收FIFO的触发级别位的缺省值是0x11111,发送FIFO的触发级别位的缺省值是0x00000。 发送和接收缓冲器使用2个16*16FIFO,标准SPI功能的一个字的发送缓冲器作为在发送FIFO和移位寄存器间的发送缓冲器。移位寄存器的最后一位被移出后,这个一字发送缓冲器将从发送FIFO装载。FIFO中的自发送到发送移位寄存器的速率是可编程的。SPIFFCT寄存器位FFTXDLY7~FFTXDLY0定义了在两个字发送间的延时,这个延时以SPI串行时钟周期的数量来定义。该8位寄存器可以定义最小0个串行时钟周期的延时和最大256个串行时钟周期的延时。0时钟周期延时的SPI模块能将FIFO字一位紧接一位的移位,连续发送数据。256个时钟周期延时的SPI模块能在最大延迟模式下发送数据,每个FIFO字的移位间隔256个SPI时钟周期的延时。可编程延时的特点,使得SPI接口可以方便地同许多速率较慢的SPI外设如EEPROM、ADC、DAC等直接连接。 发送和接收FIFO都有状态位TXFFST或RXFFST(位12~0),状态位定义在任何时刻在FIFO中可获得的字的数量。当发送FIFO复位位TXFIFO和接收复位位RXFIFO被设置为1时,FIFO指针指向0。一旦这两个复位位两个位被清除为0,则FIFO将重新开始操作。

第十四讲 SPI高速同步串行输入/输出端口 2、F28335的SPI模块 3、SPI寄存器 4、SPI应用

SPI寄存器 结合书籍为大家介绍ADC寄存器部分。

第十四讲 SPI高速同步串行输入/输出端口 2、F28335的SPI模块 3、SPI寄存器 4、SPI应用

SPI应用 结合实例,教你学习ADC应用。

本讲到此结束 感谢大家的收看 学习、使用中如遇任何问题,可与我们联系 嵌嵌论坛:http://www.armdsp.net 研旭旗舰店(天猫):http://yanxusmpj.tmall.com 南京研旭电气科技有限公司 www.njyxdq.com

谢谢