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。
单片机程序分为三大模块,分别是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接口在集成芯片中越来越广泛的应用,将使该控制模式成为以后系统中的典型设计。
单片机的4kB片内程序存储器和256B片内数据存储器
ap隔离开启还是关闭好
高云半导体小蜜蜂家族再添新成员——GW1NS-2 FPFA-SoC芯片揭开AI的序幕
德赛西威与湖南大学共同在产品技术上突破思维局限
5G室内发展的现状是怎样的
单片机SPI器件的串口控制有什么优点?
NFC、云端以及封闭式系统框架大比较
三星Note Plus测评体验,触控笔就是最大的区别
RFID隧道安全管理方案
三极管的放大电路如何区分?
浅谈带缓冲器的基本差分放大电路
PADS无模命令大全
华为云应用中间件 DCS 系列 | Redis 实现(电商网站)秒杀抢购示例
美的净味冰箱技术再次升级 实现19分钟急速净味
魅蓝E2评测 还是很难找到太多的换机理由
VR 头戴设备 Oculus Quest 新功能:可在 VR 中展示现实中的沙发
智能交通监控系统的结构组成和功能特点分析
钳形表的工作原理,钳形表的功能有哪些
三星最新消息:苏州三星电脑工厂将停产 三星手机中国市场金针探底
Geekbench最新单核跑分排名流出:苹果M1第一