SPI 至I2C 接口

合集下载

spi和I2C接口,jtag 接口

spi和I2C接口,jtag 接口

SPI--Serial Peripheral Interface,串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

I2C--INTER-IC串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。

它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。

具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。

在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。

SPI通常有SCK时钟,STB片选,DATA数据信号三个信号。

I2C通常有SDA 数据和SCL时钟两个信号。

SPI和IIC是2种不同的通信协议,现在已经广泛的应用在IC之间的通信中。

并且不少单片机已经整和了SPI和IIC的借口。

但像51这种不支持SPI和IIC 的单片机,也可以用模拟时钟的工作方式进行SPI和IIC的通信的。

IIC 接口的协议里面包括设备地址信息,可以同一总线上连接多个从设备,通过应答来互通数据及命令。

但是传输速率有限,不能实现全双工,不适合传输很多的数据。

SPI 有3线跟4线两种,4线的话,就是多了一条叫SDC的线,用来告知从设备现在传输的是数据还是指令。

这个接口较快,可以传输较连续的数据。

SPI要想连接多个从设备,就需要给每个从设备配备一根片选信号。

如果要可以实现全双工,也是需要多加一根数据线。

SPI总线比IIC总线的速度快!IIC总线比SPI总线通讯线少SPI是英文Serial Peripheral Interface的缩写,中文意思是串行外围设备接口,SPI是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务到底什么是JTAG呢?JTAG(Joint Test Action Group)联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。

I2C总线及SPI规范

I2C总线及SPI规范
如果R/W 位是0 则第二个字节是10 位从机地址剩 下的8 位,如果R/W 位是1 则下一个字节是从机发 送给主机的数据
10 位寻址的格式
主机将10 位从机地址发送到从机
传输的方向不改变 ,当起始条件后有10 位地址时每个从机 将从机地址第一个字节的头7 位11110XX 与自己的地址比 较,并测试看第8 位R/W 方向位是否为0 ,此时很可能超过 一个器件发现地址相同并产生一个响应A1, 所有发现地址 相同的从机将从机地址第2个字节的8位XXXXXXXX 与自 己的地址比较。此时只有一个主机发现地址相同并产生一 个响应A2 ,匹配的从机将保持被主机寻址直到接收到停 止条件P 或从机地址不同的重复起始条件Sr。
传输数据
响应:
数据传输必须带响应,相关的响应时钟脉冲由主机产生,在响应的时钟 脉冲期间发送器释放SDA 线高。 在响应的时钟脉冲期间接收器必须将SDA 线拉低,使它在这个时钟脉冲 的高电平期间保持稳定的低电平。
仲裁和时钟发生
仲裁过程中的时钟同步:
产生的同步SCL 时钟的低电平周期由低电平时钟周期最长的器件决定, 而高电平周期由高电平时钟周期最短的器件决定,如下图:
SPI接口简介
SPI的通信以主从方式工作,这种模式通常有1个主设备和 1个或多个从设备,一般需要4根线,事实上3根也可以(单向 传输时)。其也是所有基于SPI的设备共有的,它们是SDI(数 据输入),SDO(数据输出),SCLK(时钟),CS(片选) 。CS 决定了唯一的与主设备通信的从设备,如没有CS 信号,则 只能存在一个从设备,主设备通过产生移位时钟来发起通讯。 由SCLK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据 传输。数据输出通过SDO线,数据在时钟上升沿或下降沿时 改变,在紧接着的下降沿或上升沿被读取。完成1位数据传 输,输入也使用同样原理。这样,在至少8次时钟信号的改 变(上沿和下沿为1次),就可以完成8位数据的传输。

I2C和SPI-图文

I2C和SPI-图文

I2C和SPI-图文SPI/I2C总线虽然现实世界中的信号都是模拟信号,但是越来越多的模拟IC产品通过数字接口实现通讯。

微处理器通过几条总线控制周边的设备,比如:模/数转换器(ADC),数/模转换器(DAC),智能电池,端口扩展,EEPROM以及温度传感器。

与数据的平行传输接口不同,串行数据通过两条、三条或者四条数据/时钟总线连续地传输比特数据。

虽然并行的总线具有传输速度快的特点,但是串行总线具有使用较少的控制和数据线的优点。

2线和3线的总线在大多数微处理器上应用于收发数据。

串行接口在提供串行时钟的主设备和从设备/周边设备之间的进行通讯。

