日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣用Arduino讀取和寫入外部EEPROM的數(shù)據(jù)

454398 ? 來源:工程師吳畏 ? 2019-07-30 11:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

您需要的東西

EEPROM - 24LC512

ATmega328P-PU

16 MHz Crystal

面包板

電阻器4.7k Ohmx 2

電容器22 pFx 2

故事

EEPROM 代表 E lectrically E rasable P 可編程 R ead- O nly M emory。

EEPROM非常重要且有用,因為它是一種非易失性的內(nèi)存形式。這意味著即使電路板斷電,EEPROM芯片仍然保留寫入的程序。因此,當(dāng)您關(guān)閉電路板然后重新打開電源時,可以運行寫入EEPROM的程序。所以基本上,無論如何,EEPROM都存儲并運行程序。這意味著您可以關(guān)閉設(shè)備,將其關(guān)閉3天,然后返回并打開設(shè)備,它仍然可以運行其中編程的程序。這就是大多數(shù)消費電子設(shè)備的工作方式。

該項目由LCSC贊助。我一直在使用LCSC.com的電子元件。 LCSC致力于以最優(yōu)惠的價格提供各種真正的高品質(zhì)電子元件,并通過遍布200多個國家的全球運輸網(wǎng)絡(luò)。

EEPROM也非常高效傳統(tǒng)EEPROM中的各個字節(jié)可以獨立讀取,擦除和重寫。在大多數(shù)其他類型的非易失性存儲器中,這是不可能做到的。

Microchip 24系列EEPROM這樣的串行EEPROM器件允許您為任何可以說I2C的器件添加更多存儲器。

EEPROM基礎(chǔ)知識

Microchip 24LC2512芯片可以采用8引腳DIP封裝。 24LC512上的引腳非常直接,包括電源(8),GND(4),寫保護(7),SCL/SDA(6,5)和三個地址引腳(1,2,3)。

ROM的簡史

早期的“存儲程序”類型的計算機 - 例如桌面計算器和鍵盤解釋器 - 開始以二極管矩陣ROM的形式使用ROM。這是一個由分散的半導(dǎo)體二極管組成的存儲器,放置在特殊組織的PCB上。隨著集成電路的出現(xiàn),這讓位于Mask ROM。掩模ROM很像二極管矩陣ROM,只是它的實現(xiàn)規(guī)模要小得多。然而,這意味著你不能只用烙鐵移動幾個二極管并重新編程。掩模ROM必須由制造商編程,此后不可更改。

不幸的是,Mask ROM價格昂貴并且需要很長時間才能生產(chǎn),因為每個新程序都需要一個由鑄造廠生產(chǎn)的全新設(shè)備。然而,在1956年,這個問題通過PROM(可編程ROM)的發(fā)明得以解決,PROM允許開發(fā)人員自己編寫芯片。這意味著制造商可以生產(chǎn)數(shù)百萬個相同的未編程設(shè)備,使其更便宜,更實用。但是,PROM只能使用高壓編程設(shè)備寫入一次。在編程PROM器件之后,無法將器件恢復(fù)到未編程狀態(tài)。

1971年隨著EPROM(可擦除可編程ROM)的發(fā)明而改變了 - 除了在首字母縮寫詞中添加另一個字母 - 帶有擦除設(shè)備的能力,并使用強大的紫外光源將其恢復(fù)到“空白”狀態(tài)。那是對的,你必須在IC上發(fā)出明亮的光線才能重新編程,這有多酷?好吧,事實證明它非???,除非你是一個開發(fā)固件的開發(fā)人員,在這種情況下,你真的希望能夠使用電子信號重新編程設(shè)備。隨著EEPROM(電可擦除可編程ROM)的發(fā)展,這終于在1983年成為現(xiàn)實,我們到達了當(dāng)今笨拙的首字母縮略詞。

EEPROM的怪癖

EEPROM作為一種方法存在兩個主要缺點數(shù)據(jù)存儲。在大多數(shù)應(yīng)用中,優(yōu)點超過了缺點,但在將EEPROM納入下一個設(shè)計之前,您應(yīng)該了解它們。

首先,使EEPROM工作的技術(shù)也限制了它的可用次數(shù)被重寫。這與電子被困在構(gòu)成ROM的晶體管中并累積直到“1”和“0”之間的電荷差異無法識別有關(guān)。但不用擔(dān)心,大多數(shù)EEPROM的最大重寫次數(shù)為100萬或更多。只要你沒有連續(xù)寫入EEPROM,你就不可能達到這個最大值。

