色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

使用Verilog來(lái)實(shí)現(xiàn)EEPROM的讀寫(xiě),進(jìn)行一個(gè)簡(jiǎn)單的I2C實(shí)戰(zhàn)應(yīng)用

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

I2C在芯片的配置中應(yīng)用還是很多的,比如攝像頭、VGA轉(zhuǎn)HDMI轉(zhuǎn)換芯片,之前博主分享過(guò)一篇I2C協(xié)議的基礎(chǔ)學(xué)習(xí)IIC協(xié)議學(xué)習(xí)筆記,這篇就使用Verilog來(lái)實(shí)現(xiàn)EEPROM的讀寫(xiě),進(jìn)行一個(gè)簡(jiǎn)單的I2C實(shí)戰(zhàn)應(yīng)用。

EEPROM

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

SCL設(shè)置為頻率200Khz

SCL clk posedge data輸入EEPROM

SCL clk negedge data輸出EEPROM

SDA 雙向Pin

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

WP 接地正常讀寫(xiě),WP接Vcc寫(xiě)操作被禁止

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

Device Address 8’hA0寫(xiě)器件地址,8’hA1讀器件地址

寫(xiě)字節(jié)操作

隨機(jī)讀字節(jié)操作

我這個(gè)芯片是雙字節(jié)數(shù)據(jù)地址,所以在寫(xiě)數(shù)據(jù)地址時(shí)要寫(xiě)兩次,先是高字節(jié)后是低字節(jié)。

開(kāi)始結(jié)束標(biāo)志

這個(gè)I2C總線的時(shí)序是一致的。

EEPROM應(yīng)答

輸出應(yīng)答sclk的第九個(gè)周期給出,低電平應(yīng)答。如果主機(jī)沒(méi)有收到應(yīng)答,需要重新配置。

數(shù)據(jù)傳輸時(shí)序

sda數(shù)據(jù)線在scl時(shí)鐘的下降沿中間變化,可以避免產(chǎn)生誤觸開(kāi)始結(jié)束標(biāo)志。

I2C Design

i2c_start為高電平有效,傳輸完成后會(huì)產(chǎn)生一個(gè)i2c_done結(jié)束標(biāo)志,表示操作完成。

I2C狀態(tài)轉(zhuǎn)移圖

I2C寫(xiě)操作

(1)產(chǎn)生start位

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

(3)傳送寫(xiě)入器件寄存器地址,即數(shù)據(jù)要寫(xiě)入的位置。同樣ACK應(yīng)答不用管。

(4)傳送要寫(xiě)入的數(shù)據(jù)。ACK應(yīng)答不用管。

(5)產(chǎn)生stop信號(hào)

I2C讀操作

(1)產(chǎn)生start信號(hào)

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

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

(4)再次產(chǎn)生start信號(hào)

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

(6)讀取一個(gè)字節(jié)的數(shù)據(jù),讀數(shù)據(jù)最后結(jié)束前無(wú)應(yīng)答ACK信號(hào)。

(7)產(chǎn)生stop信號(hào)。

讀寫(xiě)操作的寫(xiě)器件地址和寫(xiě)數(shù)據(jù)地址操作是一樣的,狀態(tài)轉(zhuǎn)移圖中讀寫(xiě)操作中這兩部分復(fù)用了,根據(jù)讀寫(xiě)標(biāo)志來(lái)判斷。

其他部分沒(méi)啥好說(shuō)的根據(jù)時(shí)序圖寫(xiě)就行了,需要注意的一點(diǎn)是我們應(yīng)該在sclk的高電平的中間采樣數(shù)據(jù),在sclk低電平的中間改變數(shù)據(jù),當(dāng)sclk為高電平的時(shí)候,sda為出現(xiàn)下降沿為start位, sda出現(xiàn)上升沿為stop位,所以在sclk為高電平的時(shí)候sda應(yīng)該保持穩(wěn)定不能隨意亂動(dòng)。這就又回到了數(shù)據(jù)傳輸有效的條件,只有在sclk為低電平期間,才允許數(shù)據(jù)變化,在高電平期間,不允許數(shù)據(jù)變化,否則就會(huì)出現(xiàn)起始位或結(jié)束位。