串行接口有三种:三线、二线和单线。

本文着眼于二线和三线的串行接口。

三线的接口包括:片选线(CS或SS)、时钟线(SCLK)和数据输入/主设备输出线(DIN或MOSI)。

三线接口有时也包括一条数据输出/主设备输入线(DOUT或MISO)。

包含DOUT线的三线接口有时也叫做四线接口。

为了叙述的简便,本文将三线接口和四线接口统称为三线接口。

二线接口包括一条数据线(SDA或SMBDATA)和一条时钟线(SCL或SMBCLK)。

串行外设接口(SPI),队列串行外设接口(QSPI)和MicroWire(或MicroWire/Plu)接口都是三线接口。

芯片间总线(I2C)和SMBUS都是二线接口。

这些串行接口拥有各自的优点和缺点,见表1。

三线接口可以以更高的时钟频率工作,并且不需要上拉电阻。

SPI/QSPI和MicroWire接口都可以工作在全双工模式(数据可以在同一时间发送和接收)。

而且三线接口是边沿触发的而不是电平触发,因此具有更强的抗干扰能力。

三线接口的主要缺点是它要为每一个从设备提供一条片选线,除非将从设备用菊链形式连接。

另外一个缺点是三线接口没有应答机制去判断数据的收发是否正确。

二线接口的优点是使用更少的连线,这一点在紧凑的设计中尤为重要,比如:手机、光纤的应用,因为二线接口为每个从设备分配唯一的地址,所以可以实现一根总线连接多个从设备而不需要片选线。

SPI和IIC详解

SPI和IIC详解
与标准的USART串行接口不同,SPI 是一个同步协议接口,具有全双
工通信的特性。SPI总线上所有的传输都参照一个共同的时钟,这个同 步时钟信号由主设备产生。接收数据的从设备使用时钟对串行比特流 的接收进行同步化。
2
SPI总线协议
四条信号线: MISO(主机输入/从机输出) MOSI(主机输出/从机输入) SCLK(串行时钟) CS或SS (外设片选或从机选择) 特点: 全双工(输入/输出独立) 同步(带有时钟线) 物理结构简单 灵活性强

SCL; 2、每个连接到总线的器件都可以通过唯一的地址和一直存在的简 单的主机/从机关系软件设定地址,主机可以作为主机发送器或主 机接收器; 3、它是一个真正的多主机总线,如果两个或更多主机同时初始化 ,数据传输可以通过冲突检测和仲裁防止数据被破坏; 4、串行的8 位双向数据传输位速率在标准模式下可达100kbit/s,快 速模式下可达400kbit/s,高速模式下可达3.4Mbit/s; 5、连接到相同总线的IC 数量只受到总线的最大电容400pF 限制。
LSBFIRST:
发送帧格式 SPE: SPI使能 BR[2:0]: 波特率控制 MSTR: 主/从设置 CPOL/CPHA: 时钟极性/相位
13
控制寄存器SPI_CR2
中断使能设置: TXEIE: 发送缓冲区空中断使能 RXNEIE: 接收缓冲区非空中断使能 ERRIE: 错误中断使能
I2C通过串行数据(SDA)线和串行时钟 (SCL)线在连接到总线的器
件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器 ——MCU、LCD 驱动器、存储器或键盘接口),而且都可以作为一个 发送器或接收器(由器件的功能决定)。

CANI2SI2CSPI总线接口总结

CANI2SI2CSPI总线接口总结

CANI2SI2CSPI总线接口总结CAN(Controller Area Network)是一种面向实时通信的串行总线标准。

它最初是由Bosch公司开发,主要用于汽车电子系统中的控制和通信。

CAN总线采用差分信号传输,拥有较高的抗干扰能力和可靠性,可实现在复杂电气环境下的快速数据传输。

CAN总线可以支持多个设备的分布式通信,通过先进的协议机制实现高效的数据传输和数据帧的优先级设置。

CAN总线的通信速率通常为1 Mbps,可以满足实时性要求较高的应用场景,如汽车电子、工业控制和航空航天等。

I2S(Inter-IC Sound)是一种串行音频接口标准。

它由飞利浦(Philips)公司提出,用于在音频设备之间传输音频数据。

I2S接口采用三线制的同步通信方式,包括一个时钟线、一个数据线和一个帧同步线。

I2S接口支持双向通信,可以同时传输音频数据和控制信号。

