浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 顯示光電

基于CPLD的系統(tǒng)中 I2C總線的設(shè)計(jì)

發(fā)布時(shí)間:2007/8/20 0:00:00 訪問次數(shù):510

摘要: 在介紹I2C總線協(xié)議的基礎(chǔ)上,討論了基于CPLD的系統(tǒng)中 I2C總線的設(shè)計(jì)技術(shù),并結(jié)合工程實(shí)例設(shè)計(jì)了I2C總線IP核,
      壓住給出了部分源代碼和仿真結(jié)果。關(guān)鍵詞: I2C總線 IP核 CPLD
    I2C總線是PHILIPS公司推出的新一代串行總線,其應(yīng)用日漸廣泛1~2。目前許多單片機(jī)都帶有I2C總線接口,能方便地實(shí)現(xiàn)I2C總線設(shè)計(jì);對(duì)沒有I2C總線的微控制器(MCU),可以采用兩條I/O口線進(jìn)行模擬。在以單片機(jī)為MCU的系統(tǒng)中很容易實(shí)現(xiàn)I2C總線的模擬擴(kuò)展,有現(xiàn)成的通用軟件包可以使用2~3。
    對(duì)有些基于CPLD的系統(tǒng),要與帶有I2C總線接口的外圍器件連接,實(shí)現(xiàn)起來相對(duì)復(fù)雜一些。為實(shí)現(xiàn)系統(tǒng)中的I2C總線接口,可以另外引入單片機(jī),也可以采用PCF8584或者PCA9564器件(PHILIPS公司推出的專用I2C總線擴(kuò)展器)進(jìn)行擴(kuò)展,但這樣會(huì)增加系統(tǒng)成本,使系統(tǒng)冗余復(fù)雜。像ALTERA、XILINX等一些大公司有專用的基于CPLD器件的I2C總線IP核,但這些IP核的通用性不強(qiáng),需要的外圍控制信號(hào)較多,占用系統(tǒng)很大的資源,因此直接采用這種IP核不可取。
    鑒于此,依照I2C總線協(xié)議的時(shí)序要求,在基于CPLD的系統(tǒng)中開發(fā)了自己的I2C總線IP核。對(duì)于一些帶有I2C總線接口的外圍器件較少、對(duì)I2C總線功能要求較簡(jiǎn)單的CPLD系統(tǒng),自主開發(fā)IP核顯得既經(jīng)濟(jì)又方便。
    I2C總線的協(xié)議
    I2C總線僅僅依靠?jī)筛B線就實(shí)現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送:一根為串行數(shù)據(jù)線(SDA),一根為串行時(shí)鐘線(SCL)。該總線協(xié)議有嚴(yán)格的時(shí)序要求?偩工作時(shí),由時(shí)鐘控制線SCL傳送時(shí)鐘脈沖,由串行數(shù)據(jù)線SDA傳送數(shù)據(jù)。總線傳送的每幀數(shù)據(jù)均為一個(gè)字節(jié)(8bit),但啟動(dòng)I2C總線后,傳送的字節(jié)個(gè)數(shù)沒有限制,只要求每傳送一個(gè)字節(jié)后,對(duì)方回應(yīng)一個(gè)應(yīng)答位(AcknowledgeBit)。發(fā)送數(shù)據(jù)時(shí)首先發(fā)送數(shù)據(jù)的最高位(MSB)。
    I2C總線協(xié)議規(guī)定,啟動(dòng)總線后第一個(gè)字節(jié)的高7位是從器件的尋址地址,第8位為方向位(“0”表示主器件對(duì)從器件的寫操作;“1”表示主器件對(duì)從器件的讀操作),其余的字節(jié)為操作的數(shù)據(jù)?偩每次傳送開始時(shí)有起始信號(hào),結(jié)束時(shí)有停止信號(hào)。在總線傳送完一個(gè)或幾個(gè)字節(jié)后,可以使SCL線的電平變低,從而使傳送暫停。  
    依據(jù)I2C總線的傳輸協(xié)議,總線工作時(shí)的具體時(shí)序如下:
    起始信號(hào)(S):在時(shí)鐘SCL為高電平期間,數(shù)據(jù)線SDA出現(xiàn)由高電平向低電平的變化,用于啟動(dòng)I2C總線,準(zhǔn)備開始傳送數(shù)據(jù);
    停止信號(hào)(P):在時(shí)鐘SCL為高電平期間,數(shù)據(jù)線SDA出現(xiàn)由低電平向高電平的變化,用于停止I2C總線上的數(shù)據(jù)傳送;
    應(yīng)答信號(hào)(A):I2C總線的第9個(gè)脈沖對(duì)應(yīng)應(yīng)答位,若SDA線上顯示低電平則為總線“應(yīng)答”(A),若SDA線上顯示高電平則為“非應(yīng)答”(/A);
    數(shù)據(jù)位傳送:I2C總線起始信號(hào)或應(yīng)答信號(hào)之后的第1~8個(gè)時(shí)鐘脈沖對(duì)應(yīng)一個(gè)字節(jié)的8位數(shù)據(jù)傳送。在脈沖高電平期間,數(shù)據(jù)串行傳送;在脈沖低電平期間,數(shù)據(jù)準(zhǔn)備,允許總線上數(shù)據(jù)電平變化。
    應(yīng)用實(shí)例
