- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基干AVR单片机SPI接口策划与实现
基于AVR单片机的SPI接口设计与实现 摘要:利用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,编译环境为WinAVRATmega128初始化如下所示 //MOSI、SCK、SS对应管脚初始化为输出,默认的MISO为输入 DDRB |= (1 ADT7516工作模式默认下为I2C接口,初始化时需要先将通信接口转为SPI;其次,该芯片为了区分读写操作,在地址、指令和数据通信之前,必须由主控器件发送写命令码(0X90)或读命令码(0X91),同时在SS使能的周期内,只允许存在读、写命令码中的一种 设计中ADT7516初始化为Single-channel模式,采用Vdd为参考电压,因此模数转换精度为Vdd/
文档评论(0)