I2S接口的主要特点是高保真音频传输和灵活的系统集成能力。

它广泛应用于消费电子产品,如音频解码器、音频处理器、音频放大器等。

I2C(Inter-Integrated Circuit)是一种串行通信总线标准。

它由Philips公司开发,用于连接集成电路之间的通信。

I2C总线采用双线制的同步通信方式,包括一个时钟线和一个数据线。

I2C总线可以支持多个设备的串行连接,每个设备都有一个唯一的地址,可以通过该地址进行单独访问。

I2C总线具有简单、低功耗和可靠的特点,适用于连接存储器、传感器、显示器和其他外设等。

它的通信速率通常在100 kbps到3.4 Mbps之间,适用于中等速度的数据传输。

SPI(Serial Peripheral Interface)是一种串行外设接口标准。

它最早由Motorola公司提出,用于连接微控制器和外设之间的通信。

SPI总线采用四线制的同步通信方式,包括一个时钟线、一个主从选择线、一个主机输出从机输入线和一个主机输入从机输出线。

I2C总线与SPI总线技术教程

I2C总线与SPI总线技术教程
+VCC SDA 主器件1 SCL SDA 从器件1 SCL SDA 从器件2 SCL 主器件2 SDA SCL SDA 从器件3 SCL
I2C总线的基本特性2
• 在单主系统中,每个I2C接口芯片具有唯一的器件地址, 各从器件之间互不干扰,相互之间不能进行通信。MCU与 I2C器件之间的通信是通过独一无二的器件地址来实现的。 • 如果两个或更多主机同时初始化数据传输,可以通过冲突 检测和仲裁防止数据被破坏。 • 任何器件通过I2C总线与MCU进行数据传送的方式基本一样, 决定了I2C总线软件编写的一致性。 • 数据传输位速率在标准模式下可达100kbit/s,快速模式 下可达400kbit/s,高速模式下、数据位、奇偶 校验位、停止位等(RS232\485)
数据传送方向概念
• 单工方式:只允许数据按照一个固定的方
向传送
• 半双工方式:每次只能有一个站发送,另
一个站接收
• 全双工方式:允许通信双方同时进行发送
和接收
串行与并行总线对比
• 与并行扩展总线相比,串行扩展总线能够最大程 度发挥最小系统的资源功能、简化连接线路,缩 小电路板面积、扩展性好,可简化系统设计。 • 串行总线的缺点是数据吞吐容量小,信号传输较 慢。但随着CPU芯片工作频率的提高,以及串行 总线的功能增强,这些缺点将逐步淡化。 • SPI、I2C、1-Wire、RS232是目前单片机应用系 统中最常用的几个串行总线接口。
I2C总线
I2C总线
• I2C(Inter Integrated Circuit)常译为 内部集成电路总线,或集成电路间总线, 它是由Philips公司推出的芯片间串行传输 总线。使用2线实现数据通信。
1根串行数据线(SDA)
1根串行时钟线(SCL)

S3C2410 I2C SPI接口

S3C2410 I2C SPI接口

S3C2410 I2C总线接口Ø I2C(Inter-Integrated Circuit)总线 是由Philips半导体公司于上世纪80年为了 实现在同一块电路板上的各个器件进行简 单的消息传递而设计的。

Ø 开始信号:SCL为高电平时,SDA由高 电平向低电平跳变,开始传送数据Ø 结束信号:SCL为高电平时,SDA由低电平向 高电平跳变,结束传送数据Ø 传输状态与空闲状态:当SCL为高电平 时,保持SDA高电平(或低电平)不变 ,那么I2C总线保持在传输状态或者空 闲状态。

Ø 应答信号:接收数据的组件在接收到 8bit数据后,向发送数据的I2C器件发 出特定的低电平脉冲,表示已收到数 据。

Ø 2. I2C总线的操作 Ø 控制字节 在起始条件之后,必须是器件的 控制字节,其中高四位为器件类型识别符 (不同的芯片类型有不同的定义),接着 三位为片选,最后一位为读写位,当为1时 为读操作,为0时为写操作。

Ø 写操作 分为“字节写”和“页面写”两种操作。

对于页面写,根据芯片的一次装载的字节 不同有所不同。

Ø 读操作 有三种基本操作:当前地址读、随 机读和顺序读三种。