◆實(shí)例模型介紹
    現(xiàn)舉某應(yīng)用實(shí)例,要求對(duì)顯示器的視頻信號(hào)進(jìn)行采集、處理和再顯示,整個(gè)系統(tǒng)采用CPLD器件進(jìn)行控制。信號(hào)采集采用A/D公司的專用視頻采集芯片AD9883,該芯片在使用前需要依據(jù)實(shí)際的功能指標(biāo)進(jìn)行初始化。初始化過程依靠AD9883的SDA和SCL兩引腳進(jìn)行。在系統(tǒng)中用CPLD器件,ALTERA公司的EPM3256A,實(shí)現(xiàn)初始化:按照I2C總線協(xié)議向AD9883的19個(gè)內(nèi)部寄存器(01H~13H)寫入19組固定的8位數(shù)據(jù);第14H寄存器為只讀型同步檢測(cè)寄存器,僅用于檢測(cè)幾個(gè)關(guān)鍵的數(shù)據(jù)設(shè)置。
    可見該I2C總線模型如下:?jiǎn)沃鞑僮鳎粚?shí)現(xiàn)簡(jiǎn)單的寫和讀操作(亦可只有寫操作,只是硬件調(diào)試的時(shí)候會(huì)麻煩些),寫地址連續(xù),沒有競(jìng)爭(zhēng)和仲裁,是很簡(jiǎn)單的I2C總線系統(tǒng)。由此設(shè)計(jì)了如圖3所示的IP核。其中,RESET為復(fù)位信號(hào),CLK為系統(tǒng)時(shí)鐘。
    為了軟件仿真方便,把雙向數(shù)據(jù)線SDA用分離的兩條線模擬:SDA為數(shù)據(jù)輸出,SDAACK為SDA的應(yīng)答信號(hào)。軟件仿真成功后,只要把SDA設(shè)置為雙向,稍微修改一下程序就可以向CPLD器件下載,進(jìn)行實(shí)際應(yīng)用。
    對(duì)AD9883內(nèi)部地址連續(xù)的寄存器進(jìn)行初始化,I2C總線上傳輸?shù)臅r(shí)序信號(hào)依次為:開始信號(hào)(S);從器件地址和寫操作位(SLAW);內(nèi)部寄存器基地址(Base Address);寫入基地址的數(shù)據(jù)(Date0);寫入下一地址(Base Address+1)的數(shù)據(jù)(Date1);寫入地址(Base Address+2))的數(shù)據(jù)(Date2);……;寫入地址(Base Address+18)的數(shù)據(jù)(Date18);停止信號(hào)

