ARM与TLV5637的模拟SPI接口的设计_第1页
ARM与TLV5637的模拟SPI接口的设计_第2页
ARM与TLV5637的模拟SPI接口的设计_第3页
ARM与TLV5637的模拟SPI接口的设计_第4页
全文预览已结束

下载本文档

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

文档简介

1、【Word版本下载可任意编辑】 ARM与TLV5637的模拟SPI接口的设计 引 言 SPI 是英文Service Provider Interface的缩写。中文意思是服务提供商接口。满足某种服务标准的供给商提供的符合该标准的应用程序接口,SPI应该和该服务的API标准是兼容的,应用程序一般应该是基于API编写,除非是SPI中包含API中没有提供的功能而又必须使用。SPI的处理流程大同小异,以目前使用多的SPI-4为例来说明SPI的原理。它在发送接口和接收接口都有各自的数据通道和流控状态信息通道,其数据通道和流控状态信息通道是独立的并且是点对点通信。数据是以包的形式发送,根据数据包中的内嵌地

2、址可支持高达256个端口,以下分别说明基本协议及数据通道和流控状态信息的处理过程。 1 SPI串口通信格式 SPI接口协议要求接口设备按主一从方式开展配置,总线上可以连接多个可作为主机的控制器、具备SPI接口的输入输出设备,但同一时间内总线上只能允许一个设备充当主机。通常,SPI接口包括4种信号: MISO串行数据输入,也称主入从出。 MOSI 串行数据输出,也称主出从入。 SCK 串行时钟,由主机提供应从机。 SS 从机片选信号。 在时钟SCK的作用下,SPI主机发送存放器的内容顺序移位输出给SPI从机。同时,SPI从机也将其数据存放器的内容移位输出给主机。图1为其工作原理示意图。 2 基于

3、ARM的SPI接口模拟 LPC2378是Philips公司生产的ARM7系列芯片。该芯片是一款支持实时仿真和嵌入式跟踪的1632位 ARM7TDMI-S微控制器,具有三级流水线指令处理构造。LPC2378具有5个32位的GPIO端口。对GPIO口的控制可以通过操作以下GPIO 存放器来实现: FIODIR 快速GPIO端口方向控制存放器; FIOMASK 快速GPIO端口屏蔽存放器; FIOPIN 快速GPIO端口状态存放器; FIOSET 快速GPIO端口置位存放器; FIOCLR 快速GPIO端口清零存放器。 SPI(Serial Peripheral Interface-串行外设接口)总

4、线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式开展通信以交换信息。SPI有三个存放器分别为:控制存放器SPCR,状态存放器SPSR,数据存放器SPDR。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。SPI接口是在CPU和外围低速器件之间开展同

5、步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可到达几Mbps。 发送数据的实现代码如下: GPIO模拟SPI接口接收数据的流程和发送的不同之处在于读取MISO信号而非设置MOSI电平。限于篇幅,对其不予赘述。接收数据的实现代码如下: 上述的发送和接收代码只是基本的实现,对于不同的SPI器件需要在每次操作后参加不同的延时以满足该器件信号建立和保持的时序要求。 3 对TLV5637的访问 TLV5637是TI公司一款双通道的10位电压输出DA转换器件。该器件具有3个信号线:SCLK、DIN和CS,支持对TMS320

6、系列的SPI,以及QSPI和Microwave串行端口的无缝连接。图3为TLV5637和SPI接口的连接示意图。 图4为TLV5637的时序图。如下图,TLV5637的数据采样是在SCK时钟的上升沿发生,而且该器件只支持16位的数据格式。 可以看出,16位的数据包含两个部分:编程位和数据位。SPD为速度控制位,1表示快速,0表示慢速;PWR为功率控制位,1表示掉电模式,0表示工作模式;R1和R0为存放器选择位。表1为TLV5637的存放器写入选择表。 表1中的写控制存放器即设置参考电压,数据位的低两位表示参考电压的相关信息。其中,“00”和“11”表示参考电压取自外部,“0l”表示参考电压为1.024 V,“10”表示参考电压为2.048 V。输出电压的幅度由下式决定: CODE为所写入的电压数据值,REF为所设定的参考电压。此外,在写入电压数据时,12位的数据只保持高10位有效,低2位可以忽略。TLV5637的写函数如下: 经过验证,可以通过GPIO口模拟的SPI接口对TLV5637的输出电压开展设置,而且其输出满足系统的电压误差要求。 结 语 本文提出

温馨提示

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

评论

0/150

提交评论