在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用Verilog來實現EEPROM的讀寫,進行一個簡單的I2C實戰應用

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-08-31 17:17 ? 次閱讀

I2C在芯片的配置中應用還是很多的,比如攝像頭、VGA轉HDMI轉換芯片,之前博主分享過一篇I2C協議的基礎學習IIC協議學習筆記,這篇就使用Verilog來實現EEPROM的讀寫,進行一個簡單的I2C實戰應用。

EEPROM

我使用的這個芯片是AT24C32,它手冊上還有一種AT24C64,其實操作都是一樣的,只是內存大小不同,AT24C32是32k(4096x8)AT24C64是64k(8192x8),

SCL設置為頻率200Khz

SCL clk posedge data輸入EEPROM

SCL clk negedge data輸出EEPROM

SDA 雙向Pin

A2,A1,A0 Device Addr default all 0,只操作一片可懸空引腳。

WP 接地正常讀寫,WP接Vcc寫操作被禁止

字節尋址地址,是由12(AT24C32)或13bit(AT24C64)的地址組成,需要操作16位字地址高3或4位忽略即可。

Device Address 8’hA0寫器件地址,8’hA1讀器件地址

寫字節操作

隨機讀字節操作

我這個芯片是雙字節數據地址,所以在寫數據地址時要寫兩次,先是高字節后是低字節。

開始結束標志

這個I2C總線的時序是一致的。

EEPROM應答

輸出應答sclk的第九個周期給出,低電平應答。如果主機沒有收到應答,需要重新配置。

數據傳輸時序

sda數據線在scl時鐘的下降沿中間變化,可以避免產生誤觸開始結束標志。

I2C Design

i2c_start為高電平有效,傳輸完成后會產生一個i2c_done結束標志,表示操作完成。

I2C狀態轉移圖

I2C寫操作

(1)產生start位

(2)傳送器件地址ID_Address,器件地址的最后一位為數據的傳輸方向位,R/W,低電平0表示主機往從機寫數據(W),1表示主機從從機讀數據(R)。這里按照手冊給出的操作圖,應該是W即低電平。ACK應答,應答是從機發送給主機的應答,這里不用管。

(3)傳送寫入器件寄存器地址,即數據要寫入的位置。同樣ACK應答不用管。

(4)傳送要寫入的數據。ACK應答不用管。

(5)產生stop信號

I2C讀操作

(1)產生start信號

(2)傳送器件地址(寫ID_Address),這里按照手冊給出的操作圖,最低位是W即低電平。ACK。

(3)傳送字地址(寫REG_Address),ACK。

(4)再次產生start信號

(5)再傳送一次器件地址,這里根據手冊最低位是讀R高電平,ACK。

(6)讀取一個字節的數據,讀數據最后結束前無應答ACK信號。

(7)產生stop信號。

讀寫操作的寫器件地址和寫數據地址操作是一樣的,狀態轉移圖中讀寫操作中這兩部分復用了,根據讀寫標志來判斷。

其他部分沒啥好說的根據時序圖寫就行了,需要注意的一點是我們應該在sclk的高電平的中間采樣數據,在sclk低電平的中間改變數據,當sclk為高電平的時候,sda為出現下降沿為start位, sda出現上升沿為stop位,所以在sclk為高電平的時候sda應該保持穩定不能隨意亂動。這就又回到了數據傳輸有效的條件,只有在sclk為低電平期間,才允許數據變化,在高電平期間,不允許數據變化,否則就會出現起始位或結束位。

EEPROM有個仿真模型,在夏雨聞老師的書里面就有,這個模型默認是200khz的sclk驅動,仿真的時候可以將時間參數改小,我這里也分享出來。

仿真模型代碼點擊閱讀原文可以查看。

根據仿真模型仿真的話基本不會有什么問題,需要注意的是操作的完成標志。從仿真上看到輸入讀寫都沒問題,但是stop標志沒產生好,仿真看到讀寫操作沒問題,但實際還是不行的,需要嚴格按照EEPROM的手冊操作時序進行,差一點就不行。

我最后使用撥碼開關作為讀寫使能,數碼管顯示讀出來的輸出,最后實現了對指定存儲地址讀寫數據。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    29

    文章

    1366

    瀏覽量

    111918
  • EEPROM
    +關注

    關注

    9

    文章

    1083

    瀏覽量

    83346

