at91rm9200啟動過程教程 系統(tǒng)上電,檢測BMS,選擇系統(tǒng)的啟動方式,如果BMS為高電平,則系統(tǒng)從片內(nèi)ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執(zhí)行這個BOOTLOAER(準(zhǔn)確的說應(yīng)該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設(shè)置PLLB產(chǎn)生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應(yīng)模式下的堆棧設(shè)置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設(shè)置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認(rèn)為BOOT過程結(jié)束,接下來的就是LOADER的過程,或者也可以認(rèn)為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設(shè)備的開始地址處連續(xù)的存放的32個字節(jié),也就是8條指令必須是跳轉(zhuǎn)指令或者裝載PC的指令,其實這樣規(guī)定就是把這8條指令當(dāng)作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關(guān)于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當(dāng)BOOT程序完成了把合法的映像搬到SRAM的任務(wù)以后,接下來就進(jìn)行存儲器的REMAP,經(jīng)過REMAP之后,SRAM從映設(shè)前的0X200000地址處被映設(shè)到了0X0地址并且程序從0X0處開始執(zhí)行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設(shè)備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準(zhǔn)備從外部載入映像。對DEBUG口的初始化包括設(shè)置參數(shù)115200 8 N 1以及運行XMODEM協(xié)議。對USB DEVICE進(jìn)行初始化以及運行DFU協(xié)議。現(xiàn)在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設(shè)然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內(nèi)的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內(nèi)啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內(nèi)容和ROM的BOOT差不多,不同的硬件設(shè)計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設(shè)計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內(nèi)啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據(jù)自己的應(yīng)用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務(wù)也不錯,不但提供了片內(nèi)啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結(jié)構(gòu)與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設(shè)的驅(qū)動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網(wǎng)站下載。 我們知道,當(dāng)9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內(nèi)rom啟動,這時rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時我們打開超級終端會看到ccccc...。這說明系統(tǒng)已經(jīng)啟動,同時xmodem協(xié)議已經(jīng)啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內(nèi)的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協(xié)議,為下載和啟動uboot做準(zhǔn)備。當(dāng)下載了loader.bin后,超級終端會繼續(xù)打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調(diào)到此處開始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內(nèi)存、flash、網(wǎng)絡(luò)、系統(tǒng)啟動等一些命令。 如果系統(tǒng)上電時bms為低電平,則系統(tǒng)從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內(nèi)rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經(jīng)啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統(tǒng)復(fù)位,就可以看到系統(tǒng)先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環(huán)境,關(guān)于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當(dāng)前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進(jìn)行解壓,除此之外,他和loader并無大的區(qū)別,你可以把boot理解為在loader的基礎(chǔ)上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質(zhì)不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131
NCV4269是一款精準(zhǔn)的低功耗5V穩(wěn)壓源,它的輸出電流負(fù)載為150mA。輸出電壓的精確度為±2.0%,在輸出電流為100mA時輸出電壓的最大紋波電壓為0.5V。NCV4269的最大特點就是靜態(tài)電流小,在輸出電流為1.0mA時靜態(tài)電流只有240μA。這一特點非常適合應(yīng)用與利用電池供電的微處理器設(shè)備。
標(biāo)簽: 4269 NCV 低功耗 產(chǎn)品簡介
上傳時間: 2013-11-08
上傳用戶:yimoney
含原理圖+電路圖+程序的波形發(fā)生器:在工作中,我們常常會用到波形發(fā)生器,它是使用頻度很高的電子儀器。現(xiàn)在的波形發(fā)生器都采用單片機來構(gòu)成。單片機波形發(fā)生器是以單片機核心,配相應(yīng)的外圍電路和功能軟件,能實現(xiàn)各種波形發(fā)生的應(yīng)用系統(tǒng),它由硬件部分和軟件部分組成,硬件是系統(tǒng)的基礎(chǔ),軟件則是在硬件的基礎(chǔ)上,對其合理的調(diào)配和使用,從而完成波形發(fā)生的任務(wù)。 波形發(fā)生器的技術(shù)指標(biāo):(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設(shè)計1、 機器通電后,系統(tǒng)進(jìn)行初始化,LED在面板上顯示6個0,表示系統(tǒng)處于初始狀態(tài),等待用戶輸入設(shè)置命令,此時,無任何波形信號輸出。2、 用戶按下“F”、“V”、“W”,可以分別進(jìn)入頻率,幅值波形設(shè)置,使系統(tǒng)進(jìn)入設(shè)置狀態(tài),相應(yīng)的數(shù)碼管顯示“一”,此時,按其它鍵,無效;3、 在進(jìn)入某一設(shè)置狀態(tài)后,輸入0~9等數(shù)字鍵,(數(shù)字鍵僅在設(shè)置狀態(tài)時,有效)為欲輸出的波形設(shè)置相應(yīng)參數(shù),LED將參數(shù)顯示在面板上;4、 如果在設(shè)置中,要改變已設(shè)定的參數(shù),可按下“CL”鍵,清除所有已設(shè)定參數(shù),系統(tǒng)恢復(fù)初始狀態(tài),LED顯示6個0,等待重新輸入命令;5、 當(dāng)必要的參數(shù)設(shè)定完畢后,所有參數(shù)顯示于LED上,用戶按下“EN”鍵,系統(tǒng)會將各波形參數(shù)傳遞到波形產(chǎn)生模塊中,以便控制波形發(fā)生,實現(xiàn)不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發(fā)生器開始輸出滿足參數(shù)的波形信號,面板上相應(yīng)類型的運行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號,頻率值、電壓幅值等波形參數(shù);7、 波形發(fā)生器在輸出信號時,按下任意一個鍵,就停止波形信號輸出,等待重新設(shè)置參數(shù),設(shè)置過程如上所述,如果不改變參數(shù),可按下“EN”鍵,繼續(xù)輸出原波形信號;8、 要停止波形發(fā)生器的使用,可按下復(fù)位按鈕,將系統(tǒng)復(fù)位,然后關(guān)閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應(yīng)用,性能價格高的常用芯片來構(gòu)成硬件電路。單片機采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅(qū)動器 ULN2803A(一塊),運算放大器 LM324(一塊) 波形發(fā)生器的硬件電路由單片機、鍵盤顯示器接口電路、波形轉(zhuǎn)換(D/ A)電路和電源線路等四部分構(gòu)成。1.單片機電路功能:形成掃描碼,鍵值識別,鍵功能處理,完成參數(shù)設(shè)置;形成顯示段碼,向LED顯示接口電路輸出;產(chǎn)生定時中斷;形成波形的數(shù)字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機尋址外設(shè),采用存儲器映像方式,外部接口芯片與內(nèi)部存儲器統(tǒng)一編址,89C51提供16根地址線P0(分時復(fù)用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時還要負(fù)責(zé)與8255,0832的數(shù)據(jù)傳遞。P2.7是8255的片選信號,P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經(jīng)過74LS373鎖存后,送到8255的A1、A2作,片內(nèi)A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發(fā)光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機89C51內(nèi)部有兩個定時器/計數(shù)器,在波形發(fā)生器中使用T0作為中斷源。不同的頻率值對應(yīng)不同的定時初值,定時器的溢出信號作為中斷請求。控制定時器中斷的特殊功能寄存器設(shè)置如下:定時控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅(qū)動6位數(shù)碼管動態(tài)顯示; 提供響應(yīng)界面; 掃面鍵盤; 提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅(qū)動器ULN2803A,6位共陰極數(shù)碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態(tài),按鍵的分布如圖所示。8255的A口作為LED段碼輸出口,與74LS244相連接,B口作為LED的位選信號輸出口,與ULN2803A相連接。8255內(nèi)部的4個寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH , C口:7FFEH 3、D/A電路功能:將波形樣值的數(shù)字編碼轉(zhuǎn)換成模擬值;完成單極性向雙極性的波形輸出;構(gòu)成由兩片0832和一塊LM324運放組成。0832(1)是參考電壓提供者,單片機向0832(1)內(nèi)的鎖存器送數(shù)字編碼,不同的編碼會產(chǎn)生不同的輸出值,在本發(fā)生器中,可輸出1V、2V、3V、4V、5V等五個模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號時,其幅度是可調(diào)的。0832(2)用于產(chǎn)生各種波形信號,單片機在波形產(chǎn)生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經(jīng)過D/A轉(zhuǎn)換,得到波形的模擬樣值點,假如N個點就構(gòu)成波形的一個周期,那么0832(2)輸出N個樣值點后,樣值點形成運動軌跡,就是波形信號的一個周期。重復(fù)輸出N個點后,由此成第二個周期,第三個周期……。這樣0832(2)就能連續(xù)的輸出周期變化的波形信號。運放A1是直流放大器,運放A2是單極性電壓放大器,運放A3是雙極性驅(qū)動放大器,使波形信號能帶得起負(fù)載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發(fā)生器提供直流能量;構(gòu)成由變壓器、整流硅堆,穩(wěn)壓塊7805組成。220V的交流電,經(jīng)過開關(guān),保險管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩(wěn)定,使用7805進(jìn)行穩(wěn)壓。最后,+5V電源配送到各用電負(fù)載。
標(biāo)簽: 波形發(fā)生器 原理圖 電路圖 源程序
上傳時間: 2013-11-08
上傳用戶:685
本文檔將深入介紹內(nèi)部時鐘源模塊(Internal ClockSource, ICS),該模塊可以在部分HCS08 系列微控制器中找到。對HCS08 MCU 來說, ICS 模塊不但是一個非常靈活的時鐘源,而且對于該系列中更小、更低成本的MCU來說非常經(jīng)濟。ICS 包括鎖頻環(huán)、內(nèi)部時鐘參考、外部振蕩器和時鐘選擇子模塊。這些子模塊組合可以提供多種時鐘模式和頻率,以滿足任何應(yīng)用的需要。本應(yīng)用筆記詳細(xì)描述ICS 的7 種工作模式、ICS 模塊與其他HCS08 MCU 的內(nèi)部時鐘發(fā)生器(Internal ClockGenerator, ICG)模塊作比較、ICS 模塊從不同低功耗模式下恢復(fù)的特性及內(nèi)部時鐘參考的校準(zhǔn)方法。
上傳時間: 2013-11-08
上傳用戶:zhuoying119
基于單片機的汽車多功能報警系統(tǒng)設(shè)計The Design of Automobile Multi-function AlarmingBased on Single Chip Computer劉法治趙明富寧睡達(dá)(河 南 科 技 學(xué) 院 ,新 鄉(xiāng) 453 00 3)摘要介紹了一種基于單片機控制的汽車多功能報警系統(tǒng),它能對汽車的潤滑系統(tǒng)油壓、制動系統(tǒng)氣壓、冷卻系統(tǒng)溫度、輪胎欠壓及防盜進(jìn)行自動檢測,并在發(fā)現(xiàn)異常情況時,發(fā)出聲光報警。闡述了該報警系統(tǒng)的硬件組成及軟件設(shè)計方法。關(guān)鍵詞單片機傳感器數(shù)模轉(zhuǎn)換報警Abstract Am ulti-fimctiona utomobilea larnungs ystemb asedo ns inglec hipc omputerco ntorlis in torducedin th isp aper.Th eo ilpr essuero flu bricatesystem, air pressure of braking system, temperature of cooling system, under pressure of tyre and guard against theft, detected automaticaly場thesystem. Audio and visual alarms wil be provided under abnormal conditions廠The hardware composition and software design of the system, described.Keywords Singlec hipc omputer Sensor Digital-t-oanaloguec onversion Alarmin 汽車多功能報苦器硬件系統(tǒng)設(shè)計根據(jù) 系 統(tǒng) 實際需要和產(chǎn)品性價比,選用ATMEL公司新生產(chǎn)的采用CMOs工藝的低功耗、高性能8位單片機AT89S52作為系統(tǒng)的控制器。AT89S52的片內(nèi)有8k Bytes LSP Flash閃爍存儲器,可進(jìn)行100(〕次寫、擦除操作;256Bytes內(nèi)部數(shù)據(jù)存儲器(RAM);3 2 根可編程輸N輸出線;2個可編程全雙工串行通道;看門狗(WTD)電路等。系統(tǒng)由傳感器、單片機、模數(shù)轉(zhuǎn)換器、無線信號發(fā)射電路、指示燈驅(qū)動電路、聲光報警驅(qū)動電KD一9563,發(fā)出三聲二閃光。并觸發(fā)一個高電平,驅(qū)動無線信號發(fā)射電路。
上傳時間: 2013-11-09
上傳用戶:gxmm
本論文以MS320DM642數(shù)字信號處理器為核心,搭建了聲源定位及攝像頭自動控制的平臺。論文中論述了:McASP的原理和應(yīng)用方法;聲波的A/D變換及采樣模塊設(shè)計以及該模塊與DSP的接口設(shè)計;通過擴展存儲器接口EMIF對DSP進(jìn)行外部存儲器擴展的設(shè)計以及地址空間配置;利用CPLD作為地址、數(shù)據(jù)總線管理模塊的設(shè)計;UART串行傳輸模塊設(shè)計;對FLASH的分頁控制和程序代碼燒寫;以及通過RS485串行傳輸協(xié)議對攝像頭進(jìn)行控制的原理和程序設(shè)計。
上傳時間: 2013-11-22
上傳用戶:rtsm07
04_使用Timequest約束和分析源同步電路
上傳時間: 2013-10-30
上傳用戶:ZJX5201314
FPGA_DIY撥碼開關(guān)實驗源碼
標(biāo)簽: FPGA DIY 撥碼開關(guān) 實驗
上傳時間: 2013-10-09
上傳用戶:liu123
該信號源可輸出正弦波、方波和三角波,輸出信號的頻率以數(shù)控方式調(diào)節(jié),幅度連續(xù)可調(diào)。與傳統(tǒng)信號源相比,該信號源具有波形質(zhì)量好、精度高、設(shè)計方案簡潔、易于實現(xiàn)、便于擴展與維護(hù)的特點。
標(biāo)簽: FPGA DDS 數(shù)控 信號源
上傳時間: 2013-10-11
上傳用戶:ippler8
設(shè)計了一種由直接數(shù)字頻率合成(DDS)、倍頻鏈構(gòu)成的三次變頻直接頻率合成方案,實現(xiàn)了低相噪捷變頻高分辨率毫米波雷達(dá)頻率合成器設(shè)計。利用直接頻率合成器的倍頻輸出取代傳統(tǒng)三次變頻毫米波頻率源的鎖相環(huán)(PLL),同時提供線性調(diào)頻(LFM)信號,優(yōu)化DDS和變頻方案的頻率配置關(guān)系。利用FPGA電路進(jìn)行高速控制,較好地解決了毫米波頻率合成器各技術(shù)指標(biāo)之間的矛盾。實測結(jié)果表明,采用該方案的毫米波頻率合成器在本振跳頻帶寬為160 MHz時,線性調(diào)頻頻率分辨率可達(dá)0.931 Hz,最大頻率轉(zhuǎn)換時間小于2 ?滋s,最大雜散低于-60 dBc,相位噪聲優(yōu)于-90 dBc/Hz。
上傳時間: 2014-01-06
上傳用戶:brain kung
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1