当前位置:首页 > 单片机 > 单片机
[导读]摘要:集成电路设计越来越向系统级的方向发展,并且越来越强调模块化的设计。SPI总线是Motorola公司提出的一个同步串行外设接口,容许CPU与各种外围接口器件以串行方式进行通信、交换信息。在此简述了SPI总线的特点


摘要:集成电路设计越来越向系统级的方向发展,并且越来越强调模块化的设计。SPI总线是Motorola公司提出的一个同步串行外设接口,容许CPU与各种外围接口器件以串行方式进行通信、交换信息。在此简述了SPI总线的特点,介绍了它的四条信号线及SPI串行总线接口的典型应用。重点描述SPI串行总线接口在DA芯片中的应用,并给出用C语言描述实现该接口通信的部分程序。该程序已经在AT89C2051中进行验证。
关键词:SPI;串口控制;AD7390;单片机

0 引 言
    串行外设接口(Serial Peripheral Interface,SPI)是一种高速同步串行输入/输出端口,近年来广泛应用于移位寄存器、D/A转换器、A/D转换器、串行E2PROM、LED显示驱动器等外部设备的扩展。SPI接口可以共享,便于组成带多个SPI接口器件的系统。其传送速率可编程,连接线少,具有良好的扩展性。

1 SPI接口介绍
    SPI是摩托罗拉公司推出的一种同步串行通信接口,用于微处理器、微控制器和外围扩展芯片之间的串行连接,现已发展成为一种工业标准。目前,各半导体公司推出了大量的带有SPI接口的具有各种各样功能的芯片,如RAM,E2PROM,FLASH ROM,A/D转换器、D/A转换器、LED&LCD显示驱动器、I/0接口芯片、实时时钟、UART收发器等,为用户的外围扩展提供了极其灵活而价廉的选择。由于SPI总线接口只占用微处理器四个I/O口线,故采用SPI总线接口可以简化电路设计。节省很多常规电路中的接口器件和I/O口线,提高设计的可靠性。目前,已有部分厂家的单片机具有SPI接口,如Philips的P89LPC900,Atmel的Atmega128等,但是,大部分单片机不支持SPI接口。在实际应用中,出于产品体积、成本和可扩展性等方面的考虑,设计人员往往希望使用不具备SPI接口的单片机来控制具备SPI接口的外围器件。现以AT89C2051单片机模拟SPI总线操作串行AD7390为例,如图1所示,介绍利用单片机的I/O口通过软件模拟SPI总线的实现方法。


    SPI使用的四条线是串行时钟线(SCK)、主机输入从机输出线(MISO)、主机输出从机输入线(MOSI)、低电平有效的使能信号线(CS)。这样,仅需3~4根数据线和控制线即可扩展具有SPI接口的各种I/O器件。
    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。


    单片机程序分为三大模块,分别是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接口在集成芯片中越来越广泛的应用,将使该控制模式成为以后系统中的典型设计。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

MOS管,即金属-氧化物半导体场效应晶体管,是电子学中常用的一种半导体器件。它具有高频率、低噪声、高输入阻抗等特点,被广泛应用于各种电子设备和系统中。本文将详细介绍MOS管的作用。

关键字: 半导体 场效应晶体管 器件

SPI,Serial Peripheral Interface,串行外围设备接口,是一种同步通信协议,通常用于芯片间进行数据交互。

关键字: SPI 通信协议 外围设备

单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力。简单双向串口通信有两根通信线(发送端TX和接收端RX);TX与RX要交叉连接;当只...

关键字: 串行通信 SPI

厦门2023年9月21日 /美通社/ -- 声学滤波器作为射频前端解决方案关键器件之一,在通信系统的演进中也需要技术的迭代及突破。随着第五代(5G)移动通信技术的广泛推进,现实网络环境频谱复杂度提升。在3GPP发布PC1...

关键字: SAW HP 滤波器 器件

用电路元件符号表示电路连接的图,叫电路图。电路图是人们为研究、工程规划的需要,用物理电学标准化的符号绘制的一种表示各元器件组成及器件关系的原理布局图

关键字: 可编程 电源 器件

连接器是连接电气线路的组件之一,主要是在器件与组件、组件与机柜、系统与子系统之间起电连接和信号传递的作用,并且保持系统与系统之间不发生信号失真和能量损失,其品质好坏关系到系统设备整体运作的可靠性,属于主机厂商的重要配套产...

关键字: 连接器 器件 组件

深圳2023年8月14日 /美通社/ -- 近日,国际公认的测试、检验和认证机构SGS与深圳开阳电子股份有限公司(以下简称“开阳电子”)在深圳举行AEC-Q系列认证颁证仪式,双方继合作完成AMT630H和ARK1668E...

关键字: 器件 电子 AEC-Q100 MT

微波炉是现代生活中广泛使用的一种厨房电器,可以快速加热食物。它的内部结构是由多个器件组合而成的,这些器件共同协作,实现高效的加热和烹饪功能。在本文中,我们将探讨微波炉内部器件结构的组合方式,带您了解微波炉的工作原理和内部...

关键字: 微波炉 厨房电器 器件

今天,小编将在这篇文章中为大家带来SPI总线和I2C总线的有关报道,通过阅读这篇文章,大家可以对二者具备清晰的认识,主要内容如下。

关键字: SPI I2C 总线

DSP是Digital Signal Processing的缩写,表示数字信号处理器,信息化的基础是数字化,数字化的核心技术之一是数字信号处理,数字信号处理的任务在很大程度上需要由DSP器件来完成

关键字: DSP芯片 器件 芯片设计
关闭
关闭