天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 論文百科 > 英文數(shù)據(jù)庫 >

淺析Arduino內(nèi)部技術(shù)及合理運用開發(fā)

發(fā)布時間:2017-05-12 20:00

  本文關(guān)鍵詞:Arduino技術(shù)內(nèi)幕,由筆耕文化傳播整理發(fā)布。


  【摘要】Arduino是由一個基于AVR單片機(jī)具開放源代碼的硬件平臺和為Arduino板編寫程序的開發(fā)環(huán)境組成。因其具有多平臺、編程環(huán)境簡單、軟硬件開源都可擴(kuò)展等諸多優(yōu)點而受到許多非專業(yè)愛好者的喜愛。但在其技術(shù)內(nèi)部有著許多東西可挖掘,以此方可合理運用。
  【關(guān)鍵詞】Arduino;AVR;技術(shù)內(nèi)部;合理運用
  引言
  Arduino是源于意大利基于AVR單片機(jī)具有開放源碼的硬件平臺。Arduino也具有類似Java,C語言的集成開發(fā)環(huán)境。他幫助許多愛發(fā)明創(chuàng)造的業(yè)余者和真正的開發(fā)者實現(xiàn)了自己的想法。具有獨立性和互動性的Arduino可以與PC外圍裝置連接,,也能與PC軟件進(jìn)行溝通,如:Flash,Processing,Max/Msp。與其他大多數(shù)的單片機(jī)系統(tǒng)相比,Arduino還可以在Windous,Macintesh Osx和Linux操作系統(tǒng)上運行。當(dāng)然有經(jīng)驗的設(shè)計師可以對硬件和軟件開源進(jìn)行擴(kuò)展?偟膩碚fArduino更適宜非專業(yè)愛好者使用。為了滿足這一類愛好者的求知欲,得對Arduino的內(nèi)部進(jìn)行深入的了解。
  1.電源
  要將外部電源輸送、穩(wěn)壓和過濾給Arduino則需要電源電路。電源電路分為外接電源輸入部分和USB電源輸入部分。外接電源輸入部分由二極管、穩(wěn)壓管USB輸入口組成,輸入范圍是從7V到12V。二極管的作用是當(dāng)電源輸入正反極反轉(zhuǎn)時也不會燒壞器件。穩(wěn)壓管是將7V到12V的電壓穩(wěn)定為5V。在USB電源輸入電路中由保險管、電阻非常大的排阻、集成運算放大器、PMOS、線性穩(wěn)壓器組成。運行時,若電流大于500mA,保險管會自動斷開保護(hù)電路板。保險管也具有自我恢復(fù)功能,當(dāng)電壓恢復(fù)到5V的電壓范圍后,保險管則自動恢復(fù)連接,為Arduino提供5V的電壓。而排阻則用來對前面的外接電源輸入進(jìn)行分壓。對于運算放大器若輸出為高電平,則PMOS處于截止?fàn)顟B(tài),此時切斷了USB的供電。若輸出為低電平,則PMOS處于導(dǎo)通狀態(tài),此時USB對Arduino供電。線性穩(wěn)壓器則是負(fù)責(zé)將5V的電源轉(zhuǎn)變?yōu)?V電源。(這里主要說的是Arduino UNO)
  2.串口
  要實現(xiàn)PC或其他設(shè)備與Arduino之間的通信則需要使用串口。Arduino的串口USART(即Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/異步接收器/發(fā)送器)通常與PC的Rs-232端口相連,它以預(yù)設(shè)的速率異步地在一條線上發(fā)送或接受數(shù)據(jù)。當(dāng)串口在異步模式時,不需要一個分離的時鐘信號;當(dāng)在同步模式時,則需要一個專用的信號表示時鐘信息。Rs-232與串口相連時,不可直接相連,Rs-232的電壓比較高,容易燒壞Arduino的電路板,需要一個Rs-232到TTL的適配器。在以往的Arduino中也有個Rs-232的串口存在。后來慢慢轉(zhuǎn)變?yōu)榱爽F(xiàn)在流行的更小的USB端口,好處在于在通信的同時能提供5V的穩(wěn)壓。USB規(guī)范允許一個已枚舉的設(shè)備(能夠正確向USB主機(jī)申報自己的設(shè)備,如Arduino I/O電路板)使用5V上最多500mA的電流,而未枚舉的可以用100mA的電流。
  3.處理器
  這里講的主要處理器為ATmega328,其程序儲存為32KB,其余的大多數(shù)處理器只是程序儲存不同而已。在Arduino中為了使用的方便,對其進(jìn)行了二次封裝。第一次是將AVR CPU、內(nèi)存陣列(有程序Flash,數(shù)據(jù)SRAM,EEPROM)、時針和外圍設(shè)備(有I/O端口,定時器/計數(shù)器,異步串行接口,同步串行接口,兩線串行接口,模數(shù)轉(zhuǎn)換)封裝為ATmega328。第二次是將ALU、一組32個通用8位寄存器、一個狀態(tài)寄存器、程序計數(shù)器、一個指令譯碼器和與內(nèi)置的內(nèi)存陣列及片內(nèi)外圍設(shè)備的借口封裝為AVR CPU。
  3.1 時鐘源
  一般的Arduino電路用外部的陶瓷諧振器或石英晶體來決定其系統(tǒng)時鐘頻率。在ATmega328中有一個片內(nèi)振蕩器,它有兩個模式:低功率模式消耗的功率小,但無法傳輸?shù)叫酒饷?全幅模式則消耗的功率增大。
  3.2 程序儲存器
  程序儲存器儲存著CPU要執(zhí)行的程序語言指令。AVR中,可編程的16位寬Flash陣列作為程序儲存器。有時它也被看做ROM,即只讀儲存器,當(dāng)?shù)綦姇r也不會丟失數(shù)據(jù)。Arduino中有一小段常駐的固件,叫引導(dǎo)裝載程序,它與PC機(jī)通信,將編譯好的程序從PC送過來保存在AVR的程序儲存器中。因此就減少了使用芯片編譯硬件減少了成本。為了跟蹤程序執(zhí)行的位置,則需要寄存器PC。當(dāng)重啟時,PC清除為0,執(zhí)行的順序則變?yōu)榱顺绦虺跏蓟a的開頭。
  3.3 數(shù)據(jù)儲存器
  在AVR中用的是SARM來保存程序運行中的數(shù)據(jù)。SRAM即靜態(tài)隨機(jī)存取內(nèi)存。基于靜態(tài)位格的數(shù)據(jù)儲存器是不需要動態(tài)時鐘信號來觸發(fā)刷新保持?jǐn)?shù)據(jù)的動作,而動態(tài)RAM則需要。對于SRAM內(nèi)存,只要芯片有電就保持著里面的數(shù)據(jù)。但掉電時,內(nèi)存的狀態(tài)時不確定的,不要誤以為會是某個特定的值。
  3.4 通用寄存器
  在AVR芯片中的通用寄存器組是由編號為R0到R31的寄存器組成的。由R26和R27組成的X,R28和R29組成的Y,R30和R31組成的Z是16位指向數(shù)據(jù)存儲器的索引指針。當(dāng)由復(fù)雜的指令時,可將X,Y,Z寄存器作為數(shù)據(jù)指針,加上指令內(nèi)可選的偏移量,加到索引寄存器上形成有效的目的地址。
  3.5 EEPROM
  EEPROM(Electrically Erasable,Programmable Read-only Memory,電子可擦除只讀儲存器)。它是只讀的,也是可寫入的,還是可擦除的。EEPROM大部分和程序儲存器一樣,不同的是他可以承受多次的擦除和寫入。這樣便使得用戶可以隨意的更改數(shù)據(jù)和配置了。要尋址EEPROM則需要通過一個特殊的寄存器來訪問,還需要一個相關(guān)的I/O寄存器的一個位,則可以引起一個讀的操作,而結(jié)果要在另一個寄存器中才可以讀到。寫入的操作也是類似的:先把地址寫入EEPROM地址寄存器,再復(fù)制數(shù)據(jù)進(jìn)入EEPROM數(shù)據(jù)寄存器,最后做稍微復(fù)雜的位操作。這種操作的復(fù)雜性更利于保護(hù)其數(shù)據(jù)。
  4.結(jié)束語
  通過對Arduino的電源、串口和處理器中的各個部分硬件的淺析,可以使得非專業(yè)的愛好者更了解它,進(jìn)而設(shè)計出更滿足要求、更合理、更可靠的東西。
  參考文獻(xiàn)
  [1]蔡睿妍.Arduino的原理及應(yīng)用[J].電子設(shè)計工程,2012, 20(16):155-157.
  [2]楊繼志,郭敬.Arduino互動產(chǎn)品平臺創(chuàng)新[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012(4):39-41
  [3]Massimo BanZi.愛上Arduino[M].2版.北京:人民郵電出版社,2012.
  [4]Dale Wheat.Arduino技術(shù)內(nèi)幕[M].北京:人民郵電出版社,2013.


  本文關(guān)鍵詞:Arduino技術(shù)內(nèi)幕,由筆耕文化傳播整理發(fā)布。



本文編號:360688

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/mishujinen/360688.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶f8fe2***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com