欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Iic擴展系統(tǒng)及方法

文檔序號:8943019閱讀:612來源:國知局
Iic擴展系統(tǒng)及方法
【技術領域】
[0001]本發(fā)明涉及一種在IIC總線從機的地址相同的情況下,對IIC總線主機能控制的IIC總線從機的數(shù)量進行擴展的系統(tǒng)及采用該系統(tǒng)的方法。
【背景技術】
[0002]IIC總線是一種兩線式串行總線,用于連接微控制器及其外圍設備。由于其簡單、靈活、硬件管腳資源少等優(yōu)點,在器件與器件之間的通信中有著廣泛的應用。在標準的IIC總線協(xié)議中,物理鏈路分別是一條串行數(shù)據(jù)線(以下簡稱為SDA信號線)和一條串行時鐘線(以下簡稱為SCL信號線)。
[0003]IIC總線中的器件被分為主機和從機。主機是初始化IIC總線的數(shù)據(jù)傳輸并產(chǎn)生允許傳輸?shù)臅r鐘信號的器件。此時,任何被尋址的器件都被認為是從機。每個從機一般均有一個唯一的地址,主機可以通過該地址,配置和管理相應的從機。
[0004]但在實際應用中,有可能會出現(xiàn)多個從機地址相同的情況。例如,現(xiàn)有用于以太網(wǎng)交換機的光模塊,其IIC總線的地址都是已經(jīng)固定的Α0Η。此時如果采用傳統(tǒng)的方法,主機是無法對具有相同地址的從機進行管理、配置和通信的。
[0005]為了解決上述問題,在現(xiàn)有技術中,一種方案是利用CPU的1 口用軟件方式來模擬IIC總線時序,會占用很多CPU的軟硬件資源,降低CPU的使用效率。
[0006]另一種方案是利用CPU自身的IIC總線。但CPU自身的IIC總線接口有限,有的以太網(wǎng)交換機有24個甚至更多的光口,這就需要有更多的IIC總線,CPU自身的IIC總線接口顯然無法滿足需求。
[0007]還有一種方案是在主機與多個從機的SDA信號線上設置開關,來選擇需要操作的從機,這樣就需要另外增加至少一片芯片,會增加電路板布局布線的難度。

【發(fā)明內容】