EEPROM有個(gè)仿真模型,在夏雨聞老師的書(shū)里面就有,這個(gè)模型默認(rèn)是200khz的sclk驅(qū)動(dòng),仿真的時(shí)候可以將時(shí)間參數(shù)改小,我這里也分享出來(lái)。

仿真模型代碼點(diǎn)擊閱讀原文可以查看。

根據(jù)仿真模型仿真的話基本不會(huì)有什么問(wèn)題,需要注意的是操作的完成標(biāo)志。從仿真上看到輸入讀寫(xiě)都沒(méi)問(wèn)題,但是stop標(biāo)志沒(méi)產(chǎn)生好,仿真看到讀寫(xiě)操作沒(méi)問(wèn)題,但實(shí)際還是不行的,需要嚴(yán)格按照EEPROM的手冊(cè)操作時(shí)序進(jìn)行,差一點(diǎn)就不行。

我最后使用撥碼開(kāi)關(guān)作為讀寫(xiě)使能,數(shù)碼管顯示讀出來(lái)的輸出,最后實(shí)現(xiàn)了對(duì)指定存儲(chǔ)地址讀寫(xiě)數(shù)據(jù)。

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

    關(guān)注

    28

    文章

    1355

    瀏覽量

    110864
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1048

    瀏覽量

    82385