Ø 3. I2C总线地址地址 0000000 0 0000000 1 0000001 X 0000010 X 0000011 X 00001XX X 11110XX X 11111XX X 用途 广播地址 起始字节 CBUS 地址(一种三线总线,和 I2C 不同) 保留地址,或者用做其他总线 保留地址 高速主设备地址(第三位用来确定主设备) 10 位地址模式 保留地址S3C2410 I2C总线功能模块 Ø S3C2410支持多主控的I2C串行总线接口。

Ø 一条专门的串行数据线(SDA)和一条时 钟信号线(SCL)在所有连接到I2C总线上 的主控组件和周边设备之间进行信息的传 送。

单片机的I2C和SPI通信

单片机的I2C和SPI通信

单片机的I2C和SPI通信I2C和SPI是两种不同的通信协议。

听到协议,似乎高不可攀,其实协议就是人们定义的一个标准而已,我们只要遵照这个标准去做事,就可以。

比如公司规定早上9点上班,我们就9点上班,不然就会扣薪水,这就是个协议。

用I2C通信的芯片最常用的就是EEPROM芯片,如Atmel的AT24CXX系列,此外,还有一些其它功能的芯片。

用SPI通信的芯片有外置FLASH芯片,同样,还有其他功能的一些芯片。

I2C通信需要用到两个引脚:SDA SCL。

SCL是时钟引脚,SDA是数据引脚。

(这是EEPROM芯片)(这是时钟芯片)SPI通信需要3个引脚或者4个引脚:CS SCK MOSI MISO。

SPI通信芯片的引脚名称不一定都是这几个名称,可能还有会别的名称,但是意思是一样的,例如MOSI引脚的意思是“主机输出从机输入”,某个SPI接口的芯片就有可能会写成SDI,因为这个SPI器件是作为从机的,所以它的SDI的意思就是“从机数据输入引脚”。

SPI通信过程为:把CS引脚拉低,然后SCK输出时钟,然后就可以在MOSI 引脚上输出数据,同时可以在MISO上获得数据了。

(这是一个SPI FLASH芯片,DO是MISO,DI是MOSI,CLK是SCK,功能一样,叫法不一样而已)(这是一个SPI接口的ADC芯片,Dout是MISO,DCLOCK就是SCK,这个芯片有3个SPI引脚)大部分单片机上面都会带有I2C口和SPI口,有可能还会有好几个I2C口和SPI口。

不过,不带I2C口和SPI口的单片机,也可以通过普通引脚的模拟他们的时序来进行通信。

而且,如果是初学者的话,一定要学习一下用普通引脚模拟,对他们的通信本质理解更深刻。

通信全程,其实就是控制引脚高低电平和检测引脚高低电平的过程,话说,控制单片机的引脚高低电平和检测引脚的高低电平,第一天学单片机就会了,所以,I2C通信和SPI通信也没什么难的地方。

给大家讲一个最简单的通信过程,例如我们称下面的通信名称为KJLWT,名字是不是看起来很吊,其实是“科技老顽童”的拼音首字母,因为接下来的协议是我刚刚发明的,所以以此命名^_^。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

应用笔记486 利用MAX II CPLD 实现SPI 至I 2C 接口引言本设计实现了两种应用广泛的共享总线体系结构之间的协议转换:串行外设接口(SPI)和I 2C 总线。

Altera ® Max ® II CPLD 起到了桥接的作用,使 SPI 接口主机能够与通过I 2C 总线连接的器件进行通信。

I 2C 和SPII 2C 是串行2线窄带工业标准协议,用于嵌入式系统中各种低速外设之间的通信。

而SPI 是应用广泛的4线快速全双工串行通信接口。

现在很多嵌入式系统都有SPI 接口,和I 2C 外设连接有一定的困难。

实现这种连接的方法之一是修改系统,但是性价比低。

最好的方法是使用CPLD 来桥接这两种接口。

本设计使用MAX II CPLD 来实现这一桥接功能,该器件非常灵活,功耗低,能够以较高的性价比集成到嵌入式系统中。

对主机(SPI 主机)而言,CPLD 是 SPI 从机, 而对于I 2C 总线,它是主机。

利用MAX IICPLD 实现SPI 至I 2C 的接口本设计支持SPI 接口主机对其他设备的数据流控制,这些设备包括A/D 转换器、LED 控制器、音频处理器等,通过I 2C 接口来读取温度传感器、硬件监视器和诊断传感器等。

图1所示为采用MAX II CPLD 来实现SPI 至I 2C 的接口。

