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

正文內(nèi)容

i178cslavecontroller-文庫(kù)吧資料

2024-08-04 10:35本頁(yè)面
  

【正文】 lave = `DEL sr。 (acc_done amp。 else if( (cur_state == REG_DAT) amp。 always (posedge clk_slave or negedge rst_n) if (!rst_n) reg_dat_to_slave = `DEL 839。amp。amp。b0。 default: nxt_state = ST_IDLE。 neg_jp_sclk) ? RD_REG_DAT_ACK : RD_REG_DAT。 RD_REG_DAT: nxt_state = (acc_done amp。 neg_jp_sclk) ? REG_DAT_ACK : REG_DAT。 REG_DAT: nxt_state = (acc_done amp。 neg_jp_sclk) ? REG_ADDR_ACK : REG_ADDR。 REG_ADDR: nxt_state = (acc_done amp。 neg_jp_sclk) ? (my_addr ? SLAVE_ADDR_ACK : ST_IDLE) :(SLAVE_ADDR)。 else begin case (cur_state) SLAVE_ADDR: nxt_state = (acc_done amp。 always (cur_state or sta_condition or sto_condition or acc_done or my_addr or neg_jp_sclk or rw ) if (sto_condition) nxt_state = ST_IDLE。 28 else sto_condition = `DEL 139。 i2c_sclk_dly1) sto_condition = `DEL 139。 else if (pos_jp_sdin amp。 //find out the STOP condition always (posedge clk_slave or negedge rst_n) if (!rst_n) sto_condition = `DEL 139。 else sta_condition = `DEL 139。 neg_jp_sdin) sta_condition = `DEL 139。 else if (i2c_sclk_dly1 amp。 //find out the START condition always (posedge clk_slave or negedge rst_n) if (!rst_n) sta_condition = `DEL 139。 always (posedge clk_ slave or negedge rst_n) if (!rst_n) cur_state = `DEL ST_IDLE。b0。 i2c_sdin_dly2 = `DEL i2c_sdin_dly1。 i2c_sdin_dly0 = `DEL i2c_sdin。 27 i2c_sclk_dly1 = `DEL i2c_sclk_dly0。b1。b1。b1。b1。b1。b1。b1)。 assign i2c_sdin_out_zero = ack ? 139。amp。 assign i2c_sdin_out = shift_rd_dat[7]。 //generate load downcounter signal assign ld = (cur_state == ST_IDLE) || (cur_state == SLAVE_ADDR_ACK) || (cur_state == REG_ADDR_ACK) || (cur_state == REG_DAT_ACK) || sta_condition || sto_condition|| (cur_state == RD_REG_DAT_ACK)。amp。amp。 //generate access done signal 26 assign acc_done= !(|bit_t)。amp。 !i2c_sdin_dly2。 assign pos_jp_sdin = i2c_sdin_dly1 amp。amp。 !i2c_sclk_dly2。 //generate sequential signal assign pos_jp_sclk = i2c_sclk_dly1 amp。 //ASSIGN STATEMENTS //generate start and stop signal assign start_t = sta_condition。 parameter RD_REG_DAT_ACK= 439。 parameter RD_REG_DAT = 439。 parameter REG_DAT_ACK = 439。 parameter REG_DAT = 439。 parameter REG_ADDR_ACK = 439。 parameter REG_ADDR = 439。 parameter SLAVE_ADDR_ACK= 439。 parameter SLAVE_ADDR = 439。 //statemachine Declaration parameter ST_IDLE = 439。 //PARAMETERS // I2C slave address parameter I2C_SLAVE_ADDR= 739。 wire i2c_sdin_out_en。 wire stop_t。 //My address is called? 25 wire acc_done。 wire ld。 wire pos_jp_sdin。 reg [3:0] nxt_state。//Start conditon reg sto_condition。 reg i2c_sdin_dly2。 reg i2c_sdin_dly0。 reg i2c_sclk_dly1。 reg [7:0] shift_rd_dat。 0: write reg [7:0] sr。 //Counter the posedge jump of i2c_sclk reg rw。 reg reg_dat_rd。 reg [7:0] reg_dat_to_slave。 output[7:0]reg_dat_to_ slave。 output reg_dat_wr。 output stop_t。 output ack。 input i2c_sdin。 input clk_ slave。 //Asynchronous reset,active low //INPUTS input rst_n。 23 第二節(jié) I178。但是, Verilog HDL語(yǔ)言的核心子集非常易于學(xué)習(xí)和使用,這對(duì)大多數(shù)建模應(yīng)用來(lái)說(shuō)已經(jīng)足夠。語(yǔ)言從 C 編程語(yǔ)言中繼承了多種操作符和結(jié)構(gòu)。 Verilog HDL 語(yǔ)言不僅定義 了語(yǔ)法,而且對(duì)每個(gè)語(yǔ)法結(jié)構(gòu)都定義了清晰的模擬、仿真語(yǔ)義。所有這些都使用同一種建模語(yǔ)言。C Slave Controller 的 RTL 級(jí) Verilog 代碼設(shè)計(jì) 第一節(jié) Verilog HDL 介紹 Verilog HDL 是一種硬件描述語(yǔ)言,用于從算法級(jí)、門級(jí)到開(kāi)關(guān)級(jí)的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模。當(dāng)從控制器檢測(cè)到停止 信號(hào)時(shí),將停止數(shù)據(jù)傳輸并復(fù)位, 輸出 stop_t 設(shè)置為 ‘1’。當(dāng)從控制器準(zhǔn)備好接收下一個(gè)數(shù)據(jù)字節(jié),并且釋放時(shí)鐘線 SCL 后,數(shù)據(jù)傳輸繼續(xù)。首先傳輸?shù)氖菙?shù)據(jù)的最高位( MSB)。 3.?dāng)?shù)據(jù)傳輸: SDA 線上發(fā)送的每個(gè)字節(jié)必須為 8 位,其后必須跟一個(gè)響應(yīng)位。所有從機(jī) 的地址都是不同的,僅有檢測(cè)到與地址相匹配的從控制器才會(huì)通過(guò)在 SCL 線第九個(gè)時(shí)鐘周期將 SDA 線拉低來(lái)發(fā)送響應(yīng)位。 當(dāng)從控制器檢 測(cè)到主機(jī)發(fā)送的 起始信號(hào)時(shí),將進(jìn)入從機(jī)地址檢測(cè)狀態(tài),并將輸出 start_t 設(shè)置為 ‘1’。起始信號(hào)被定義為在 SCL 線是高電平時(shí), SDA 線從高電平向低電平的切換。 而連接到總線的接口數(shù)量只由總線電容是 400pF 的限制決定。在標(biāo)準(zhǔn)模 20 式下, I178。當(dāng)總線空閑時(shí), SDA 與 SCL 線都為高電平。C 串行數(shù)據(jù)輸入 i2c_sdin_out_zero 輸出 1 I178。從控制器是在通訊中被尋址的器件,既可作為發(fā)送器也可作為接收器。C 總線的接 口,在連接到 I178。C Slave Controller 設(shè)計(jì)方案 第一節(jié) 概述 I178。 5.報(bào)文為空(起始條件后面立即跟著一個(gè)停止條件)是一個(gè)不合法的格式。 17 4.在接收到起始或重復(fù)起始條件時(shí),兼容 I178。 2.所有決定 (自動(dòng)增加或減少之前訪問(wèn)的存儲(chǔ)器位置等)都取決于器件的設(shè)計(jì)者。 圖 10 復(fù)合格式 如果主機(jī)接 — 收器發(fā)送一個(gè)重復(fù)起始條件,它之前應(yīng)該發(fā)送了一個(gè)不響應(yīng)信號(hào)注意: 1. 復(fù)合格式在第一個(gè)數(shù)據(jù)字節(jié)期間,要寫內(nèi)部存儲(chǔ)器的位置。 16 圖 9 在第一個(gè)字節(jié)后主機(jī)立即讀從機(jī) ? 復(fù)合格式(見(jiàn)圖 10) 傳輸改變方向的時(shí)侯,起始條件和從機(jī)地址都會(huì)被重復(fù)。第一次響應(yīng)仍由從機(jī)產(chǎn)生。 ? 在第一個(gè)字節(jié)后,主機(jī)立即讀從機(jī)(見(jiàn)圖 9)。 圖 7 完整的數(shù)據(jù)傳輸 可能的數(shù)據(jù)傳輸格式有: ? 主機(jī) — 發(fā)送器發(fā)送數(shù)據(jù)到從機(jī) — 接收器。如果主機(jī)仍需在總線上繼續(xù)通訊,它可以不用產(chǎn)生停止條件,轉(zhuǎn)而產(chǎn)生重復(fù)起始條件( Sr)尋址另一個(gè)從機(jī)。在起始條件( S)后發(fā)送了一個(gè) 7 位的從機(jī)地址,緊接著的第 8 位是數(shù)據(jù)方向位( R/—— W ): ‘ 0’表示發(fā)送(寫),‘ 1’ 表示接收數(shù)據(jù)(讀)。C 總線的控制只由地址或主機(jī)碼以及競(jìng)爭(zhēng)主機(jī)發(fā)送的數(shù)據(jù)決定,總線沒(méi)有任何定制的優(yōu)先權(quán),而從機(jī)則不被卷入仲裁過(guò)程。如果關(guān)斷數(shù)據(jù)輸出,這就意味著總線連接了一個(gè)高輸出電平,不會(huì)影響由贏得仲裁的主機(jī)初始化的數(shù)據(jù)傳輸。所以丟失仲裁的主機(jī)必須立即切換到它的從機(jī)模式。丟失仲裁的主機(jī)可以產(chǎn)生時(shí)鐘脈沖直到丟失仲裁的該字節(jié)末尾。因?yàn)?I178。仲裁可以持續(xù)多位。STA)內(nèi)產(chǎn)生一個(gè)起始條件,結(jié)果在總線上產(chǎn)生一個(gè)規(guī)定的起始條件。 綜上所述,產(chǎn)生的同步 SCL 時(shí)鐘的低電平周期為低電平時(shí)鐘周期最長(zhǎng)的器件決定,而高電平周期由高電平時(shí)鐘周期最短的器件決定。而且所有器件會(huì)開(kāi)始數(shù)它們的高電平周期。當(dāng)所有有關(guān)的器件數(shù)完了它們的低電平周期后,時(shí)鐘線被釋放并變成高電平。因而 SCL 線被有最長(zhǎng)低電平周期的器件保持低電平。C 接口到 SCL 線來(lái)執(zhí)行: SCL 線的負(fù)跳變會(huì)使器件開(kāi)始數(shù)它們的低電平周期,而一旦器件的時(shí)鐘變低電平,它會(huì)使SCL 線保持這種狀態(tài)直到到達(dá)時(shí)鐘的高電平(見(jiàn)圖 5) 。C 總線上的報(bào)文,而數(shù)據(jù)只在時(shí)鐘的高電平周期有效,因此需要一個(gè)確定的時(shí)鐘進(jìn)行逐位仲裁。從機(jī) — 發(fā)送器必須釋放數(shù)據(jù)線,允許主機(jī)產(chǎn)生一個(gè)停止或重復(fù)起始條件。這個(gè)情況用從機(jī)在第一個(gè)字節(jié)后沒(méi)有產(chǎn)生響應(yīng)來(lái)表示。主機(jī)然后產(chǎn)生一個(gè)停止條件終止傳輸或者產(chǎn)生重復(fù)起始條件開(kāi)始新的傳輸。C 總線的響應(yīng) 11 接收器通常在接收到的每個(gè)字節(jié)后,必須產(chǎn)生一個(gè)響應(yīng)。響應(yīng)時(shí)鐘脈沖由主機(jī)產(chǎn)生,在響應(yīng)時(shí)鐘脈沖期間,發(fā)送器釋放 SDA 線(高電平),而接收器必須將 SDA 線拉低,使它在這個(gè)時(shí)鐘脈沖的高電平期間保持穩(wěn)定的低電平(見(jiàn)圖 4)。 圖 3 I178。 如果從機(jī)要在完成一些其他功能之后才能接收或發(fā)送下一個(gè)完整的數(shù)據(jù)字節(jié),則可以使時(shí)鐘線 SCL 保持低電平,從而迫使主機(jī)進(jìn)入等待狀態(tài)。傳輸過(guò)程中每次可以發(fā)送的字節(jié)數(shù)量不受限制。此時(shí)的重復(fù)起始條件( Sr)和起始條件( S)在功能上是一樣的。在停止條件的某段時(shí)間后,總線被認(rèn)為再次處于空閑狀態(tài)。 9 圖 2 起始和停止條 件 起始條件:在 SCL 線是高電平時(shí), SDA 線從高電平向低電平切換 停止條件:在 SCL 線是高電平時(shí), SDA 線由低電平向高電平切換 一般起始和停止條件由主機(jī)產(chǎn)生。 圖 1 數(shù)據(jù)的有效性 二、起始和停止條件 在 I178。 一、數(shù)據(jù)的有效性 8 SDA 線上的數(shù)據(jù)必須在時(shí)鐘的高電平周期保持穩(wěn)定。C 總線的器件有不同種類的工藝( CMOS、 NMOS、雙極性),邏輯‘ 0’和‘ 1’的電平不是固定的,它由 Vdd 的相關(guān)電平?jīng)Q定。而連接到總線的接口數(shù)量只由總線電容是 400pF 的限制決定。 I178。C 總線。它依靠線與連接所有 I178??梢赃B接多于一個(gè)能控制總線的器件到總線,其意味著超過(guò)一個(gè)主機(jī)可以同時(shí)嘗試初始化傳輸數(shù)據(jù)。C 總線 傳輸數(shù)據(jù)的過(guò)程如下: 1)假設(shè)微控制器 A 要發(fā)送信息到微控制器 B: ? 微控制器 A(主機(jī))尋址微控制器 B(從機(jī)) 7 ? 微控制器 A
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦

某公司管理制度匯編178-文庫(kù)吧資料

【摘要】1