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

        ?

        基于Verilog HDL的IIC總線IP核設(shè)計

        2015-02-28 17:38:48朱誠誠石晶晶
        電子器件 2015年6期
        關(guān)鍵詞:狀態(tài)機低電平總線

        朱誠誠,石晶晶,陳 斯,張 萌

        (1.東南大學電子科學與工程學院,南京 211189;2.東南大學國家ASIC中心,南京 210096)

        IIC總線是PHILIPS公司開發(fā)的一種實用、雙向、同步串行通信標準[1-2],目的在于解決各個串行設(shè)備間的通信,具有接口線數(shù)目少、通信效率高等優(yōu)點。通用的IIC總線接口器件在視頻處理、移動通信等領(lǐng)域的應(yīng)用已經(jīng)非常普遍。除此之外,IIC總線接口器件,如帶IIC總線RAM,ROM,A/D,D/A等,也越來越多地應(yīng)用于計算機及自動化控制系統(tǒng)中。

        設(shè)計的IIC總線IP核僅需要兩條總線線路,一條串行數(shù)據(jù)總線SDA,一條串行時鐘總線SCL。連接到相同總線的IC數(shù)量只受總線的最大容量400 pF限制,是一種多主機總線[3]。串行8 bit雙向數(shù)據(jù)傳輸位速率,在標準模式之下可達到100 kbit/s,快速模式之下可達400 kbit/s,高速模式下可達到3.4 Mbit/s。從設(shè)計IIC總線的頂層模塊開始,在實現(xiàn)IIC總線傳輸?shù)娜抗δ苤?,將IIC總線模塊以固核的形式封裝?;谒O(shè)計的IIC總線IP核,只需將外部PAD引線端與IP核接口相連就可以很便捷地進行IIC通信。

        采用硬件描述語言(HDL)[4-5]進行IP核設(shè)計,硬件描述語言是一種形式化方法來描述數(shù)字電路和設(shè)計數(shù)字邏輯系統(tǒng)的語言,它是硬件設(shè)計人員與EDA工具之間溝通的橋梁,用來編寫設(shè)計文件,建立電子系統(tǒng)行為級的模擬類型。之所以選擇Veril?og HDL,是因為Verilog HDL更加簡潔明了,靈活高效,完成同一功能Verilog HDL的程序條數(shù)一般只為VHDL的1/3。此外,Verilog HDL在底層描述,即開關(guān)級描述方面比VHDL功能更強。

        此外,在Xilinx ISE V13.4設(shè)計平臺上進行IIC總線IP核的設(shè)計,設(shè)計更加便利化。

        1 IIC總線的IP核設(shè)計

        1.1 IIC總線的接口設(shè)計

        IIC總線接口主要包括以下4大單元,其框圖如圖1所示,圖中SDA為串行數(shù)據(jù)線,SCL為串行時鐘線,Data為傳輸數(shù)據(jù),CLK為處理器時鐘頻率。

        分頻器 由FPGA的鎖相環(huán)輸出的穩(wěn)定時鐘信號,由于頻率很高,所以必須經(jīng)過分頻模塊從而輸出滿足IIC總線要求的傳輸速率。

        IIC總線接口控制時序邏輯塊 IIC總線數(shù)據(jù)傳輸?shù)乃袝r序控制邏輯都由它產(chǎn)生,是這個IIC模塊的核心。

        數(shù)據(jù)鎖存器 根據(jù)讀寫使能信號(r/w)存儲IIC己接收的或待發(fā)送的數(shù)據(jù)。

        移位寄存器 在時序控制邏輯模塊的控制下,根據(jù)讀寫使能信號(r/w)對數(shù)據(jù)進行正確地處理。

        圖1 IIC總線接口框圖

        1.2 讀寫功能的實現(xiàn)

        寫操作[6-7]過程:

        ①主端向總線發(fā)送一個開始信號;

        ②主端向總線發(fā)出需要寫數(shù)據(jù)器件的器件地址以及寫信號并等待器件產(chǎn)生應(yīng)答信號;

        ③主端向總線發(fā)送所要寫的存儲地址并等待設(shè)備產(chǎn)生應(yīng)答信號;

        ④主端向總線發(fā)送所要寫的數(shù)據(jù);

        ⑤等待器件產(chǎn)生應(yīng)答信號,主端向總線發(fā)送結(jié)束信號,完成一個字節(jié)的寫過程。

        IIC總線寫操作的功能是將數(shù)據(jù)寫入到總線上,即將并行數(shù)據(jù)裝換為串行數(shù)據(jù)。

        讀操作過程:

        ①主端向總線發(fā)送開始信號;

        ②主端向總線發(fā)送要讀數(shù)據(jù)器件地址以及寫信號并等待器件產(chǎn)生應(yīng)答信號;

        ③主端向總線發(fā)送所要讀數(shù)據(jù)的地址并等待產(chǎn)生應(yīng)答信號;

        ④主端向總線發(fā)送開始信號和所需讀數(shù)據(jù)器件的器件地址以及讀信號并等待器件產(chǎn)生應(yīng)答信號;

        ⑤主端按從高到低位的順序接收總線上的數(shù)據(jù);

        ⑥產(chǎn)生停止信號結(jié)束數(shù)據(jù)的讀取。

        IIC總線的讀操作的功能是讀取總線上的串行數(shù)據(jù),即將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)。

        1.3 IP核設(shè)計

        設(shè)計的IIC總線的單主IP核,能夠?qū)崿F(xiàn)讀寫操作及連續(xù)地址的讀或?qū)懖僮鳎▓D2),由于它是單主模式,故總線沒有競爭與仲裁。

        圖2 IIC總線IP核簡圖

        IP(Intellectual Property),即知識產(chǎn)權(quán)。它是一段硬件描述語言程序,具有特定電路功能,是指可用來生成 ASIC(Application Specific Integrated Cir?cuit)和PLD的邏輯功能塊,且該程序與集成電路工藝無關(guān),它可以移植到不同的半導(dǎo)體工藝所生產(chǎn)的集成電路芯片。本文設(shè)計的IP核中,rst_n為復(fù)位信號,當rst_n為低電平時,IIC總線處于空閑狀態(tài),此時無數(shù)據(jù)的傳輸;syn_sign為同步信號,當syn_sign為高電平時,IIC總線可以進行數(shù)據(jù)的傳輸,否則,IIC總線處于空閑狀態(tài);Byte_Write為寫信號,當其為低電平時,IIC總線可以進行寫操作;Byte_Red為低電平時,IIC總線可以進行讀操作;Page_Write為低電平時,IIC總線可以進行連寫操作;Page_Red為低電平時,IIC總線可以進行連讀操作。

        1.4 IIC總線狀態(tài)機轉(zhuǎn)換

        由IIC總線傳輸協(xié)議可知,IIC在傳輸過程中存在著幾個固定的狀態(tài)[8],因此采用同步狀態(tài)機來設(shè)計IIC模塊。主狀態(tài)機從的大的方面共有5個狀態(tài):空閑,開始,發(fā)送數(shù)據(jù),接收數(shù)據(jù),停止。

        所設(shè)計的總線狀態(tài)機轉(zhuǎn)移圖如圖3示。

        圖3 狀態(tài)機的轉(zhuǎn)換示意圖

        當無數(shù)據(jù)傳輸時,IIC總線處于空閑狀態(tài)(Idle),IIC總線在起始信號(Start)的觸發(fā)下,開始進行數(shù)據(jù)的傳輸。首先,總線接受器件地址,在得到應(yīng)答信號(Ack)后,傳輸數(shù)據(jù)存儲地址,在接到應(yīng)答信號后,開始傳輸數(shù)據(jù)(Data)。若無連寫(W_page)、連讀(R_page)信號的輸入,總線在讀寫后將會處于空閑狀態(tài),并等待下一次起始信號。

        基于這種狀態(tài)機的轉(zhuǎn)換,總線按照設(shè)計者的要求進行數(shù)據(jù)傳輸。

        2 仿真和實現(xiàn)

        采用自上而下的流程對IIC總線主模塊進行設(shè)計,對所有模塊用Verilog HDL語言進行描述,在ISE V13.4和Basys2設(shè)計平臺上進行仿真與硬件驗證。ISE V13.4是Xilinx公司的FPGA集成開發(fā)環(huán)境,不僅包括邏輯設(shè)計所需的一切,還具有大量簡便易用的內(nèi)置式工具和向?qū)?,使得I/O分配、功耗分析,HDL仿真等步驟變得簡單而直觀。圍繞著Xilinx Spartan-3E現(xiàn)場可編程門陣列,Basys2板提供完整的、隨時可用的硬件適合電路實現(xiàn)從基本邏輯器件到復(fù)雜的控制器。擁有一系列板上I/O設(shè)備和所有需要支持的FPGA電路,可以創(chuàng)造無數(shù)無需任何其他元件的設(shè)計。

        2.1 仿真檢測

        首先,將寫操作信號Byte_write置0,主端檢測到寫信號后,開始寫操作,在往總線上寫入器件地址并接收應(yīng)答信號后,主端向總線寫入數(shù)據(jù)01 001 110,圖4為寫操作仿真圖。

        通過仿真波形,我們從模塊正確寫入一個字節(jié)01 001 110。

        將讀操作信號Byte_read置0,主端檢測到讀信號后,開始讀操作,在完成偽寫操作后,主端從總線讀出數(shù)據(jù)01 100 101。

        通過仿真波形可以看出,我們可以從總線讀出一個字節(jié)01 100 101。

        仿真結(jié)果與理論結(jié)果相一致,數(shù)據(jù)傳輸速率達到100 kbit/s,快速模式下可達到400 kbit/s,高速模式3.4 Mbit/s。

        圖4 寫操作仿真

        圖5 讀操作仿真

        2.2 硬件測試

        仿真完成后,在ISE13.4設(shè)計平臺上進行綜合布線,并采用Basys2中進行硬件測試,將復(fù)位信號置0,同步信號置1,寫信號置0,將主端寫入的總線數(shù)據(jù)通過Basys2的LED燈進行顯示,圖6為寫操作。

        通過LED顯示,我們成功向總線寫入一個字節(jié)0 100 1110。

        將復(fù)位信號置0,同步信號置1,讀信號置0。

        并將從總線上讀出的數(shù)據(jù)通過Basys2的LED燈進行顯示,圖7為讀操作。

        圖6 硬件寫操作

        圖7 硬件讀操作

        通過LED顯示,我們成功讀出總線上一個字節(jié)01 100 101。

        仿真、硬件檢測結(jié)果與IIC總線傳輸數(shù)據(jù)的預(yù)期結(jié)果相一致,從而說明了我們IIC總線設(shè)計的成功。最后,在ISE設(shè)計平臺上將IIC總線模塊進行封裝,形成只有接口的IP固核。

        3 結(jié)束語

        采用Verilog HDL語言設(shè)計了一個IIC總線的單主模式的IP核,給出了一種模塊化和層次化的完整設(shè)計方法。該IP核具有通用的接口和簡單的操作時序,并且全部設(shè)計由Verilog HDL語言實現(xiàn)。無需代碼修改就可以在片上系統(tǒng)的接口設(shè)計中使用,實現(xiàn)對IIC總線的支持,具有良好的移植性。

        與近期的同類IIC總線IP核設(shè)計相比較,有別于Altera的Quartus II平臺的設(shè)計,在Xilinx ISE V13.4設(shè)計平臺上進行IP核的設(shè)計。ISE V13.4提供了便捷地IP核設(shè)計環(huán)境及仿真環(huán)境,進而使得設(shè)計便利化。此外,ISE為Xilinx公司的開發(fā)環(huán)境,Xilinx的產(chǎn)品市場占有率更高,因此,在ISE平臺上設(shè)計使得所完成的產(chǎn)品更具實用性。

        設(shè)計的IP核既體現(xiàn)了良好的可移植性,又體現(xiàn)了芯片設(shè)計的模塊化思想。利用成熟的IP核進行新產(chǎn)品的開發(fā)可大大縮短設(shè)計周期,提高產(chǎn)品的可靠性,為新產(chǎn)品贏得市場契機。

        [1]張延偉,楊金巖,葛愛學,等.Verilog HDL程序設(shè)計實例詳解[M].人民郵電出版社,2008:132-160.

        [2]Philips Semiconductors.The IIC-Bus Specification[M]Version 2.1,2001:6-19.

        [3]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].2版.北京:高等教育出版社,6.1,2008:13-18.

        [4]劉欲曉,方強,黃宛寧,等.EDA技術(shù)與VHDL電路開發(fā)應(yīng)用實踐[M].北京:電子工業(yè)出版社,2009:221-240.

        [5]張延偉,楊金巖,葛愛學等.Verilog HDL程序設(shè)計實例詳解[M].人民郵電出版社,2008:132-160.

        [6]趙輝.IIC總線技術(shù)及其應(yīng)用實例[J].微型電腦應(yīng)用,2005,21(4):61.

        [7]劉福奇,劉波.Verilog HDL應(yīng)用程序設(shè)計實例精講[M].北京:電子工業(yè)出版社,2009:434-444.

        [8]陳旭.FPGA技術(shù)發(fā)展研究[J].半導(dǎo)體技術(shù),2006,(4):1-3.

        朱誠誠(1992-),男,漢族,安徽淮南人,本科生,就讀于東南大學電子科學與工程學院,ccz2498466@163.com;

        張 萌(1964-),男,漢族,研究員,東南大學ASIC中心,主要從事數(shù)字信號處理,集成電路設(shè)計,通信系統(tǒng)等,zmeng@seu.edu.cn。

        猜你喜歡
        狀態(tài)機低電平總線
        數(shù)字電路中“邏輯非”的用法辨析
        鐵道車輛高/低電平信號智能發(fā)生器設(shè)計
        基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
        2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
        基于PCI Express總線的xHC與FPGA的直接通信
        機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
        多通道ARINC429總線檢查儀
        基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計
        河南科技(2014年16期)2014-02-27 14:13:22
        集成電路靜態(tài)參數(shù)測試
        微處理機(2012年5期)2012-07-25 03:21:06
        FPGA設(shè)計中狀態(tài)機安全性研究
        黑龍江科學(2011年2期)2011-03-14 00:39:36
        九一成人AV无码一区二区三区| 成人亚洲精品777777| 丝袜美腿在线观看视频| 国产无套中出学生姝| 国产精品自在线拍国产手机版| 91视频88av| 亚洲av免费高清不卡| 免费人成视频网站在在线| 东京热人妻无码一区二区av| 亚洲三级黄色| 精品少妇白浆一二三区| 亚洲国产精品亚洲一区二区三区| 丰满少妇弄高潮了www| 中文字幕日韩一区二区三区不卡| 一区二区三区婷婷在线| av人妻在线一区二区三区| 亚洲精品一区二区国产精华液| 久久人人爽人人爽人人片av麻烦| 禁止免费无码网站| av在线播放免费观看| 国产七十六+老熟妇| 精品国产成人亚洲午夜福利| 国产熟女自拍视频网站| 噜噜中文字幕一区二区| 久激情内射婷内射蜜桃| Y111111国产精品久久久| 日韩精品免费观看在线| 日本一区二区三区爆乳| 免费无码av片在线观看| 91亚洲色图在线观看| 色小姐在线视频中文字幕| 加勒比日韩视频在线观看| 国产精品v片在线观看不卡| 999国产精品亚洲77777| 久久精品亚洲乱码伦伦中文| 中国娇小与黑人巨大交| 少妇对白露脸打电话系列| 中文字幕乱码中文乱码毛片| 青青草免费手机视频在线观看| 亚洲av日韩综合一区在线观看| 日韩一区二区不卡av|