它作为SPI 从机和SPI 主机进行接口,使用了四种信号线,控制用的SS 和SCLK 信号,数据用的MISO 和MOSI 信号。

I 2C 总线一侧接口有两条信号线,SCLK 和SDA 信号。

2007年12月,1.0版图1.利用MAX II CPLD实现SPI至I2C 的接口SPI接口SPI总线通常只有一个主机以及和它相连的多个从机。

CPLD作为从机之一和 SPI主机设备相连,实现桥接功能。

图2所示为SPI时序图。

表1对SPI接口引脚进行了说明。

图2.SPI时序图表1.SPI接口引脚说明信号目的方向SS从机选择输入(低电平有效)SCLK SPI时钟输入MISO主机输入从机输出输出MOSI主机输出从机输入输出SPI主机发送:■命令寄存器(8位)■数据输入(8位)SPI主机接收:■状态寄存器(8位)■数据输出(8位)SPI字长度固定为16比特。

如图2所示,CPOL=0和CPHA=1。

在每一个SPI字中,命令寄存器规定I2C总线上的功能,数据输入保持I2C总线要发送的数据。

类似的,状态寄存器的最后一位是应答位,数据输出是在前一I2C周期中通过I2C线接收到的数据。

在每一SPI总线的最后,从机选择线变为高电平,指示完成一个字的发送,对于此时命令寄存器中的每个值,执行一个I2C总线周期。

经过固定时延后,根据I2C SCL上的频率,可以发送另一个SPI字。

两个SPI字之间的最小时延是I2C SCL时钟频率。

I 2C 接口CPLD 作为 I 2C 总线的主机,实现桥接功能。

由于本设计的目的是提供SPI 主机和I 2C 从机之间的接口,因此,I 2C 总线不支持多个主机。

表2对I 2C 接口引脚进行了说明。

根据从SPI 一侧接收到的命令寄存器值来执行I 2C 功能。

表3列出了命令寄存器中存储的重要命令。

某一I 2C 操作读入的数据存储在数据输出寄存器中,由SPI 主机在下一SPI 操作中读取。

SPI 主机需要最后一个命令字 00000000 (b)来读取状态值,而数据输出寄存器对I 2C 总线不作任何操作。

I 2C 命令格式如图3所示。

图3.I 2C 命令格式表2.I 2C 接口引脚说明 信号目的方向SCLK I 2C 串行时钟输出SDA I 2C 数据总线双向表3.I 2C 命令 命令寄存器I 2C 线的目的寄存器中的数据10000000启动/重新启动从机地址 + R/W 01000000写入一个字节要写入的数据00100000读取一个字节不重要00010000停止不重要00000000空,等待状态不重要设计实现本设计可以采用EPM240或者其他MAX II CPLD 来实现。

实现过程涉及到使用设计源代码,为MAX II CPLD 的通用I/O (GPIO)线分配相应的信号和控制线等。

在演示设计实现时,还需要一个SPI 主机和一个I 2C 从机。

以下步骤详细说明了这一设计演示,演示用到了MDN-B2电路板,以及采用了Freescale SPIGen 软件(以及对应的并口硬件)的PC 并口SPI 环境和I 2C 从机电池量表模块(由MDN-B2提供)。

表4 列出了EPM240G 的引脚分配。

1在Quartus ® II 软件的器件和引脚选项设置中,将未使用的引脚分配为input tri-stated 。

在引脚分配过程中,在Quartus II 软件的I/O 标准栏中,将SPI_sclk 分配为2.5-V 施密特触发器输入。

Quartus II 软件的分配编辑器被用于使能I2C_scl 和I2C_sda 引脚的Auto Open Drain 。

打开相应的设置后,对设计进行编译。

设计说明请按照以下步骤,在MDN-B2演示板上对设计进行演示:1.使用PC 及其并口,下载SPI 仿真软件以建立SPI 环境,例如来自Freescale 的SPIGen 。

接受了Freescale 的使用条款,并免费注册后,可免费下载该软件。

表4.EPM240G 引脚分配引脚分配信号引脚I2C_scl :引脚39I2C_sda 引脚40SPI_cs 引脚95SPI_miso 引脚91SPI_mosi 引脚92SPI_clk 引脚96f请访问下面的网址,下载SPI仿真软件:/files/soft_dev_tools/software/device_drivers/SPIGen.html2.完成注册后,下载并安装SPIGen。

