spi接口的仿真及验证毕业论文(编辑修改稿)内容摘要:
线 MOSI 和低电平有效的从机选择线 SS(有的 SPI 接口芯片带有中断信号线 INT、有的 SPI 接口芯片没有主机输出 /从机输入数据线 MOSI) [7]。 SPI 简介 SPI( Serial Peripheral Interface)接口是工业标准的同步串行接口,是一种全双工、三线通信的系统。 由于串行总线的信号线比并行总线更少、更简单 ,越来越多的系统放弃 使用并行总线而采用串行总线。 在众多串行总线中 ,SPI 总线与 I2C 总线、 CAN 总线、 USB 等其他常用总线相比有很大优势。 SPI 总线最典型的应用就是主机与外围设备 (如 EEPROM、Flash RAM、 A/D 转换器、 LED 显示器、实时时钟等 )之间的通信 [6]。 SPI 的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少 4 根线(单向传输时只需要 3 根)。 也是所有基于 SPI 的设备共有的,它们是 SDI(数据输入), SD(数据输出), SCK(时钟), CS(片选)。 它们的定义如下: SCK:同步时钟信号 ,用来同步主机和从机的数据传输 ,由主机控制输出 ,从机在 SCK 的边沿接收和发送数据。 MOSI:主机输出、从机输入信号 ,主机在上升沿 (或下降沿 )通过该信号线发送数据给从机 ,从机在下降沿 (或上升沿 )通过该信号线接收该数据。 江南大学学士学位论文 6 MISO:主机输入、从机输出信号 ,从机在上升沿 (或下降沿 )通过该信号线发送数据给主机 ,主机在下降沿 (或上升沿 )通过该信号线接收该数据。 CS:从机片选信号 ,由主机控制输出。 其中 CS 是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位) ,对此芯片的操作才有效。 这就允许在同一总线上连接多个 SPI 设备成为可能。 接下来就负责通讯的 3 根线了。 通讯是通过数据交换完成的,这里先要知道 SPI 是串行通讯协议,也就是说数据是一位一位的传输的。 这就是 SCLK 时钟线存在的原因,由 SCK提供时钟脉冲, SDI, SDO 则基于此脉冲完成数据传输。 数据输出通过 SDO 线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。 完成一位数据传输,输入也使用同样原理。 这样,在至少 8 次时钟信号的改变(上沿和下沿为一次),就可以完成 8 位数据的传输。 要注意的 是, SCLK 信号线只由主设备控制,从设备不能控制信号线。 同样,在一个基于 SPI 的设备中,至少有一个主控设备。 这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少 8 位数据,而 SPI 允许数据一位一位的传送,甚至允许暂停,因为 SCLK 时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。 也就是说,主设备通过对 SCLK 时钟线的控制可以完成对通讯的控制。 SPI 还是一个数据交换协议:因为 SPI 的数据输入和输出线独立,所以允许同时完成数据的输入和输出。 不同的 SPI 设备的 实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义。 SPI 接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据 [11]。 SPI 的工作模式 SPI 有两种工作模式,分别为主模式和从模式。 主模式 将 Master 的数据传送给 Slave, 8 位数据传送,传送完毕,申请中断,如图 所示: 图 SPI 工作主模 式 MOSI MOSI SCLK SCLK SPI 接口的仿真及验证 7 从模式 在从模式下,每一位数据都是接收到时钟信号 SCLK 和 CS 信 号之后才发送 /接收。 此时, SCLK 信号又主机产生,接收的数据在三岔路口信号作用下依次由 MOSI 引脚写入移位寄存器,发送的数据在 SCLK 信号作用下由移位寄存器发送到 MISO 引脚。 图 SPI 工作从模式 SPI 的传输模式 SPI 总线是 Motorola 公司推出的三线同步接口,同步串行 3 线方式进行通信 :一条时钟线 SCK,一条数据输入线 MOSI,一条数据输出线 MISO。 用于 CPU 与各种外围器件进行全双工、同步串行通讯。 SPI 主要特点有 :可以同时 发出和接收串行数据。 可以当作主机或从机工作。 提供频率可编程时钟。 发送结束 中断标志。 写冲突保护。 总线竞争保护等。 下图 示出SPI 总线工作的四种方式,其中使用的最为广泛的是 SPI0 和 SPI3 方式 (实线表示 ): 图 SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时 钟极性( CPOL)对传输协议没有重大的影响。 如果 CPOL=0,串行同步时钟的空闲状态为低电平;如果 CPOL=1,串行同步时钟的空闲状态为高电平。 时钟相位( CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。 如果 CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果 CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。 SPI 主模块和与之通信的外设备时钟相位和极性应该一致。 SPI 总线包括 1 根串行同步时钟信号线以及 2 根数据线。 SPI 模块为了和外设进行数据交换,根据外 设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性( CPOL)对传输协议没有重大的影响。 如果 CPOL=0,串行MISO CS SCLK MISO CS SCLK 江南大学学士学位论文 8 同步时钟的空闲状态为低电平;如果 CPOL=1,串行同步时钟的空闲状态为高电平。 时钟相位( CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。 如果 CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果 CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。 SPI 主模块和与之通信的外设音时钟相位和极性应该一致。 ( 1) SPI0 模式下的 CPOL 为 0, SCK 的空闲电平为低; CPHA 为 0,数据在串行同步时钟的第一个跳变沿(由于 CPOL 为低,因此第 1 个跳变沿只能为上升沿)时数据被采样。 ( 2) SPI1 模式下的 CPOL 也为 0, SCK 的空闲电平为低;但是 CPHA 为 1,数据在串行同步时钟的第二个跳变沿(由于 CPOL 为低,因此第 2 个跳变沿只能为下降沿)时数据被采样。 ( 3) SPI2 模式下的 CPOL 为 1, SCK 的空闲电平为高; CPHA 为 0,数据在串行同步时钟的第 1 个跳变沿(由于 CPOL 为高,因此第 1 个跳变沿只能为下降沿)时数据被采样。 ( 4) SPI3 模式下的 CPOL 为 1, SCK 的空闲电平为高; CPHA 为 1,数据在串行同步时钟的第 2 个跳变沿(由于 CPOL 为高,因此第 1 个跳变沿只能为上升沿)时数据被采样。 在上述 4 种模式中,使用的最为广泛的是 SPI0 和 SPI3 方式。 由于每一种模式都与其他三种不兼容,因此为了完成主、从设备间的通讯,主、从设备的 CPOL 和 CPHA 必须有相同的设置。 读者需要注意的是:如果主设备 /从设备在 SCK 上升沿发送数据,则从设备 /主设备最好在下降沿采样数据;如果主设备 /从设备在 SCK 下降沿发送数据,则从设备 /主设备 最好在 SCK 上升沿采样数据 [8]。 SPI 协议 SPI 是一个环形总线结构,由 SS( CS)、 SCK、 SDI、 SDO 构成,其时序其实很简单,主要是在 SCK 的控制下,两个双向移位寄存器进行数据交换。 假设下面的 8 位寄存器装的是待发送的数据 10101010,上升沿发送、下降沿接收、高位先发送。 那么第一个上升沿来的时候 数据将会是 SDO=1;寄存器 =0101010X。 下降沿到来的时候, SDI 上的电平将所存到寄存器中去,那么这时寄存器 =0101010SDI,这样在 8 个时钟脉冲以后,两个寄存器的内容互 相交换一次。 这样就完成里一个 SPI 时序。 举例 : 假设主机和从机初始化就绪:并且主机的 SBUFF=0xaa,从机的 SBUFF=0x55,下面将分步对 SPI 的 8 个时钟周期的数据情况演示一遍 :假设上升沿发送数据。 这样就完成了两个寄存器 8 位的交换,上面的上表示上升沿、下表示下降沿, SDI、 SDO 相对于主机而言的。 其中 SS 引脚作为主机的时候,从机可以把它拉底被动选为从机,作为从机的是时候,可以作为片选脚用。 根据以上分析,一个完整的传送周期是 16 位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的命令准备数 据,主机在下一个 8 位时钟周期才把数据读回来 [9]。 SPI 接口的仿真及验证 9 表 脉冲 主机 SBUFF 从机 SBUFF SDI SDO 0 10101010 01010101 0 0 1 上 0101010x 1010101x 0 1 1 下 01010100 10101011 0 1 2 上 1010100x 0101011x 1 0 2 下 10101001 01010110 1 0 3 上 0101001x 1010110x 0 1 3 下 01010010 10101101 0 1 4 上 1010010x 0101101x 1 0 4 下 10100101 01011010 1 0 5 上 0100101x 1011010x 0 1 5 下 01001010 10110101 0 1 6 上 1001010x 0110101x 1 0 6 下 10010101 01101010 1 0 7 上 0010101x 1101010x 0 1 7 下 00101010 11010101 0 1 8 上 0101010x 1010101x 1 0 江南大学学士学位论文 10 SPI 接口的仿真及验证 11 第 3 章方案论证 对于 SPI 接口的设计,我们可以分为两大类,分别为利用单片机如 51 系列单片机实现和利用 FPGA 等可编程逻辑器件编程实现,下面将分别介绍两种方法的方法。 用 FPGA 来设计 SPI 通过对 SPI 的结构的了解可以设计一个系统框架,按照框架完成输入输出的功能。 一个典型的 SPI 系统包括一个主 MPU 和一个或者多个从外围器件。 单片机通过 SPI接口模块与 SPI 相连,当单片机以主机模式运行的时候,就可以与系统中的从机实现通信,而当它处于从机模式工作时,就能与宁外一个主机进行数据通信。 但在同一个时间内,系统中只能拥有一个 主机,否侧会造成系统的工作异常。 一个典型的用 FPGA 设计的系统框架如图 所示 [11]: 图 用 51 系列单片机实现 SPI 对于 MCS51 系列单片机来说,由于它不带有 SPI 串行总线接口,我们可以使用软件来模拟 SPI 的操作,包括串行时钟、数据输入以及数据输出。 不同的串行接口外围芯片拥有不同的时钟时序。 对于在 SCK 的上升沿输入(接收)数据并且在下降沿输出(发送)数据的器件,大都应在初始状态将其串行时钟输出口 设置为 1,而在允许接口后再将 置为 0。 这样, MCU 在输出 1 位 SCK 时钟的同时,可以将接口芯片串行左移,从而输出 1位数据到 MCS51 单片机的 口(模拟 MCU 的 MISO 线),之后再将置 为 1,使MCS51 系列 单片机从 (模拟 MCU 的 MOSI 线)输出 1 位数据至串行接口芯片。 这样就完成了 1 位数据输入输出的模拟。 此后再置 为 0,模拟下 1 位数据的输入输出 …… ,依此完成 8 次循环,即可完成 1 次通过 SPI 总线传输 8 位数据的操作。 对于在 SCK 的下降沿输入数据和上升沿输出数据的器件,则应取串行时钟输出的初始状态为 0,即在接口芯片允许时,先置 为 1,以便外围接口芯片输出 1 位数据( MCU 接收 1 位数据),之后再置时钟为 0,使外围接口芯片接收 1 位数据 (MCU 发送 1 位数据 ),从而完成 1 位数据的传送。 图 所示为 MCS51 系列单片机与存储器 X25F008( E2PROM)的硬件连接图 ; 微处理器 微处理器接口 SPI 总线接口 adr_i[1:0] dat_i[7:0] dat_o[7:0] int_o we_i cs_o miso_i mosi_o sck_o rst_i 江南大学学士学位论文 12 图 模拟 MCU 的数据输出端( MOSI), 模拟 SPI 的 SCK 输出端, 模拟 SPI 的从机选择端, 模拟 SPI 的数据输入端( MISO)。 以上便是两种实现 SPI 的方法,在实际应用中,只要高级点的单片机,都自带 SPI 接口,并且如 DSP 等也集成了 SPI 接口,大多芯片都趋向于用硬件而。spi接口的仿真及验证毕业论文(编辑修改稿)
相关推荐
r with the situation of this training school, so he choose this pany. Information Sources Secondary Information Sources Secondary information means the information which already has been gathered, so
元,通过搭建校企合作平台 、设立人才鼓励政策 等方式, 为 企业提供 人才招聘和人才培训 等服务。 人才招聘,主要为呼叫企业提供人才招聘 — 8 — 服务,保障企业人才需求。 人才培训,主要集企业、学校、政府三位一体合力,解决员工能力与呼叫企业要求差距问题 .通过推动校企深入开展合作,积极推进 “X+1”、 “工读班” 等模式培养符合企业业务能力要求的员工。 企业服务中心。 投资额 100 万元
资管理系统 ER图 重庆科技学院《数据库原理》课程设计报告 9 3 逻辑结构设计 逻辑结构简介 逻辑结构设计就是把概念结构设计阶段设计好的基本 ER 图转换为与选用DBMS 产品所支持的数据模型相符合的逻辑结构。 设计逻辑结构一般分为 3 步进行: (1) 将概念结构转换为一般的关系、网状、层次模型; (2) 将转换来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换; (3)
350 地层重复、增厚 深部煤系、重复、 增厚 隐伏断层 12 F45 正 120 50 35 25 20 ZK700 ZK7006钻孔深部揭露 200 地层重复、增厚 煤系顶部地层重 复、增厚 隐伏断层 10 序号 编 号 性质 产状( 176。 ) 断距( m) 分布位置与延伸情况 长度 ( m) 地表切割地层 断层表现特征 对煤系的影响 备注 倾向 倾角 水平 铅直 地层 13 F204
失效;( 4)一次性投资大;烟气通过催化剂的阻力增大了窑系统的阻力;( 5)催化剂 主要为贵金属,且 每三年需要更换,运行成本高。 SNCR 法在欧洲水泥工业已应用 20 多年,效果较好。 根据 宁夏平罗恒达 水泥 有限责任公司 20xxt/d 熟料生产线的实际情况,本项目同时 采用低 NOx燃烧 器、分级燃烧法 和 SNCR 法相结合的脱 硝技术, 实现高脱 硝 效率和低运行成本的目标。
成的误差 目前,对于绝大多数快速成型系统而言,必须对工件的三维 CAD 模型进行 STL格式化和切片等处理,以便得到一系列的截面轮廓。 在对三维 CAD 模型分层切片前,需作实体模型的近似处理,即用三角面片近似逼近处理表面,其输出的数据为 STL文件格式,这种格式非 常简单,便于后续的分层处理。 STL 格式中每个三角面片只用四个数据项表示,即三个顶点坐标和一个法向矢量,而整个 CAD