《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于I2C接口EEPROM讀寫控制器設計
基于I2C接口EEPROM讀寫控制器設計
2015年微型機與應用第10期
楊 帆
(貴州大學 大數據與信息工程學院,貴州 貴陽 550025)
摘要: 簡單介紹I2C總線協議,用Altera公司的FPGA(現場可編程門陣列)芯片設計I2C總線接口控制器,用于控制EEPROM(帶電可擦寫可編程只讀存儲器)的讀寫操作。
Abstract:
Key words :

  摘  要: 簡單介紹I2C總線協議,用Altera公司的FPGA(現場可編程門陣列)芯片設計I2C總線接口控制器,用于控制EEPROM(帶電可擦寫可編程只讀存儲器)的讀寫操作。

  關鍵詞: I2C總線;FPGA;EEPROM

0 引言

  隨著電子技術快速發展,有許多的IC需要相互之間進行通信。為此,Philips公司開發了一種性能優越的雙向兩線串行總線I2C(Inter-Integrated Circuit)總線。進行FPGA設計時經常需要與外圍提供I2C接口的芯片進行通信,雖然市場上有專門的I2C總線接口芯片,但是大多性能指標固定、功能單一、使用不方便。根據I2C總線協議和其電路的電氣特性,在Altera公司的EP4CE10F17C8N型號的FPGA芯片上可以方便地實現I2C總線接口,進而實現EEPROM的讀寫操作。

1 I2C總線原理概述

  I2C總線有兩條串行總線,一條是串行時鐘線(SCL),一條是串行數據線(SDA),連接到總線上的每個器件既可以作為發送器又可以作為接收器,且每個器件都有唯一的地址識別。主機主要負責產生時鐘、初始化發送和終止發送等操作。從機則是被主機尋址的器件。典型的連接在I2C總線上的器件有LCD、EEPROM等??偩€的啟動信號條件是當SCL為高電平時,SDA由高變為低;停止條件是當SCL為高電平時,SDA電平由低變高。數據的變化只能發生在SCL為低電平期間[1]。

2 EEPROM讀寫控制器模塊的設計與實現

  在進行數據傳輸時,讀寫控制器首先產生一個啟動信號(當SCL為高電平時,SDA由高變為低),接著發送控制字(即I2C總線器件的特征編碼和3 bit EEPROM的芯片地址)以及寫狀態R/W位為0到總線上。這里的總線器件特征碼為1010,而3 bit EEPROM的芯片地址為000。接著主控制器釋放總線,等待EEPROM發出的應答信號,由于采用的EEPROM型號是24LC64,因此在控制器收到應答后,將首先發送EEPROM高字節的存儲單元地址,當控制器再次收到應答后繼續發送EEPROM低字節的存儲單元地址,當控制器再次收到應答后,判斷是讀還是寫,如果是寫操作,則控制器發送數據字節,并把數據寫入被尋址的存儲單元,EEPROM再次發送應答信號,讀寫控制器收到應答信號后,產生停止信號。如果之前判斷出是讀操作,則控制器會在收到應答后產生一個重復起始條件,緊接著寫入讀控制字10100001,這里的最后一位1表示讀操作,前面的1010000和之前說的一樣,是器件特征編碼1010和3 bit EEPROM芯片地址000。當控制器再次收到應答后會產生一個釋放總線的動作,把總線留給EEPROM,控制器負責接收EEPROM發出的數據。當控制器接收完數據后會占用總線,并發出一個非應答信號,表示數據收到,最后控制器再產生停止信號,停止本次傳輸。模塊的主狀態機如圖1所示。

