亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于I2C接口EEPROM讀寫控制器設計

        2015-10-20 02:38:58貴州大學大數(shù)據(jù)與信息工程學院貴州貴陽550025
        關鍵詞:信號設計

        楊 帆(貴州大學 大數(shù)據(jù)與信息工程學院,貴州 貴陽 550025)

        基于I2C接口EEPROM讀寫控制器設計

        楊帆
        (貴州大學大數(shù)據(jù)與信息工程學院,貴州貴陽550025)

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

        I2C總線;FPGA;EEPROM

        0 引言

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

        1 I2C總線原理概述

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

        2 EEPROM讀寫控制器模塊的設計與實現(xiàn)

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

        圖1 讀寫控制器主狀態(tài)機

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

        2.1控制器的總線時鐘SCL產(chǎn)生

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

        時序圖如圖2所示。

        圖2 讀寫控制器時序圖

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

        2.2I2C總線數(shù)據(jù)輸入輸出

        電路的輸出采用三態(tài)數(shù)據(jù)通路設計,如圖3所示。

        圖3 三態(tài)數(shù)據(jù)通路結構

        其Verilog代碼如下:

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

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

        設計采用循環(huán)移位的方式將8bit的并行data數(shù)據(jù)一位一位地移到sda_buf線上送出去。

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

        3 仿真驗證

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

        圖4 EEPROM讀寫控制器驗證電路框圖

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

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

        圖5 控制器寫EEPROM

        圖6 控制器讀EEPROM

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

        4 結論

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

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

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

        圖5 系統(tǒng)驗證測試平臺

        運行時指令SRAM和數(shù)據(jù)DPRAM會同時發(fā)生故障,導致主機失效。本文選用4種程序進行試驗,分別為遞歸(Fibonacci,F(xiàn)I)、快速排序(Quick Sort,QS)、矩陣乘(Matrix Multiplication,MM)和快速傅里葉變換(Fast FourierTransform,F(xiàn)FT)。同時向 指令 SRAM和數(shù)據(jù)DPRAM中注入1 480 000次故障,主機平均會有475次失效,在這些失效中平均會有452次被檢測到并處理,其可靠性相對不加EDAC時顯著提高。

        表1 SRAM與DPRAM同時注入故障數(shù)據(jù)(次)

        5 結論

        本文研究了EDAC的主要原理和實現(xiàn),針對ARINC 659總線控制器的體系結構與特點,將[40,32]EDAC模塊嵌入數(shù)據(jù)DPRAM和指令SRAM中,用來糾正1bit錯位和檢驗2bit錯誤。該設計嵌入在FPGA中,與傳統(tǒng)的利用糾錯芯片硬件電路相比,簡化了電路,能快速地實現(xiàn)ARINC 659總線控制器的糾錯檢錯,有效降低了單粒子翻轉效應對存儲器的影響,提升系統(tǒng)的整體性能。

        參考文獻

        [1]付劍.星載計算機的硬件容錯設計與可靠性分析[D].長沙:國防科技大學,2009.

        [2]張喜民,魏婷.ARINC659容錯數(shù)據(jù)總線測試驗證系統(tǒng)研制[J].西安電子科技大學學報(自然科學版),2011,38(6):140-145.

        [3]劉淑芬.崔星.計算機RAM檢錯糾錯電路的設計與實現(xiàn)[J].航天控制,2003(4):59-67.

        [4]賈文濤,張春元,付劍,等.一種高可靠雙機備份星載計算機的設計與實現(xiàn)[C].第六屆中國測試會議,2010.7.

        (收稿日期:2014-12-24)

        作者簡介:

        丁志平(1990-),男,碩士研究生,主要研究方向:嵌入式系統(tǒng)設計與應用。

        Based on the I2C interface EEPROM read and write controller design

        Yang Fan
        (College of Big Data and Information Engineering,Guizhou University,Guiyang 550025,China)

        The Inter-Integrated Circuit(I2C)bus protocol is introduced briefly.Using Field-Programmable Gate Array(FPGA)chip of Altera Company to design I2C bus interface controller to control Electrically Erasable Programmable Read-Only Memory(EEPROM)read and write operations.

        I2C bus;FPGA;EEPROM

        TN495

        A

        1674-7720(2015)10-0022-03

        2014-12-25)

        楊帆(1987-),通信作者,男,碩士研究生,主要研究方向:微電子科學與工程。E-mail:yangfan2010@yeah.net。

        猜你喜歡
        信號設計
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        何為設計的守護之道?
        《豐收的喜悅展示設計》
        流行色(2020年1期)2020-04-28 11:16:38
        孩子停止長個的信號
        瞞天過?!律O計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        基于LabVIEW的力加載信號采集與PID控制
        一種基于極大似然估計的信號盲抽取算法
        亚洲AV无码久久久一区二不卡 | 白色白色白色在线观看视频 | 国产美女亚洲精品一区| 亚洲一区二区蜜桃视频| 粉嫩小泬无遮挡久久久久久| 国产高清在线精品一区| chinese国产在线视频| 精品国产一区二区av麻豆不卡| 国产无套内射又大又猛又粗又爽 | 91九色国产老熟女视频| 中文字幕网伦射乱中文| 激情亚洲一区国产精品| 精品丝袜国产在线播放| 国内自拍视频一区二区三区| 国产精品亚洲lv粉色| 最近高清中文在线字幕观看| 亚洲无码美韩综合| 日本在线一区二区三区视频观看| 欧美性xxxx极品高清| 中文字幕天堂网| 日本av在线精品视频| 青青草小视频在线播放| 久久国产精品久久久久久 | 无码中文字幕专区一二三| 精品私密av一区二区三区| 国产精品无码v在线观看| 欧美三级一区| 亚洲中文字幕不卡一区二区三区| 亚洲视频一区二区三区视频| 熟妇丰满多毛的大隂户| 国产哟交泬泬视频在线播放| 久久午夜一区二区三区| 亚洲熟女综合色一区二区三区| 久久av无码精品人妻出轨| baoyu网址国产最新| 男奸女永久免费视频网站 | 日本丰满少妇高潮呻吟| 人妻少妇久久中中文字幕| 性色av浪潮av色欲av| av深夜福利在线| 日本岛国一区二区三区四区|