(完整版)SPI接口的仿真及验证毕业设计.doc_第1页
(完整版)SPI接口的仿真及验证毕业设计.doc_第2页
(完整版)SPI接口的仿真及验证毕业设计.doc_第3页
(完整版)SPI接口的仿真及验证毕业设计.doc_第4页
(完整版)SPI接口的仿真及验证毕业设计.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编号毕业设计(论文)题目: SPI 接口的仿真及验证物联网工程学 院电子信息工程 专 业学生姓名指导教师胥翔虞致国副教授二一三 年六月摘要在专用集成电路( ASIC) 设计技术以及超大规模集成电路(VLSI)工艺技术的飞速发展的今天,FPGA 编程的硬件电路被越来越多的应用于实现诸如 SPI接口等方面。相对于软件实现,硬件具有更多的优点。SPI接口技术是一种高速高效率的串行接口技术, 主要用于扩展外设及其数据交换 , 已经作为一种配置标准。 作为一个标准的接口, SPI具有简单方便和节省系统资源的优点,使得大多数芯片都支持该接口。SPI接口主要应用在 EEPROM 、FLASH 、实时时钟、

2、AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI 接口的全称是 Serial Peripheral Interface ,串行外围接口,是由 Motorola 公司首先在其 MC68HCXX 系列处理器上定义的。现在大部分厂家都是参照 Motorola 的定义来设计的。因为没有确切的版本协议,所以不同厂家的 SPI 接口在技术上存在一定程度上的差别,甚至会引起歧义。本文是利用 Verilog 硬件描述语言编写出 SPI 总线的主机模块 , 经过 Xilinx ISE 仿真得出相应的仿真波形。 根据仿真波形分析 , 所设计的 SPI 主机模块的功能是正确的,并且在 Xilinx IS

3、E 中对该模块进行综合与实现。关键词: FPGA ;SPI 接口; Verilog; Xilinx ISEAbstractIn application-specificintegrated circuit (ASIC) design technology and very large scale integrated circuit (VLSI) technology rapiddevelopment today, the FPGA programming of the implementation such as SPI interface. Relative to the software

4、, EEPROM, FLASH,real-time clock, AD converter, and between the digital signal processor and digital signal decoder.SPI Interface is the full name of Serial Peripheral Interface, Serial Peripheral Interface, Motorola is first defined on its MC68HCXX series processors,most manufacturers are now based

5、on the definition of Motorola to design. This paper is to use the Verilog language to write the SPI bus of the ModelSim simulation waveform. According to the simulation waveform analysis, the design of SPI is right. Finally in Xilinx ISE in comprehensive and the implementation of the module, and com

6、pleted verify on the FPGA.Keywords:FPGA ; SPI interface; Verilog; Xilinx ISE目录摘要 .Abstract .目录 .第 1 章 绪论 .1.1 研究背景 .1.1.1 系统芯片的发展 .1.1.2 IP 核 .1.1.3 数据传送 .1.2 SPI 研究的目的及意义 .1.3 本文的主要工作及构架.1.3.1研究的基本内容 .1.3.2技术方案 .第 2 章 SPI 原理分析 .2.1 SPI 通信总线 .2.2 SPI 简介 .2.3SPI 的工作模式 .2.3.1 主模式 .2.3.2 从模式 .2.4SPI 的传

7、输模式 .2.5SPI 协议 .第 3 章方案论证 .3.1用 FPGA 来设计 SPI .3.2 用 51 系列单片机实现 SPI .第 4 章 SPI 的电路设计 .4.1 管脚说明 .4.2 SPI 系统中所用的寄存器 .4.3 SPI 速率控制 .4.4 SPI 控制状态机 .4.5 SPI 程序设计流程图 .第 5 章仿真及验证 .5.1 仿真分析 .第 6 章 结论与展望 .6.1 结论 .6.2 不足之处及未来展望 .参考文献 .致谢 .附录 A .第1章绪论1.1 研究背景1.1.1 系统芯片的发展系统芯片( SoC: System-on-a-chip)指的是在单个芯片上集成一