[0008]本發(fā)明要解決的技術問題是:在不增加主機額外開銷的基礎上,能夠根據(jù)需要擴展任意數(shù)量的從機。
[0009]為了解決上述技術問題,本發(fā)明的一個技術方案是提供了一種IIC擴展系統(tǒng),包括一個主機及N個從機,N ^ 1,其特征在于,還包括:
[0010]串行時鐘線擴展單元,具有至少一個串行時鐘輸入接口及M個串行時鐘輸出接口,M ^ N,用于將主機的一路串行時鐘輸出擴展為M路串行時鐘輸出,M路串行時鐘輸出中的N路分別與N個從機相連;
[0011]使能單元,用于根據(jù)主機的命令在同一時間僅選中并使能N路串行時鐘輸出中的任意一路。
[0012]優(yōu)選地,所述主機與N個所述從機共用一條串行數(shù)據(jù)線。
[0013]優(yōu)選地,還包括數(shù)據(jù)隨傳單元,具有至少一個串行數(shù)據(jù)輸入接口及至少一個串行數(shù)據(jù)輸出接口,N個從機的串行數(shù)據(jù)線均與數(shù)據(jù)隨傳單元的一個串行數(shù)據(jù)輸出接口相連,用于將所述主機的串行數(shù)據(jù)線上的數(shù)據(jù)隨傳至被所述使能單元使能的一路串行時鐘輸出對應的從機的串行數(shù)據(jù)線上。
[0014]優(yōu)選地,所述串行時鐘線擴展單元與所述數(shù)據(jù)隨傳單元集成在一塊芯片上。
[0015]優(yōu)選地,所述芯片至少具有M+3個I/O 口,所有I/O 口中的一個作為所述串行數(shù)據(jù)輸入接口,所有I/O 口中的一個作為所述串行數(shù)據(jù)輸出接口,所有I/O 口中的一個作為所述串行時鐘輸入接口,所有I/O 口中的M個作為所述串行時鐘輸出接口。
[0016]優(yōu)選地,所述芯片采用CPLD。
[0017]本發(fā)明的另一個技術方案是提供了一種基于上述的IIC擴展系統(tǒng)的IIC擴展方法,其特征在于,包括如下步驟:
[0018]步驟1、主機啟動后,選中并使能N路串行時鐘輸出中的任意一路,僅該路串行時鐘輸出對應的從機能通過IIC總線與主機進行數(shù)據(jù)通信,其他從機均掛起;
[0019]步驟2、主機依據(jù)IIC協(xié)議向未掛起的從機發(fā)送數(shù)據(jù);
[0020]步驟3、數(shù)據(jù)發(fā)送完畢后,主機將步驟I中使能的一路串行時鐘輸出停止,所有從機均掛起,等待下一次數(shù)據(jù)傳輸。
[0021]優(yōu)選地,在所述步驟I中,被使能的一路串行時鐘輸出對應的從機的串行時鐘線處于低阻狀態(tài),其他掛起的從機的串行時鐘線處于高阻狀態(tài);
[0022]在所述步驟3中,主機通過將使能的一路串行時鐘輸出對應的從機的串行時鐘線從低阻狀態(tài)拉高至高阻狀態(tài),從而將該從機掛起。
[0023]本發(fā)明不是采用CPU的I/O 口模擬IIC總線,因此不會降低CPU的工作效率;而采用諸如CPLD之類的串行時鐘線擴展單元,使得擴展的從機的數(shù)量可以根據(jù)需要來確定,具有較大的靈活性。對于CPLD而言,可擴展的從機的數(shù)量是該CPLD的I/O 口數(shù)量-1。更進一步,本發(fā)明擴展的從機共用數(shù)據(jù)信號線SDA,可以節(jié)省大量的CPLD的I/O 口。
【附圖說明】
[0024]圖1為本發(fā)明提供的一種IIC擴展系統(tǒng)的系統(tǒng)框圖;
[0025]圖2為本發(fā)明提供的一種IIC擴展方法的流程圖。
【具體實施方式】
[0026]為使本發(fā)明更明顯易懂,茲以優(yōu)選實施例,并配合附圖作詳細說明如下。
[0027]如圖1所示,為本實施例公開的一種IIC擴展系統(tǒng),其包括作為IIC主機的CPU,該CPU的IIC接口分別與一根SDA信號線與一根SCL信號線相連。該IIC擴展系統(tǒng)具有N個從機,1#從機至N#從機,這N個從機具有相同的地址,因此,CPU僅通過地址是無法正確選中想要傳輸數(shù)據(jù)的那個從機。
[0028]為了解決上述問題,本實施例提出的方案是利用CPLD對SCL信號線進行擴展。CPLD是一種復雜可編程邏輯器件,其具有豐富的I/O接口資源,發(fā)明人正是利用這一點進行擴展,具體而言,將CPLD的一個I/O接口定義為SCL信號輸入接口,將另外的N個接口分別定義為N個SCL信號輸出接口,這N個SCL信號輸出接口分別與N個從機上的N根SCL信號線相連。至于SDA信號線,本領域技術人員當然也可以如SCL信號線一般,為N個從機分別將CPLD的N個I/O接口定義為不同的SDA信號輸出端。但是,在本例中,在同一時間僅有一個從機會工作,而其他N-1從機會被掛起,因此,N個從機的SDA信號線完全可以共用CPLD的一個I/O接口,即僅將CPLD的一個I/O接口定義為SDA信號輸出接口,這個SDA信號輸出接口與N個從機的N根SDA信號線相連。將CPLD的另一個I/O接口定義為SDA信號輸入接口。
[0029]CPLD的SCL信號輸入接口及SDA信號輸入接口分別與主機的SDA信號線及SCL信號線相連。
[0030]如圖1所示的系統(tǒng)搭建好以后,就可以利用該系統(tǒng)進行基于IIC協(xié)議的數(shù)據(jù)傳輸,結合圖2,其步驟為:
[0031 ] 步驟1、主機啟動后,通過CPLD選中并使能N個從機的N根SCL信號線中的任意一根,則被使用的SCL信號線被拉低至低阻狀態(tài),其他N-1根SCL信號線則保持高阻狀態(tài),即處于高阻狀態(tài)的N-1根SCL信號線對應的N-1個從機被掛起;
[0032]步驟2、主機依據(jù)IIC協(xié)議向未掛起的從機發(fā)送數(shù)據(jù);
[0033]步驟3、數(shù)據(jù)發(fā)送完畢后,主機將處于低阻狀態(tài)的那根SCL信號線拉高至高阻狀態(tài),其他N-1根SCL信號線依舊保持高阻狀態(tài),此時,所有的N個從機均被掛起,等待下一次數(shù)據(jù)傳輸。
[0034]本發(fā)明以上實施例不是采用CPU的I/O 口模擬IIC總線,因此不會降低CPU的工作效率,而采用諸如CPLD之類的串行時鐘線擴展單元,使得擴展的從機的數(shù)量可以根據(jù)需要來確定,具有較大的靈活性。對于CPLD而言,可擴展的從機的數(shù)量是該CPLD的I/O 口數(shù)量-1。更進一步,本發(fā)明擴展的從機共用數(shù)據(jù)信號線SDA,可以節(jié)省大量的CPLD的I/O 口。
【主權項】
1.一種IIC擴展系統(tǒng),包括一個主機及N個從機,N ^ 1,其特征在于,還包括: 串行時鐘線擴展單元,具有至少一個串行時鐘輸入接口及M個串行時鐘輸出接口,M多N,用于將主機的一路串行時鐘輸出擴展為M路串行時鐘輸出,M路串行時鐘輸出中的N路分別與N個從機相連; 使能單元,用于根據(jù)主機的命令在同一時間僅選中并使能N路串行時鐘輸出中的任意一路。2.如權利要求1所述的一種IIC擴展系統(tǒng),其特征在于,所述主機與N個所述從機共用一條串行數(shù)據(jù)線。3.如權利要求2所述的一種IIC擴展系統(tǒng),其特征在于,還包括數(shù)據(jù)隨傳單元,具有至少一個串行數(shù)據(jù)輸入接口及至少一個串行數(shù)據(jù)輸出接口,N個從機的串行數(shù)據(jù)線均與數(shù)據(jù)隨傳單元的一個串行數(shù)據(jù)輸出接口相連,用于將所述主機的串行數(shù)據(jù)線上的數(shù)據(jù)隨傳至被所述使能單元使能的一路串行時鐘輸出對應的從機的串行數(shù)據(jù)線上。4.如權利要求3所述的一種IIC擴展系統(tǒng),其特征在于,所述串行時鐘線擴展單元與所述數(shù)據(jù)隨傳單元集成在一塊芯片上。5.如權利要求4所述的一種IIC擴展系統(tǒng),其特征在于,所述芯片至少具有M+3個I/O 口,所有I/O 口中的一個作為所述串行數(shù)據(jù)輸入接口,所有I/O 口中的一個作為所述串行數(shù)據(jù)輸出接口,所有I/O 口中的一個作為所述串行時鐘輸入接口,所有I/O 口中的M個作為所述串行時鐘輸出接口。6.如權利要求4所述的一種IIC擴展系統(tǒng),其特征在于,所述芯片采用CPLD。7.—種基于權利要求1所述的IIC擴展系統(tǒng)的IIC擴展方法,其特征在于,包括如下步驟: 步驟1、主機啟動后,選中并使能N路串行時鐘輸出中的任意一路,僅該路串行時鐘輸出對應的從機能通過IIC總線與主機進行數(shù)據(jù)通信,其他從機均掛起; 步驟2、主機依據(jù)IIC協(xié)議向未掛起的從機發(fā)送數(shù)據(jù); 步驟3、數(shù)據(jù)發(fā)送完畢后,主機將步驟I中使能的一路串行時鐘輸出停止,所有從機均掛起,等待下一次數(shù)據(jù)傳輸。8.如權利要求7所述的一種IIC擴展方法,其特征在于,在所述步驟I中,被使能的一路串行時鐘輸出對應的從機的串行時鐘線處于低阻狀態(tài),其他掛起的從機的串行時鐘線處于高阻狀態(tài); 在所述步驟3中,主機通過將使能的一路串行時鐘輸出對應的從機的串行時鐘線從低阻狀態(tài)拉高至高阻狀態(tài),從而將該從機掛起。
【專利摘要】本發(fā)明提供了一種IIC擴展系統(tǒng),包括一個主機及N個從機,N≥1,其特征在于,還包括:串行時鐘線擴展單元;使能單元。本發(fā)明的另一個技術方案是提供了一種基于上述的IIC擴展系統(tǒng)的IIC擴展方法。本發(fā)明不是采用CPU的I/O口模擬IIC總線,因此不會降低CPU的工作效率。本發(fā)明采用諸如CPLD之類的串行時鐘線擴展單元,使得擴展的從機的數(shù)量可以根據(jù)需要來確定,具有較大的靈活性。對于CPLD而言,可擴展的從機的數(shù)量是該CPLD的I/O口數(shù)量-1。更進一步,本發(fā)明擴展的從機共用數(shù)據(jù)信號線SDA,可以節(jié)省大量的CPLD的I/O口。
【IPC分類】G06F13/40
【公開號】CN105159860
【申請?zhí)枴緾N201510651074
【發(fā)明人】王振
【申請人】上海斐訊數(shù)據(jù)通信技術有限公司
【公開日】2015年12月16日
【申請日】2015年10月10日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
株洲市| 晋州市| 金沙县| 尼玛县| 德化县| 阿尔山市| 盐源县| 西乌| 高邮市| 射洪县| 攀枝花市| 华亭县| 呼和浩特市| 天台县| 卫辉市| 自治县| 巨鹿县| 五华县| 凌源市| 玛曲县| 廉江市| 拜城县| 新昌县| 彩票| 东安县| 井冈山市| 东光县| 林甸县| 济南市| 林口县| 和林格尔县| 靖宇县| 和顺县| 普格县| 江华| 会昌县| 永泰县| 卢龙县| 中西区| 阳朔县| 垣曲县|