摘要: 在介紹I2C總線協(xié)議的基礎(chǔ)上,討論了基于CPLD的系統(tǒng)中 I2C總線的設(shè)計(jì)技術(shù),并結(jié)合工程實(shí)例設(shè)計(jì)了I2C總線IP核,
      壓住給出了部分源代碼和仿真結(jié)果。關(guān)鍵詞: I2C總線 IP核 CPLD
    I2C總線是PHILIPS公司推出的新一代串行總線,其應(yīng)用日漸廣泛1~2。目前許多單片機(jī)都帶有I2C總線接口,能方便地實(shí)現(xiàn)I2C總線設(shè)計(jì);對(duì)沒有I2C總線的微控制器(MCU),可以采用兩條I/O口線進(jìn)行模擬。在以單片機(jī)為MCU的系統(tǒng)中很容易實(shí)現(xiàn)I2C總線的模擬擴(kuò)展,有現(xiàn)成的通用軟件包可以使用2~3。
    對(duì)有些基于CPLD的系統(tǒng),要與帶有I2C總線接口的外圍器件連接,實(shí)現(xiàn)起來相對(duì)復(fù)雜一些。為實(shí)現(xiàn)系統(tǒng)中的I2C總線接口,可以另外引入單片機(jī),也可以采用PCF8584或者PCA9564器件(PHILIPS公司推出的專用I2C總線擴(kuò)展器)進(jìn)行擴(kuò)展,但這樣會(huì)增加系統(tǒng)成本,使系統(tǒng)冗余復(fù)雜。像ALTERA、XILINX等一些大公司有專用的基于CPLD器件的I2C總線IP核,但這些IP核的通用性不強(qiáng),需要的外圍控制信號(hào)較多,占用系統(tǒng)很大的資源,因此直接采用這種IP核不可取。
    鑒于此,依照I2C總線協(xié)議的時(shí)序要求,在基于CPLD的系統(tǒng)中開發(fā)了自己的I2C總線IP核。對(duì)于一些帶有I2C總線接口的外圍器件較少、對(duì)I2C總線功能要求較簡(jiǎn)單的CPLD系統(tǒng),自主開發(fā)IP核顯得既經(jīng)濟(jì)又方便。
    I2C總線的協(xié)議
    I2C總線僅僅依靠?jī)筛B線就實(shí)現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送:一根為串行數(shù)據(jù)線(SDA),一根為串行時(shí)鐘線(SCL)。該總線協(xié)議有嚴(yán)格的時(shí)序要求。總線工作時(shí),由時(shí)鐘控制線SCL傳送時(shí)鐘脈沖,由串行數(shù)據(jù)線SDA傳送數(shù)據(jù)?偩傳送的每幀數(shù)據(jù)均為一個(gè)字節(jié)(8bit),但啟動(dòng)I2C總線后,傳送的字節(jié)個(gè)數(shù)沒有限制,只要求每傳送一個(gè)字節(jié)后,對(duì)方回應(yīng)一個(gè)應(yīng)答位(AcknowledgeBit)。發(fā)送數(shù)據(jù)時(shí)首先發(fā)送數(shù)據(jù)的最高位(MSB)。
    I2C總線協(xié)議規(guī)定,啟動(dòng)總線后第一個(gè)字節(jié)的高7位是從器件的尋址地址,第8位為方向位(“0”表示主器件對(duì)從器件的寫操作;“1”表示主器件對(duì)從器件的讀操作),其余的字節(jié)為操作的數(shù)據(jù)?偩每次傳送開始時(shí)有起始信號(hào),結(jié)束時(shí)有停止信號(hào)。在總線傳送完一個(gè)或幾個(gè)字節(jié)后,可以使SCL線的電平變低,從而使傳送暫停。  
    依據(jù)I2C總線的傳輸協(xié)議,總線工作時(shí)的具體時(shí)序如下:
    起始信號(hào)(S):在時(shí)鐘SCL為高電平期間,數(shù)據(jù)線SDA出現(xiàn)由高電平向低電平的變化,用于啟動(dòng)I2C總線,準(zhǔn)備開始傳送數(shù)據(jù);
    停止信號(hào)(P):在時(shí)鐘SCL為高電平期間,數(shù)據(jù)線SDA出現(xiàn)由低電平向高電平的變化,用于停止I2C總線上的數(shù)據(jù)傳送;
    應(yīng)答信號(hào)(A):I2C總線的第9個(gè)脈沖對(duì)應(yīng)應(yīng)答位,若SDA線上顯示低電平則為總線“應(yīng)答”(A),若SDA線上顯示高電平則為“非應(yīng)答”(/A);
    數(shù)據(jù)位傳送:I2C總線起始信號(hào)或應(yīng)答信號(hào)之后的第1~8個(gè)時(shí)鐘脈沖對(duì)應(yīng)一個(gè)字節(jié)的8位數(shù)據(jù)傳送。在脈沖高電平期間,數(shù)據(jù)串行傳送;在脈沖低電平期間,數(shù)據(jù)準(zhǔn)備,允許總線上數(shù)據(jù)電平變化。
    應(yīng)用實(shí)例