其次,如果你從中斷電源,EEPROM將不會被刪除,但它不能保留在你的數(shù)據(jù)無限期。電子可以漂移出晶體管并通過絕緣體,隨著時間的推移有效地擦除EEPROM。也就是說,這通常會在幾年內(nèi)發(fā)生(雖然它可以通過加熱加速)。大多數(shù)制造商表示,在室溫下,您的數(shù)據(jù)在EEPROM上安全10年或更長時間。

在為項目選擇EEPROM器件時,還應(yīng)記住一件事。 EEPROM容量以位而不是字節(jié)來度量。 512K EEPROM將保存512K位數(shù)據(jù),換句話說,只有64KB。

Arduino硬件連接

好了,現(xiàn)在我們知道了什么是EEPROM,讓我們掛起來看看它能做些什么!為了讓我們的設(shè)備說話,我們需要連接電源和I2C串行線。該器件特別在5VDC下運行,因此我們將它連接到Arduino UNO的5V輸出。此外,I2C線路需要上拉電阻才能正常通信。這些電阻的值取決于線路的電容和您想要通信的頻率,但非關(guān)鍵應(yīng)用的一個好的經(jīng)驗法則就是將其保持在kΩ范圍內(nèi)。在本例中,我們將使用4.7kΩ上拉電阻。

此器件上有三個引腳用于選擇I2C地址,這樣就可以在總線上有多個EEPROM,并以不同的方式對它們進行尋址。您可以將它們?nèi)拷拥?,但我們將對它們進行布線,以便我們可以在本教程的后面部分使用更高容量的設(shè)備。

我們將使用面包板將所有內(nèi)容連接在一起。下圖顯示了大多數(shù)I2CEEPROM器件的正確連接,包括我們銷售的Microchip 24系列EEPROM。

閱讀和寫作

大多數(shù)情況下,當(dāng)您將EEPROM與微控制器結(jié)合使用時,您實際上不需要同時查看存儲器的所有內(nèi)容。您只需根據(jù)需要在此處讀取和寫入字節(jié)。但是,在這個例子中,我們要將整個文件寫入EEPROM,然后將其全部讀回,以便我們可以在計算機上查看。這應(yīng)該讓我們對使用EEPROM的想法感到滿意,并讓我們感覺有多少數(shù)據(jù)可以真正適合小型設(shè)備。

寫點東西

我們的示例草圖將簡單地取出任何字節(jié)串行端口并將其寫入EEPROM,跟蹤我們寫入內(nèi)存的字節(jié)數(shù)。

將一個字節(jié)的內(nèi)存寫入EEPROM通常分三步進行:

發(fā)送要寫入的內(nèi)存地址的最高有效字節(jié)。

發(fā)送要寫入的內(nèi)存地址的最低有效字節(jié)。

發(fā)送您想要存儲在此位置的數(shù)據(jù)字節(jié)。

可能有一些關(guān)鍵詞可以解釋:

記憶地址

如果你想象512 Kbit EEPROM中的所有字節(jié)從0開始排成一行到64000 - 因為一個字節(jié)有8位,因此你可以在512 Kbit EEPROM上安裝64000字節(jié) - 然后一個存儲器地址就是你找到一個特定字節(jié)的位置。我們需要將該地址發(fā)送到EEPROM,以便它知道放置我們發(fā)送的字節(jié)的位置。

最重要和最不重要的字節(jié)

因為256 Kbit EEPROM中有32000個可能的位置 - 并且因為255是可以在一個字節(jié)中編碼的最大數(shù)字 - 我們需要以兩個字節(jié)發(fā)送該地址。首先,我們發(fā)送最高有效字節(jié)(MSB) - 在這種情況下的前8位。然后我們發(fā)送最低有效字節(jié)(LSB) - 第二個8位。為什么?因為這是設(shè)備期望接收它們的方式,所以就是這樣。

頁面寫作

一次寫一個字節(jié)很好,但是大多數(shù)EEPROM設(shè)備都有一個叫做“頁面寫緩沖區(qū)”的東西,可以讓你寫多個每次字節(jié)的方式與單個字節(jié)的方式相同。我們將在示例草圖中利用這一點。

