<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > I2C總線(xiàn)通訊接口器件的CPLD實(shí)現

I2C總線(xiàn)通訊接口器件的CPLD實(shí)現

作者: 時(shí)間:2012-10-29 來(lái)源:網(wǎng)絡(luò ) 收藏

2.2 發(fā)送數據

在主機方式下,完成啟動(dòng)和地址信號發(fā)送后即開(kāi)始發(fā)送數據。發(fā)送數據時(shí)并串轉換器在SCL的下降沿移位,保證SCL高電平時(shí)SDA上的數據穩定。發(fā)送的進(jìn)程由WR信號和從機的應答信號啟動(dòng)。當ISP器件在總線(xiàn)競爭失敗時(shí),由處理器將ISP器件轉為從機工作方式,處理器向地址檢測電路送該器件在系統中的地址。只有在接收到的地址信息與該器件所設的地址相同時(shí),才發(fā)出應答信號,開(kāi)始通訊。每發(fā)送一個(gè)字節即將SDA拉高,等待接收機的應答信號,準備下一個(gè)數據。

2.3 接收數據

在主機方式下,完成通訊啟動(dòng)和地址信號發(fā)送后便開(kāi)始準備接收數據。每接收一個(gè)字節后要發(fā)出應答信號,產(chǎn)生一個(gè)負脈沖作為中斷請求信號輸出給處理器。若此時(shí)系統忙,則拉低SCL電平迫使發(fā)送機進(jìn)入等待狀態(tài)。從機方式下的接收與主機方式下一樣。VHDL描述如下: PROCESS(SDA1) SACK:="0"; FULL1:="0"; STP:="0"; INTQ:="1"; IF(CSTA="1" AND ADDOK="1")THEN IF(SCL"1"EVENT AND SCL1="0")THEN ……――接收數據,串入并出移位(略) FULL1:="1"; END IF; END IF; IF(FULL1="1")THEN IF(RD"EVENT AND RD="1"AND SCL1"EVENT AND SCL1="0 AND BUSY="0")THEN SDA1:="0"; FULL:="0"; INTQ:="0"; ELSE SDA1:="1"; IF(CLK1"EVENT AND CLK="0" AND FULL1="0")THEN IF(CLK1COUNT"20")THEN INTQ:="1"; CLK1COUNT:="0"; ELSE CLK1COUNT:=CLK1COUNT+1; END IF; END IF; IF(SLAVE="1" AND SCL="1" AND SDA "EVENT AND SDA="1")THEN STP:="1"; CSTA:="0"; END IF; END IF; END PROCESS;

2.4 總線(xiàn)仲裁

在通訊過(guò)程中,ISP器件在發(fā)送數據的同時(shí)接收總線(xiàn)上的數據,將該數據與已送的數據進(jìn)行比較,若不相同則置位狀態(tài)發(fā)生器的SLAVE,表示該主機退出競爭。通過(guò)處理給控制寄存器發(fā)送控制字可以讓ISP器件轉入從機工作方式。這時(shí)啟動(dòng)地址檢測,禁止SCL的發(fā)送。在一次通訊結束后,將狀態(tài)生成器的END置位,此時(shí)處理器可以再次將ISP器件設置為主機方式。

2.5 控制寄存器與狀態(tài)生成器

控制寄存器主要是定義ISP器件的工作狀態(tài),其各位的定義為: BUSY   CLKEN CLKS2 CLKS1 STA STP M/S BUSY:若該位為"1",主機作為接收機時(shí),不發(fā)應答信號; STA:?jiǎn)?dòng)信號位; STP:停止信號位; M/S:主從機位,用于選擇芯片工作狀態(tài)(主機還是從機); CLKS1、CLKS2:頻選控制位; CLKEN:SCL使能位,該位為1時(shí)SCL置高電平。狀態(tài)生成器可以生成工作狀態(tài)信號(中斷、IIC總線(xiàn)競爭、從機方式時(shí)通訊開(kāi)始與結束)供處理器查詢(xún)[FS:PAGE]處理。

3 參數配置

該器件可以配置為從100kbps(標準)到400kbps(高速)的任何傳送速度,以滿(mǎn)足不同的需要。只需在VHDL(描述的結構體中指明配置的參數即可實(shí)現配置,非常方便。本設計只使用一片可編程芯片即可完成IIC總線(xiàn)接口的芯片功能。由于采用VHDL-93語(yǔ)言進(jìn)行設計,具有良好的可移植性,可用于其它ISP廠(chǎng)家的產(chǎn)品中。通過(guò)ByteBlast下載線(xiàn)可以在線(xiàn)改變其功能,體現了中的ISP器件的優(yōu)越性。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: I2C總線(xiàn) 通訊接口 CPLD

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>