8、个完整的系统,对所有或部分必要的电子电路进行包分组的技术。所谓完整的系统一般包括中央处理器、存储器、以及外围电路等。 SoC 是与其它技术并行发展的,如绝缘硅( SOI ),它可以提供增强的时钟频率,从而降低微芯片的功耗。随着电子技术开发应用对集成电路 IC 需求量的扩大和半导体工艺水平的不断进步,超大规模集成电路 VLSI 技术迅猛发展。当前的半导体工艺水平己经达到了亚微米水平并正在向 50nm 以下发展,器件特征尺寸越来越小,芯片集成规模越来越大,数百万门级电路可以集成在一个芯片上,芯片尺寸已从逻辑限制变为焊盘限制,我们必须找到与常规集成电路设计思想不同的设计方式, 它就是新世纪 IC 设

9、计的主流技术。 SOC 是微电子设计领域的一场革命, 从整个系统的角度出发, 把智能核、信息处理机制、模型算法、芯片结构、各层次电路直至器件的设计紧密结合起来,在单个或少数几个芯片上完成整个系统的功能,既我们可以把越来越多的电路设计在同一个芯片中,这里面可能包含有中央处理器(CPU) ,嵌入式内存 (Embedded memory)、数字信号处理器 (DSP)、数字功能模块 (Digital function)、模拟功能模块 (Analog function)、模拟数字转换器 (ADC) 以及各种外围配置 (USB, MPEG) 等等,这是新发展的 SOC技术。SOC 技术的研究、应用和发展是

10、微电子技术发展的一个新的里程碑。 SOC 能提供更好的性能、更低的功耗、更小的印制板.空间和更低的成本,带来了电子系统设计与应用的革命性新变革,可广泛应用于移动电话、硬盘驱动器、个人数字助理和手持电子产品、消费性电子产品等。 SOC 是 21 世纪电子系统开发应用的新平台1。1.1.2 IP 核IP(Intelligence Property)是在 FPGA 设计中不可缺少的组成部分,也是自底向上设计方法学的理论基础。随着数字系统设计越来越复杂,从头开始设计系统中的每一个模块是一件十分困难的事,而且会打打延长设计周期,甚至增加系统的不稳定因素。 IP 的出现使得设计过程变得十分简单,用户甚至只

11、需要将不同的模块连接起来,就可以实现一个完整的系统。这样对减少产品的上市时间、赚取早起的利润十分有利。IP 核是指用于产品应用专用的集成电路(ASIC )或可编程逻辑器件( FPGA )的逻辑块或数据块。将一些数字电路中常用但比较复杂的功能模块,如 FIR 滤波器, SDRAM 控制器, PCI 接口等设计成可修改参数的模块,让其他用户可以直接调用,这样就大大减轻了工程师的负担,避免重复劳动。随着CPDLFPGA 的规模越来越大,设计越来越负杂,使用 IP 核是一个发展趋势。随着 HDL 的发展和标准化,世界上出现了一批利用HDL 进行各种集成电路功能模块专业设计的公司。其具体任务是按常用或专

12、用功能,用 HDL 来描述集成电路的功能和结构,并经过不同级别的验证形成不同级别的 IP 核模块,供芯片设计人员来装配或集成选用。(1)软 IP 核通常使用 HDL 文本形式提交给用户,它已经过行为级设计优化和功能验证,但其中不含有任何具体的物理信息。据此,用户可以综合出正确的门电路级网表,并可以进行后续结构设计,具有强大的灵活性,可以很容易的借助EDA 综合工具将其与其他外部逻辑电路结合成一体,更具不同的半导体工艺,将其设计为具有不同性能的器件。可以商品化的软IP 内核的电路结构总门数一般都在5000 门以上。软 IP 核又被称为虚拟器件。(2)硬 IP 核是基于某种半导体工艺的物理设计,

13、,已有固定的拓扑布局和具体工艺,并已经过工艺验证,具有保证的性能。其共给 用户的形式是电路物理结构掩模板图全套工艺文件, 是可以拿来就用的圈套技术。(3)固 IP 核的设计深度介于软IP 内核和硬 IP 内核之间, 除了完成硬 IP 内核所具有的设计外,还完成门电路级综合和时序仿真设计环节,一般以门电路级网表形式提交用户使用。常用的 IP 内核模块有各种不同的 CPU( 3264 位结构 CISCRISC 结构的 CPU 或 816 位微控制器单片机,如 8051 等)、 3264 位 DSP(如320C30)、 DRAM 、 SRAM 、 EEPROM 、 FLASH 内存、 AD 、 DA

