关于单片机SPI器件的串口控制

时间:2011-09-02

 

  

1.SPI接口简介

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

      SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
  SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。

  

接口包括以下四种信号:

  (1)MOSI – 主器件数据输出,从器件数据输入

  (2)MISO – 主器件数据输入,从器件数据输出

  (3)SCLK – 时钟信号,由主器件产生

    (4)/SS – 从器件使能信号,由主器件控制

  SPI 总线具有以下特点:

  (1)因连线较少,可简化电路设计。并行总线扩展方法通常需要8根数据线、8~16根地址线、2~3根控制线。而SPI总线设计,仅需4根数据线和控制线即可完成并行扩展所实现的功能。

  (2)器件统一编址,并与系统地址无关,操作SPI独立性好。

  (3)器件操作遵循统一的规范.使系统软硬件具有良好的通用性。

  2 AD7390的基本结构和工作原理

  AD7390是ADl公司生产的12位分辨率电压输出数/模转换器。该DAC为用户提供低成本、高的可控电压解决方案,使用单电源+3V系统供电。器件保证电源电压为2.7~5.5V时消耗不到100mA的电流,所以该器件适用于一些对功效要求高的设备,比如电池供电系统。输出电压取决于外部参考输入电压。DACOUT输出介于REFIN与地之间的任意值,其内部框图如图2所示。

内部框图

  内部双缓冲串行数据接口提供高速转换,微控制器通过三线SPI控制器件、串行数据(SDI)、时钟(CLK)和使能(LD)引脚。此外,使用CLR输入可以对输出清零。操作时序如图3所示。

操作时序

  3 AD7390的串口控制

  电脑通过RS 232向MCU发送控制信号,再由MCU控制AD7390,完成整个设置过程。通过串口控制AD7390的软件流程如图4所示。一旦有数据写入单片机,则单片机将重新设置AD7390。

通过串口控制AD7390的软件流程

  单片机程序分为三大模块,分别是SPI控制模块、串口接收模块和操作信息反馈模块。

  SPI控制模块产生CLK,LD,并在CLK的上升沿到来之前,保证SDI数据的稳定,以便AD7390准确地采集到数据。CLK时钟的频率根据器件的典型延迟决定,不同器件有不同的延迟,所以它决定了不同器件的时钟应该不一样。

  串口接收模块完成从电脑接收数据并保存数据。由一片MAX 232完成RS 232电平与TTL电平之间的转换。因为传输的是连续性数据,因此在接收程序的编写时,要注意中断申请的屏蔽,才能准确地接收到全部数据。

  在利用串口调试助手调试时,留意发送数据的格式,是否以16进制发送,会影响接收到的数据。比如,发送字母“E”,如果以16进制发送。发送的实际数据是“15”,而接收到的数据是“15”的ASCII码“49”、“53”;如果不以16进制发送,则发送的是字母“E”的ASCII码“69’。由此可以看出它们之间的差别。因此在接收方要得到想要的数据,则需要进行转换。该转换可参看后面的程序。

  操作信息反馈模块完成操作结果的可视化输出,通过内部计算,输出设置的电压值,这为调试过程提供了很大的便利。

  AD7390为12位数/模转换器。该器件接收16位数据,数据格式如图5所示,取低12位作为有效数据,自动舍弃高4位。因为单片机传输数据以字节(8 b)为单位,所以采用16位传输模式。

数据格式

  部分程序代码如下:

程序

程序

  4 结 语

  通过串口的应用,SPI器件的控制变得很方便。由于串口占用资源少,所以SPI接口在集成芯片中越来越广泛的应用,将使该控制模式成为以后系统中的典型设计。


  
上一篇:MAX835 高电压线路断路器提供至26V的保护
下一篇:DSP应用之数字视频处理篇

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料