EEPROM使用內(nèi)部計數(shù)器,它會在接收到的每個后續(xù)數(shù)據(jù)字節(jié)時自動增加內(nèi)存位置。一旦發(fā)送了內(nèi)存地址,我們就可以使用最多64個字節(jié)的數(shù)據(jù)。 EEPROM(正確地)假定地址312后跟10個字節(jié)將在地址312處記錄字節(jié)0,在地址313處記錄字節(jié)1,在地址314處記錄字節(jié)2,依此類推。

讀取東西

從EEPROM讀取基本上遵循與寫入EEPROM相同的三步過程:

發(fā)送要寫入的存儲器地址的最高有效字節(jié)。

發(fā)送要寫入的內(nèi)存地址的最低有效字節(jié)。

詢問該位置的數(shù)據(jù)字節(jié)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1146

    瀏覽量

    86389
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6527

    瀏覽量

    197541
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    EB配置MEM和FLS時,讀取和發(fā)送的數(shù)據(jù)驗證失敗,怎么解決?

    當(dāng)我EB配置MEM和FLS時,運行EB提供的官方demo寫入8192個數(shù)據(jù)點,運行代碼后,讀取和發(fā)送的數(shù)據(jù)驗證失敗。通過通過內(nèi)存觀察閃存
    發(fā)表于 04-24 08:12

    RA MCU眾測寶典 | I2C讀取EEPROM

    I2C協(xié)議讀取EEPROM數(shù)據(jù)。瑞薩嵌入式小百科將帶著大家從I2C總線原理、EEPROM(AT24C02)特性,到FSP中I2C的引腳配置、參數(shù)設(shè)置,再到字節(jié)寫、
    的頭像 發(fā)表于 01-13 18:05 ?8484次閱讀
    RA MCU眾測寶典 | I2C<b class='flag-5'>讀取</b><b class='flag-5'>EEPROM</b>

    CYPRESS FRAM實現(xiàn)EDR高速數(shù)據(jù)寫入

    賽普拉斯FRAM技術(shù)以納秒級寫入速度、百萬次擦寫壽命及10年數(shù)據(jù)保持能力,顯著提升EDR設(shè)備的數(shù)據(jù)可靠性。其低功耗與非易失性特性完美適配工業(yè)及車載嚴(yán)苛環(huán)境,為高可靠性數(shù)據(jù)記錄提供理想解
    的頭像 發(fā)表于 01-07 09:56 ?1349次閱讀
    CYPRESS FRAM實現(xiàn)EDR高速<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>寫入</b>

    深度解析onsemi CAT93C86:16Kb Microwire串行EEPROM的技術(shù)特性與應(yīng)用

    DI(或DO)引腳串行寫入(或讀取)。安森美CAT93C86采用先進的CMOS EEPROM浮柵技術(shù)制造而成。該器件設(shè)計耐100萬次編程/擦除周期,數(shù)據(jù)保留期限為100年。該器件采用8
    的頭像 發(fā)表于 11-26 09:31 ?1636次閱讀
    深度解析onsemi CAT93C86:16Kb Microwire串行<b class='flag-5'>EEPROM</b>的技術(shù)特性與應(yīng)用

    蜂鳥E203怎樣外部的攝像頭進行數(shù)據(jù)傳輸?

    蜂鳥E203怎樣外部的攝像頭進行數(shù)據(jù)傳輸
    發(fā)表于 11-05 06:58

    基于X-NUCLEO-PGEEZ1 EEPROM擴展板數(shù)據(jù)手冊的技術(shù)解析與應(yīng)用指南

    STMicroelectronics X-NUCLEO-PGEEZ1 EEPROM內(nèi)存擴展板設(shè)計用于M95P32系列SPI頁面EEPROM進行數(shù)據(jù)讀取
    的頭像 發(fā)表于 10-27 16:01 ?1034次閱讀
    基于X-NUCLEO-PGEEZ1 <b class='flag-5'>EEPROM</b>擴展板<b class='flag-5'>數(shù)據(jù)</b>手冊的技術(shù)解析與應(yīng)用指南

    怎么LL命令讀取SPI?

    ;hspi1, mrx_data, 3, HAL_MAX_DELAY);命令讀取ADC結(jié)果3字節(jié),即時優(yōu)化后也需要1.95us,遠遠不能匹配ADC的速度。我想也只有LL命令才會快了,測試了很長時間都不成功。 請教怎么LL命令讀取
    發(fā)表于 09-09 08:17

    GraniStudio:IO寫入例程

    1.文件運行 導(dǎo)入工程 雙擊運行桌面GraniStudio.exe。 通過引導(dǎo)界面導(dǎo)入IO寫入例程,點擊導(dǎo)入按鈕。 打開IO寫入例程所在路徑,選中IO寫入.gsp文件,點擊打開,完成導(dǎo)入。 2.功能
    的頭像 發(fā)表于 08-22 16:47 ?909次閱讀
    GraniStudio:IO<b class='flag-5'>寫入</b>例程

    FLASH模擬EEPROM入門指南

    頁)。 軟件設(shè)計與實現(xiàn) 初始化流程:定義EEPROM區(qū)域的起始地址與大??;檢查并標(biāo)記初始頁狀態(tài)(如一頁為有效頁,另一頁為擦除態(tài))。 寫入操作邏輯:查找空閑存儲單元寫入數(shù)據(jù)+地址信息
    發(fā)表于 08-14 06:13

    【沁恒CH585開發(fā)板免費試用體驗】I2C 讀寫EEPROM (二)

    */ I2C_GenerateSTOP(ENABLE); } 頁寫 頁寫,AT24C01可一次寫入8 個字節(jié)數(shù)據(jù),AT24C02/04/08/16可以一次寫入16個字節(jié)的
    發(fā)表于 08-05 22:13

    使用 emfile 庫讀取/寫入外部 SD 卡遇到的問題求解

    我正在使用 emfile 庫讀取/寫入外部 SD 卡,但遇到了一個挑戰(zhàn),那就是 emfile 庫沒有 SPI 驅(qū)動程序。有人可以幫我實現(xiàn)一個 spi 驅(qū)動程序來在我的 SD 上執(zhí)行讀/寫過程嗎? 我正在使用 PSOC6(CY8C
    發(fā)表于 08-04 07:42

    USB3014遇到寫入字節(jié)限制,當(dāng)寫入數(shù)據(jù)的長度為1024字節(jié)或其整數(shù)倍時,無法完成寫入操作怎么解決?

    關(guān)于 USB3014 寫入 1024 字節(jié)或其整數(shù)倍的問題,我了解到以下信息: 文檔中提到,如果外部主設(shè)備始終寫入滿數(shù)據(jù)包(如 1024 字節(jié)或其整數(shù)倍),則無需使用 PKTEND#
    發(fā)表于 07-28 08:28

    對于CYUSB3014芯片,哪個函數(shù)可以讀取GPIF II端DMA緩沖區(qū)中緩存的實際數(shù)據(jù)量?

    : 1.哪個函數(shù)可以讀取USB端口緩沖區(qū)數(shù)據(jù)的實際字節(jié)數(shù)? 2. 哪個函數(shù)可以讀取 GPIF II 上 DMA 緩沖區(qū)數(shù)據(jù)的實際字節(jié)數(shù)? 3、GPIF II 接口的標(biāo)志信號會受 USB
    發(fā)表于 07-21 07:27

    FLASH模擬EEPROM

    : EERPOM 結(jié)構(gòu) EEPROM 由兩個頁組成:頁 0 和頁 1,在使用的時候,1 個頁處于有效狀態(tài),另外一個頁處于擦除狀態(tài),讀取或者寫入數(shù)據(jù)都在有效狀態(tài)的頁進行。
    發(fā)表于 07-16 15:13

    STVD使用STM8S005K6T6C內(nèi)部data eeprom進行數(shù)據(jù)寫入操作問題求解

    1.STVD使用STM8S005K6T6C內(nèi)部data eeprom進行數(shù)據(jù)寫入操作,使用st-link V2(B2013 21)進行仿真調(diào)試,發(fā)現(xiàn)寄存器FLASH_CR2寫入1是值仍
    發(fā)表于 06-23 06:29
    鹿邑县| 巴里| 渝中区| 德格县| 年辖:市辖区| 连云港市| 吉林省| 仪征市| 新晃| 贞丰县| 揭西县| 广水市| 阳江市| 龙游县| 宜城市| 永康市| 九龙坡区| 农安县| 蕲春县| 峨边| 赤壁市| 忻州市| 措勤县| 定结县| 汨罗市| 仪陇县| 措勤县| 柳河县| 韶山市| 玛沁县| 股票| 文登市| 漯河市| 武鸣县| 新乡市| 余江县| 无为县| 塘沽区| 城固县| 文成县| 巴塘县|