14、 、MPEGJPEG 、USB、PCI 、标准接口、网络单元、编译器、编码解码器和模拟器件模块等。丰富的 IP 内核模块库为快速地设计专用集成电路和单片系统以尽快占领市场提供了保证 2。1.1.3 数据传送数据传送有串行传送和并行传送两种方法。并行传输是构成字符的二进制代码在并行信道上同时传输的方式。例如, 8 单位代码字符要用8 条信道并行同时传输,一次传一个字符,收、发双方不存在同步问题,速度快,但信道多、投资大,数据传输中很少采用 3。串行传输是构成二进制代码在一条信道上以位(码元)为单位,按时间顺序逐位传输的方式。按位发送,逐位接收,同时还要确认字符,所以要采取同步措施。速度虽慢,但只

15、需一条传输信道,投资小,易于实现。为此,串行传输已经成为当今外设接口的主流传输方式,为此,摩托罗拉公司开发出了同步外设接口(SPI) ,并随着时间不断改进,由于其占用线的资源少,且稳定可靠,该总线大量用在与EEPROM、ADC、FLASH和显示驱动器之类的慢速外设器件通信,现在很多单片机等都有SPI 模块来连接外围设备,从而使主机与外设传输数据更加方便5 。1.2 SPI 研究的目的及意义SPI 总线 ,是一个同步串行接口的数据总线,它具有全双工、信号线少、协议简单、传输速度快等优点。由于串行总线的信号线比并行总线更少、简单 ,越来越多的系统放弃使用并行总线而采用串行总线。在众多串行总线中 ,

16、SPI 总线相比于 I2C 总线、 CAN 总线、 USB 等其他常用总线相比有很大优势,如 SPI 线的数据传输速度可达若干Mbps,比 I2C总线快很多。SPI总线最典型的应用就是主机与外围设备(如EEPROM、Flash RAM 、AD 转换器、 LED 显示器、实时时钟等 )之间的通信 4。SPI 接口的扩展有硬件和软件两种方法,软件模拟 SPI 接口方法虽然简单方便 ,但是速度受到限制, 在高速且日益复杂的数字系统中,这种方法显然无法满足系统要求,所以采用硬件的方法实现最为切实可行。这使得与 SPI 有关的软件就相当简单,使CPU 有更多的时间处理其他事务。FPGA( 现场可编程门阵

17、列 )是在 PAL、GAL 、PLD 等可编程器件的基础上进一步发展的产物 ,具有设计周期短、 可重复编程、灵活性强等特点。用 FPGA 设计的 SPI 总线具有可扩展性强、便于修改等优点。只要对设计做简单的改动 ,即可对 SPI 总线的数据位数、工作模式等进行扩展 ,充分发挥了 FPGA 的优势。并 FPGA 是可编程并可重复擦写的,从而具有更大的灵活性,在协议不标准的情况下,可根据外围设备的不同而灵活的改动SPI 设计,使设计周期大大降低,并与外围设备连接更加方便。1.3 本文的主要工作及构架1.3.1 研究的基本内容(1)熟悉通信及通信接口相关方面的知识,学习并掌握SPI 通信接口的结构

18、,协议及原理。(2)熟悉 VERILOG语言及其开发环境ISE ,使用该语言进行数字电路( FPGA )设计,慢慢深入VERILOG语言。(3)设计流程图,状态图。(4)实现仿真。1.3.2 技术方案SPI 接口作为主机与从机的通讯接口,其主要完成工作为下: SPI 将从主机接收到的8 位的并行数据 ,转换为从机所能接收的串行数据 ,并将该数据根据 SPI 协议送给从机。主机产生从机所需的时钟信号 SCLK 以及片选信号 CS。接收从从机传回的读信号和串行数据 ,并将其转换为并行数据。此方案采用了状态机来进行设计,本项目的研究主要采用理论分析、逻辑推理、试验调试等方法。状态机的特点如下:( 1

19、)有限状态机相对于纯硬件数字系统顺序方式控制来说更为灵活。( 2)状态机的结构模式简单。( 3)状态机构成的同步时序逻辑模块更为优良。( 4)状态机在高速运算和控制方面更有其巨大的优势。( 5)状态机更为可靠。基于以上特点,用状态机的方法描述 SPI 通信过程简单方便并可靠。 SPI 接口的状态大致转移描述如下:首先是 SPI 接口处于等待状态, 一旦检测到发送指令时触发信号进入发送状态,在系统指令下检测到写信号时进入发送数据状态,然后一位发送数据,当检测到读信号时,进入读状态,当检测到发送接收都完毕时,进入发送接收完毕状态,再转向等待状态。关键技术的实现:( 1)时序问题将总线控制信号封装成

