基于AVR单片机的SPI接口设计与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:lanaya0903
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:利用AVR单片机和SPI接口在硬件、软件设计上的便利性,以ATmega128MCU与ADT7516、SI8902模数转换芯片之间的硬件设计和通信过程为基础,实现了电源监控电路中的参数采集和智能控制功能。测试表明SPI接口通信正常,AVR单片机控制稳定,满足对电源输出电路的实时监视和控制要求。同时给出了ATmega128芯片SPI接口的配置过程,以及模数转换芯片的配置过程、通信时序的实现方法。
  关键词:串行外设接口;AVR单片机;模数转换器;数据采集;嵌入式系统
  中圖分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)27-0238-03
  1 引言
  SPI(Serial Peripheral Interface,串行外设接口)是由Motorola公司设计的一种串行接口,具有电路简单、通信可靠、控制容易、通信速率快等优点,在嵌入式系统中应用广泛,单片机生产商包括Atmel、TI、MICROCHIP、FREESCALE等公司均提供具有SPI接口的单片机(MCU),允许MCU与各种外围接口设备以串行方式通信;同时各接口供应商提供了丰富的SPI外围接口产品,包括:LCD模块,Flash/EEPROM存储器,以及数模/模数转换器等器件。
  下面以Atmel公司的ATmega128 MCU为例,利用其SPI接口对外围温控模数转换器(ADC) ADT7516、隔离模数转换器(ADC)SI8902进行参数配置和数据采集,实现对电源供电的管理,包括对各路电源电压、电流的监视,及各路电源的通断控制功能。
  2 硬件电路设计
  2.1 ATmega128串行外设接口(SPI)
  ATmega128是Atmel公司推出的一款低功耗、高性能、多功能8位MCU,资源广泛,功能强大;结合多种监测电路,极大增强了嵌入式系统的可靠性;ATmega128提供了一个串行外设接口(SPI),它包括两条数据线:主机输出从机输入(MOSI),主机输入从机输出(MISO)和两条控制线:串行时钟线(SCK),片选控制线(SS)。
  在电源供电管理电路中,ATmega128作为SPI接口的主控制设备,两种ADC芯片完全受ATmega128芯片的控制。
  2.2 电路设计
  电源供电管理电路实现直流电流12V、3.3V电压和电流等共16路参数检测,以及隔离28V电源电压和电流参数监测,设计中共采用了4片ADT7516、2片SI8902实现参数的模数转换。电路中,TPS24720(8片)和TPS2490配合ATmega128输出的控制信号用于对相应电源通路的通断控制,FM25H20用于存储电路的状态信息。
  ATmeg128在任意时刻仅能与一个从设备进行通信,对于多个SPI从设备,采用三八译码器74LVC138实现多个从设备的片选使能,电源供电管理电路原理如图1示。
  通过配置ATmega128三个GPIO管脚(PE4,PE5,PE6),作为74LVC138的A0、A1和A2输入端,三八译码器的输出连接于各个从设备的SS端,ATmega128 SPI接口的SS线连接于74LVC138的EN管脚用于使能该器件,对应关系如表1所示
  3软件实现
  软件设计包括ATmega128及从设备的初始化,以及参数采集和数据处理。
  在ATmega128完成了初始化配置后,通过控制SPI接口向ADC发送控制字,完成相应ADC的初始化配置,从而控制ADC对模拟信号进行转换,转换结束后,将转换结果通过SPI接口回读到MCU。MCU对不同路电压、电流值按照预设的范围进行判断,并给出电源通路的通断控制命令。
  3.1 ATmega128 SPI接口配置
  ATmega128中与SPI接口有关的寄存器有控制寄存器(SPCR)、状态寄存器(SPSR)和数据寄存器(SPDR),这三个寄存器都为8位寄存器,通过对各寄存相应比特位的配置,可以实现对SPI接口的控制。软件设计中采用查询标志位的方式完成SPI通信的编程,使用的软件为AVR Studio4.18,编译环境为WinAVR 20100110,ATmega128初始化如下所示。
  //MOSI、SCK、SS对应管脚初始化为输出,默认的MISO为输入
  DDRB |= (1<  //SS初始化位高电平
  PORTB |=(1<  //SPI使能,主控方式,Mode 3工作方式,其他配置为默认
  SPCR |= (1<  ATmega128初始化SPI接口时应该注意以下几点:
  a. 正确配置ATmega128 SPI接口的工作模式,由ADT7516和SI8902的芯片手册可知,两种芯片都可以工作于Mode 3模式,FM25H20同样适用;
  b. 当使能了SPI接口后,ATmega128并没有自动强制转换SPI接口的四个引脚的工作方式,因此应该将MISO配置成输入管脚,MOSI、SCK和SS配置成为输出管脚;
  c. 当ATmega128工作于主控模式下,SS管脚并不受SPI硬件电路或寄存器的配置控制,因此使用时应该根据各被控芯片的SPI协议编程控制SS。
  3.2 ADT7516数据通信
  ADT7516是 Analog Devices公司推出的一款多功能转换器件,包括四通道10位ADC, 10位温度数字转换器,以及一个四通道的12位DAC;该芯片兼容SPI、I2C、QSPI、MICROWIRE接口,采用该芯片对电源管理模块上3.3V和12V电压、电流进行采集。   ADT7516工作模式默认下为I2C接口,初始化时需要先将通信接口转为SPI;其次,该芯片为了区分读写操作,在地址、指令和数据通信之前,必须由主控器件发送写命令码(0X90)或读命令码(0X91),同时在SS使能的周期内,只允许存在读、写命令码中的一种。
  设计中ADT7516初始化为Single-channel模式,采用Vdd为参考电压,因此模数转换精度为Vdd/1024(3.3/1024≈0.003),满足0.01的采样精度要求。对连续的16次采样结果平均后作为有效采样值。ATmega128和ADT7516之间的读写时序如图2所示;通过读指令,ADT7516向ATmega128传输的Data1和Data2进行相应比特的组合得到10位转换结果。
  其中,SS线的连续高低变换的目的是将默认的I2C接口转换为所需的SPI接口;Tc为模数转换时间,ADT7516需要满足Tc>=11.4ms的要求;当ATmega128发送读指令后,ADT7516需要ATmega128提供的时钟才能将转换结果发送给ATmega128,因此读指令后面数据0X00的发送只是为了提供SPI总线时钟,从设备ADT7516初始化以及读写操作如下所示:
  //Write Command Address Command
  PORTB
其他文献
基于我国兔业生产、加工经过多年发展和市场选择所形成的区域性特点,一些地方的兔产品交易市场已日趋成熟,在带动地方经济发展的同时也对我国兔业的发展起到了很大的促进作用。
摘 要: 目的:观察高强度力量训练(HST)或中等强度力量训练(MST)对淋巴细胞凋亡的影响并探讨其可能机制。方法:20名青年男性分别进行一次急性HST和MST,分别于训练前、训练后即刻、训练后3 h以及训练后24 h取静脉血测定淋巴细胞凋亡率、线粒体膜电位(MMP)、CD95受体、Bcl-2蛋白表达以及血清肿瘤坏死因子α(TNF-α)、白细胞介素6(IL-6)、C-反应蛋白(CRP)和皮质醇含量
针对筒形件毛坯热收口工艺材料损耗大,100%修内弧的现状,首次提出用内喇叭外园柱收口坯代替原内圆柱外预制槽坯的新的收口坯料设计方案,用计算机有限元模拟了筒形件热收口的
“中关村”——高科技公司云集,素以“中国硅谷”而著称。每天都有企业诞生,也有企业消亡。德佳牧业人住其中,好像有点与“中关村”不合拍,但也显示出德佳牧业以后的与众不同;在“
运用所制定的连续挤压工艺生产方案生产了传热性能高的铝内凸筋D形管,通过连续挤压工艺试验,对影响D形管机械性能的因素以及显著影响D形管传热效果的内凸筋高度的成形规律,从制
摘 要: 低密度脂蛋白受体( Low density lipoprotein receptor, LDLR)与脂代谢关系密切,可以清除血浆中大部分胆固醇。近来离体研究发现,高胆固醇可以改变LDLR pre-mRNA的选择性剪接导致变异剪接体LDLR-△Exon4和LDLR-△Exon12比例上升,而其生物学功能与全长的LDLR有明显差别。有氧运动可以增加全长的LDLR的表达,起到降低血胆固醇的作用
专业实验室是培养人才创新能力和实践能力的重要场所,加强专业实验室建设,优化资源配置,提高专业实验室的利用率,对培养学生实践创新能力具有重大的促进作用。同时,结合地方
摘要:数字信号处理是一门理论性强、教学难度大、学习难度大的学科,Matlab具有强大的信号处理功能。本文将Matlab引入到教学中,给出了利用DFT分析连续非周期信号频谱的分析实例,通过仿真图形不但提高了学生的学习兴趣,帮助学生更好理解原理和相关概念,还能提高学生分析问题和解决问题的能力。  关键词:数字信号处理;DFT;频谱分析  中图分类号:TP37 文献标识码:A 文章编号:1009-304
简介石油化工装置储罐的分类,指出石油化工装置中常用的储罐类型。通过对比不同的国家标准规范和行业标准规范,分析各规范对石油化工装置储罐的爆炸危险区域划分及防雷要求,
目的:为进一步明确竞技能力理论体系,为制定科学化的竞技能力培育和提升方案提供理论依据,为后续研究提供基础参考。方法:采用文献资料法,系统回顾我国竞技能力理论研究发展