孫佳 上海紅生系統(tǒng)工程有限公司
基于AVR單片機的SPI接口設(shè)計與實現(xiàn)
孫佳 上海紅生系統(tǒng)工程有限公司
隨著時代的發(fā)展,科學技術(shù)的進步,人們已經(jīng)在不知不覺中進入到數(shù)字化信息時代,自上世紀五十年代世界上誕生第一臺計算機開始,人類社會拉開了互聯(lián)網(wǎng)時代的序幕。隨著時間的推移,人們加大了對于計算機技術(shù)的研究,不斷對其性能進行改進和完善。AVR單片機技術(shù)作為計算機技術(shù)的一個重要組成部分,它于1997年由兩位挪威設(shè)計師共同研制的一款八位單片機,相較以往的單片機它內(nèi)部資源更豐富,接口強大且價格低廉,一經(jīng)上市便廣受人們的歡迎,現(xiàn)今人們將該項技術(shù)廣泛的運用于計算機、家電及通訊設(shè)備中。
AVR單片機 SPI接口 設(shè)計 實現(xiàn)
SPI接口即串行外設(shè)接口,它主要是將機械內(nèi)部信息和外部設(shè)備以串行的方式進行連接以此進行通信傳遞信息,基于AVR單片機各方面性能進行分析,設(shè)計最佳SPI接口,實現(xiàn)數(shù)據(jù)傳送。SPI作為一種高效雙向的同步通信系統(tǒng),通過四條線路進行信息傳遞,有效的節(jié)省了芯片及PCB的空間,安全高效,線路簡單、操作方便、信息傳遞速率較快被廣泛的運用到當下各種科技設(shè)備中,加大對于SPI接口的研究,以便最大程度的發(fā)揮其性能,下面主要將ATMEGA 128作為案例,對其進行各方面性能的研究,以便更好地滿足人們對于電路監(jiān)控的實際需求,為相關(guān)科技設(shè)備的更新奠定技術(shù)基礎(chǔ)。
ATMEGA 128是現(xiàn)今ATMEL公司最高配置的一款八位系列單片機,它由于其自身性能安全可靠、穩(wěn)定性較強、價格實惠、高能低耗等特點深受人們喜愛。單片機作為一種集成電路芯片,當前被廣泛的運用到人們的生產(chǎn)和生活中,像飛機中的儀表控制系統(tǒng)、計算機網(wǎng)絡中的通訊技術(shù)、攝像機及全自動洗衣機都有它的身影。單片機由于其體積較小,具有極強的拓展性,使用方便,功能強大等功能多被運用于各種儀表器內(nèi),同時也可以使用單片機對電流、電壓、溫度進行科學測量,促使各種測量儀器向智能化、數(shù)字化方向轉(zhuǎn)變,像電壓表、醫(yī)用器械等。
ATMEGA 128在實際運行中結(jié)合多種電路檢測設(shè)備,極大的增強了系統(tǒng)的安全性和可靠性,ATMEGA 128在運行時包括一個SPI串行外設(shè)接口,在進行電路設(shè)計時需要根據(jù)電路接口的實際情況進行科學分析,以便在保證安全減少能耗的基礎(chǔ)上實現(xiàn)其最大的功用。SPI主要有兩條數(shù)據(jù)線,即MOSI主機輸出從機輸入及MISO主機輸入從機輸出,此外涉及兩條控制線,即SS片選控制線和SCK串行時鐘線。ATMEGA 128作為串行外設(shè)接口的主要控制設(shè)備,其機械設(shè)備內(nèi)部的芯片完全由ATMEGA 128控制。在進行電源管理時需要對16路電流進行檢測,像對3.3V、12V等多種電壓的直流電進行運行參數(shù)的檢測,同時還需要對28V電源電壓進行隔離監(jiān)測,在實際操作中需要ADT7516四片及SI8902兩片對試驗中電流及電壓參數(shù)進行轉(zhuǎn)化,在實驗中也可以用TPS24720配合TPS2490對ATMEGA 128進行輸出信號的控制,用于運行電路的通斷控制。在設(shè)計相關(guān)電路實驗時一定要切記ATMEGA 128無論在何種情況下都只能連接一個機械設(shè)備進行通信試驗,如果需要對多個設(shè)備進行實驗需要借助74LVC138譯碼器對其進行轉(zhuǎn)化,ATMEGA 128系統(tǒng)電路設(shè)計時應該采用最小的系統(tǒng)模型,其中包括ISP、JTAG仿真機口電路、引腳擴展電路、USB供電及通信電等。根據(jù)實際實驗中所需的跳線接法設(shè)置不同的晶振源,像8MHz與16MHz兩種模式。在供電與ISP進行接口時,可以直接對其進行編程設(shè)計,即相關(guān)設(shè)備仍在電路板上時仍可以對其進行二次編碼,保證相關(guān)程序與實際實驗需要相符合,確保相關(guān)實驗的科學合理性。
AVR單片機的SPI接口軟件設(shè)主要是對ATMEGA 128初始化,對其運行的相關(guān)設(shè)備參數(shù)進行采集與數(shù)據(jù)處理,即在ATMEGA 128在初始化配置完成后,通過對SPI串行外設(shè)接口向外部設(shè)備傳遞數(shù)據(jù)信息,像SPI將相關(guān)數(shù)據(jù)信息傳遞給ADC(模擬數(shù)字轉(zhuǎn)換器),在完成模擬化數(shù)字轉(zhuǎn)換器初始化工作完成過后,再對數(shù)據(jù)信息進行模擬轉(zhuǎn)化,之后再將轉(zhuǎn)化過后的數(shù)據(jù)信息通過串行外設(shè)接口傳送回MCU(單片微型計算機),微型計算機可以通過對實驗中流通的電壓和電流進行實時監(jiān)控和判斷,及時做出下一步指令,管控整個電路的流通過程。
2.1 ATMEGA 128 SPI接口
ATMEGA 128 SPI接口設(shè)計時可以使用同步串行三線SPI接口,方便SPI與外部設(shè)備的連接,保證信息高效傳輸。ATMEGA 128 SPI在進行接口設(shè)計時選擇硬件方式對其進行同步通訊設(shè)計,根據(jù)不同的實驗原理和設(shè)備條件可以選擇多種通訊速率,像主機方式的最高速率為1/2系統(tǒng)時鐘,而從機方式的最高速率則只是1/4系統(tǒng)時鐘。ATMEGA 128與SPI接口相關(guān)聯(lián)的寄存器主要有三種,數(shù)據(jù)寄存器、控制寄存器和狀態(tài)寄存器,這三者都是八位寄存器,相通的配置,減少各種誤差的出現(xiàn),在實驗過程中可以采用查詢標志的方式進行SPI通信編程,重置程序信息,在確定試驗運行狀態(tài)的前提下,配置正確的ATMEGA 128 SPI接口的運行方式,ADT7516、FM25H20及SI8902都可以直接用于實驗。當SPI接口完成后,如果ATMEGA 128無法自動將其轉(zhuǎn)化為SPI接口四個引腳工作模式,需要安裝MISO配置,進行輔助工作,以便能正確輸出相關(guān)信息,保證整個實驗過程穩(wěn)定安全運行。而當ATMEGA 128在主控制模式下進行工作時,片選控制線并不受制于SPI硬件電路和寄存器,因此,在進行接口設(shè)計時應該根據(jù)接口的實際情況及設(shè)備運行狀況進行線路調(diào)控,重新對相關(guān)控制設(shè)備進行編碼。
2.2 數(shù)據(jù)通訊設(shè)備
當前ATMEGA 128 SPI接口設(shè)計中涉及的數(shù)據(jù)通信設(shè)備主要有SI8902和ADT7516,針對這兩款設(shè)備進行研究。SI8902是一款三通道的十位隔離監(jiān)控模擬數(shù)字轉(zhuǎn)換器,轉(zhuǎn)換器內(nèi)部設(shè)有SPI接口,SI8902工作的開始和運行都需要借助SPI接口才能進行數(shù)據(jù)信息的傳遞,而且SI8902在將數(shù)據(jù)傳遞出去之前需要先將信息傳輸?shù)絊PI總線上,所以在進行實驗時需要加大對于SPI的研究,切實保證相關(guān)信息的科學準確。
ADT7516是一款多功能轉(zhuǎn)換器,包括十位數(shù)字模擬轉(zhuǎn)換器、十位溫度數(shù)字轉(zhuǎn)換器及四通十二位數(shù)字模擬轉(zhuǎn)換器。此類轉(zhuǎn)換器內(nèi)部兼容SPI、QSPI及I2C等多個接口,人們通常使用該芯片對整個系統(tǒng)電路上電壓為12V和3.3V的電流進行采集,在開展相關(guān)試驗操作時一定要注意一點,即ADT7516該項轉(zhuǎn)換器默認的工作狀態(tài)是I2C接口,所以在進行相關(guān)電路連接和實驗時首先要將通信接口由I2C轉(zhuǎn)換位SPI,而且,該芯片在工作時為了有效區(qū)分讀寫操作,在傳遞通訊信息之前必須通過主控器發(fā)送相應的讀寫編碼,同時在SS片選控制線工作時,切記讀寫編碼只能出現(xiàn)一種。開展相關(guān)試驗時應該進行多次試驗,滿足相關(guān)試驗的采樣要求,在經(jīng)過多次采樣后求取其結(jié)果的平均值,在一定程度上保證信息的科學性,試驗中會涉及SS片選控制線連續(xù)不斷變換其目的主要是為了將默認通信接口由I2C轉(zhuǎn)換位SPI接口,模擬數(shù)據(jù)轉(zhuǎn)換時間應該超過或等于11.4毫秒,當ATMEGA 128發(fā)送數(shù)據(jù)只讀指令時,ADT7516還需要通過ATMEGA 128提供的時鐘才能轉(zhuǎn)換器轉(zhuǎn)換的信息傳遞給ATMEGA 128,在實際試驗操作過程中可以借助各種電子設(shè)備對電壓和電流進行模擬,在控制電壓不變的情況下對電阻數(shù)值進行檢測。
ATMEGA 128多由ADT7516和SI8902兩種芯片組成,并在保持電壓穩(wěn)定到一定程度的基礎(chǔ)上對其進行電流轉(zhuǎn)換。為了保證試驗的科學性,很多時候人們在進行相關(guān)設(shè)計實驗時會在一組試驗結(jié)果得出后,將其與設(shè)定好的上門下限進行比較,如果實驗所得的結(jié)果在原先設(shè)定好的程序內(nèi),便證明相關(guān)數(shù)據(jù)實驗科學合理,電路運行中的電壓和電流符合相關(guān)要求,然后可以通過通斷控制信號將試驗所得數(shù)據(jù)信息直接輸出,如果實驗所得數(shù)據(jù)與原先設(shè)定好的出入過大相關(guān)電源通路將不予輸出。在實際工作過程中可以通過各種檢測設(shè)備對電路信息進行時時監(jiān)控,以便進行科學判斷,同時也可以對相關(guān)信息進行存儲,便于日后信息的查詢。當前在實際操作中越來越多的人使用C語言進行單片機數(shù)據(jù)處理,有效的彌補了單片機數(shù)據(jù)信息和程序可讀性與移植性差的缺陷,有效的簡化了運行程序,同時還擴大了單片機的適用范圍,像使用C語言數(shù)據(jù)表格的優(yōu)勢進行數(shù)據(jù)處理,采用指針變量或數(shù)組變量的方式將數(shù)據(jù)信息劃為數(shù)組,有效的提高數(shù)據(jù)處理的效率,便于相關(guān)程序高效運行。
總而言之,在數(shù)字化信息技術(shù)迅速發(fā)展的今天,單片機隨著時代的發(fā)展也在不斷改進和完善中,加大對于當下流行的AVR單片機的研究,組織專業(yè)人員對SPI接口進行科學設(shè)計,以便更好地提高其性能,增強其嵌入式系統(tǒng)的穩(wěn)定性和抗干擾性,擴大AVR單片機的使用范圍,以便人們更好地將其運用到生活和生產(chǎn)中,推動人類社會不斷向智能化、科學化方向發(fā)展,更好地造福人民大眾。
[1]楊啟帆,趙臘才.基于AVR單片機的SPI接口設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2016,12(27)
[2]楊俊春,孫珅,趙國良.AVR單片機中的SPI接口[J].應用科技,2005,32(2):43-46
[3]李玲,周小佳,唐秀輝,等.AVR單片機SPI接口設(shè)計[J].福建電腦,2006(5):11-12
[4]洪家平.數(shù)字溫度傳感器TC77與AVR單片機的接口設(shè)計[J].電子設(shè)計工程,2007(5):61-64
[5]王紅亮,楊曉.AVR單片機與串行A/D的SPI接口設(shè)計[J].電測與儀表,2008,45(9):49-51
[6]王宗剛,潘崢嶸.基于AVR單片機的SPI接口的實現(xiàn)[J].自動化與儀器儀表,2011(2):114-115
孫佳(1977—),男,漢族,江蘇阜寧縣人,大連海事大學電子工程專業(yè)學士,中級職稱。從事船舶電子設(shè)備研發(fā)設(shè)計工作近17年;負責、參與了兩項海軍通信設(shè)備的設(shè)計研發(fā)工作,并曾獲得上海市新長征突擊手稱號。