001.jpg

  這里寫入的地址是2 B的地址,且分兩次寫,因為此EEPROM的地址是16 bit的。

  2.1 控制器的總線時鐘SCL產生

  由于FPGA開發板的時鐘是50 MHz,這里先將輸入的50 MHz時鐘進行分頻產生400 kHz時鐘,利用400 kHz的時鐘去產生總線時鐘SCL。具體方法是:在400 kHz時鐘的下降沿對SCL進行翻轉操作,這樣能很好地實現I2C總線時序要求。這里生成的SCL是200 kHz時鐘。其Verilog代碼如下:

  always@(negedge clk_400k or negedge rst_n)

  begin

  if(!rst_n)

  scl<=0;

  else

  scl<=~scl;

  end

  時序圖如圖2所示。

002.jpg

  由圖2可知,在SCL為高電平時,SDA由高變低會產生一個開始信號,而在SCL為高電平時,SDA由低變高會產生一個停止信號,而數據的改變只能在SCL為低電平期間發生,在SCL為高電平時,數據要保持穩定。數據采樣時使用400 kHz時鐘的上升沿采樣,并且是在SCL為高電平時才能采數據,因為這時的數據穩定。

  2.2 I2C總線數據輸入輸出

  電路的輸出采用三態數據通路設計,如圖3所示。

003.jpg

  其Verilog代碼如下:

  assign sda=link_sda?sda_buf:1′bz;

  由圖3可知,sda的I/O類型為inout,當開關link_sda為1時,讀寫控制器上的數據可以發送到sda上,實現控制器占用總線進行寫操作,當link_sda為0時,輸出為高阻態,而此時外部的sda上的數據可以讀進來,實現了控制器釋放總線,將總線交由從機EEPROM,進而可將EEPROM發出的數據讀進來[2]。

  數據的輸出涉及并串轉換,因為數據寄存器中的數據是8 bit,而I2C總線上傳輸的數據sda為1 bit,其Verilog代碼如下:

  if(count1<8)

  begin

  data<={data[6:0],data[7]};

  sda_buf<=data[7];

  count1<=count1+1;

  state<=t2;

  end

  設計采用循環移位的方式將8 bit的并行data數據一位一位地移到sda_buf線上送出去。

  相反,I2C總線數據的輸入涉及串轉并操作,Verilog代碼如下:

  if(count1 <8)

  begin

  link_sda <= 0;//讀寫控制器釋放總線

  if(scl)

  begin

  data<={data[6:0],sda};//串轉并

  count1<=count1+1;

  state<=r2;

  end

  end

3 仿真驗證

  仿真平臺的搭建如圖4所示。

004.jpg

  由圖4可知,電路的仿真驗證模塊分為I2C接口控制器模塊、ROM模塊、地址發生器模塊、按鍵模塊、EEPROM模塊和數碼管顯示模塊。其中,按鍵模塊用于產生I2C接口控制器的讀寫操作信號;地址發生器模塊用于產生ROM和I2C接口控制器的地址信息;ROM模塊中事先存儲了一定量的數據,并將這些數據發送給I2C接口控制器,用來寫入EEPROM;I2C接口控制器負責EEPROM的讀寫操作;數碼管顯示模塊負責將讀寫控制器從EEPROM中讀出的數據顯示出來,用來查看數據是否正確。

  電路的仿真波形如圖5、圖6所示。

  由圖5可知,在寫EEPROM操作時,讀寫控制器在開始信號后首先寫入1 B的控制字10100000(前面的1010是器件特征碼,000表示EEPROM的芯片地址,最后一位0表示寫操作),緊接著控制器釋放總線,等待EEPROM給它的應答。因為仿真只是模擬,并沒有接入EEPROM,所以應答位呈現高阻態。在應答的后面就是高字節的地址,等到再次收到應答信號時,控制器繼續發送低字節的地址位。這里的地址為0000_0000_0000_ 0000,共2 B,等再次收到應答信號時,控制器會發送單字節的數據0000_0001,將其寫入相應的存儲空間上。收到來自EEPROM的應答后,控制器產生停止信號,結束操作。圖6是控制器讀EEPROM操作,它與寫操作不同的是在寫入控制字和高低字節地址后,控制器會產生新的啟動信號,緊接著寫入1010_0001,最后的1表示是讀操作,這時控制器會釋放總線,等收到應答后繼續釋放總線,以讀取EEPROM中的數據;1 B的數據收完后,控制器產生一個非應答信號并緊接著產生停止信號,表示讀數據任務結束。