原文標題:基于FPGA的I2C讀寫EEPROM

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    STM32CubeMx入門教程(7):I2C讀寫應用

    導語“本次 教程使用CubeMx配置I2C進行I2C總線設備的數據讀寫操作,使用EEPROM作為實驗對象”
    發表于 07-12 11:34 ?5739次閱讀
    STM32CubeMx入門教程(7):<b class='flag-5'>I2C</b>的<b class='flag-5'>讀寫</b>應用

    I2C讀寫時序分析和實現思路

    上篇推文對I2C總線的特性進行了介紹和描述。對于開發者而言,最重要的是編碼I2C讀寫時序驅動。本篇推文主要總結和分享I2C總線主機端通信的
    發表于 10-01 16:54 ?2839次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>讀寫</b>時序分析和<b class='flag-5'>實現</b>思路

    i2cEEPROM讀寫,計數

    i2cEEPROM讀寫,計數,附程序代碼
    發表于 11-30 15:01

    I2C協議以及I2C讀寫EEPROM

    I2C協議以及I2C讀寫EEPROM實驗文章目錄I2C協議以及I2C
    發表于 08-23 08:25

    使用I2CEEPROM進行操作

    篇《I2C協議詳解》我們了解了I2C的操作流程,這篇,我們就使用I2C
    發表于 12-13 08:19

    如何通過i2c連續讀寫eeprom

    我用verilog自制了i2c模塊,將電路下載到fpga中,在讀寫eeprom時出現問題,不
    發表于 03-29 10:22

    Verilog HDL實現I2C總線功能

    簡述了I2C總線的特點;介紹了開發FPGA時I2C總線模塊的設計思想;給出并解釋了用Verilog HDL實現部分I2C總線功能的程序,以及
    發表于 10-19 10:49 ?104次下載

    PIC的讀寫I2C程序

    PIC的讀寫I2C程序 TITLE " TWO WIRE/I2C BUS INTERFACE WITH PIC16
    發表于 01-16 11:41 ?2055次閱讀

    Verilog HDL實現I2C總線功能

    摘要: 簡述了I2C總線的特點;介紹了開發FPGA時I2C總線模塊的設計思想;給出并解釋了用Verilog HDL實現部分I2C總線功能的程
    發表于 06-20 13:17 ?7037次閱讀
    用<b class='flag-5'>Verilog</b> HDL<b class='flag-5'>實現</b><b class='flag-5'>I2C</b>總線功能

    I2C讀寫EEPROM

    【*】程序簡介 -工程名稱:基本讀寫EEPROM -實驗平臺: 秉火STM32 F429 開發板 -MDK版本:5.16 -ST固件庫版本:1.5.1 【 !】功能簡介: 讀寫板載的 I2C
    發表于 12-13 15:12 ?23次下載

    STM32F10x _硬件I2C讀寫EEPROM(標準外設庫版本)

    STM32F10x_硬件I2C讀寫EEPROM(標準外設庫版本)
    的頭像 發表于 03-25 11:11 ?1.1w次閱讀
    STM32F10x _硬件<b class='flag-5'>I2C</b><b class='flag-5'>讀寫</b><b class='flag-5'>EEPROM</b>(標準外設庫版本)

    STM32F10x_ 模擬I2C讀寫EEPROM

    STM32F10x_模擬I2C讀寫EEPROM
    的頭像 發表于 03-25 11:13 ?1w次閱讀
    STM32F10x_ 模擬<b class='flag-5'>I2C</b><b class='flag-5'>讀寫</b><b class='flag-5'>EEPROM</b>

    STM32學習之I2C協議(讀寫EEPROM

    EEPROM)。# I2C協議(讀寫EEPROM)1、SCL2、SDA二、代碼1.
    發表于 11-30 15:21 ?32次下載
    STM32學習之<b class='flag-5'>I2C</b>協議(<b class='flag-5'>讀寫</b><b class='flag-5'>EEPROM</b>)

    如何使用I2C EEPROM

    電子發燒友網站提供《如何使用I2C EEPROM.zip》資料免費下載
    發表于 02-03 09:53 ?0次下載
    如何使用<b class='flag-5'>I2C</b> <b class='flag-5'>EEPROM</b>

    CW32單片機I2C接口讀寫EEPROM芯片介紹

    CW32單片機I2C接口讀寫EEPROM芯片介紹
    的頭像 發表于 11-09 17:42 ?1462次閱讀
    CW32單片機<b class='flag-5'>I2C</b>接口<b class='flag-5'>讀寫</b><b class='flag-5'>EEPROM</b>芯片介紹
    主站蜘蛛池模板: 成zzzwww日本免费 | 亚洲视频在线一区二区 | 一级特色黄色片 | 性欧美高清极品猛交 | 亚洲视屏一区 | 在线观看免费精品国产 | 亚洲人成网站色7799在线播放 | 一区不卡在线观看 | 3p高h文| 成人国内精品久久久久影院 | 色老头一区二区三区在线观看 | 天天操天天操天天操 | 久久婷婷六月 | 欧美综合影院 | 午夜看黄网站免费 | 韩国三级视频网站 | 成人欧美一区二区三区黑人3p | 青青操久久| 亚洲人成电影在线小说网色 | 天天摸日日摸人人看 | 天天爽夜夜爽精品视频一 | 色婷婷色综合缴情在线 | 色老头久久久久久久久久 | xx性欧美高清 | 色偷偷91久久综合噜噜噜 | 久操青青 | 又粗又长又色又爽视频 | 美女网站在线观看视频18 | 成年人在线网站 | 欧美成人在线网站 | 扒开末成年粉嫩的流白浆视频 | 国产视频黄| 嫩草影院地址一地址二 | 婷婷综合久久狠狠色99h | 久久国产99 | 在线高清一级欧美精品 | 黄色小毛片 | 欧美精品video| 国产精品莉莉欧美自在线线 | 在线播放免费视频 | 免费在线视频播放 |