20、指令,使用者只需通过发送指令的方式操作,避免了复杂的时序逻辑设计问题。( 2)全双工传输方式的设计如果全部使用状态机的方式完成设计,则可发现其很难完成全双工即收发独立模式,则在此过程中可以采用流水线设计方式,使之收与发之间独立进行,便可完成全双工传输方式的设计。第 2 章 SPI 原理分析SPI 原理主要介绍SPI 的基本机构,工作模式,传输模式以及SPI的典型协议,通过对于这些SPI 的要点介绍,对其工作过程有一个通透了解,从而可以能设计达到原理目的的功能设计以及程序的设计。2.1SPI 通信总线SPI 顾名思义就是串行外围设备接口。是Motorola 首先在其MC68HCXX系列处理器上定

21、义的。SPI 接口主要应用在EEPROM ,FLASH ,实时时钟, AD 转换器,还有数字信号处理器和数字信号解码器之间。 SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200 。SPI 总线系统是一种同步串行外设接口,它可以使MCU 与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM 、网络控制器、 LCD 显示驱动器、 AD 转换器和 MCU 等。 SPI 总线系统可直接与各个厂家生产的多种标准外

22、围器件直接接口,该接口一般使用4 条线:串行时钟线(SCLK )、主机输入从机输出数据线MISO 、主机输出从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT 、有的 SPI 接口芯片没有主机输出从机输入数据线 MOSI )7。2.2SPI 简介SPI(Serial Peripheral Interface)接口是工业标准的同步串行接口,是一种全双工、三线通信的系统。由于串行总线的信号线比并行总线更少、更简单 ,越来越多的系统放弃使用并行总线而采用串行总线。 在众多串行总线中 ,SPI 总线与 I2C 总线、 CAN 总线、 USB 等其他常用总线相比有

23、很大优势。SPI 总线最典型的应用就是主机与外围设备(如 EEPROM 、 Flash RAM 、 AD 转换器、 LED 显示器、实时时钟等 )之间的通信 6。SPI 的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备, 需要至少 4 根线(单向传输时只需要 3 根)。也是所有基于 SPI 的设备共有的,它们是 SDI (数据输入), SD(数据输出),SCK (时钟),CS(片选)。它们的定义如下:SCK: 同步时钟信号 ,用来同步主机和从机的数据传输 ,由主机控制输出 , 从机在 SCK 的边沿接收和发送数据 ;MOSI: 主机输出、从机输入信号 ,主机在上升

24、沿 (或下降沿 )通过该信号线发送数据给从机 ,从机在下降沿 (或上升沿 )通过该信号线接收该数据 ; MISO: 主机输入、从机输出信号 ,从机在上升沿 (或下降沿 )通过该信号线发送数据给主机 ,主机在下降沿 (或上升沿 )通过该信号线接收该数据 ;CS:从机片选信号 ,由主机控制输出。其中 CS 是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI 设备成为可能。接下来就负责通讯的 3 根线了。通讯是通过数据交换完成的,这里先要知道 SPI 是串行通讯协议,也就是说数据是一位一位的传输的。这就是 S

25、CLK 时钟线存在的原因,由 SCK 提供时钟脉冲, SDI ,SDO则基于此脉冲完成数据传输。数据输出通过 SDO 线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少 8 次时钟信号的改变(上沿和下沿为一次),就可以完成 8 位数据的传输。要注意的是, SCLK 信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于 SPI 的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少 8 位数据,而 SPI 允许数据一位一位的传送,甚至允许暂停, 因为

26、SCLK 时钟线由主控设备控制, 当没有时钟跳变时,从设备不采集或传送数据。也就是说, 主设备通过对 SCLK 时钟线的控制可以完成对通讯的控制。 SPI 还是一个数据交换协议:因为 SPI 的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的 SPI 设备的实现方式不尽相同, 主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义。SPI 接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据 11。2.3 SPI 的工作模式SPI 有两种工作模式,分别为主模式和从模式。2.3.1 主模式将 Master 的数据传送给 Slave,8 位数据传送,传送完毕,

27、申请中断,如图 2.1 所示:图 2.1 SPI 工作主模式2.3.2 从模式在从模式下, 每一位数据都是接收到时钟信号SCLK 和 CS 信号之后才发送接收。此时, SCLK 信号又主机产生,接收的数据在三岔路口信号作用下依次由 MOSI 引脚写入移位寄存器,发送的数据在 SCLK 信号作用下由移位寄存器发送到 MISO 引脚。图 2.2 SPI 工作从模式2.4 SPI 的传输模式SPI总线是Motorola公司推出的三线同步接口,同步串行3 线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线 MISO; 用于CPU与各种外围器件进行全双工、同步串行通讯。SPI主要特