原文標(biāo)題:基于FPGA的I2C讀寫(xiě)EEPROM

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32CubeMx入門(mén)教程(7):I2C讀寫(xiě)應(yīng)用

    導(dǎo)語(yǔ)“本次 教程使用CubeMx配置I2C進(jìn)行I2C總線設(shè)備的數(shù)據(jù)讀寫(xiě)操作,使用EEPROM作為實(shí)驗(yàn)對(duì)象”
    發(fā)表于 07-12 11:34 ?4866次閱讀
    STM32CubeMx入門(mén)教程(7):<b class='flag-5'>I2C</b>的<b class='flag-5'>讀寫(xiě)</b>應(yīng)用

    I2C讀寫(xiě)時(shí)序分析和實(shí)現(xiàn)思路

    上篇推文對(duì)I2C總線的特性進(jìn)行了介紹和描述。對(duì)于開(kāi)發(fā)者而言,最重要的是編碼I2C讀寫(xiě)時(shí)序驅(qū)動(dòng)。本篇推文主要總結(jié)和分享I2C總線主機(jī)端通信的
    發(fā)表于 10-01 16:54 ?2235次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>讀寫(xiě)</b>時(shí)序分析和<b class='flag-5'>實(shí)現(xiàn)</b>思路

    i2cEEPROM讀寫(xiě),計(jì)數(shù)

    i2cEEPROM讀寫(xiě),計(jì)數(shù),附程序代碼
    發(fā)表于 11-30 15:01

    I2C協(xié)議以及I2C讀寫(xiě)EEPROM

    I2C協(xié)議以及I2C讀寫(xiě)EEPROM實(shí)驗(yàn)文章目錄I2C協(xié)議以及I2C
    發(fā)表于 08-23 08:25

    使用I2C來(lái)對(duì)EEPROM進(jìn)行操作

    篇《I2C協(xié)議詳解》我們了解了I2C的操作流程,這篇,我們就使用I2C來(lái)對(duì)
    發(fā)表于 12-13 08:19

    如何通過(guò)i2c連續(xù)讀寫(xiě)eeprom

    我用verilog自制了個(gè)i2c模塊,將電路下載到fpga中,在讀寫(xiě)eeprom時(shí)出現(xiàn)問(wèn)題,不
    發(fā)表于 03-29 10:22

    Verilog HDL實(shí)現(xiàn)I2C總線功能

    簡(jiǎn)述了I2C總線的特點(diǎn);介紹了開(kāi)發(fā)FPGA時(shí)I2C總線模塊的設(shè)計(jì)思想;給出并解釋了用Verilog HDL實(shí)現(xiàn)部分I2C總線功能的程序,以及
    發(fā)表于 10-19 10:49 ?104次下載

    PIC的個(gè)讀寫(xiě)I2C程序

    PIC的個(gè)讀寫(xiě)I2C程序 TITLE " TWO WIRE/I2C BUS INTERFACE WITH PIC16
    發(fā)表于 01-16 11:41 ?2000次閱讀

    Verilog HDL實(shí)現(xiàn)I2C總線功能

    摘要: 簡(jiǎn)述了I2C總線的特點(diǎn);介紹了開(kāi)發(fā)FPGA時(shí)I2C總線模塊的設(shè)計(jì)思想;給出并解釋了用Verilog HDL實(shí)現(xiàn)部分I2C總線功能的程
    發(fā)表于 06-20 13:17 ?6958次閱讀
    用<b class='flag-5'>Verilog</b> HDL<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>I2C</b>總線功能

    I2C讀寫(xiě)EEPROM

    【*】程序簡(jiǎn)介 -工程名稱:基本讀寫(xiě)EEPROM -實(shí)驗(yàn)平臺(tái): 秉火STM32 F429 開(kāi)發(fā)板 -MDK版本:5.16 -ST固件庫(kù)版本:1.5.1 【 !】功能簡(jiǎn)介: 讀寫(xiě)板載的 I2C
    發(fā)表于 12-13 15:12 ?23次下載

    STM32F10x _硬件I2C讀寫(xiě)EEPROM(標(biāo)準(zhǔn)外設(shè)庫(kù)版本)

    STM32F10x_硬件I2C讀寫(xiě)EEPROM(標(biāo)準(zhǔn)外設(shè)庫(kù)版本)
    的頭像 發(fā)表于 03-25 11:11 ?1.1w次閱讀
    STM32F10x _硬件<b class='flag-5'>I2C</b><b class='flag-5'>讀寫(xiě)</b><b class='flag-5'>EEPROM</b>(標(biāo)準(zhǔn)外設(shè)庫(kù)版本)

    STM32F10x_ 模擬I2C讀寫(xiě)EEPROM

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

    STM32學(xué)習(xí)之I2C協(xié)議(讀寫(xiě)EEPROM

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

    如何使用I2C EEPROM

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

    CW32單片機(jī)I2C接口讀寫(xiě)EEPROM芯片介紹

    CW32單片機(jī)I2C接口讀寫(xiě)EEPROM芯片介紹
    的頭像 發(fā)表于 11-09 17:42 ?1235次閱讀
    CW32單片機(jī)<b class='flag-5'>I2C</b>接口<b class='flag-5'>讀寫(xiě)</b><b class='flag-5'>EEPROM</b>芯片介紹
    主站蜘蛛池模板: 国产欧美一区二区精品仙草咪 | 第一次破女初国产美女 | xx在线观看| 国产一卡2卡3卡4卡孕妇网站 | 国产在线公开视频 | 99久在线国内在线播放免费观看 | 精品一卡2卡三卡4卡乱码精品视频 | 精品香蕉99久久久久网站 | 一本久道视频无线视频 | 处女座历史名人 | 第一次玩老妇真实经历 | 成人免费无毒在线观看网站 | 胖老太与人牲交BBWBBW高潮 | 色欲AV精品人妻一区二区三区 | 国产色情短视频在线网站 | 99亚洲精品 | 怡红院美国分院一区二区 | 一个人在线观看免费高清视频 | 婷婷六月激情综合一区 | 一区二区中文字幕在线观看 | 日本午夜看x费免 | 亚洲青青草原 | 一个人在线观看视频免费 | 国产精品久久国产三级国不卡顿 | 超碰国产人人做人人爽 | 一本道中文无码亚洲 | 亚洲成AV人片一区二区不卡 | 午夜欧洲亚洲AV永久无码精品 | 国产在线亚洲精品观看不卡 | 欧美一区二区三区久久综 | 久久两性视频 | 成人伊人青草久久综合网 | 最新无码专区在线视频 | 99久久精品国产交换 | 亚洲AV综合色一区二区三区 | 亚洲AV无码国产精品午夜久久 | 玩弄人妻少妇500系列网址 | 亚洲精品国产品国语在线试看 | 火影忍者高清无码黄漫 | 国产精品久久久久久久人人看 | 777琪琪午夜理论电影网 |