您需要对它进行配置,以适应您的应用程序以及由MDN-B2演示板提供的并口至SPI软件狗。

3.打开SPIGen软件,单击Configure菜单。

选择Edit Configuration。

在General标签中,确定默认的Port Address是正确的PC并口地址。

如果不是,进行正确的选择。

您可以查看下面的设置,找到PC的并口地址:Control Panel > System > Hardware > DeviceManager > Ports > ECP Printer Port (LPT1) > Resources。

图4所示为演示布局。

图4.演示布局4.选择16位格式,以十六进制(Intel格式)文件格式(.hex)来显示SPI值。

5.按照以下步骤来配置SPI Pins标签:a.保持引脚分配的默认设置不变(Chip Select:2,Data In: 3,Data Out: 12,Clock: 4)。

b.保持Bit Order的默认设置MSB is sent first不变。

c.将Chip Select改为High when asserted。

d.将Data In和Data out改为Low = 1。

e.将SPI Type改为Type 4。

f.单击Apply和OK,返回到SPIGen主屏幕。

6.将并口至SPI软件狗和PC的并口相连。

可以使用并口延长线以方便软件狗和演示板的连接。

现在可以使用基于并口的SPI环境了。

7.打开演示板电源(使用滑动开关SW1)。

通过演示板的JTAG插头JP5和普通编程电缆(ByteBlaster™II或者USB-Blaster™),把设计下载到MAX II CPLD中。

8.在编程启动前以及启动过程中,保持演示板上SW4的按下状态不变。

完成后,关断电源,拔下JTAG连接器。

9.把DS2745 I2C电池量表模块(由MDN-B2演示板提供)安装到演示板的JP3上。

确定模块的红色标记对准JP3的pin#1。

10.将并口至SPI软件狗和演示板相连。

11.将软件狗尾端的6针连接器连接到演示板的JP8上。

确定 6针连接器的红色线对准 JP8的pin#2。

1注意,JP8是10x2引脚插头;这一6针连接器只占用JP8的一个端口。

12.使用滑动开关SW1打开演示板。

13.表5列出了在SPIGen软件中,使用Word to Send (DI)域发送.hex数据的顺序。

表5.使用SPIGen,Hex格式的 SPI “Data to Send”信号方向命令/数据发送(DI)80 90 (启动+ 从机地址)发送 (DI)40 0C (写入 + 存储器地址)接收(DO)01 00 (ack)发送 (DI)80 91 (启动+ 从机地址)接收(DO)01 00 (ack)发送(DI)20 00 (读)接收(DO)01 ?? (ack + MSB数据)发送(DI)00 00 (没有操作)接收(DO)01 ?? (ack + LSB数据)14.每次发送SPI数据时,使用表5的.hex数据,单击Send Once。

确定收到了应答数据。

15.观察接收到的电池量表数据。

收到的有两部分,首先是MSB 8位数据,然后是LSB 3位数据(最后一行)。

16.改变电池量表模块的黄色预置部分,观察接收数据的变化。

黄色预置部分改变了电池量表芯片(Maxim DS2745)的输入电压值,该芯片通过其I2C接口,以11位 2进制兼容格式来提供电压读数。

f如果需要了解详细信息,请参考:/quick_view2.cfm/qv_pk/4994源代码本文档所介绍的设计采用了Verilog来实现,成功地运行在MDN-B2演示板上。

下面的链接提供源代码、测试台文件以及完整的Quartus II工程:/literature/an/an486_design_example.zip结论正如本设计所示,MAX II CPLD是实现SPI和I2C等工业标准接口非常好的选择。

其低功耗、易于上电以及内部振荡器等特性使其成为SPI至I2C等接口转换应用理想的可编程逻辑器件选择。

参考文档本应用笔记参考了以下文档:■/literature/an/an486_design_example.zip■/files/soft_dev_tools/software/device_drivers/SPIGen.html■/quick_view2.cfm/qv_pk/4994其他资源以下是本应用笔记的其他资源:■MAX II CPLD主页:/products/devices/cpld/max2/mx2-index.jsp■MAX II器件资料:http://www.altera.-com/literature/lit-max2.jsp■MAX II关断设计:/support/examples/max/exm-power-down.html■MAX II应用笔记:AN 428:MAX II CPLD设计指南AN 422:利用MAX II CPLD实现便携式系统的功耗管理文档版本历史表6列出了本应用笔记的版本历史。

相关文档
最新文档