28、点有 : 可以同时发出和接收串行数据; 可以当作主机或从机工作;提供频率可编程时钟; 发送结束中断标志 ;写冲突保护 ;总线竞争保护等。下图 2.3 示出 SPI 总线工作的四种方式,其中使用的最为广泛的是SPI0 和 SPI3 方式 (实线表示 ):图 2.3SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL )对传输协议没有重大的影响。如果CPOL=0 ,串行同步时钟的空闲状态为低电平;如果 CPOL=1 ,串行同步时钟的空闲状态为高电平。时钟相位(CPHA )能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=

29、0 ,在串行同步时钟的第一个跳变沿(上升或下降) 数据被采样;如果 CPHA=1 ,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。 SPI 主模块和与之通信的外设备时钟相位和极性应该一致。SPI 总线包括 1 根串行同步时钟信号线以及2 根数据线。SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL )对传输协议没有重大的影响。如果CPOL=0 ,串行同步时钟的空闲状态为低电平;如果 CPOL=1 ,串行同步时钟的空闲状态为高电平。时钟相位(CPHA )能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0 ,

30、在串行同步时钟的第一个跳变沿(上升或下降) 数据被采样;如果 CPHA=1 ,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。 SPI 主模块和与之通信的外设音时钟相位和极性应该一致。(1)SPI0 模式下的 CPOL 为 0,SCK 的空闲电平为低; CPHA为 0,数据在串行同步时钟的第一个跳变沿(由于CPOL 为低,因此第1 个跳变沿只能为上升沿)时数据被采样。( 2)SPI1 模式下的 CPOL 也为 0, SCK 的空闲电平为低;但是CPHA 为 1,数据在串行同步时钟的第二个跳变沿(由于CPOL 为低,因此第 2 个跳变沿只能为下降沿)时数据被采样。( 3)SPI2 模式下的

31、 CPOL 为 1,SCK 的空闲电平为高; CPHA 为0,数据在串行同步时钟的第1 个跳变沿(由于CPOL 为高,因此第1个跳变沿只能为下降沿)时数据被采样。( 4)SPI3 模式下的 CPOL 为 1,SCK 的空闲电平为高; CPHA 为1,数据在串行同步时钟的第2 个跳变沿(由于CPOL 为高,因此第1个跳变沿只能为上升沿)时数据被采样。在上述4 种模式中,使用的最为广泛的是SPI0 和 SPI3 方式。由于每一种模式都与其他三种不兼容,因此为了完成主、从设备间的通讯,主、从设备的CPOL 和 CPHA 必须有相同的设置。读者需要注意的是:如果主设备从设备在SCK 上升沿发送数据,则

32、从设备主设备最好在下降沿采样数据;如果主设备从设备在SCK 下降沿发送数据,则从设备主设备最好在SCK 上升沿采样数据 8。2.5 SPI 协议SPI 是一个环形总线结构,由SS(CS)、SCK 、SDI 、SDO 构成,其时序其实很简单,主要是在SCK 的控制下,两个双向移位寄存器进行数据交换。假设下面的8 位寄存器装的内容互相交换一次。这样就完成里一个 SPI 时序。举例:假设主机和从机初始化就绪:并且主机的SBUFF=0xaa,从机的SBUFF=0x55,下面将分步对 SPI 的 8 个时钟周期的数据情况演示一遍:假设上升沿发送数据。这样就完成了两个寄存器8 位的交换,上面的上表示上升沿

33、、下表示下降沿,SDI 、SDO 相对于主机而言的。其中SS引脚作为主机的时候,从机可以把它拉底被动选为从机,作为从机的是时候,可以作为片选脚用。根据以上分析,一个完整的传送周期是16位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的命令准备数据,主机在下一个8 位时钟周期才把数据读回来 9。表 2.1脉冲主机 SBUFF从机 SBUFFSDISDO0001 上011 下012 上102 下103 上013 下014 上104 下105 上015 下016 上106 下107 上017 下018上10第 3 章方案论证对于 SPI 接口的设计,我们可以分为两大类,分别为利用单片机

