已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SPI 总线通信电路设计 由于 SPI setial peripheralinterface 总线占用的接口线少 通信效率高 并且支持 大部分处理器芯片 因而是一种理想的选择 SPI 是利用4根信号线进行通信的串行接口协 议 包括主 从两种模式 4个接口信号为 串行数据输入 MISO 主设备输入 从设备输 出 串行数据输出 MOSI 主设备输出 从设备输入 移位时钟 SCK 低电平有效的 从设备使能信号 cs SPI 最大的特点是由主设备时钟信号的出现与否来确定主 从设备间 的通信 一旦检测到主设备的时钟信号 数据开始传输 由一个主机对接一个从机进行全双工通信的系统构成的方式 在该系统中 由于主机和 从机的角色是固定不变的 并且只有一个从机 因此 可以将主机的丽端接高电平 将从机 的 SS 端固定接地 图1 全双工主机 从机连接方法 本系统采用的是由两个单片机互相连接构成多主机通信系统 SPI 主设备负责产生系统 时钟 并决定整个 SPI 网络的通信速率 所有的 SPI 设各都采用相同的接口方式 可以通 过调整处理器内部寄存器改变时钟的极性和相位 由于 SPI 器件并不一定遵循同一标准 比如 EEPROM DAC ADC 实时时钟及温度传感器等器件的 SPI 接口的时序都有所不同 为了能够满足不同的接口需要 采用时钟的极性和相位可配就能够调整 SPi 的通信时序 SPI 设各传输数据过程中总是先发送或接收高字节数据 每个时钟周期接收器或收发器 左移1位数据 对于小于16位的数据在发送之前必须左对齐 如果接收的数据小于16位则 采用软件将无效的数据位屏蔽 当主机发送一个连续的数据流时 有些外设能够进行多字节 传输 多数具有 SPI 接口的存储芯片就以这种方式工作 在这种传输方式下 从机的片选 端必须在整个传输过程中保持低电平 此时 一次传输可能会涉及到成千上万字节的信息 而不必在每个字节的数据发送的前后都去检测其起始位和结束位 这正是同步传输方式优于 异步传输方式的原因所在 虽然 SPI 有以上优点 然而在远距离传输中却很少用到 原因主要是其抗干扰能力差过 可靠传输距离只有是1 3m SPI 采用的是单端非平衡的传输方式 即传输的数据位的电压 电平是以公共地作为参考的 在这种传输方式中 对于已进入信号中的干扰是无法消除和减 弱的 而信号在传输过程中总会受到干扰 而且距离越长干扰越严重 以致于信号传输产生 错误 在这种条件下 信号传输就变得毫无意义了 另外 由于单端非平衡传输方式以公共 地作为参考点 地线作为信号回流线 因此也存在信号电流 当传输线两端的系统之间存在 交流电位差时 这个电位差将直接窜到信号中 形成噪声干扰 所以 为了解决抗干扰问题 通常采用平衡传输 balanced transmission 方式 这里采用比较常见的 RS 422 由于 SPI setial peripheralinterface 总线占用的接口线少 通信效率高 并且支 持大部分处理器芯片 因而是一种理想的选择 SPI 是利用4根信号线进行通信的串 行接口协议 包括主 从两种模式 4个接口信号为 串行数据输入 MISO 主设备输 入 从设备输出 串行数据输出 MOSI 主设备输出 从设备输入 移位时钟 SCK 低电平有效的从设备使能信号 cs SPI 最大的特点是由主设备时钟信号的出现与否来 确定主 从设备间的通信 一旦检测到主设备的时钟信号 数据开始传输 目录目录 SPI 工作方式简介 SPI 的数据传输 SPI 用户逻辑 SPI 基本原理与结构 SPI 工作方式简介工作方式简介 SPI 是由美国摩托罗拉公司最先推出的一种同步串行传输规范 也是一种单片机外设芯 片串行扩展接口 SPI 模式可以允许同时同步发送和接收8位数据 并支持4种工作方式 1 串行数据输出 对应 RC5 SDO 引脚 2 串行数据输入 对应 RC4 SDI SDA 引脚 3 串行时钟 对应 RC3 SCK SCL 引脚 4 从动方式选择 对应 RA5 SS AN4引脚 SPI 模式下与之相关的寄存器有10个 其中4个是与 I2C 模式共用的 图1所示是由一个主机对接一个从机进行全双工通信的系统构成的方式 在该系统中 由于主机和从机的角色是固定不变的 并且只有一个从机 因此 可以将主机的丽端接高电 平 将从机的 SS 端固定接地 图1 全双工主机 从机连接方法 若干个具备 SPI 接口的单片机和若干片兼容 SPI 接口的外围芯片 可以在软件的控制 下 构成多种简单或者复杂的应用系统 例如以下3种 1 一个主机和多个从器件的通信系统 如图2所示 各个从器件是单片机的外围扩展芯片 它们的片选端 SS 分别独占单片机 的一条通用 I O 引脚 由单片机分时选通它们建立通信 这样省去了单片机在通信线路上 发送地址码的麻烦 但是占用了单片机的引脚资源 当外设器件只有一个时 可以不必选通 而直接将 SS 端接地即可 图2 一个主机扩展多个外围器件 2 几个单片机互相连接构成多主机通信系统 图3所示为3个既可以当做主机也可以当做从机的单片机组成的系统 图3 多主机通信系统连接方法 3 主机 从机和从器件共同组成的应用系统 图4所示为一个主机 一个从机和多片外设芯片组成的应用系统 这些外设芯片有的只 接收来自单片机信息 有的只向单片机提供信息 还有的既接收也发送信息 图4主机 从机和从器件互连 SPI 的数据传输的数据传输 SPI 主设各负责产生系统时钟 并决定整个 SPI 网络的通信速率 所有的 SPI 设各都 采用相同的接口方式 可以通过调整处理器内部寄存器改变时钟的极性和相位 由于 SPI 器件并不一定遵循同一标准 比如 EEPROM DAC ADC 实时时钟及温度传感器等器件 的 SPI 接口的时序都有所不同 为了能够满足不同的接口需要 采用时钟的极性和相位可 配就能够调整 SPi 的通信时序 SPI 设各传输数据过程中总是先发送或接收高字节数据 每个时钟周期接收器或收发器 左移1位数据 对于小于16位的数据在发送之前必须左对齐 如果接收的数据小于16位则 采用软件将无效的数据位屏蔽 如图1所示 SPI 接口有主和从两种操作模式 通过 MASTER SLAVE 位 SPICTL 2 选择操作 模式以及 SPICLK 信号的来源 如图2所示 图1 SPI 通信数据格式 图2 SPI 主控制器 从控制器的连接 SPI 用户逻辑用户逻辑 该模块针对用户不同的应用来设计 本质上就是用户的具体业务应用 与 SPI 4接口没 有直接关系 当应用支持多个端口时 这部分就显得至关重要 下面以支持两个端口的应用 来说明用户逻辑的设计技巧 1 Sink Core 的用户逻辑 端口为两个时 用户逻辑就需要用两个不同的 FIFO 根据端口的地址等来分别缓存用户 的两个业务数据 同时根据 FIFO 的情况来发出流控信息给 SP14数据接口 如图1所示 图1 Sink Ceore 两个端口的用户逻辑 2 Source Core 的用户逻辑 当端口为两个时 用户逻辑就需要根据流控信息和两个不同的 FffiOffJ 情况来做仲裁 谀定哪个用户逻辑 FIFO 需要发送给 SPI4数据接口 如图2所示 图2 Source Core2个端口的用户逻辑 1 SPI 基本原理与结构基本原理与结构 串行外围设备接口 SPI 是由 Motorola 公司开发的 用来在微控制器和外围设备 芯片之间实现数据交换的低成本 易使用接口 与标准的串行接口不同 SPI 是一个同 步协议接口 全双工通信 所有的传输都参照一个共同的时钟 这个同步时钟信号由主 机产生 接收数据的外设使用时钟对串行比特流的接收进行同步化 其传输速度可达几 Mb s SPI 主要使用4个信号 MISO 主机输入 从机输出 MOSI 主机输出 从机输入 SCLK 串行时钟 或 外设片选或从机选择 MISO 信号由从机在主机的控制下产生 信号用于禁止或使能外设的收发功能 为高电平时 禁止外设接收和发送数据 为低电平时 允许外设接收和发送数据 图1 所示是微处理器通过 SPI 与外设连接的示意图 主机和从机都有一个串行移位寄存器 主机通过向它的 SPI 串行寄存器写入一个字节 来发起一次传输 寄存器通过 MOSI 信号线将字节传送给从机 从机也将自己的移位寄存 器中的内容通过 MISO 信号线返回给主机 如图2所示 这样 两个移位寄存器中的内容就 被交换 外设的写操作和读操作是同步完成的 如果只进行写操作 主机只需忽略接收到的字节 反之 若主机要读取从机的一个字节 就必须发送一个空字节来引发从机的传输 当主机发送一个连续的数据流时 有些外设能够进行多字节传输 多数具有 SPI 接口 的存储芯片就以这种方式工作 在这种传输方式下 从机的片选端必须在整个传输过程中保 持低电平 此时 一次传输可能会涉及到成千上万字节的信息 而不必在每个字节的数据发 送的前后都去检测其起始位和结束位 这正是同步传输方式优于异步传输方式的原因所在 虽然 SPI 有以上优点 然而在图像传输中却很少用到 原因主要是其抗干扰能力差 SPI 采用的是单端非平衡的传输方式 即传输的数据位的电压电平是以公共地作为参考的 在这 种传输方式中 对于已进入信号中的干扰是无法消除和减弱的 而信号在传输过程中总会受 到干扰 而且距离越长干扰越严重 以致于信号传输产生错误 在这种条件下 信号传输就 变得毫无意义了 另外 由于单端非平衡传输方式以公共地作为参考点 地线作为信号回流 线 因此也存在信号电流 当传输线两端的系统之间存在交流电位差时 这个电位差将直接 窜到信号中 形成噪声干扰 所以 为了解决抗干扰问题 通常采用平衡传输 balanced transmission 方式 这里采用比较常见的 RS 422 2 RS 422 简介简介 RS 422 标准是 RS 232 的改进型 全称是 平衡电压数字接口电路的电气特性 它使用两根 线之间的电压差来代表逻辑电平 通常称之为双绞线 它是一种平衡传输 任何噪声或干扰 都会同时影响两根双绞线中的每一根 但对二者之间的差异影响很小 这种现象称为共模抑 制 所以 RS 422 可以在更远的距离上以更快的速度传输数据 其抗干扰能力远强于 RS 232 SPI 等非平衡传输方式 其最大传输距离约 1 200 m 最大传输速度可达 10 Mb s 但是由于 线路过长造成损耗 其传输速率会随着距离的增加而下降 图 3 是 RS 422 的基本连接示意图 驱动器 D 通过双绞线和接收器 R 连接 位于双绞线接收 端的电阻 Rt 是一个终止电阻 它用来消除在远距离传输过程中发生的信号反射 但在 300 m 以下的短距离传输中可以不接该电阻 RS 422 标准允许相同传输线上连接多个接收节点 最多可接 10 个 即一个主设备 10 个 从设备 从设备之间不能通信 8 RS 422 支持一点对多点的双向通信 由于它的接口采用 单独的发送和接收通道 因此不必控制数据方向 各装置之间任何必需的信号交换均可以通 过软件方式或硬件方式实现 RS 422 双绞线之间的电压差在 4 V 12 V 之间 其逻辑电平定义为 在发送端 以双绞线 之间电压差为 2 V 6 V 表示逻辑 1 以 2 V 6 V 表示逻辑 0 在接收端 双绞线之 间电压差大于 200 mV 时为逻辑 1 小于 200 mV 时为逻辑 0 3 S3C2450X 的的 SPI 接口接口 S3C2450X 是 SAMSUNG 公司最近推出的一款高性能 低功耗 16 32 bit RISC 处理器 其最 高主频可达533 MHz 一般工作频率为400 MHz 它采用ARM926EJ内核 该内核采用MMU AMBA 总线和哈佛高速缓存体系结构 具有单独的 16 KB 指令 Cache 和 16 KB 数据 Cache 每个Cache都由8字长的行组成 为了降低成本 片上集成了各种常用模块 包括NAND Flash Bootloader 系统管理器 PLL 时钟发生器 PWM 定时器 8 通道 DMA 和多种接口控制器 等 这样可以使设计者在设计电路时省去许多专门的接口控制芯片 不仅降低了成本 也提 高了系统的可靠性 S3C2450X 集成了 2 个高速 SPI 接口 每个接口都有 2 个 8 16 32 bit 的移位寄存器分别用于 发送 Tx FIFO 和接收 Rx FIFO 数据 在发送时 将要发送的数据写入 SPI 发送数据寄存器 HS SPI Tx DATA 中 数据会被自动移入 Tx FIFO 在接收数据时 为了从 Rx FIFO 中 读出数据 CPU 访问 SPI 数据接收寄存器 HS SPI Rx DATA 此时数据会自动转移到 HS SPI Rx DATA 中 S3C2450X 的 SPI 接口支持主模式和从模式两种传输方式 在主模式下 同步时钟 SPICLK 由 S3C2450X 产生并传输给外围设备 此时 通过设置时钟配置寄存器 Clk CFG 可以调整 同步时钟 SPICLK 的频率 从而改变数据传输率 SPI 有 3 个可用时钟源 内部时钟源 PCLK 外部时钟源 Epll clock 和 USBCLK 其同步时钟计算公式为 同步时钟频率 f 2 预分频值 1 其中 f 是所选时钟源的频率 预分频值的取值范围是 0 255 若取 f 400 MHz 则同步时 钟频率最大可达 200 MHz 其传输速率理论上接近 200 Mb s 但由于受到内部寄存器和外 部接口等其他因素限制 再加上传输速率太高时 由传输延时造成的影响越来越明显 从而 会引起传输错误 所以其实际数据传输率不会很高 一般只有几 Mb s 4 转换电路设计转换电路设计 由于 RS 422 采用的电平与 SPI 不同 所以必须使用电平转换芯片 这里采用 MAXIM 公司 的 MAX3088 10 这是一款用于 RS 422 通信的一路高速低功耗电平转换收发芯片 半双工 通信 传输速率最大可达 10 Mb s 它有 8 个引脚 5 号引脚为电源引脚 8 号引脚为接地 引脚 6 号 A 7 号 B 是差分信号引脚 其他几个引脚分别为 1 RO 是接收器输出 2 是接收器输出使能 3 DE 是驱动器输出使能 4 DI 是驱动器输入 要使其工作在发送模式 只需将和 DE 同时置 1 此时 若输入 DI 为 1 则输出的 A 为 1 B 为 0 若 DI 为 0 则 A 为 0 B 为 1 它与 S3C2450X 的连接图如图 4 所示 图 4 中将 S3C2450X 的 SPICLK0 和 SPIMOSI0 引脚分别接到 2 个 MAX3088 的 DI 引脚上 DE 和 RE 接 5 V 直流电源 A 和 B 为差分信号对输出 C1 C2 为旁路电容 由于只使用 SPI 的发送功能 所以忽略了 SPIMISO0 引脚 5 接口电路调试 由于 RS 422 只是规定了电压标准而无具体实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年辅警招聘考试试题库200道附参考答案(巩固)
- 2026年理财规划师之三级理财规划师考试题库500道【原创题】
- 2026年中级经济师之中级经济师金融专业考试题库300道附参考答案【满分必刷】
- 2026年一级建造师之一建水利水电工程实务考试题库500道及参考答案(夺分金卷)
- 农业生态循环利用发展合同
- 企业战略规划与执行框架参考流程工具
- 2025年护长竞聘考试试题及答案
- 2025年冷门知识高考真题及答案
- 2026年一级建造师之一建市政公用工程实务考试题库500道附答案(综合题)
- 2025年高三生物考试试题及答案
- GB/T 46511-2025食品数字化工厂通用技术要求
- 2025江苏苏州市姑苏区劳动人事争议仲裁院协理员招聘5人考试模拟试题及答案解析
- 2024年苏州市中小学教师专业素养竞赛模拟试卷
- GB/T 21449-2008水-乙二醇型难燃液压液
- 国电南自110kv主变保护pst671u型调试手册
- 2021年5月CCAA审核员考试《认证通用基础》真题及答案
- 中药炮制全部试题
- 新生儿麻醉(湖北省麻醉年会)
- 供应商感知模型
- 医疗质量管理与持续改进记录表(全套模板)
- 材料热力学--二组元相与二组元材料热力学
评论
0/150
提交评论