資源描述:
《基于usb接口的嵌入式數(shù)據(jù)存儲(chǔ)系統(tǒng)設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、基于USB接口的嵌入式數(shù)據(jù)存儲(chǔ)系統(tǒng)設(shè)計(jì)如何方便快捷地實(shí)現(xiàn)數(shù)據(jù)的修改,是系統(tǒng)運(yùn)行效率的關(guān)鍵。主要討論了基于USB接U的EEPROM數(shù)據(jù)存儲(chǔ)程序系統(tǒng)的軟硬件設(shè)計(jì),系統(tǒng)整體設(shè)計(jì)采用上下位機(jī)的開(kāi)發(fā)模式,硬件設(shè)計(jì)采用單片機(jī)作為主處理器,采用串口轉(zhuǎn)換芯片CH340實(shí)現(xiàn)USB接口到串口的轉(zhuǎn)換,使用AT24C04大容量芯片作為EEPROM實(shí)現(xiàn)數(shù)據(jù)高速讀寫(xiě)。上位機(jī)基于MFC在VisualC++6.0環(huán)境下,基于MSComm控件編寫(xiě)串口通訊程序,并編寫(xiě)了友好的人機(jī)交互界面,方便使用和操作。關(guān)鍵詞USB接U;數(shù)據(jù)存儲(chǔ)系統(tǒng);EEPROMTM6A1674-6708(2011)55-0183-
2、030引言數(shù)據(jù)存儲(chǔ)系統(tǒng)在許多領(lǐng)域的生產(chǎn)實(shí)踐中有著重要的意義??刂葡到y(tǒng)中的各種調(diào)試參數(shù)往往需要按照一定數(shù)據(jù)格式進(jìn)行存儲(chǔ),從而完成系統(tǒng)中數(shù)據(jù)的分析、修改來(lái)實(shí)現(xiàn)控制任務(wù)。一般來(lái)說(shuō),系統(tǒng)參數(shù)主要存放在EEPROM中,因此如何方便快捷地實(shí)現(xiàn)數(shù)據(jù)的修改,是系統(tǒng)運(yùn)行效率的關(guān)鍵。常規(guī)方法采用將EEPROM芯片取下,放置在燒錄器上進(jìn)行寫(xiě)入的方式,費(fèi)時(shí)費(fèi)力。本論文基于USB接口,設(shè)計(jì)的基于USB口的數(shù)據(jù)燒錄設(shè)備很好地解決了這個(gè)問(wèn)題。在數(shù)據(jù)更改時(shí)需通過(guò)USB口與其連接,再由板載單片機(jī)經(jīng)串行總線將數(shù)據(jù)讀出或?qū)懭隕EPRORM即可。1數(shù)據(jù)存儲(chǔ)系統(tǒng)硬件設(shè)計(jì)系統(tǒng)設(shè)計(jì)的主要任務(wù)是實(shí)現(xiàn)通過(guò)PC的US
3、B接口對(duì)EEPROM中的數(shù)據(jù)進(jìn)行讀寫(xiě)。在數(shù)據(jù)傳輸過(guò)程中,巾于單片機(jī)與PC連接時(shí)接口匹配問(wèn)題,要在它們之間進(jìn)行串門轉(zhuǎn)換以便于數(shù)據(jù)傳遞。單片機(jī)再通過(guò)串行數(shù)據(jù)總線與EEPROM進(jìn)行數(shù)據(jù)傳送,完成對(duì)它的讀寫(xiě)任務(wù)。經(jīng)過(guò)以上分析,系統(tǒng)主要組成部分如下圖所示:1.1單片機(jī)選型巾于單片機(jī)的種類繁多、型號(hào)各異,可選擇51系列單片機(jī)或AVR單片機(jī)。因?yàn)閱纹瑱C(jī)是通過(guò)I2C串行總線與EEPROM進(jìn)行數(shù)據(jù)傳遞的,所以在此選擇帶I2C總線的AVR單片機(jī),這樣就無(wú)需用軟件模擬I2C總線的時(shí)序,給設(shè)計(jì)帶來(lái)了方便。這里選擇一般的AVR應(yīng)用系統(tǒng)中比較常見(jiàn)的ATmega32。ATmcga32是基于增強(qiáng)的
4、AVRRISC結(jié)構(gòu)的低功耗8位COMS微控制器。它是一款高性能、低功耗、可上電復(fù)位及可編程掉電檢測(cè)的單片機(jī)。由于其先進(jìn)的指令系集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega32的數(shù)據(jù)吞吐率高達(dá)1MIPS/MHZ,從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。ATmega32有如下的特點(diǎn):32K字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時(shí)讀寫(xiě)的能力,即RWW),1024字節(jié)EEPROM,2K字節(jié)SRAM,32個(gè)通用I/O口線,32個(gè)通用工作寄存器,用于邊界掃描的JTAG接口,支持片內(nèi)調(diào)試與編程,3個(gè)具有比較模式的靈活的定時(shí)器/計(jì)數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,
5、面向字節(jié)的兩線串行接口,8路10位具有可選差分輸入級(jí)可編程增益(TQFP封裝)的ADC,具有片內(nèi)振蕩器的可編程看門狗定時(shí)器,一個(gè)SPI串行端U,以及六個(gè)可以通過(guò)軟件進(jìn)行選擇的省電模式。工作于空閑模式時(shí)CPU停止工作,而USRA、兩線接口、A/D轉(zhuǎn)換器、SRAM、T/C、SH端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式下,異步定時(shí)器繼續(xù)運(yùn)行,允許用戶保持一個(gè)時(shí)間基準(zhǔn),而其余功能模塊出于休眠狀態(tài);ADC噪聲抑制模式時(shí)終止CPU和除了異步定吋器與ADC以外所有I/O模塊,以降低ADC轉(zhuǎn)換吋的開(kāi)關(guān)噪聲;Standby模式下只有晶體或諧振振蕩器運(yùn)行,其余功能模塊處于休眠狀態(tài),使得器件只
6、消耗極少的電流,同時(shí)具有快速啟動(dòng)能力;擴(kuò)展Standby模式下則允許振蕩器和異步定時(shí)器繼續(xù)工作。1.2EEPR0M選型EEPR0M的型號(hào)選擇AT24C04,它是ATMEL公司生產(chǎn)的高集成度串行內(nèi)存,此芯片是兩線制串行EEPR0M,可提供4096位的電可擦除只讀存儲(chǔ)器,其中每8位作為一個(gè)字節(jié)構(gòu)成512個(gè)字節(jié)的存儲(chǔ)空間。該芯片適用于許多低功耗、低電壓的工業(yè)及商業(yè)應(yīng)用。AT24C04能提供簡(jiǎn)潔的8引腳PDIP,8引腳JEDECS0IC和8引腳超薄迷你MAP,5引腳S0T23封裝和8引腳TSSOPo芯片的主要特點(diǎn)如下:1)能在低電壓和標(biāo)準(zhǔn)電壓下工作(VCC=1.8至5.5V
7、);2)兩線串行接門;內(nèi)部存在512字節(jié)(4K)存儲(chǔ)區(qū);3)施密特觸發(fā),濾波輸入以抑制噪聲;4)雙向數(shù)據(jù)傳輸協(xié)議;5)具有1兆赫(5V電壓),400千赫(1.8V、2.5V、2.7V)兼容性;6)具有便于硬件數(shù)據(jù)保護(hù)的寫(xiě)保護(hù)功能;7)16字節(jié)的頁(yè)寫(xiě)模式,允許對(duì)部分頁(yè)作寫(xiě)操作。在讀/寫(xiě)操作中首先要對(duì)芯片尋址,以指明對(duì)存儲(chǔ)器的哪一位進(jìn)行操作。AT24C04需要在起始信號(hào)后跟一個(gè)8位的地址來(lái)使能讀寫(xiě)。地址的高四位最重要,它由0、1組成的固定數(shù)組給出并且適用于所有EEPR0M芯片。AT24C04只使用A2和A1兩位地址位,第三位是內(nèi)存頁(yè)地址位。這兩個(gè)地址位必須與它們相應(yīng)