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

正文內(nèi)容

i178cslavecontroller-在線瀏覽

2024-09-29 10:35本頁面
  

【正文】 的狀態(tài)。 三、 字節(jié)格式 SDA 線上發(fā)送的每個(gè)字節(jié)必須為 8 位,其后必須跟一個(gè)響應(yīng)位。首 先傳輸?shù)氖菙?shù)據(jù)的最高位( MSB)。當(dāng)從機(jī)準(zhǔn)備好接收下一個(gè)數(shù)據(jù)字節(jié),并且釋放時(shí)鐘線 SCL 后,數(shù)據(jù)傳 10 輸繼續(xù)(見圖 3) 。C 總線的數(shù)據(jù)傳輸 四、響應(yīng) 數(shù)據(jù)的傳輸必須帶響應(yīng)。 圖 4 I178。當(dāng)從機(jī)不能響應(yīng)從機(jī)地址時(shí),則必須使數(shù)據(jù)線保持高電平。 而當(dāng)從機(jī) — 接收器響應(yīng)了從機(jī)地址,在傳輸了一段時(shí)間后卻不能接收更多數(shù)據(jù)字節(jié)時(shí),則主機(jī)必須再一次終止傳輸。 如果傳輸中有主機(jī)接收器,則它在傳輸?shù)阶詈笠粋€(gè)字節(jié)時(shí)不產(chǎn)生,向從機(jī)發(fā)送器通知數(shù)據(jù)結(jié)束。 五、時(shí)鐘同步 由于所有主機(jī)在 SCL 線 上產(chǎn)生它們自己的時(shí)鐘來傳輸 I178。時(shí)鐘同步通過線與連接 I178。 12 圖 5 仲裁過程中的時(shí)鐘同步 如果此時(shí)另一個(gè)時(shí)鐘仍處于低電平周期,那么這個(gè)時(shí)鐘的負(fù)跳變不會(huì)改變 SCL 線的狀態(tài)。此時(shí)低電平周期短的器件會(huì)進(jìn)入高電平的等待狀 態(tài)。之后器件時(shí)鐘和 SCL線的狀態(tài)沒有差別。首先數(shù)完高電平周期的器件會(huì)再次將 SCL 線拉低。 六、仲裁 兩個(gè)及以上的主機(jī)可能在起始條件的最小持續(xù)時(shí)間( tHD。當(dāng) SCL 線是高電平時(shí),仲裁在 SDA 線發(fā)生:由于自己的電平與總線 上的電平不相同,在其 13 他主機(jī)發(fā)送低電平時(shí)發(fā)送高電平的主機(jī)將斷開它的數(shù)據(jù)輸出級。首先比較地址位,如果每個(gè)主機(jī)都嘗試尋址相同的器件,則繼續(xù)比較數(shù)據(jù)位(主機(jī) — 發(fā)送器)或者比較響應(yīng)位(主機(jī) — 接收器)。C 總線的地址和數(shù)據(jù)信息由贏得仲裁的主機(jī)決定,在仲裁過程中不會(huì)丟失信息。 如果主機(jī)也結(jié)合了從機(jī)功能,并且在尋址階段丟失仲裁,它就有可能是贏得仲裁的主機(jī)在尋址的器件。 圖 6 兩個(gè)主機(jī)的仲裁過程 如圖 6 所示,產(chǎn)生 DATA1 的主機(jī)的內(nèi)部數(shù)據(jù)電平與 SDA 線的電平有一些差別。 由于沒有中央主機(jī), I178。 第三節(jié) 7 位地址格式 14 數(shù)據(jù)的傳輸?shù)母袷饺鐖D 7 所示。一般由主機(jī)產(chǎn)生的停止位( P )來終止數(shù)據(jù)傳輸。在這種傳輸中,可能有不同的讀 /寫格式結(jié)合。傳輸?shù)姆较虿粫?huì)改變(見圖8) 15 圖 8 主機(jī) — 發(fā)送器用 7 位地址尋址從機(jī)接收器,傳輸方向不變。 在第一次響應(yīng)時(shí),主機(jī) — 發(fā)送器變成主機(jī) — 接收 器,從機(jī)接 — 收器變成從機(jī) — 發(fā)送器。之前發(fā)送了一個(gè)不響應(yīng)信號(hào)的主機(jī)產(chǎn)生停止條件。但 R/—— W 位取反。在重復(fù)起始條件和從機(jī)地址后,數(shù)據(jù)可被傳輸。 3. 每個(gè)字節(jié)后都跟著一個(gè)響應(yīng)位,在序列中用 A 或 —— A 模塊表示。C 總線的器件必須復(fù)位它們的總線邏輯。 18 第二章 I178。C 總線控制器的作用是成為并行微控制器與串行 I178。C 總線的器件間傳遞信息。 第二節(jié) 框架圖 第三節(jié) 引腳設(shè)置與描述 引腳 輸入 /輸出 位長 描述 rst_n 輸入 1 同步復(fù)位,低電平有效 i2c_sclk 輸入 1 系統(tǒng)時(shí)鐘信號(hào) 19 clk_slave 輸入 1 SLAVE 時(shí)鐘信號(hào) reg_dat_from_ slave 輸入 8 來自于 SLAVE 的寄存器數(shù)據(jù) i2c_sdin 輸入 1 I178。C 串行數(shù) 據(jù)輸出 ack 輸出 1 響應(yīng) start_t 輸出 1 起始信號(hào) stop_t 輸出 1 停止信號(hào) reg_addr 輸出 8 寄存器地址 reg_dat_wr 輸出 1 寄存器寫信號(hào) reg_dat_rd 輸出 1 寄存器讀信號(hào) reg_dat_to_ slave 輸出 8 寫入 SLAVE 的寄存器數(shù)據(jù) 第四節(jié) 功能描述 一、總體特征 SDA 與 SCL 都是雙向傳輸線,分別通過上拉電阻或電流源與正向電壓連接。每個(gè)輸出連接在總線上的器件必須通過漏 極開路或集電極開路的形式實(shí)現(xiàn)線與的功能。C 總線上數(shù)據(jù)傳輸?shù)乃俾蕿?100kbit/s,在快速模式下則達(dá)到 400 kbit/s。 二、數(shù)據(jù)傳輸 一般來說,從控制器的標(biāo)準(zhǔn)傳輸由四部分組成: 1. 檢測 起始信號(hào):主機(jī)通過發(fā)送起始信號(hào)來初始化傳輸。而如果產(chǎn)生重復(fù)起始條件而不產(chǎn)生停止條件,總線會(huì)一直處于忙的狀態(tài),此時(shí)的起始條件 和重復(fù)起始條件在功能上是一樣的。 2.檢測 從機(jī) 地址: 主機(jī) 發(fā)送 起始信號(hào)后所傳送的第一個(gè)字節(jié)是從機(jī)地址,由七位地址后跟一位讀 /寫位組成。 本 從機(jī) 地址為 7’h40。傳輸過程中每次可以發(fā)送的字節(jié)數(shù)量不受限制。 如果從控制器要在完成一些 其他功能之后才能接收或發(fā)送下一個(gè)完整的數(shù)據(jù)字節(jié),則可以使時(shí)鐘線 SCL 保持低電平,從而迫使主機(jī)進(jìn)入等待狀態(tài)。 4.檢測停止信號(hào):停止信號(hào) 被定義為 在 SCL 線是高電平時(shí), SDA 線 21 由低電平向高電平的切換。 第五節(jié)、傳輸時(shí)序圖 一、主機(jī)向從機(jī)寫數(shù)據(jù) 二、主機(jī)向從機(jī)讀數(shù)據(jù) 22 第三章 I178。 Verilog HDL 語言具有下述描述能力:設(shè)計(jì)的行為特性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計(jì)驗(yàn)證方面的時(shí)延和波形產(chǎn)生機(jī)制。此外, Verilog HDL 語言提供了編程語言接口,通過該接口可以在模擬、驗(yàn)證期間從設(shè)計(jì)外部訪問設(shè)計(jì),包括模擬的具體控制和運(yùn)行。因此,用這種語言編寫的模型能夠使用 Ve r i l o g 仿真器進(jìn)行驗(yàn)證。 Verilog HDL提供了擴(kuò)展的建模能力,其中許多擴(kuò)展最初很難理解。當(dāng)然 ,完整的硬件描述語言足以對從最復(fù)雜的芯片到完整的電子系統(tǒng)進(jìn)行描述。C Slave Controller 的 RTL 級代碼 //TOP MODULE module i2c_slave(reg_addr,//Register address reg_dat_to_slave, //Register data to slave reg_dat_from_ slave,//Register data from slave reg_dat_rd,//Read flag for register address and register //data reg_dat_wr,//Write flag for register address and register //data ack, //Acknowledge signal from i2c slave i2c_sdin_out_zero, i2c_sdin, //I2C serial data input when writing start_t, //Start transfer stop_t, //Stop transfer i2c_sclk, //System clock clk_ slave, //Slave clock rst_n)。 input i2c_sclk。 input[7:0] reg_dat_from_ slave。 //OUTPUTS output i2c_sdin_out_zero。 output start_t。 24 output[7:0]reg_addr。 output reg_dat_rd。 //INOUTS //SIGNAL DECLARATIONS reg [7:0] reg_addr。 reg reg_dat_wr。 reg [3:0] bit_t。 //Read/write direction 1: read。 //8bit parallel data reg reg_dat_rd_dly。 reg i2c_sclk_dly0。 reg i2c_sclk_dly2。 reg i2c_sdin_dly1。 reg sta_condition。//Stop condition reg [3:0] cur_state。 wire pos_jp_sclk, wire neg_jp_sclk。 wire neg_jp_sdin。 //Load downcounter wire my_addr。 // 8bits transfered wire start_t。 wire i2c_sdin_out_zero。 wire i2c_sdin_out。h40。b0000。b0001。b0010。b0011。b0100。b0101。b0110。b0111。b1000。 assign stop_t = sto_condition。amp。 assign neg_jp_sclk = i2c_sclk_dly2 amp。 !i2c_sclk_dly1。amp。 assign neg_jp_sdin = i2c_sdin_dly2 amp。 !i2c_sdin_dly1。 //generate shift register assign my_addr = (sr[7:1] == I2C_SLAVE_ADDR) amp。 (acc_done) amp。 (cur_state == SLAVE_ADDR)。 // generate acknowledge signal assign ack = (cur_state == SLAVE_ADDR_ACK) || (cur_state == REG_ADDR_ACK) || (cur_state == REG_DAT_ACK)。 assign i2c_sdin_out_en = (cur_state == RD_REG_DAT) amp。 rw。b0 : (i2c_sdin_out_en ? i2c_sdin_out : 139。 //MAIN CODE //sync i2c_sdin and i2c_sclk always (posedge clk_ slave or negedge rst_n) if (!rst_n) begin i2c_sclk_dly0 = `DEL 139。 i2c_sclk_dly1 = `DEL 139。 i2c_sclk_dly2 = `DEL 139。 i2c_sdin_dly0 = `DEL 139。 i2c_sdin_dly1 = `DEL 139。 i2c_sdin_dly2 = `DEL 139。 end else begin i2c_sclk_dly0 = `DEL i2c_sclk。 i2c_sclk_dly2 = `DEL i2c_sclk_dly1。 i2c_sdin_dly1 = `DEL i2c_sdin_dly0。 end always (posedge clk_ slave or negedge rst_n) if (!rst_n) sr = `DEL 839。 else if (pos_jp_sclk) sr = `DEL {sr[6:0], i2c_sdin_dly1}。 else cur_state = `DEL nxt_state。b0。amp。b1。b0。b0。amp。b1。b0。 else if (sta_condition) nxt_state = SLAVE_ADDR。amp。 SLAVE_ADDR_ACK: nxt_state = neg_jp_sclk ? (rw ? RD_REG_DAT: REG_ADDR) : SLAVE_ADDR_ACK。amp。 REG_ADDR_ACK: nxt_state = neg_jp_sclk ? REG_DAT : REG_ADDR_ACK。amp。 REG_DAT_ACK: nxt_state = neg_jp_sclk ? REG_ADDR : REG_DAT_ACK。amp。 RD_REG_DAT_ACK: nxt_state = neg_jp_sclk ? ST_IDLE : RD_REG_DAT_ACK。 endcase end always (posedge clk_slave or negedge rst_n) if (!rst_n) 29 reg_addr = `DEL 839。 else if ( (cur_state == REG_ADDR) amp。 (acc_done amp。 neg_jp_sclk) ) reg_addr = `DEL sr。h0。amp。amp。 always (posedge clk_slave or negedge rst_n) if (!rst_n) rw = `DEL 139。 else if ( (cur_state == SLAVE_ADDR) amp。 (ac
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦

某公司管理制度匯編178-在線瀏覽

【摘要】1