◆實(shí)例模型介紹
    現(xiàn)舉某應(yīng)用實(shí)例,要求對(duì)顯示器的視頻信號(hào)進(jìn)行采集、處理和再顯示,整個(gè)系統(tǒng)采用CPLD器件進(jìn)行控制。信號(hào)采集采用A/D公司的專用視頻采集芯片AD9883,該芯片在使用前需要依據(jù)實(shí)際的功能指標(biāo)進(jìn)行初始化。初始化過程依靠AD9883的SDA和SCL兩引腳進(jìn)行。在系統(tǒng)中用CPLD器件,ALTERA公司的EPM3256A,實(shí)現(xiàn)初始化:按照I2C總線協(xié)議向AD9883的19個(gè)內(nèi)部寄存器(01H~13H)寫入19組固定的8位數(shù)據(jù);第14H寄存器為只讀型同步檢測(cè)寄存器,僅用于檢測(cè)幾個(gè)關(guān)鍵的數(shù)據(jù)設(shè)置。
    可見該I2C總線模型如下:?jiǎn)沃鞑僮,只?shí)現(xiàn)簡(jiǎn)單的寫和讀操作(亦可只有寫操作,只是硬件調(diào)試的時(shí)候會(huì)麻煩些),寫地址連續(xù),沒有競(jìng)爭(zhēng)和仲裁,是很簡(jiǎn)單的I2C總線系統(tǒng)。由此設(shè)計(jì)了如圖3所示的IP核。其中,RESET為復(fù)位信號(hào),CLK為系統(tǒng)時(shí)鐘。
    為了軟件仿真方便,把雙向數(shù)據(jù)線SDA用分離的兩條線模擬:SDA為數(shù)據(jù)輸出,SDAACK為SDA的應(yīng)答信號(hào)。軟件仿真成功后,只要把SDA設(shè)置為雙向,稍微修改一下程序就可以向CPLD器件下載,進(jìn)行實(shí)際應(yīng)用。
    對(duì)AD9883內(nèi)部地址連續(xù)的寄存器進(jìn)行初始化,I2C總線上傳輸?shù)臅r(shí)序信號(hào)依次為:開始信號(hào)(S);從器件地址和寫操作位(SLAW);內(nèi)部寄存器基地址(Base Address);寫入基地址的數(shù)據(jù)(Date0);寫入下一地址(Base Address+1)的數(shù)據(jù)(Date1);寫入地址(Base Address+2))的數(shù)據(jù)(Date2);……;寫入地址(Base Address+18)的數(shù)據(jù)(Date18);停止信號(hào)

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

按鈕與燈的互動(dòng)實(shí)例
    現(xiàn)在趕快去看看這個(gè)目錄卞有什么。FGA15N120AN... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!