亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于AVR單片機(jī)的SPI接口設(shè)計(jì)與實(shí)現(xiàn)

        2016-12-15 20:42:01楊啟帆趙臘才
        電腦知識(shí)與技術(shù) 2016年27期
        關(guān)鍵詞:嵌入式系統(tǒng)數(shù)據(jù)采集

        楊啟帆+趙臘才

        摘要:利用AVR單片機(jī)和SPI接口在硬件、軟件設(shè)計(jì)上的便利性,以ATmega128MCU與ADT7516、SI8902模數(shù)轉(zhuǎn)換芯片之間的硬件設(shè)計(jì)和通信過(guò)程為基礎(chǔ),實(shí)現(xiàn)了電源監(jiān)控電路中的參數(shù)采集和智能控制功能。測(cè)試表明SPI接口通信正常,AVR單片機(jī)控制穩(wěn)定,滿足對(duì)電源輸出電路的實(shí)時(shí)監(jiān)視和控制要求。同時(shí)給出了ATmega128芯片SPI接口的配置過(guò)程,以及模數(shù)轉(zhuǎn)換芯片的配置過(guò)程、通信時(shí)序的實(shí)現(xiàn)方法。

        關(guān)鍵詞:串行外設(shè)接口;AVR單片機(jī);模數(shù)轉(zhuǎn)換器;數(shù)據(jù)采集;嵌入式系統(tǒng)

        中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)27-0238-03

        1 引言

        SPI(Serial Peripheral Interface,串行外設(shè)接口)是由Motorola公司設(shè)計(jì)的一種串行接口,具有電路簡(jiǎn)單、通信可靠、控制容易、通信速率快等優(yōu)點(diǎn),在嵌入式系統(tǒng)中應(yīng)用廣泛,單片機(jī)生產(chǎn)商包括Atmel、TI、MICROCHIP、FREESCALE等公司均提供具有SPI接口的單片機(jī)(MCU),允許MCU與各種外圍接口設(shè)備以串行方式通信;同時(shí)各接口供應(yīng)商提供了豐富的SPI外圍接口產(chǎn)品,包括:LCD模塊,F(xiàn)lash/EEPROM存儲(chǔ)器,以及數(shù)模/模數(shù)轉(zhuǎn)換器等器件。

        下面以Atmel公司的ATmega128 MCU為例,利用其SPI接口對(duì)外圍溫控模數(shù)轉(zhuǎn)換器(ADC) ADT7516、隔離模數(shù)轉(zhuǎn)換器(ADC)SI8902進(jìn)行參數(shù)配置和數(shù)據(jù)采集,實(shí)現(xiàn)對(duì)電源供電的管理,包括對(duì)各路電源電壓、電流的監(jiān)視,及各路電源的通斷控制功能。

        2 硬件電路設(shè)計(jì)

        2.1 ATmega128串行外設(shè)接口(SPI)

        ATmega128是Atmel公司推出的一款低功耗、高性能、多功能8位MCU,資源廣泛,功能強(qiáng)大;結(jié)合多種監(jiān)測(cè)電路,極大增強(qiáng)了嵌入式系統(tǒng)的可靠性;ATmega128提供了一個(gè)串行外設(shè)接口(SPI),它包括兩條數(shù)據(jù)線:主機(jī)輸出從機(jī)輸入(MOSI),主機(jī)輸入從機(jī)輸出(MISO)和兩條控制線:串行時(shí)鐘線(SCK),片選控制線(SS)。

        在電源供電管理電路中,ATmega128作為SPI接口的主控制設(shè)備,兩種ADC芯片完全受ATmega128芯片的控制。

        2.2 電路設(shè)計(jì)

        電源供電管理電路實(shí)現(xiàn)直流電流12V、3.3V電壓和電流等共16路參數(shù)檢測(cè),以及隔離28V電源電壓和電流參數(shù)監(jiān)測(cè),設(shè)計(jì)中共采用了4片ADT7516、2片SI8902實(shí)現(xiàn)參數(shù)的模數(shù)轉(zhuǎn)換。電路中,TPS24720(8片)和TPS2490配合ATmega128輸出的控制信號(hào)用于對(duì)相應(yīng)電源通路的通斷控制,F(xiàn)M25H20用于存儲(chǔ)電路的狀態(tài)信息。

        ATmeg128在任意時(shí)刻僅能與一個(gè)從設(shè)備進(jìn)行通信,對(duì)于多個(gè)SPI從設(shè)備,采用三八譯碼器74LVC138實(shí)現(xiàn)多個(gè)從設(shè)備的片選使能,電源供電管理電路原理如圖1示。

        通過(guò)配置ATmega128三個(gè)GPIO管腳(PE4,PE5,PE6),作為74LVC138的A0、A1和A2輸入端,三八譯碼器的輸出連接于各個(gè)從設(shè)備的SS端,ATmega128 SPI接口的SS線連接于74LVC138的EN管腳用于使能該器件,對(duì)應(yīng)關(guān)系如表1所示

        3軟件實(shí)現(xiàn)

        軟件設(shè)計(jì)包括ATmega128及從設(shè)備的初始化,以及參數(shù)采集和數(shù)據(jù)處理。

        在ATmega128完成了初始化配置后,通過(guò)控制SPI接口向ADC發(fā)送控制字,完成相應(yīng)ADC的初始化配置,從而控制ADC對(duì)模擬信號(hào)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后,將轉(zhuǎn)換結(jié)果通過(guò)SPI接口回讀到MCU。MCU對(duì)不同路電壓、電流值按照預(yù)設(shè)的范圍進(jìn)行判斷,并給出電源通路的通斷控制命令。

        3.1 ATmega128 SPI接口配置

        ATmega128中與SPI接口有關(guān)的寄存器有控制寄存器(SPCR)、狀態(tài)寄存器(SPSR)和數(shù)據(jù)寄存器(SPDR),這三個(gè)寄存器都為8位寄存器,通過(guò)對(duì)各寄存相應(yīng)比特位的配置,可以實(shí)現(xiàn)對(duì)SPI接口的控制。軟件設(shè)計(jì)中采用查詢標(biāo)志位的方式完成SPI通信的編程,使用的軟件為AVR Studio4.18,編譯環(huán)境為WinAVR 20100110,ATmega128初始化如下所示。

        //MOSI、SCK、SS對(duì)應(yīng)管腳初始化為輸出,默認(rèn)的MISO為輸入

        DDRB |= (1<

        //SS初始化位高電平

        PORTB |=(1<

        //SPI使能,主控方式,Mode 3工作方式,其他配置為默認(rèn)

        SPCR |= (1<

        ATmega128初始化SPI接口時(shí)應(yīng)該注意以下幾點(diǎn):

        a. 正確配置ATmega128 SPI接口的工作模式,由ADT7516和SI8902的芯片手冊(cè)可知,兩種芯片都可以工作于Mode 3模式,F(xiàn)M25H20同樣適用;

        b. 當(dāng)使能了SPI接口后,ATmega128并沒(méi)有自動(dòng)強(qiáng)制轉(zhuǎn)換SPI接口的四個(gè)引腳的工作方式,因此應(yīng)該將MISO配置成輸入管腳,MOSI、SCK和SS配置成為輸出管腳;

        c. 當(dāng)ATmega128工作于主控模式下,SS管腳并不受SPI硬件電路或寄存器的配置控制,因此使用時(shí)應(yīng)該根據(jù)各被控芯片的SPI協(xié)議編程控制SS。

        3.2 ADT7516數(shù)據(jù)通信

        ADT7516是 Analog Devices公司推出的一款多功能轉(zhuǎn)換器件,包括四通道10位ADC, 10位溫度數(shù)字轉(zhuǎn)換器,以及一個(gè)四通道的12位DAC;該芯片兼容SPI、I2C、QSPI、MICROWIRE接口,采用該芯片對(duì)電源管理模塊上3.3V和12V電壓、電流進(jìn)行采集。

        ADT7516工作模式默認(rèn)下為I2C接口,初始化時(shí)需要先將通信接口轉(zhuǎn)為SPI;其次,該芯片為了區(qū)分讀寫操作,在地址、指令和數(shù)據(jù)通信之前,必須由主控器件發(fā)送寫命令碼(0X90)或讀命令碼(0X91),同時(shí)在SS使能的周期內(nèi),只允許存在讀、寫命令碼中的一種。

        設(shè)計(jì)中ADT7516初始化為Single-channel模式,采用Vdd為參考電壓,因此模數(shù)轉(zhuǎn)換精度為Vdd/1024(3.3/1024≈0.003),滿足0.01的采樣精度要求。對(duì)連續(xù)的16次采樣結(jié)果平均后作為有效采樣值。ATmega128和ADT7516之間的讀寫時(shí)序如圖2所示;通過(guò)讀指令,ADT7516向ATmega128傳輸?shù)腄ata1和Data2進(jìn)行相應(yīng)比特的組合得到10位轉(zhuǎn)換結(jié)果。

        其中,SS線的連續(xù)高低變換的目的是將默認(rèn)的I2C接口轉(zhuǎn)換為所需的SPI接口;Tc為模數(shù)轉(zhuǎn)換時(shí)間,ADT7516需要滿足Tc>=11.4ms的要求;當(dāng)ATmega128發(fā)送讀指令后,ADT7516需要ATmega128提供的時(shí)鐘才能將轉(zhuǎn)換結(jié)果發(fā)送給ATmega128,因此讀指令后面數(shù)據(jù)0X00的發(fā)送只是為了提供SPI總線時(shí)鐘,從設(shè)備ADT7516初始化以及讀寫操作如下所示:

        //Write Command+Address+Command

        PORTB&=~(1<

        Master_Send(0x90); //Write Command

        Master_Send(0xXX);

        Master_Send(0xXX);

        PORTB|=(1<

        //Write Command+Address

        PORTB&=~(1<

        Master_Send(0x90);

        Master_Send(0xXX);

        PORTB|=(1<

        //Read Command+Read Value

        PORTB&=~(1<

        Master_Send(0x91);//Read Command

        ainX_l = Master_Receive(0x00);

        PORTB|=(1<

        實(shí)驗(yàn)過(guò)程中采用電子負(fù)載設(shè)備模擬實(shí)際系統(tǒng)中電壓、電流,測(cè)試結(jié)果如表2所示,其中對(duì)12V、3.3V電壓的監(jiān)控是通過(guò)監(jiān)控電阻分壓值完成的;電流監(jiān)控是對(duì)TPS24720輸出的電壓進(jìn)行測(cè)量后轉(zhuǎn)換為對(duì)應(yīng)的電流值。

        3.3 SI8902數(shù)據(jù)通信

        SI8902是SILICON LABS公司推出的一款三通道10位隔離監(jiān)控ADC,內(nèi)置SPI接口,具有2.5KV或者5KV的隔離率,包含POR和UVLO功能。

        SI8902模數(shù)轉(zhuǎn)換的開始以及模式的配置都是通過(guò)SPI接口向SI8902的配置寄存器發(fā)送配置數(shù)據(jù),在等待一定的轉(zhuǎn)換時(shí)間后,ATmega128讀取轉(zhuǎn)換后的數(shù)據(jù);SI8902有兩種工作模式,分別為Demand Mode和Burst Mode,本文采用Demand Mode模式;采用Vdd為參考電壓,因此模數(shù)轉(zhuǎn)換精度為Vdd/1024(3.3/1024≈0.003),滿足0.01的采樣精度要求。需要明確的是,SI8902在發(fā)送轉(zhuǎn)換結(jié)果之前會(huì)將ATmega128發(fā)送的配置數(shù)據(jù)傳送到SPI總線上,因此ATmega128和SI8902之間的讀寫時(shí)序如3圖所示;MISO線上的Data1和Data2在進(jìn)入ATmega128后進(jìn)行相應(yīng)比特的組合得到10位轉(zhuǎn)換結(jié)果。

        其中,Tc為模數(shù)轉(zhuǎn)換時(shí)間,ADT7516需要滿足Tc>=8us的要求;MOSI線上發(fā)送的三字節(jié)0XFF數(shù)據(jù)是為了提供時(shí)鐘給MISO線,從而保證ATmega128讀取轉(zhuǎn)換結(jié)果,0XFF的選取需要排除SI8902已存在配置數(shù)據(jù)。需要特別注意的地方是,由于SI8902的MISO管腳不是Open-drain輸出,因此需要對(duì)該管腳進(jìn)行三態(tài)輸出緩存(如圖1上使用的TI公司的SN74LVC1G125DBV),從而消除該芯片對(duì)SPI總線的無(wú)效占用,保證主控芯片可以和任何被控芯片進(jìn)行通信。因此SI8902初始化以及讀寫操作如下所示:

        PORTB&=~(1<

        Master_Send(0xXX);//CNFG_0 Command Byte

        CNFG=Master_Receive(0xFF);

        AINX_h= Master_Receive(0xFF);//ADC_H Byte

        AINX_l = Master_Receive(0xFF);//ADC_L Byte

        PORTB|=(1<

        實(shí)驗(yàn)過(guò)程中采用電子負(fù)載設(shè)備模擬實(shí)際系統(tǒng)中電壓、電流,測(cè)試結(jié)果如表3所示,其中對(duì)交流電路中28V電壓的監(jiān)控是通過(guò)監(jiān)控電阻分壓值完成的;電流監(jiān)控是對(duì)TPS2492輸出的電壓進(jìn)行測(cè)量后轉(zhuǎn)換為對(duì)應(yīng)的電流值。

        4數(shù)據(jù)處理

        ATmega128分時(shí)使能各個(gè)ADT7516和SI8902芯片,并將其中一路電源通路的10Bits電壓、電流轉(zhuǎn)換結(jié)果進(jìn)行邏輯運(yùn)算控制通斷狀態(tài)。為了滿足控制的實(shí)時(shí)性,采樣出的一組轉(zhuǎn)換結(jié)果立馬和設(shè)定好的上下門限進(jìn)行比較,輸出通斷控制信號(hào)ON/OFF,此后再使能剩余的模數(shù)轉(zhuǎn)換器。當(dāng)轉(zhuǎn)換結(jié)果介于上下門限之間,說(shuō)明該電源通路的電壓、電流滿足系統(tǒng)需求,因此通斷控制信號(hào)ON/OFF使能TPS24720或TPS2492完成對(duì)該通路的輸出,否則控制信號(hào)ON/OFF禁止TPS24720或TPS2492輸出相應(yīng)電源通路。根據(jù)系統(tǒng)的需求,各電壓、電流的上下門限如表4、表5所示;同時(shí)TPS24720、TPS2492自身也有過(guò)流和過(guò)壓保護(hù),兩種方式結(jié)合增強(qiáng)了對(duì)該通路的監(jiān)控和系統(tǒng)的保護(hù)。最后再將各通路的電壓、電流采樣值和各通路的通斷情況通過(guò)UART接口發(fā)送到PC機(jī)進(jìn)行顯示,并存儲(chǔ)到NVRAM中供后續(xù)查詢操作。

        5結(jié)束語(yǔ)

        本文主要討論了ATmega128與ADT7516、SI8902的SPI通信過(guò)程,通過(guò)AVR Studio4.18和WinAVR軟件的配合使用,研究了兩種模數(shù)轉(zhuǎn)換芯片驅(qū)動(dòng)程序的設(shè)計(jì)過(guò)程和注意點(diǎn)。該系統(tǒng)轉(zhuǎn)換結(jié)果準(zhǔn)確,轉(zhuǎn)換時(shí)間快速,可以滿足系統(tǒng)的要求。通過(guò)對(duì)各個(gè)通路電壓、電流的監(jiān)測(cè)可以有效地監(jiān)控電源管理模塊的工作狀態(tài),有效的保護(hù)電源管理模塊對(duì)系統(tǒng)內(nèi)部其他模塊的供電需求。

        參考文獻(xiàn):

        [1] Atmel corporation. ATmega128(L) Complete Datasheet [OL]. http://www.atmel.com.

        [2] Analog Devices,Inc. ADT7516 Datasheet [OL]. http://www.analog.com.

        [3] Silicon Laboratories.SI8902 Datasheet [OL]. http://www.silabs.com .

        [4] 張桂香,姚存治.基于ATmega128單片機(jī)的智能供電測(cè)控系統(tǒng)設(shè)計(jì)[J].電力自動(dòng)化設(shè)備,2009,29(8): 136-139.

        [5] 馬潮.AVR單片機(jī)嵌入式系統(tǒng)原理與應(yīng)用實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2012.424-445.

        [6] 王耿,王金明.SPI接口控制器設(shè)計(jì)與實(shí)現(xiàn)[J].電子質(zhì)量,2010(1):4-5.

        [7] 王宗剛,潘崢嶸.基于AVR單片機(jī)的SPI接口的實(shí)現(xiàn)[J].自動(dòng)化與儀器儀表,2011(2):114-115.

        [8] 王耿,王金明.SPI接口控制器設(shè)計(jì)與實(shí)現(xiàn)[J].電子質(zhì)量,2010(1):4-5.

        猜你喜歡
        嵌入式系統(tǒng)數(shù)據(jù)采集
        辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)
        嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用分析
        基于物聯(lián)網(wǎng)項(xiàng)目驅(qū)動(dòng)的嵌入式系統(tǒng)教學(xué)改革的研究與實(shí)踐
        嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
        面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
        CS5463在植栽用電子鎮(zhèn)流器老化監(jiān)控系統(tǒng)中的應(yīng)用
        大數(shù)據(jù)時(shí)代高校數(shù)據(jù)管理的思考
        科技視界(2016年18期)2016-11-03 22:51:40
        鐵路客流時(shí)空分布研究綜述
        基于廣播模式的數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng)
        軟件工程(2016年8期)2016-10-25 15:54:18
        通用Web表單數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        軟件工程(2016年8期)2016-10-25 15:52:53
        国产喷水福利在线视频| 国产区女主播一区在线| 第一次处破女18分钟高清| 国产av无码专区亚洲av蜜芽| 日本乱人伦在线观看| 在线天堂中文一区二区三区| 日韩成精品视频在线观看| 国产精品久久综合桃花网| 国产日韩一区二区精品| 日本午夜理论一区二区在线观看| 日本精品一区二区高清| 亚洲va中文字幕无码毛片| 色老汉免费网站免费视频| 久久AⅤ天堂Av无码AV| 久久精品国产在热亚洲不卡| 欧美白人战黑吊| 国产精品亚洲一区二区在线观看| 国产精品三级一区二区按摩| 精品日产一区2区三区| 蜜桃视频第一区免费观看| 欧美丰满熟妇bbb久久久| 国产精品va在线观看无码| 亚洲无码视频一区:| 国产一区二区视频在线看| 亚洲av成人精品一区二区三区| 啦啦啦www播放日本观看| 亚洲mv国产精品mv日本mv| 天堂a版一区二区av| 国产精品熟女一区二区三区| 久久国产色av免费观看| 国产亚洲av片在线观看18女人| 精品久久久久久国产潘金莲| aa日韩免费精品视频一| 国产精品久人妻精品老妇| 少妇做爰免费视频网站| 成年男人裸j照无遮挡无码| 亚洲中文字幕一二区精品自拍| 四虎永久在线精品免费网址| 中国农村熟妇性视频| 青春草在线视频精品| 最新日本女优中文字幕视频|