freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

信息與通信]帶有源代碼基于fpga的模擬i2c接口設(shè)計與實現(xiàn)-全文預覽

2024-12-10 15:53 上一頁面

下一頁面
  

【正文】 0:輸入模式 assign outdata = outdata_r。 endcase end /************************************************************************************/ assign sda = sda_link ? sda_r:139。b1。b1。 sda_r = 139。 cstate = STOP1。 42 end HIGH: begin if(`SCL_NEG) begin sda_r = 139。 cstate = HIGH。 sda_r = 139。 ackflag = ackflag +139。d0。d8) amp。 //主控制器應答 cstate = ACKR。 sda_r = 139。d1。 (paget PAGEDATA_NUM139。amp。 439。 439。 439。 40 439。 if(`SCL_LOW) begin num = num+139。 cstate = ACK4。 sda_r = 139。 //paget = paget +139。amp。 end else if((`SCL_LOW) amp。b1。d0。d8)amp。 default: 。 439。 439。 439。 case (num) 38 439。 if(`SCL_LOW) begin sda_link = 139。 end end PAGEW:begin sda_link = 139。 sda_link = 139。d8)) begin num = 439。 default: 。 439。 439。 439。 case (num) 439。 if(`SCL_LOW) begin sda_link = 139。 end else if(!Byte_Write) 36 begin //寫操作 sda_link = 139。 ackflag = 339。 //num 計數(shù)清零 //cstate = ACK4。amp。 439。 439。 35 439。 439。 if(`SCL_HIG) begin num = num+139。b0。 !Page_Read) 34 begin cstate = PAGER。 end else cstate = ACK3。 //從機響應信號 ackflag = ackflag +139。b0。 end ACK3: begin if(`SCL_NEG amp。d7: sda_r = db_r[0]。d5: sda_r = db_r[2]。d3: sda_r = db_r[4]。d1: sda_r = db_r[6]。b1。 sda_link = 139。d8) begin num = 439。b0。//sda 作為 output sda_r = 139。 cstate = PAGEW。//送器件地址(讀操作),特定地址讀需要執(zhí)行該步驟以下操作 cstate = START2。 end end else cstate = ADD2。 439。 439。 439。 439。 //sda 作為 output num = num+139。b0。d0。 //從機響應信號 db_r = `BYTE_ADDR。d7: sda_r = db_r[0]。d5: sda_r = db_r[2]。d3: sda_r = db_r[4]。d1: sda_r = db_r[6]。b1。b0。d0。d0。 //拉低數(shù)據(jù)線 sda,產(chǎn)生起始位信號 cstate = ADD1。//沒有任何鍵被按下 end 26 START1://起始信號 begin if(`SCL_HIG) begin //scl 為高電平期間 , 拉低數(shù)據(jù)線 sda,產(chǎn)生起始位信號 sda_link= 139。d0。b1。b0000_0000。d0。d0。b1。d3: pagedata_r = `WRITE_DATA4。d1: pagedata_r = `WRITE_DATA2。d0。 //讀寫的字節(jié)計數(shù) reg [2:0] ackflag。//延時同步 /************************************************************************************/ reg[16:0] cstate。//高電平 parameter STOP1 = 1739。//頁寫 parameter ACK4 = 1739。//字節(jié)讀寫 parameter PAGER = 1739。//應答 parameter ACKR = 1739。//讀操作開始前的起始信號 parameter ADD3 = 1739。//寫入字節(jié)地址 parameter ACK2 = 1739。//寫入器件地址 parameter ACK1 = 1739。//初始態(tài) parameter START1 = 1739。 //輸出數(shù)據(jù)貯存器 parameter PAGEDATA_NUM = 339。d2) //t=2:scl 下降沿后面點 `define SCL_LOW (t==339。d5。 //t=3:scl 低電平中間 , 用于數(shù)據(jù)變化 939。d2。d124: t = 339。//scl 信號下降沿 assign scl = scl_r。b1。//時鐘計數(shù) /************************************************************************************/ always (posedge clk or negedge rst_n) if(!rst_n) 21 scl_r = 139。d499) t_delay = 939。 //時鐘脈沖寄存器 parameter pre_t = 500。 //后面顯示接收到數(shù)據(jù)的標志 output [7:0] outdata。//同步信號 input Byte_Write, Byte_Read, Page_Write, Page_Read。b1000_0111 0x87 /************************************************************************************/ `define BYTE_ADDR 839。b0100_0011 0x43 `define WRITE_DATA3 839。b0110_0010 0x62 `define WRITE_DATA1 839。 /************************************************************************************/ //AT24C08 的地址和數(shù)據(jù) , 根據(jù)硬件進行更改 . `define DEVICE_READ 839。同樣的 ,當 slave 的 drive 線置高電平時 , IIC 模塊運作 ,r/w 線為 ’1’時接收數(shù)據(jù)功能啟動。 IDLE START1 ADD1 ACK1 ADD2 ACK2 START21 DLE ADD3 ACK3 ACKR DATA HIGH PAGEW PAGER STOP2 STOP1 ACK4 15 圖 15 寫一個 字節(jié)為十進制 78 的 字節(jié) 操作 圖 16 連續(xù)寫 2 個字節(jié) (十進制 2 32)的頁操作 16 4 IIC 接口 模塊 設(shè)計的改進 由于 24C01/02/04/08/16 器件可以不考慮應答位, 所以本次設(shè)計中沒有設(shè)定應答接口,因此沒有進行仿真測試,所編寫的 IIC 接口模塊的 Verilog HDL 代碼是可綜合的,僅僅是將此代碼直接下載到 altera 公司 EP2C20Q240C8 器件 中后,進行 了 實物模擬 IIC 總線接 口功能 ,基本實現(xiàn)項目要求。 下面給出用 Verilog HDL 語言實現(xiàn)字節(jié)發(fā)送模塊的關(guān)鍵程序。//延時同步 由上面的 17 個 狀態(tài) 組成的狀態(tài) 轉(zhuǎn)移圖如圖 14 所示。b0_0100_0000_0000_0000。b0_0001_0000_0000_0000。b0_0000_0100_0000_0000。b1_0000_0000_0000_0000。b0_0000_0000_1000_0000。b0_0000_0000_0010_0000。b0_0000_0000_0000_1000。b0_0000_0000_0000_0010。 但是具體細分后 的狀態(tài)有 17 個,它們的具體功能 及地址分別 如下。 就本次 IIC 模塊設(shè)計而言,其硬件電路圖如圖 13。 分頻器 : 由 FPGA 的鎖相環(huán)輸出的穩(wěn)定時鐘信號 , 由于頻率很高所以必須經(jīng)過分頻模塊輸出滿足 IIC 總線要求的數(shù)據(jù)傳輸速率。 2. 1. 4 顯示模塊 設(shè)計 (Led_Seg_Display) 在總體硬件設(shè)計中,顯示模塊建立的 Verilog HDL 文件名為Led_Seg_Display,然后將文件名為 Led_Seg_Display 的 Verilog HDL 文件生成名為 Led_Seg_Display的原理圖文件 。 偶分頻具體過程為: 計數(shù)到 n/21 的時候時鐘進行翻轉(zhuǎn),然后計數(shù)復位 2. 1. 3 IIC 總線接口模塊 設(shè)計 (IIC_Interface_Bus) 在總體硬件設(shè)計中, IIC 總線接口模塊建立的 Verilog HDL 文件名為IIC_Interface_Bus,然后將文件 名為 IIC_Interface_Bus 的 Verilog HDL 文件生成名為 IIC_Interface_Bus 的原理圖文件 。 [2] 8 圖 7 主機 發(fā)送器 用 7 位地址 尋址從機接收器 ( 傳輸?shù)姆较虿蛔?) 圖 8在第一個字節(jié)后主機立即讀從機 2 IIC 模塊的 硬、軟件 設(shè)計 IIC 模塊 總體硬件 設(shè)計 流程:先在 QuartusII9. 0 里建立 Verilog HDL 文件后,然后由 Verilog HDL 文件生成原理圖子模塊文件,再將生成的原理圖子模塊進行簡單的導線連接后 , 就建立了本次系統(tǒng)所需的整體原理圖,然后進行編譯、調(diào)試生成 . sof 文件后,通過 JTAG 口將文件下載到目標板里,進行在系統(tǒng)測試 ,實物測試圖見附錄部分 。 圖 6 完整的數(shù)據(jù)傳輸 在 IIC 協(xié)議中,從器件地址是一個唯一的 7 位地 址。 數(shù)據(jù)傳輸一般由主機產(chǎn)生的停止( P) 終止 。連到總線上的器件的接口形式必須是漏極開路或集電極開路輸出狀態(tài)。這種總線可以設(shè)計成很多種通訊配置,但本文只討論主從系統(tǒng)的應用。圖 5 給出的是順序讀的時序圖。如圖 3 所示。 總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時鐘( SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。很多外圍器件如存儲器、監(jiān)控芯片等也提供 IIC 接口。 CPU 向受控單元發(fā)出一個信號后,等待受控 5 單元發(fā)出一個應答信號, CPU 接收到應答信號后,根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷。 [2] IIC 總線在傳送數(shù)據(jù)過程中共有三種類型信號, 它們分別是:開始信號、結(jié)束信號和應答信號。在 CPU 與被控 IC 之間、 IC 與 IC 之間進行雙向傳送,最高傳送速率 100kbps。一個主控能夠控制信號的傳輸和時鐘頻率。 1. 1 IIC 總線特點 IIC 總線最主要的優(yōu)點是其簡單性和有效性。 1 IIC 總線 特點及工作原理 概述 IIC(Inter- Integrated Circuit,內(nèi)置集成電路總線 )總線是一種由 PHILIPS 公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。模塊化 的設(shè)計思想在軟件設(shè)計過程中越來越被重視 。 關(guān)鍵詞: IIC 總線 接口 FPGA Verilog HDL EP2C20Q240C8 在進行 FPGA 的 開發(fā)時,利用 EDA 工具設(shè)計芯片實現(xiàn)系統(tǒng) 的 功能已經(jīng)成為支撐電子設(shè)計的通用平臺,并逐步向支持系統(tǒng)級的設(shè)計方向發(fā)展。本文 設(shè)計的 IIC 總線模塊是 利用 Verilog HDL 語言 來實現(xiàn)的 ??呻S時監(jiān)控內(nèi)存、硬盤、網(wǎng)絡、系統(tǒng)溫度等多個參數(shù),增加了系統(tǒng)的安全性,方便了管理。 IIC 總線的另一個優(yōu)點是,它支持多主控 (multimastering), 其中 4 任何能夠進行發(fā)送和接收的設(shè)備都 可以成為主總線。 IIC 總線是由數(shù)據(jù)線 SDA 和時鐘 SCL 構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關(guān)
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1