4 結論

  利用I2C總線協議設計出EEPROM讀寫控制器,與專用的I2C接口芯片相比,有配置靈活、使用方便、可移植性強的特點,除了滿足EEPROM的讀寫操作,還可滿足其他I2C總線器件的讀寫要求。電路仿真完成后,在FPGA上成功實現EEPROM的讀寫操作,通信正常,滿足要求。

參考文獻

  [1] Philips Semiconductors. The I2C-bus Specification Version 2.1[Z]. 2000.

  [2] 夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2013.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          在线观看福利一区| 国产精品va在线| 国产精品久久久久久久久久ktv| 亚洲国产专区校园欧美| 亚洲精选一区二区| 午夜精品亚洲一区二区三区嫩草| 韩国女主播一区二区三区| 欧美三级视频在线| 久久久久久久久蜜桃| 激情亚洲一区二区三区四区| 国产精品久久久久久久久借妻| 一本色道久久99精品综合| 欧美性天天影院| 国产精品日产欧美久久久久| 欧美日韩视频不卡| 欧美成人官网二区| 毛片av中文字幕一区二区| 国产精品女主播一区二区三区| 欧美午夜性色大片在线观看| 亚洲永久在线| 午夜视频久久久久久| 亚洲永久免费精品| 午夜在线观看免费一区| 亚洲欧美日韩高清| 亚洲手机视频| 国内精品视频一区| 亚洲激情一区| 亚洲电影免费在线观看| 欧美精品日韩| 一区二区日韩伦理片| 国产日韩三区| 欧美激情一区二区三区成人| 欧美影视一区| 亚洲深爱激情| 国产亚洲精品久久久久久| 国产精品av一区二区| 鲁大师成人一区二区三区| 亚洲欧美怡红院| 99热精品在线观看| 久久精品视频免费| 亚洲国产乱码最新视频| 国产女主播在线一区二区| 国产精品亚洲综合色区韩国| 欧美日韩二区三区| 国产精品久久久久毛片软件| 国产精品日韩一区二区三区| 亚洲激情在线视频| 亚洲一级片在线观看| 久久精品123| 亚洲午夜久久久| 亚洲精品色图| 欧美剧在线观看| 国产日韩在线播放| 亚洲一区亚洲| 国产精品久久久久久久午夜片| 久久久久久尹人网香蕉| 欧美影院精品一区| 午夜精品福利视频| 亚洲直播在线一区| 亚洲电影在线免费观看| 性做久久久久久| 在线中文字幕不卡| 国产欧美一区二区精品忘忧草| 亚洲高清在线观看| 亚洲一区二区在线观看视频| 亚洲日产国产精品| 久久不射2019中文字幕| 欧美午夜精品理论片a级大开眼界| 亚洲电影欧美电影有声小说| 亚洲日本电影| 国产拍揄自揄精品视频麻豆| 国产欧美一区二区三区另类精品| 蜜臀久久久99精品久久久久久| 免费国产自线拍一欧美视频| 免费在线观看精品| 亚洲一区二区三| 午夜精品视频在线观看一区二区| 亚洲精品一区在线| 欧美日本免费| 亚洲字幕在线观看| 久久久久高清| 久久九九久精品国产免费直播| 欧美日韩另类字幕中文| 午夜精品久久久久久| 欧美日韩精品伦理作品在线免费观看| 国产精品yjizz| 欧美日韩在线高清| 国产精品久久网站| 国产精品香蕉在线观看| 国产伦精品一区二区三区免费| 久久久亚洲精品一区二区三区| 亚洲女同精品视频| 欧美亚州在线观看| 国内外成人免费激情在线视频网站| 欧美私人啪啪vps| 久久久久这里只有精品| 国产精品视频网址| 国产欧美不卡| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美极品一区| 亚洲裸体在线观看| 欧美日韩一区二区三区四区五区| 国产精品一区二区三区四区| 国产专区一区| 国产九色精品成人porny| 国产精品看片资源| 欧美黄色网络| 美女精品视频一区| 亚洲美女电影在线| 免费的成人av| 亚洲免费电影在线观看| 欧美激情亚洲综合一区| 亚洲精品日韩激情在线电影| 一本色道久久88亚洲综合88| 麻豆精品视频在线| 亚洲欧洲av一区二区| 久久久国产视频91| 欧美视频精品一区| 午夜在线一区二区| 欧美色播在线播放| 国产免费一区二区三区香蕉精| 美女日韩欧美| 国产在线播精品第三| 久久综合免费视频影院| 亚洲一区二区视频在线观看| 国产麻豆视频精品| 国产精品一区二区久久| 久久这里只精品最新地址| 亚洲国产日韩美| 欧美久久电影| 国产主播一区二区三区| 久久国产日韩欧美| 亚洲激情小视频| 欧美在线视频在线播放完整版免费观看| 欧美另类一区二区三区| 蜜月aⅴ免费一区二区三区| 国产日韩精品在线播放| 欧美激情精品久久久久久变态| 国产精品热久久久久夜色精品三区| 亚洲欧美日韩综合一区| 欧美区国产区| 国产亚洲免费的视频看| 亚洲男人第一网站| 国产亚洲欧美一区在线观看| 国产欧美综合在线| 亚洲欧洲在线观看| 国产精品日韩欧美一区二区| 91久久精品一区二区三区| 欧美天堂亚洲电影院在线播放| 欧美成人午夜影院| 在线欧美日韩国产| 欧美日韩不卡视频| 久久亚洲精品一区二区| 久久免费的精品国产v∧| 日韩亚洲国产精品| 久久综合成人精品亚洲另类欧美| 欧美日韩成人网| 亚洲精品之草原avav久久| 免费观看国产成人| 日韩亚洲不卡在线| 久久精品国产欧美激情| 中文精品99久久国产香蕉| 欧美日韩一区二区精品| 国产精品久久久一区二区| 牛人盗摄一区二区三区视频| 在线中文字幕不卡| 麻豆久久久9性大片| 亚洲专区一区| 国产女主播一区| 国产精品推荐精品| 国产精品国产三级国产aⅴ浪潮| 噜噜噜久久亚洲精品国产品小说| 亚洲欧美在线看| 欧美精品在线视频观看| 国产精品www色诱视频| 一本一本久久a久久精品综合麻豆| 午夜欧美不卡精品aaaaa| 欧美一区二区三区四区在线观看地址| 伊人久久男人天堂| 亚洲免费观看高清完整版在线观看熊| 久久久亚洲影院你懂的| 亚洲精品综合在线| 欧美一区成人| 国产精品嫩草99a| 欧美国产欧美综合| 一区二区亚洲精品| 在线观看欧美| 伊人久久综合97精品| 国产精品老牛| 国产精品一区二区你懂得| 美国十次了思思久久精品导航| 国产日韩一区二区三区在线| 国产网站欧美日韩免费精品在线观看| 久久成人人人人精品欧| 欧美另类极品videosbest最新版本| 亚洲高清免费| 亚洲欧美激情视频在线观看一区二区三区| 久久精品99国产精品日本| 国产啪精品视频| 久久久一区二区三区| 欧美午夜宅男影院| 亚洲精品一区二区三区婷婷月| 国精品一区二区| 羞羞漫画18久久大片| 欧美特黄一区| 在线看无码的免费网站| 另类酷文…触手系列精品集v1小说| 欧美一区二区在线| 在线观看视频免费一区二区三区| 国产精品色婷婷久久58| 欧美日本高清| 午夜在线一区二区| 欧美日韩1234| 欧美一区二区三区视频| 亚洲一区二区精品在线| 欧美亚洲专区| 日韩亚洲欧美一区二区三区| 99国产精品久久| 美女主播一区| 亚洲精品久久视频| 免费成人黄色av| 欧美国产亚洲另类动漫| 久热综合在线亚洲精品| 国产亚洲视频在线| 国产伦精品一区二区三区高清版| 久久精品99无色码中文字幕| 久久精品欧洲| 欧美一区二区三区免费在线看| 久久久视频精品| 欧美精品偷拍| 在线电影国产精品| 国产欧美日韩精品a在线观看| 久久久噜噜噜久久中文字免| 欧美夫妇交换俱乐部在线观看| 欧美黄色影院| 亚洲一二三区在线| 久久夜色精品亚洲噜噜国产mv| 午夜精品免费在线| 久久露脸国产精品| 欧美日韩综合一区| 欧美视频在线观看一区| 国内精品久久久久影院优| 先锋影音久久久| 欧美日韩免费一区二区三区| 性欧美精品高清| 欧美体内she精视频在线观看| 久久综合久久88| 亚洲精品免费一区二区三区| 亚洲一区二区三区四区五区午夜| 久久精品伊人| 中文精品99久久国产香蕉| 亚洲乱码精品一二三四区日韩在线| 国产精品乱码妇女bbbb| 亚洲一区二区久久| 久久精品成人一区二区三区| 国内精品久久久久久久影视麻豆| 欧美影视一区| 亚洲视频电影在线| 性久久久久久| 欧美日韩在线影院| 亚洲国产精品国自产拍av秋霞| 国产精品www网站| 欧美日韩国产bt| 国产在线精品自拍| 亚洲美女啪啪| 国产一区二区三区自拍| 欧美一区二区成人6969| 国产精品大片| 亚洲开发第一视频在线播放| 欧美一区二区三区日韩| 欧美另类视频| 久久久综合视频| 好吊视频一区二区三区四区| 韩国美女久久| 亚洲精品三级| 欧美一区二区视频免费观看| 久久久999精品视频| 99在线精品观看| 欧美不卡视频一区| 99精品欧美| 另类专区欧美制服同性| 国产婷婷色一区二区三区| 欧美日本一道本在线视频| 国外成人网址| 欧美一区1区三区3区公司| 亚洲欧美日韩在线播放| 国产精品美女主播| 国产欧美日韩在线观看| 久久久人成影片一区二区三区| 亚洲午夜影视影院在线观看| 欧美成人精精品一区二区频| 欧美在线黄色| 夜夜精品视频| 国产亚洲精品激情久久| 国产人久久人人人人爽| 国产一区二区精品丝袜| 精品成人乱色一区二区| 欧美一区国产一区| 毛片一区二区三区| 欧美国产日韩在线| 久久精品国语| 狠狠色狠狠色综合日日五| 欧美成人午夜影院| 亚洲专区一二三| 欧美视频国产精品| 国产精品视频一| 欧美成人午夜视频| 99精品国产在热久久下载| 欧美日韩综合在线免费观看| 国产精品夜色7777狼人| 午夜视频久久久久久| 国产精品视频一| 久久国产综合精品| 久久亚洲私人国产精品va媚药| 久久午夜影视| 久久综合九色九九| 欧美日韩美女在线| 欧美二区在线播放| 欧美激情四色| 亚洲国产欧美日韩精品| 亚洲午夜精品网| 久久久久久网| 亚洲影院色无极综合| 另类图片综合电影| 亚洲一区二区三区在线| 黄网站免费久久| 亚洲欧美在线播放| 亚洲性人人天天夜夜摸|