基于FPGA的SPI通讯接口设计
2023-05-27
来源:爱go旅游网
计算机光盘软件与应用 2013年第O3期 Computer CD Software and Applications 软件设计开发 基于FPGA的SP I通讯接口设计 吴佳 (江苏自动化研究所,江苏连云港222006) 摘要:文章介绍基于FPGA的SPI通讯接口设计,采用Vedlog硬件描述语言编程,用综合工具Synplify对设计进 行综合,用ModelSim进行时序仿真测试,最后在FPGA上实现完成。 关键词:FPGA;SPI;通讯 中图分类号:TP368.1 文献标识码:A 文章编号:1007—9599(2o13)03 0197—02 1概述 SPI数据传输 随着数字技术应用的日益广泛,产品也日益向高度集 SPI根据SCK的极性和数据在scK跳变边沿发送和采 成化、多功能化、可扩展化、高速化等方面发展,因此现 集数据的不同可分为四种不同的数据传输模式,通过SPOL 场可编程门阵列FPGA在高速数据采集、数字通信、编码 和CPHA来区分,CPOL用来设置时钟极性,CPHA用来 解码等方面得到了大量的应用,对提高产品整体性能和稳 设置时间相位。 定性等方面也发挥了极大作用。 (1)CPOL=0,CPHA=0 SPI通信作为一种串行通讯方式,因其具有简单、高速、 若CP0L=0,SCK在数据传输的空闲阶段保持低电平, 全双工等特点,其广泛应用于通信领域、消费电子领域、 SCK低高平有效;若CPHA=0,数据在第一个时钟沿被采 工业及数据处理领域等。 样。在数据传输中,第一位数据在SCK的第一个上升沿之 本文介绍了基于FPGA的SPI通讯接口设计,通过 前输出到数据线上,而其他位数据将在SCK的下降沿输出, FPGA的编解码完成不同芯片间或板间的高速数据通讯要 所有数据均在SCK的上升沿被采样,波形如图2所示。 求,同时又具有高度的灵活性和集成化,便于后续的扩展 n门r_]r-]厂]r-]厂_1广] 与升级。 __^_—— 2 AcreI FPGA及Liero IDE 本设计选用Actel公司的ProASIC3系列芯片,其独特 的Flash架构的FPGA在单芯片、低功耗、安全性、可靠 性等方面具有卓越表现。无需加载芯片也简化了系统设计, 图2 CPOL=0 CPHA=0模式波形图 使得器件可以执行重要的系统初始化任务,并节省了物料 (2)CPOL=I,CPHA 成本和PCB空间,同时也提高了器件的安全性。 若CPOL=I,SCK在数据传输的空闲阶段保持高电平, Libero集成设计环境(DE)是Aetel针对其所有FPGA SCK低龟平有效:若CPHA 0,数据在第一个时钟沿被采 设计的一套完备的软件工具套件。Libero IDE能快速有效 样。在数据传输中,第一位数据在SCK的第一个下降沿之 地管理整个设计流程,从设计、综合和仿真,到基础规划、 前输出到数据线上,而其他位数据将在SCK的上升沿输出, 布局布线、时序约束和分析、功率分析以及程序文件生成。 所有数据均在SCK的下降沿被采样。 3 SPI通讯协议 (3)CPOL=0,CPHA=I 一 SPI(Serial Peripheral Interface)是一种由Motorola推 若CPOL=O,SCK在数据传输的空闲阶段保持低电平, 出的串行外围设备接口,是以主从方式工作,一个SPI总 SCK高电平有效;若CPHA=I,数据在第二个时钟沿被采 线可以连接多个主机和多个从机,但是在同一时刻只允许 样。在数据传输中,所有数据位均在SCK的上升沿输出到 有一个主机操作总线(如图1所示)。SPI通讯时在主从机 数据线上,在SCK的下降沿被采样。 两端形成一个环形结构,即在SCK的控制下 两个双向移 (4)CPOL=I,CPHA=I 位寄存器进行数据交换。SPI通讯协议需要四根线,分别是 若CPOL=I,SCK在数据传输的空闲阶段保持高电平, MOSI(主机输出,从机输入)、MOSI(主机输入,从机输 SCK低电平有效;若cPH =1,数据在第二个时钟沿被采 出)、MISO、SCK(时钟信号,由主机产生)、SS(从机使 样。在数据传输中,所有数据位均在SCK的下降沿输出到 能信号,由主机控制)。 数据线上,在SCK的上升沿被采样。 4 FPGA实现sPI通讯接口设计 根据SPI通讯协议的特点,由CPOL和CPHA配置四 种不同的数据传输模式,据此在SCK上升沿时或下降沿时 进行数据的发送和采样,用Verilog硬件描述语言编程实现。 SPI通讯接口模块的设计框图如图3所示: 输入端口: nRST:模块复位输入信号,低电平复位; 图1 SPI通讯示意图 (下转第199页) 计算机光盘软件与应用 2013年第O3期 Computer CD Software and Applications 软件设计开发 各自的特色核心业务系统。 银行系统的特色,包括: (1)银行服务产品化。银行提供的服务是以产品的形 式出现的。诸如存款类产品、贷款类产品、卡类产品、债 券类产品、其他类产品等。真正让业务人员制定符合市场 的银行服务产品,更快推出新产品,占领市场先机,使银 行服务更为贴近客户,满足客户不同需求,保持系统核心 稳定,减少系统维护难度。这就需要应用参数化、模块化 所设计的银行核心业务系统。从业务的角度上看,银行是 提供给客户不同的服务,根据服务不同,系统可以配置成 不同的产品。从服务的角度上看,按提供服务(或者说产 品)按生命周期分成了不同阶段。从产品的角度上考虑, 不同的阶段分别对应不同的属性。简单用公式表示:服务 基本内容+阶段1+阶段2+阶段3+…,产品=产品基 本属性+属性1+属性2+属性3+…产品层参数介于系统 层参数和账户参数之间,产品可以分层,也提供专门工具 维护产品。参数定制,就是满足新产品的业务需要,通过 对业务系统的参数进行配置以及不同业务模块之间的组 合,从而以较短时间推出新产品,缩短周期,同时减少工 作量,对系统进行修改和修护节约大量时间和成本,达到 低成本高效率的效果。 (2)具体的技术创新和突破,主要包括:明确核心银 行系统定位,总体集成架构,松耦合的设计理念,科学数 据库分区的方法,快速和可扩展的夜问交易,并行批处理 调度,高吞吐量的在线批处理能力,高效稳定的短期交易 =(3)管理战略方面,管理创新应建立起与新的市场形 势相适应的产权制度、经营理念、组织形式、人才战略、 企业文化等一系列新制度框架。 可以说银行核心业务系统的实施是一项较为复杂和庞 大的工程系统,其中有诸多预测的风险,但是比较利与弊, 利是大于弊的,新系统可以给银行带来巨大的效益,为客户 提供更为优质高效的综合金融服务。促进银行核心业务系统 的更新换代。因此,提升银行的核心竞争力必须依靠银行核 心系统的创新。如何创新,还有待在实践中进一步探索。 参考文献: [1刘玉成,张帝.1]开放式平台银行核心系统可行性分析 Ⅱ】.中国金融电脑,2012(1). [2]刘向民.重视客户与产品管理重塑银行核心系统田. 金融电子化)Ol0(10). - [3]杨宏玲,王小朋.加强管理创新,提升中国银行业的核 心竞争力Ⅱ】.金融教学与研究,2oo4(1). 【4]于春玲.新一代核心系统呼唤管理创新Ⅱ】.银行 家,20o8(3). 【5]杨忠.什么是商业银行最好的核心业务系统田.金融 电子化,2004(11). 【6]赵晓斌.浅谈银行核心业务系统U】.现代商业银 行;2004(9). 模式。 (上 nRST 李敏.银行参数管理系统的研究与实现Ⅱ】.吉林大 学,2007., [8]金钺.基于SOA架构的银行核心系统Ⅱ].微计算机信 息,2011(4). CLK RD WR TX RDY 5 SPl设计验证 SPI通讯接口模块用Verilog硬件描述语言编程,由综 合工具Synplify对设计进行综合,由ModclSim进行时序仿 真测试,最后下载到FPGA上实现。通过与不同的51单片 机和ARM处理器连接,可在20M速率下长时间通讯保持 数据传输稳定可靠。 CPHA CP0L :模块控雷埘输入 SC SS 模块状念输i_i{1 MoSl ・ 接收移能锝存器卜-—叫接收数据黼存器卜- 娶 攀 TX DATA 发送数据寄存器卜— 发送移位寄存麟卜 MlSQ。 图3 SPI通讯接口模块设计框图 CLK:模块工作时钟,应不低于4倍SCK. 6结束语 SPI总线是当前流行的串行接口的一种,它满足工程设 计的要求,使开发人员能够简单迅速的完成设计工作,实现 功能要求。 RD Wit:模块发送和接收字节或字的读写控制,高电 平为读,低电平为写; 将它与FPGA编程结合,利用FPGA的灵活性,使电子 设计能够在很短的周期内完成,符合当今电子设计的要求, CPOL:模块工作模式选择,CPOL用来设置时钟极性; 具有简洁高效、便于修改、可扩展性强等特点。 CPHA:模块工作模式选择,CPHA用来设置时间相位; 参考文献: SCK:SPI通讯时钟,控制通讯数据每一位发送和接收; [I苏伟禄施隆照.1]基于MCU IP核的SPI接口ASIC设 SS:从机片选信号,低电平选中该从机; .中国集成电路,2011(10). ・ MOSI:主机出从机入,根据CPOL和CPHA的不同, 计及实现Ⅱ】[2]汪永琳,丁一.一种3线制半)K-c SPI接口设计Ⅱ1.半导 在SCK的上升沿或下降沿采样数据; 体技术2010(o5). TX DATA:发送字节或字写入端口; 【3]祝红彬,李伟,刘子骥,蒋亚东.基于单片机SPI器件的 输出端口: 串口控制叩.现代电子技术,2009(24). TX RDY:发送准备好信号; RX RDY:接收准备好信号; [4]杨美刚,李小文.SPI接口及其在数据交换中的应用Ⅱ】. 通信技术.2007(11). RX DATA:接收字节或字读出端口; [5]孙丰军,余春喧.SPI串行总线接口的Verilog实现Ⅱ】. MISO:主机入从机出,根据CPOL和CPHA的不同, 现代电子技术.2005(16). 在SCK的上升沿或下降沿发送数据: 199..—— .——