【摘要】通過對(duì)基于AVR 的SD 卡數(shù)據(jù)導(dǎo)出接口設(shè)計(jì)的描述,在系統(tǒng)總體結(jié)構(gòu)思路基礎(chǔ)上,提出系統(tǒng)的硬 件構(gòu)成,詳細(xì)分析了軟件各部分的功能及實(shí)現(xiàn)。本設(shè)計(jì)在數(shù)據(jù)存儲(chǔ)和交換領(lǐng)域具有很好的應(yīng)用前景。 【關(guān)鍵詞】SD 卡嵌入式系統(tǒng)SPI FAT32 數(shù)據(jù)庫(kù) SD 卡存儲(chǔ)介質(zhì)是一種新的大容量、非易失性外部存儲(chǔ)系 統(tǒng),它的出現(xiàn)提供了一個(gè)便宜的、結(jié)實(shí)的、卡片式的存儲(chǔ)媒介。 SD 卡的容量從16 MB 到最高32 GB 不等。容量范圍如此之 寬,可為眾多應(yīng)用提供充足的外部存儲(chǔ)空間。 SD 卡作為各種消費(fèi)電子產(chǎn)品外部存儲(chǔ)的應(yīng)用、開發(fā)技術(shù) 己經(jīng)非常成熟、廣泛。本設(shè)計(jì)嘗試在AVR 單片機(jī)上實(shí)現(xiàn)對(duì)SD 卡讀寫操作,進(jìn)而實(shí)現(xiàn)對(duì)SD 卡上數(shù)據(jù)庫(kù)進(jìn)行讀寫操作
標(biāo)簽: AVR SD卡 數(shù)據(jù)導(dǎo)出 接口設(shè)計(jì)
上傳時(shí)間: 2013-11-13
上傳用戶:13925096126
介紹一款單片機(jī)存儲(chǔ)設(shè)備轉(zhuǎn)儲(chǔ)器,以C8051F040為核心控制模塊,通過外接兩個(gè)CH375 U盤模塊、液晶顯示模塊及鍵盤模塊等實(shí)現(xiàn)兩個(gè)U盤之間數(shù)據(jù)的相互轉(zhuǎn)儲(chǔ),很好地解決了U盤內(nèi)容轉(zhuǎn)儲(chǔ)離不開電腦而帶來(lái)的不便以及容易感染病毒等弊端。C8051F040通過CH375 按照相應(yīng)的USB協(xié)議與USB設(shè)備通訊,通過調(diào)用CH375提供的子程序庫(kù)來(lái)直接讀取U盤中的數(shù)據(jù),實(shí)現(xiàn)了普通單片機(jī)與U盤的通訊,支持常用的12 Mb/s 全速USB設(shè)備和1. 5 Mb/s低速設(shè)備。該設(shè)計(jì)方案具有低成本、低功耗、操作簡(jiǎn)單等特點(diǎn),將會(huì)有廣闊的應(yīng)用前景。
標(biāo)簽: 單片機(jī) 存儲(chǔ)設(shè)備 轉(zhuǎn)儲(chǔ)器
上傳時(shí)間: 2013-12-17
上傳用戶:xzt
具有PCI總線等接口形式的采集卡雖然傳輸速率高,但安裝麻煩,易受PC機(jī)插槽數(shù)量、地址、中斷資源的限制。為了解決以上問題,設(shè)計(jì)了基于ISP1581的高速USB接口的多通道數(shù)據(jù)采集系統(tǒng),介紹了系統(tǒng)硬件組成以及軟件程序的開發(fā)過程。經(jīng)驗(yàn)證,系統(tǒng)最高傳輸速率可達(dá)60 Mb/s。
標(biāo)簽: 1581 ISP USB 數(shù)據(jù)采集系統(tǒng)
上傳時(shí)間: 2013-10-31
上傳用戶:ANRAN
FEATURES400 MSPS internal clock speedIntegrated 10-bit DAC32-bit tuning wordPhase noise ≤ –120 dBc/Hz @ 1 kHz offset (DAC output)Excellent dynamic performance>75 dB SFDR @ 160 MHz (±100 kHz offset) AOUTSerial I/O control1.8 V power supplySoftware and hardware controlled power-down48-lead TQFP/EP packageSupport for 5 V input levels on most digital inputsPLL REFCLK multiplier (4× to 20×)Internal oscillator; can be driven by a single crystalPhase modulation capabilityMultichip synchronization
上傳時(shí)間: 2014-12-04
上傳用戶:axin881314
at91rm9200啟動(dòng)過程教程 系統(tǒng)上電,檢測(cè)BMS,選擇系統(tǒng)的啟動(dòng)方式,如果BMS為高電平,則系統(tǒng)從片內(nèi)ROM啟動(dòng)。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個(gè)地址處都可以訪問到ROM。由于9200的ROM中固化了一個(gè)BOOTLOAER程序。所以PC從0X0處開始執(zhí)行這個(gè)BOOTLOAER(準(zhǔn)確的說(shuō)應(yīng)該是一級(jí)BOOTLOADER)。這個(gè)BOOTLOER依次完成以下步驟: 1、PLL SETUP,設(shè)置PLLB產(chǎn)生48M時(shí)鐘頻率提供給USB DEVICE。同時(shí)DEBUG USART也被初始化為48M的時(shí)鐘頻率; 2、相應(yīng)模式下的堆棧設(shè)置; 3、檢測(cè)主時(shí)鐘源(Main oscillator); 4、中斷控制器(AIC)的設(shè)置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認(rèn)為BOOT過程結(jié)束,接下來(lái)的就是LOADER的過程,或者也可以認(rèn)為是裝載二級(jí)BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來(lái)找合法的BOOT程序。所謂合法的指的是在這些存儲(chǔ)設(shè)備的開始地址處連續(xù)的存放的32個(gè)字節(jié),也就是8條指令必須是跳轉(zhuǎn)指令或者裝載PC的指令,其實(shí)這樣規(guī)定就是把這8條指令當(dāng)作是異常向量表來(lái)處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關(guān)于如何計(jì)算和寫這條指令可以參考用戶手冊(cè)。一旦合法的映像找到之后,則BOOT程序會(huì)把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當(dāng)BOOT程序完成了把合法的映像搬到SRAM的任務(wù)以后,接下來(lái)就進(jìn)行存儲(chǔ)器的REMAP,經(jīng)過REMAP之后,SRAM從映設(shè)前的0X200000地址處被映設(shè)到了0X0地址并且程序從0X0處開始執(zhí)行。而ROM這時(shí)只能在0X100000這個(gè)地址處看到了。至此9200就算完成了一種形式的啟動(dòng)過程。如果BOOT程序在以上所列的幾種存儲(chǔ)設(shè)備中找到合法的映像,則自動(dòng)初始化DEBUG USART口和USB DEVICE口以準(zhǔn)備從外部載入映像。對(duì)DEBUG口的初始化包括設(shè)置參數(shù)115200 8 N 1以及運(yùn)行XMODEM協(xié)議。對(duì)USB DEVICE進(jìn)行初始化以及運(yùn)行DFU協(xié)議。現(xiàn)在用戶可以從外部(假定為PC平臺(tái))載入你的映像了。在PC平臺(tái)下,以WIN2000為例,你可以用超級(jí)終端來(lái)完成這個(gè)功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來(lái)的過程就是和前面一樣重映設(shè)然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內(nèi)的ROM啟動(dòng)的一個(gè)過程。如果BMS為低電平,則AT91RM9200會(huì)從片外的FLASH啟動(dòng),這時(shí)片外的FLASH的起始地址就是0X0了,接下來(lái)的過程和片內(nèi)啟動(dòng)的過程是一樣的,只不過這時(shí)就需要自己寫啟動(dòng)代碼了,至于怎么寫,大致的內(nèi)容和ROM的BOOT差不多,不同的硬件設(shè)計(jì)可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設(shè)計(jì)的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說(shuō)不用像片內(nèi)啟動(dòng)可能需要BOOT好幾級(jí)了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個(gè)開放源代碼的軟件,用戶可以自由下載并根據(jù)自己的應(yīng)用配置。總的說(shuō)來(lái),筆者以為AT91RM9200的啟動(dòng)過程比較簡(jiǎn)單,ATMEL的服務(wù)也不錯(cuò),不但提供了片內(nèi)啟動(dòng)的功能,還提供了UBOOT可供下載。筆者寫了一個(gè)BOOTLODER從片外的FLASHA啟動(dòng),效果還可以。 uboot結(jié)構(gòu)與使用uboot是一個(gè)龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設(shè)的驅(qū)動(dòng),是一個(gè)功能強(qiáng)大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動(dòng)uboot,還有兩個(gè)boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級(jí)boot。其源碼可以從atmel的官方網(wǎng)站下載。 我們知道,當(dāng)9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內(nèi)rom啟動(dòng),這時(shí)rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時(shí)我們打開超級(jí)終端會(huì)看到ccccc...。這說(shuō)明系統(tǒng)已經(jīng)啟動(dòng),同時(shí)xmodem協(xié)議已經(jīng)啟動(dòng),用戶可以通過超級(jí)終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內(nèi)的sram中。這個(gè)loder完成的功能主要是初始化時(shí)鐘,sdram和xmodem協(xié)議,為下載和啟動(dòng)uboot做準(zhǔn)備。當(dāng)下載了loader.bin后,超級(jí)終端會(huì)繼續(xù)打印:ccccc....。這時(shí)我們就可以下在uboot了。uboot將被下載到sdram中的一個(gè)地址后并把pc指針調(diào)到此處開始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動(dòng)了,提示符uboot>,用戶可以u(píng)boot>help 看到命令列表和大概的功能。uboot的命令包含了對(duì)內(nèi)存、flash、網(wǎng)絡(luò)、系統(tǒng)啟動(dòng)等一些命令。 如果系統(tǒng)上電時(shí)bms為低電平,則系統(tǒng)從片外的flash啟動(dòng)。為了從片外的flash啟動(dòng)uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動(dòng)后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內(nèi)rom啟動(dòng)uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經(jīng)啟動(dò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)先啟動(dòng)boot,然后解壓縮uboot.gz,然后啟動(dòng)uboot。注意,這里uboot必須壓縮成.gz文件,否則會(huì)出錯(cuò)。 怎么編譯這三個(gè)源碼包呢,首先要建立一個(gè)arm的交叉編譯環(huán)境,關(guān)于如何建立,此處不予說(shuō)明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項(xiàng)目,正確填寫你的編譯器的所在路徑。 對(duì)loader和boot,直接make。對(duì)uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會(huì)在當(dāng)前目錄下分別生成*.bin文件,對(duì)于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對(duì)loader和boot搞不清楚為什么要兩個(gè),有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動(dòng)uboot的功能,他要對(duì)uboot的壓縮文件進(jìn)行解壓,除此之外,他和loader并無(wú)大的區(qū)別,你可以把boot理解為在loader的基礎(chǔ)上加入了解壓縮.gz的功能而已。所以這兩個(gè)并無(wú)多大的本質(zhì)不同,只是他們的使命不同而已。 特別說(shuō)名的是這三個(gè)軟件包都是開放源碼的,所以用戶可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。
上傳時(shí)間: 2013-10-27
上傳用戶:wsf950131
arm指令集(1) ARM跳轉(zhuǎn)指令可以從當(dāng)前指令向前或向后的32MB地址空間跳轉(zhuǎn)。這類跳轉(zhuǎn)指令有以下4種。 (1)B 跳4專指令 B〔條件) (地址) B指令屬于ARM指令集,是最簡(jiǎn)單的分支指令。一旦遇到一個(gè)B指令,ARM處理器將立即跳轉(zhuǎn)到給定的地址,從那里繼續(xù)執(zhí)行。注意:存儲(chǔ)在分支指令中的實(shí)際值是相對(duì)當(dāng)前R15的值的一個(gè)偏移量,而不是一個(gè)絕對(duì)地址。它的值由匯編器來(lái)計(jì)算,是24位有符號(hào)數(shù),左移兩位后有符號(hào)擴(kuò)展為32位,表示的有效偏移位為26位(+/- 32 MB)。 (2)BL 帶返回的跳轉(zhuǎn)指令 BI,〔條件) (地址) BL指令也屬于ARM指令集,是另一個(gè)分支指令。就在分支之前,在寄存器R14中裝載上R15的內(nèi)容,因此可以重新裝載R14到R15中來(lái)返回到這個(gè)分支之后的那個(gè)指令處執(zhí)行,它是子例程的一個(gè)基本但強(qiáng)力的實(shí)現(xiàn)。 (3)BLX 帶返回和狀態(tài)切換的跳轉(zhuǎn)指令 BLX <地址> BLX指令有兩種格式,第1種格式的BLX指令記作BLX(1)。BLX(1)從ARM指令集跳轉(zhuǎn)到指令中指定的目標(biāo)地址,并將程序狀態(tài)切換到Thumb狀態(tài),該指令同時(shí)將PC寄存器的內(nèi)容復(fù)制到LR寄存器中。 BLX(1)指令屬于無(wú)條件執(zhí)行的指令。 第2種格式的BLX指令記作BLX(2)。BLX(2)指令從ARM指令集跳轉(zhuǎn)到指令中指定的目標(biāo)地址,目標(biāo)地址的指令可以是ARM指令,也可以是Thumb指令。目標(biāo)地址放在指令中的寄存器<dest>中,該地址的bit[0]值為0,目標(biāo)地址處的指令類型由CPSR中的T位決定。該指令同時(shí)將PC寄存器的內(nèi)容復(fù)制到LR寄存器中。 (4)BX 帶狀態(tài)切換的跳轉(zhuǎn)指令 BX(條件) (dest) BX指令跳轉(zhuǎn)到指令中指定的目標(biāo)地址,目標(biāo)地址處的指令可以是ARM指令,也可以是Thumb指令。目標(biāo)地址值為指令的值和0xFl·FFFFFF做“與”操作的結(jié)果,目標(biāo)地址處的指令類型由寄存器決定。
上傳時(shí)間: 2014-12-27
上傳用戶:laomv123
1、 支持USB 1.1通訊協(xié)議;2、 支持高速(Full Speed、12Mbps )和低速(Low Speed、1.5Mbps )傳輸;3、 6MHz晶體,鎖相環(huán)PLL振蕩器提供高速、低速所需時(shí)鐘源;4、 支持3個(gè)端口(endpoint),可獨(dú)立編程為IN 或 OUT端口。5、 PS/2:支持PS/2協(xié)議(eg.鼠標(biāo)),與USB復(fù)用。
上傳時(shí)間: 2013-11-03
上傳用戶:hbsunhui
應(yīng)用軟件根據(jù)BYPASS信號(hào)的值來(lái)決定是否使用PLL。如果使用PLL,那么它總是輸出一個(gè)200MHz的時(shí)鐘信號(hào),并且聯(lián)合系統(tǒng)分頻器(SYSDIV)共同產(chǎn)生系統(tǒng)時(shí)鐘。饋送到PWM模塊的時(shí)鐘由系統(tǒng)時(shí)鐘提供。如果應(yīng)用中需要較低的PWM時(shí)鐘,那么在時(shí)鐘信號(hào)到達(dá)PWM模塊前可以使用PWM分頻器(PWMDIV)先分頻。ADC時(shí)鐘使用一個(gè)時(shí)鐘源(source)為200MHz的常量分頻器,這就意味著如果要使ADC時(shí)鐘的工作頻率保持在14-18MHz范圍內(nèi),必須使能并使用PLL。
標(biāo)簽: Stellaris 微控制器 時(shí)鐘
上傳時(shí)間: 2013-10-17
上傳用戶:hjshhyy
世界著名廠家單片機(jī)簡(jiǎn)介1.Motorola 單片機(jī):Motorola是世界上最大的單片機(jī)廠商,品種全,選擇余地大,新產(chǎn)品多,在8位機(jī)方面有68HC05和升級(jí)產(chǎn)品68HC08,68HC05有30多個(gè)系列200多個(gè)品種,產(chǎn)量超過20億片.8位增強(qiáng)型單片機(jī)68HC11也有30多個(gè)品種,年產(chǎn)量1億片以上,升級(jí)產(chǎn)品有68HC12.16位單片機(jī)68HC16也有十多個(gè)品種.32位單片機(jī)683XX系列也有幾十個(gè)品種.近年來(lái)以PowerPC,Codfire,M.CORE等作為CPU,用DSP作為輔助模塊集成的單片機(jī)也紛紛推出,目前仍是單片機(jī)的首選品牌.Motorola單片機(jī)特點(diǎn)之一是在同樣的速度下所用的時(shí)鐘較Intel類單片機(jī)低的多因而使得高頻噪聲低,抗干擾能力強(qiáng),更適合用于工控領(lǐng)域以及惡劣環(huán)境.Motorola 8位單片機(jī)過去策略是掩膜為主,最近推出OTP計(jì)劃以適應(yīng)單片機(jī)的發(fā)展,在32位機(jī)上,M.CORE在性能和功耗上都勝過ARM7.2.Microchip 單片機(jī):Microchip 單片機(jī)是市場(chǎng)份額增長(zhǎng)最快的單片機(jī).他的主要產(chǎn)品是16C系列8位單片機(jī),CPU采用RISC結(jié)構(gòu),僅33條指令,運(yùn)行速度快,且以低價(jià)位著稱,一般單片機(jī)價(jià)格都在1美元以下.Microchip 單片機(jī)沒有掩膜產(chǎn)品,全部都是OTP器件(現(xiàn)已推出FLASH型單片機(jī)).Microchip強(qiáng)調(diào)節(jié)約成本的最優(yōu)化設(shè)計(jì),是使用量大,檔次低,價(jià)格敏感的產(chǎn)品.3.Scenix單片機(jī):Scenix單片機(jī)的I/O模塊最有創(chuàng)意.I/O模塊的集成與組合技術(shù)是單片機(jī)技術(shù)不可缺少的重要方面.除傳統(tǒng)的I/O功能模塊如并行I/O,URT,SPI,I2C,A/D,PWM,PLL,DTMF等,新的I/O模塊不斷出現(xiàn),如USB,CAN,J1850,最具代表的是Motorola 32位單片機(jī),它集成了包括各種通信協(xié)議在內(nèi)的I/O模塊,而Scenix單片機(jī)在I/O模塊的處理上引入了虛擬I/O的概念. Scenix單片機(jī)采用了RISC結(jié)構(gòu)的CPU,使CPU最高工作頻率達(dá)50MHz.運(yùn)算速度接近50MIPS.有了強(qiáng)有力的CPU,各種I/O功能便可以用軟件的辦法模擬.單片機(jī)的封裝采用20/28引腳.公司提供各種I/O的庫(kù)函數(shù),用于實(shí)現(xiàn)各種I/O模塊的功能.這些軟件完成的模塊包括多路UART,多種A/D,PWM,SPI,DTMF,FSK,LCD驅(qū)動(dòng)等,這些都是通常用硬件實(shí)現(xiàn)起來(lái)相當(dāng)復(fù)雜的模塊.4.NEC單片機(jī):NEC單片機(jī)自成體系,以8位機(jī)78K系列產(chǎn)量最高,也有16位,32位單片機(jī).16位單片機(jī)采用內(nèi)部倍頻技術(shù),以降低外時(shí)鐘頻率.有的單片機(jī)采用內(nèi)置操作系統(tǒng).NEC的銷售策略注重服務(wù)大客戶,并投入相當(dāng)大的技術(shù)力量幫助大客戶開發(fā)新產(chǎn)品.5.東芝單片機(jī):東芝單片機(jī)從4位倒64位,門類齊全.4位機(jī)在家電領(lǐng)域仍有較大市場(chǎng).8位機(jī)主要有870系列,90系列等.該類單片機(jī)允許使用慢模式,采用32KHz時(shí)鐘功耗低至10uA數(shù)量級(jí).CPU內(nèi)部多組寄存器的使用,使得中斷響應(yīng)與處理更加快捷.東芝公司的32位機(jī)采用MIPS3000 ARISC的CPU結(jié)構(gòu),面向VCD,數(shù)字相機(jī),圖象處理市場(chǎng).6.富士通單片機(jī):富士通也有8位,16位和32位單片機(jī),但是8位機(jī)使用的是16位的CPU內(nèi)核.也就是說(shuō)8位機(jī)與16位機(jī)指令相同,使得開發(fā)比較容易.8位機(jī)有名是MB8900系列,16位機(jī)有MB90系列.富士通注重服務(wù)大公司,大客戶,幫助大客戶開發(fā)產(chǎn)品.7.Epson 單片機(jī):Epson公司以擅長(zhǎng)制造液晶顯示器著稱,故Epson單片機(jī)主要為該公司生產(chǎn)的LCD配套.其單片機(jī)的LCD驅(qū)動(dòng)做的特別好.在低電壓,低功耗方面也很有特色.目前0.9V供電的單片機(jī)已經(jīng)上市,不久LCD顯示手表將使用0.5V供電.
上傳時(shí)間: 2014-12-28
上傳用戶:leyesome
時(shí)鐘和低功耗模式片內(nèi)集成有PLL(鎖相環(huán))電路。外接的基準(zhǔn)晶體+PLL(鎖相環(huán))電路共同組成系統(tǒng)時(shí)鐘電路。有關(guān)引腳:XTAL1/CLKIN:外接的基準(zhǔn)晶體到片內(nèi)振蕩器輸入引腳;如使用外部振蕩器,外部振蕩器的輸出必須接該腳。XTAL2:片內(nèi)PLL振蕩器輸出引腳;CLKOUT/IOPE0:該腳可作為時(shí)鐘輸出或通用IO腳;可用來(lái)輸出CPU時(shí)鐘或看門狗定時(shí)器時(shí)鐘;由系統(tǒng)控制狀態(tài)寄存器(SCSR1)中的位14決定。
上傳時(shí)間: 2013-10-24
上傳用戶:1159797854
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1