34、如 51 系列单片机实现和利用 FPGA 等可编程逻辑器件编程实现,下面将分别介绍两种方法的方法。3.1 用 FPGA 来设计 SPI通过对 SPI 的结构的了解可以设计一个系统框架,按照框架完成输入输出的功能。一个典型的 SPI 系统包括一个主 MPU 和一个或者多个从外围器件。单片机通过 SPI 接口模块与 SPI 相连,当单片机以主机模式运行的时候,就可以与系统中的从机实现通信,而当它处于从机模式工作时,就能与宁外一个主机进行数据通信。但在同一个时间内,系统中只能拥有一个主机,否侧会造成系统的工作异常。 一个典型的用 FPGA 设计的系统框架如图 3.1 所示 11:图 3.13.2 用

35、 51 系列单片机实现SPI对于 MCS51 系列单片机来说,由于它不带有SPI 串行总线接口,我们可以使用软件来模拟SPI 的操作,包括串行时钟、数据输入以及数据输出。不同的串行接口外围芯片拥有不同的时钟时序。对于在SCK的上升沿输入(接收)数据并且在下降沿输出(发送)数据的器件,大都应在初始状态将其串行时钟输出口P1.1 设置为 1,而在允许接口后再将 P1.1 置为 0。这样, MCU 在输出 1 位 SCK 时钟的同时, 可以将接口芯片串行左移,从而输出 1 位数据到 MCS51 单片机的 P1.3 口(模拟MCU 的 MISO 线),之后再将置P1.1 为 1,使 MCS51 系列单

36、片机从P1.0(模拟 MCU 的 MOSI 线)输出 1 位数据至串行接口芯片。这样就完成了 1 位数据输入输出的模拟。 此后再置 P1.1 为 0,模拟下 1 位数据的输入输出,依此完成 8 次循环,即可完成1 次通过 SPI 总线传输8 位数据的操作。对于在 SCK 的下降沿输入数据和上升沿输出数据的器件,则应取串行时钟输出的初始状态为0,即在接口芯片允许时,先置P1.1 为 1,以便外围接口芯片输出 1 位数据( MCU 接收 1 位数据),之后再置时钟为 0,使外围接口芯片接收 1 位数据 (MCU 发送 1 位数据 ),从而完成 1 位数据的传送。图 3.2 所示为 MCS51 系列

37、单片机与存储器X25F008(E2PROM )的硬件连接图;图 3.2P1.0 模拟 MCU 的数据输出端( MOSI ),P1.1 模拟 SPI 的 SCK 输出端,P1.2 模拟 SPI 的从机选择端, P1.3 模拟 SPI 的数据输入端( MISO )。以上便是两种实现SPI 的方法,在实际应用中,只要高级点的单片机,都自带 SPI 接口,并且如 DSP 等也集成了 SPI 接口,大多芯片都趋向于用硬件而非软件来实现。这是因为软件模拟SPI 接口方法虽然简单方便 ,但是速度受到限制, 在高速且日益复杂的数字系统中,这种方法显然无法满足系统要求,所以采用硬件的方法实现最为切实可行。这样使

38、得与 SPI 有关的软件就相当简单,使CPU 有更多的时间处理其他事务。在FPGA 不断地完善改善完美并且功能强大的今天,用硬件实现已经成为主流,在大型系统用硬件实现更加稳定。同时 FPGA也有自身的优点。在外围器件有改变时,由于FPGA 可以重复擦写的优点,从而在外围器件有些许改变之时,可以同时稍微改变可编程的程序,因而可编程又有灵活性大的特点。因此,本次便采用FPGA 来设计。第 4 章 SPI 的电路设计电路设计主要是针对系统功能的设计,以及各部分功能具体实现方案,比如管脚说明由此得到本次SPI 设计的流程图,由流程图便可以编写出我们所需要的程序。4.1 管脚说明表 4.1 SPI 设计管脚端口名称数据位宽信号流向功能描述int_o1Output中断输出,确保已传数据被读取rst_i1Input异步复位we_i1Input写使能端,写数据dat_i8Input输入数据或指令adr_i2Input写指令数据选择sck_o1OutputSPI 时钟输出mosi_o1Output数据串行输出miso_i1Input数据串行输入cs_o1Output选片dat_o8Output输入数据并行给微处理器其中,需要强掉的是, adr_i 端输入不同,便使系统处于写数据状态还是写指令状态, 指令是写给 SPI 设计的控制寄存器, 以使 SPI 具有不同的功能 12。4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论