两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種通訊傳輸控制裝置的制作方法

文檔序號(hào):7604175閱讀:124來源:國知局
專利名稱:一種通訊傳輸控制裝置的制作方法
技術(shù)領(lǐng)域
本實(shí)用新型涉及通訊協(xié)議控制技術(shù),尤指一種能同時(shí)兼容I2C和SPI的通訊傳輸控制裝置。
背景技術(shù)
I2C(Inter-IC)和SPI(Serial Peripheral Interface)是常見的兩種不同機(jī)制的串口通訊協(xié)議,其中,I2C具有多主控功能,是一種具有多端控制能力的雙線雙向串行數(shù)據(jù)總線系統(tǒng),能用于替代標(biāo)準(zhǔn)的并行總線,能連接的各種集成電路和功能模塊,通常根據(jù)地址碼的位數(shù)確定能支持的設(shè)備數(shù)。SPI是一個(gè)同步串行外設(shè)接口,用于CPU與各種外圍器件進(jìn)行全雙工、同步串行通訊,SPI可以同時(shí)發(fā)出和接收串行數(shù)據(jù),只需四條線就能完成與各種外圍器件的通訊。一般而言,I2C器件主要用于低速小數(shù)據(jù)量傳輸?shù)拇谕ㄓ?;而SPI器件用于高速大數(shù)據(jù)量傳輸?shù)拇谕ㄓ崱?br> 在實(shí)際應(yīng)用中,I2C或SPI都是由控制器來控制完成數(shù)據(jù)通訊的,所述控制器一般由中央處理單元(CPU)和寄存器組成。
對(duì)于I2C器件,通常采用的通訊方式是這樣當(dāng)有數(shù)據(jù)要傳輸時(shí),控制器先發(fā)送一個(gè)表示通訊開始的標(biāo)志;接著發(fā)送本次通訊的控制位,包括器件地址和方向,其中器件地址是指目標(biāo)器件的地址,方向可通過讀或?qū)懕硎荆恢笤侔l(fā)送器件內(nèi)部地址,即數(shù)據(jù)要存儲(chǔ)至的位置或要讀取數(shù)據(jù)所在的位置;然后,就進(jìn)行數(shù)據(jù)通訊傳輸數(shù)據(jù);數(shù)據(jù)傳輸結(jié)束后,發(fā)送一個(gè)表示通訊結(jié)束的標(biāo)志,結(jié)束本次通訊。
對(duì)于SPI器件,通常采用的通訊方式是這樣當(dāng)有數(shù)據(jù)要傳輸時(shí),控制器先發(fā)出命令字,比如讀或?qū)懼噶睿唤又l(fā)送器件內(nèi)部地址,即數(shù)據(jù)要存儲(chǔ)至的位置或要讀取數(shù)據(jù)所在的位置;之后,就進(jìn)行數(shù)據(jù)通訊傳輸數(shù)據(jù)。在利用SPI進(jìn)行串口通訊時(shí),需要在通訊開始前開啟SPI通道,通訊結(jié)束后關(guān)閉SPI通道。
目前的具體應(yīng)用中,已有控制器件只能支持I2C和SPI兩種通訊協(xié)議中的一種,不能相互兼容。如此,用戶不能根據(jù)實(shí)際通訊的需要任意選擇或切換不同的通訊方式,在使用上給用戶帶來很多不便。
實(shí)用新型內(nèi)容有鑒于此,本實(shí)用新型的主要目的在于提供一種通訊傳輸控制裝置,使其能同時(shí)支持I2C和SPI兩種協(xié)議的通訊,為用戶提供方便。
為達(dá)到上述目的,本實(shí)用新型的技術(shù)方案是這樣實(shí)現(xiàn)的一種通訊傳輸控制裝置,該裝置包括I2C通訊模塊,用于根據(jù)控制器的控制信號(hào),采用I2C協(xié)議完成數(shù)據(jù)傳輸;SPI通訊模塊,用于根據(jù)控制器的控制信號(hào),采用SPI協(xié)議完成數(shù)據(jù)傳輸;控制器,用于接收數(shù)據(jù)傳輸命令,確定當(dāng)前采用的通訊協(xié)議,并向所確定通訊協(xié)議對(duì)應(yīng)的通訊模塊發(fā)送控制信號(hào);所述I2C通訊模塊和SPI通訊模塊通過同一通訊端口與外部器件進(jìn)行交互。
其中,所述控制器與自身所在的通訊設(shè)備的核心處理器相連,接收核心處理器發(fā)來的數(shù)據(jù)傳輸命令,并向核心處理器產(chǎn)生中斷。所述控制器由中央處理單元和至少一個(gè)寄存器組成,所述寄存器至少包括存儲(chǔ)當(dāng)前所用通訊協(xié)議的通訊協(xié)議寄存器,以及表明是否有數(shù)據(jù)要發(fā)送的數(shù)據(jù)傳輸寄存器。所述通訊協(xié)議寄存器中的配置由外部的選擇跳線、或選擇開關(guān)設(shè)置。所述控制器與自身所在的通訊設(shè)備的核心處理器相連,且所述控制器中包括存儲(chǔ)當(dāng)前所用通訊協(xié)議的通訊協(xié)議寄存器,該通訊協(xié)議寄存器中的配置由核心處理器設(shè)置。
本實(shí)用新型所提供的通訊傳輸控制裝置,在進(jìn)行通訊時(shí),底層仍通過I2C或SPI協(xié)議進(jìn)行數(shù)據(jù)的傳輸,而控制器采用統(tǒng)一的方式進(jìn)行通訊傳輸控制,如此,使一個(gè)控制器能同時(shí)支持I2C和SPI兩種協(xié)議,可實(shí)現(xiàn)I2C或SPI兩種協(xié)議的兼容,使得用戶能方便地根據(jù)不同需求在兩種通訊協(xié)議之間任意選擇或快速切換。


圖1為本實(shí)用新型裝置的組成結(jié)構(gòu)示意圖;圖2為本實(shí)用新型控制器中的狀態(tài)機(jī)示意圖。
具體實(shí)施方式
本實(shí)用新型的核心思想是在底層傳輸時(shí)仍分別使用I2C和SPI協(xié)議,但在協(xié)議控制時(shí)使用同一個(gè)控制器進(jìn)行統(tǒng)一的處理。也就是說,本實(shí)用新型針對(duì)I2C和SPI兩種協(xié)議,獲取兩種協(xié)議通訊信號(hào)的共同特征,然后在控制器中采用狀態(tài)機(jī)的方式實(shí)現(xiàn)通訊控制,復(fù)用通訊端口。
雖然在硬件上I2C和SPI通訊過程中的時(shí)序和應(yīng)答方式不一樣,但從控制器的角度來看,二者的通訊方式是可以統(tǒng)一的,兩種協(xié)議所發(fā)送的信號(hào)之間存在共同特征。具體體現(xiàn)為在控制器中,本實(shí)用新型的通訊方式可統(tǒng)一為表一所示的順序

表一其中,對(duì)于I2C的器件,開始對(duì)應(yīng)于通訊開始標(biāo)志,通過物理層數(shù)據(jù)線和時(shí)鐘線的變化來實(shí)現(xiàn);控制位對(duì)應(yīng)于本次通訊的控制位,即器件地址和讀/寫;地址對(duì)應(yīng)于器件內(nèi)地址,即數(shù)據(jù)要存儲(chǔ)或讀取的位置;數(shù)據(jù)對(duì)應(yīng)于數(shù)據(jù)通訊階段;結(jié)束對(duì)應(yīng)于通訊結(jié)束標(biāo)志,通過物理層的數(shù)據(jù)線和時(shí)鐘線的變化來實(shí)現(xiàn)。對(duì)于SPI的器件,開始相當(dāng)于開啟SPI的通道,通過片選和時(shí)鐘信號(hào)來實(shí)現(xiàn);控制位相當(dāng)于命令字;地址對(duì)應(yīng)于器件內(nèi)部地址,即數(shù)據(jù)要存儲(chǔ)或讀取的位置;數(shù)據(jù)對(duì)應(yīng)于數(shù)據(jù)通訊階段;結(jié)束相當(dāng)于關(guān)閉SPI通道,也通過片選和時(shí)鐘信號(hào)來實(shí)現(xiàn)。這樣,不同的通訊協(xié)議就可以統(tǒng)一進(jìn)行。同時(shí),地址的長度和數(shù)據(jù)傳輸?shù)拈L度可由控制器內(nèi)部的寄存器進(jìn)行控制,從而支持各種不同容量的I2C器件或SPI器件和不同數(shù)據(jù)量的傳輸。
基于上述原理,本實(shí)用新型提供了一種通訊傳輸控制裝置,如圖1所示,包括控制器10、I2C通訊模塊11和SPI通訊模塊12。其中,I2C通訊模塊11和SPI通訊模塊12分別負(fù)責(zé)采用I2C協(xié)議或SPI協(xié)議進(jìn)行數(shù)據(jù)傳輸,可直接采用現(xiàn)有技術(shù)中的I2C協(xié)議通訊模塊和SPI協(xié)議通訊模塊??刂破饔糜诮邮瘴⑻幚砥?圖中未示)發(fā)來的傳輸數(shù)據(jù)命令,比如發(fā)送數(shù)據(jù)命令或接收數(shù)據(jù)命令,根據(jù)自身寄存器中的配置確定控制I2C通訊模塊完成數(shù)據(jù)傳輸還是控制SPI通訊模塊完成數(shù)據(jù)傳輸,并按統(tǒng)一的通訊方式控制所確定的通訊模塊進(jìn)行數(shù)據(jù)傳輸,且在數(shù)據(jù)傳輸結(jié)束后以中斷方式通知微處理器本次通訊結(jié)束。這里,所述的微處理器是本實(shí)用新型通訊傳輸控制裝置所在的通訊設(shè)備的核心處理部件。
所述控制器由CPU和若干個(gè)對(duì)應(yīng)不同功能的寄存器組成,其中,CPU用于完成所有的處理操作,包括接收命令、生成控制信號(hào)、產(chǎn)生中斷等等;所述對(duì)應(yīng)不同功能的寄存器包括但不限于地址寄存器、地址傳輸字節(jié)數(shù)寄存器、數(shù)據(jù)寄存器、數(shù)據(jù)傳輸字節(jié)數(shù)寄存器、控制位寄存器等,不同的寄存器中存儲(chǔ)有對(duì)應(yīng)不同功能實(shí)現(xiàn)所需的配置參數(shù),地址傳輸字節(jié)數(shù)寄存器和數(shù)據(jù)傳輸字節(jié)數(shù)寄存器為零時(shí),分別表示沒有地址傳輸、沒有數(shù)據(jù)傳輸。除此以外,本實(shí)用新型中還專門使用一寄存器存儲(chǔ)當(dāng)前選擇的通訊協(xié)議對(duì)應(yīng)的配置參數(shù)值,可稱該寄存器為通訊協(xié)議寄存器,該通訊協(xié)議寄存器中的參數(shù)值可以通過微處理器根據(jù)需要設(shè)置,也可以通過通訊傳輸控制裝置外部的選擇跳線或選擇開關(guān)等硬件直接設(shè)置。
該通訊傳輸控制裝置無論以I2C協(xié)議傳輸數(shù)據(jù)還是以SPI協(xié)議傳輸數(shù)據(jù),均采用同一的通訊端口13與外部器件進(jìn)行交互,即兩種協(xié)議的通訊模塊復(fù)用同一通訊端口。
根據(jù)圖1所示的結(jié)構(gòu),本實(shí)用新型通訊傳輸控制裝置的工作原理是a)控制器10接收微處理器發(fā)來的傳輸數(shù)據(jù)命令后,以發(fā)送數(shù)據(jù)命令為例,控制器10讀取自身通訊協(xié)議寄存器中的配置參數(shù)值,確定本次數(shù)據(jù)發(fā)送所使用的通訊協(xié)議,然后生成對(duì)應(yīng)的開啟控制信號(hào)啟動(dòng)相應(yīng)的通訊模塊,比如如果通訊協(xié)議寄存器中的配置參數(shù)表示采用I2C協(xié)議發(fā)送數(shù)據(jù),則控制器10就控制數(shù)據(jù)線和時(shí)鐘線變化,如將數(shù)據(jù)線和時(shí)鐘線上的信號(hào)置為高;如果通訊協(xié)議寄存器中的配置參數(shù)表示采用SPI協(xié)議發(fā)送數(shù)據(jù),則控制器10就控制片選信號(hào)和時(shí)鐘信號(hào)變化,如將片選信號(hào)和時(shí)鐘信號(hào)置為高等等。
b)啟動(dòng)相應(yīng)通訊模塊后,控制器10就發(fā)送控制位,對(duì)于I2C就是發(fā)送器件地址和讀/寫,對(duì)于SPI就是發(fā)送命令字;之后,控制器10判斷是否有數(shù)據(jù)要發(fā)送,如果沒有,就直接產(chǎn)生相應(yīng)的結(jié)束控制信號(hào)發(fā)給對(duì)應(yīng)的通訊模塊,如果有數(shù)據(jù)要發(fā)送,再判斷是否傳送地址信息,如果傳送地址,就繼續(xù)通過相應(yīng)的通訊模塊發(fā)送器件內(nèi)部地址給外部器件,接著傳輸數(shù)據(jù),在數(shù)據(jù)傳輸完畢后,再產(chǎn)生相應(yīng)的結(jié)束控制信號(hào)發(fā)給對(duì)應(yīng)的通訊模塊,否則,直接傳輸數(shù)據(jù),并在數(shù)據(jù)傳輸完畢后,產(chǎn)生相應(yīng)的結(jié)束控制信號(hào)發(fā)給對(duì)應(yīng)的通訊模塊。
這里,結(jié)束控制信號(hào)同樣是通過控制數(shù)據(jù)線和時(shí)鐘線變化,或片選信號(hào)和時(shí)鐘信號(hào)的變化來實(shí)現(xiàn)。所述判斷是否有數(shù)據(jù)要發(fā)送也是控制器10通過讀取自身相應(yīng)寄存器中的配置參數(shù)確定的,該寄存器就是數(shù)據(jù)傳輸字節(jié)數(shù)寄存器,其中的配置參數(shù)表示是否有數(shù)據(jù)要傳送,該數(shù)據(jù)傳輸字節(jié)數(shù)寄存器中的配置參數(shù)可由微處理器設(shè)置。
對(duì)于本實(shí)用新型中所述的控制器,采用狀態(tài)機(jī)的方式實(shí)現(xiàn)控制,控制器狀態(tài)機(jī)包括等待狀態(tài)、啟動(dòng)狀態(tài)、控制位傳輸狀態(tài)、地址傳輸狀態(tài)、數(shù)據(jù)傳輸狀態(tài)和結(jié)束狀態(tài),具體參照圖2所示控制器狀態(tài)機(jī)在沒有通訊的情況下處于等待狀態(tài),該狀態(tài)下,可以修改控制器內(nèi)部的各個(gè)寄存器;并且,可通過設(shè)定數(shù)據(jù)傳輸和地址傳輸?shù)淖止?jié)數(shù)來決定一次通訊的通訊方式,如果字節(jié)設(shè)置為零,則沒有相應(yīng)的狀態(tài)。此種狀態(tài)下,如果收到數(shù)據(jù)傳送命令,則進(jìn)入啟動(dòng)狀態(tài)。具體實(shí)現(xiàn)可設(shè)置一開始標(biāo)志位,如果開始標(biāo)志位置位,比如將開始標(biāo)志位置為高則啟動(dòng)通訊,然后狀態(tài)機(jī)進(jìn)入到啟動(dòng)狀態(tài),如果開始標(biāo)志位處于復(fù)位,仍停留在等待狀態(tài)。
在啟動(dòng)狀態(tài)下,控制器產(chǎn)生開啟控制信號(hào)啟動(dòng)I2C或SPI通訊模塊的通訊,這里,控制器根據(jù)自身通訊協(xié)議寄存器中的配置參數(shù)確定啟動(dòng)I2C通訊模塊還是SPI通訊模塊,如果啟動(dòng)I2C通訊模塊,則通過控制物理層的數(shù)據(jù)線和時(shí)鐘線變化作為開啟控制信號(hào),如果啟動(dòng)SPI通訊模塊,則通過控制片選信號(hào)和時(shí)鐘信號(hào)變化作為開啟控制信號(hào);然后,控制器狀態(tài)機(jī)根據(jù)I2C通訊模塊或SPI通訊模塊產(chǎn)生的啟動(dòng)狀態(tài)結(jié)束信號(hào),進(jìn)入控制位傳輸狀態(tài)。
在控制位傳輸狀態(tài)下,I2C通訊模塊或SPI通訊模塊獲取控制器中的通訊控制位并傳送給外部器件,在傳送完控制位之后,I2C通訊模塊或SPI通訊模塊產(chǎn)生控制位發(fā)送結(jié)束信號(hào)。此時(shí),控制器根據(jù)自身數(shù)據(jù)傳輸字節(jié)數(shù)寄存器中的配置參數(shù),判斷是否有數(shù)據(jù)需要傳送,如果發(fā)現(xiàn)本次通訊不需要傳送數(shù)據(jù),則控制器狀態(tài)機(jī)直接跳向結(jié)束狀態(tài);如果有數(shù)據(jù)要傳送,則判斷是否需要傳送地址信息,如果需要,則進(jìn)入地址傳輸狀態(tài),否則直接跳入數(shù)據(jù)傳輸狀態(tài)。這里,是否有地址信息需要傳送,可以根據(jù)地址傳輸字節(jié)數(shù)寄存器是否為零來確定;同樣,是否有數(shù)據(jù)要傳送,也可以根據(jù)數(shù)據(jù)傳輸字節(jié)數(shù)寄存器是否為零來確定。
在地址傳輸狀態(tài)下,控制器控制I2C通訊模塊或SPI通訊模塊傳輸器件內(nèi)部地址給外部器件,傳輸完畢后進(jìn)入到數(shù)據(jù)傳輸狀態(tài)。其中,傳輸?shù)刂返淖止?jié)數(shù)可通過修改控制器的地址寄存器來實(shí)現(xiàn)。
在數(shù)據(jù)傳輸狀態(tài)下,控制器控制I2C通訊模塊或SPI通訊模塊傳輸數(shù)據(jù),數(shù)據(jù)傳輸完畢后,進(jìn)入結(jié)束狀態(tài)。在該狀態(tài)中,控制器根據(jù)預(yù)先設(shè)定的傳輸字節(jié)傳輸相應(yīng)的字節(jié),數(shù)據(jù)可以是向外部器件寫或是從外部器件讀入。這里,也可以設(shè)置一傳輸結(jié)束標(biāo)志位,如果傳輸結(jié)束標(biāo)志位置位,說明數(shù)據(jù)傳輸完畢,則進(jìn)入結(jié)束狀態(tài);如果傳輸結(jié)束標(biāo)志位處于復(fù)位,說明數(shù)據(jù)未傳輸完,則仍停留在數(shù)據(jù)傳輸狀態(tài)。
在結(jié)束狀態(tài)下,控制器對(duì)開始標(biāo)志位復(fù)位,并產(chǎn)生相應(yīng)的通訊結(jié)束標(biāo)志,即置結(jié)束標(biāo)志位,對(duì)I2C則通過控制物理層的數(shù)據(jù)線和時(shí)鐘線變化作為開啟控制信號(hào);對(duì)SPI則通過控制片選信號(hào)和時(shí)鐘信號(hào)變化作為開啟控制信號(hào),然后跳入等待狀態(tài)。
控制器在產(chǎn)生通訊結(jié)束標(biāo)志的同時(shí),可通過中斷方式通知微處理器通訊結(jié)束,微處理器收到中斷之后對(duì)通訊結(jié)束標(biāo)志位復(fù)位。
本實(shí)用新型在底層仍通過I2C或SPI協(xié)議完成數(shù)據(jù)的傳輸,而在控制器中通過狀態(tài)機(jī)以統(tǒng)一的方式對(duì)通訊傳輸進(jìn)行處理,進(jìn)而能實(shí)現(xiàn)I2C和SPI協(xié)議的兼容。
總之,以上所述僅為本實(shí)用新型的較佳實(shí)施例而已,并非用于限定本實(shí)用新型的保護(hù)范圍。
權(quán)利要求1.一種通訊傳輸控制裝置,其特征在于,該裝置包括I2C通訊模塊,用于根據(jù)控制器的控制信號(hào),采用I2C協(xié)議完成數(shù)據(jù)傳輸;SPI通訊模塊,用于根據(jù)控制器的控制信號(hào),采用SPI協(xié)議完成數(shù)據(jù)傳輸;控制器,用于接收數(shù)據(jù)傳輸命令,確定當(dāng)前采用的通訊協(xié)議,并向所確定通訊協(xié)議對(duì)應(yīng)的通訊模塊發(fā)送控制信號(hào);所述I2C通訊模塊和SPI通訊模塊通過同一通訊端口與外部器件進(jìn)行交互。
2.根據(jù)權(quán)利要求1所述的通訊傳輸控制裝置,其特征在于,所述控制器與自身所在的通訊設(shè)備的核心處理器相連,接收核心處理器發(fā)來的數(shù)據(jù)傳輸命令,并向核心處理器產(chǎn)生中斷。
3.根據(jù)權(quán)利要求1或2所述的通訊傳輸控制裝置,其特征在于,所述控制器由中央處理單元和至少一個(gè)寄存器組成,所述寄存器至少包括存儲(chǔ)當(dāng)前所用通訊協(xié)議的通訊協(xié)議寄存器,以及表明是否有數(shù)據(jù)要發(fā)送的數(shù)據(jù)傳輸寄存器。
4.根據(jù)權(quán)利要求3所述的通訊傳輸控制裝置,其特征在于,所述通訊協(xié)議寄存器中的配置由外部的選擇跳線、或選擇開關(guān)設(shè)置。
5.根據(jù)權(quán)利要求2所述的通訊傳輸控制裝置,其特征在于,所述控制器與自身所在的通訊設(shè)備的核心處理器相連,且所述控制器中包括存儲(chǔ)當(dāng)前所用通訊協(xié)議的通訊協(xié)議寄存器,該通訊協(xié)議寄存器中的配置由核心處理器設(shè)置。
專利摘要本實(shí)用新型公開了一種通訊傳輸控制裝置,該裝置包括I2C通訊模塊,用于根據(jù)控制器的控制信號(hào),采用I2C協(xié)議完成數(shù)據(jù)傳輸;SPI通訊模塊,用于根據(jù)控制器的控制信號(hào),采用SPI協(xié)議完成數(shù)據(jù)傳輸;控制器,用于接收數(shù)據(jù)傳輸命令,確定當(dāng)前采用的通訊協(xié)議,并向所確定通訊協(xié)議對(duì)應(yīng)的通訊模塊發(fā)送控制信號(hào);所述I2C通訊模塊和SPI通訊模塊通過同一通訊端口與外部器件進(jìn)行交互。采用本實(shí)用新型的裝置能同時(shí)支持I2C和SPI兩種協(xié)議的通訊,使用戶能方便地根據(jù)不同需求在I2C和SPI兩種協(xié)議之間任意選擇和快速切換。
文檔編號(hào)H04L29/06GK2788463SQ20042012225
公開日2006年6月14日 申請日期2004年12月31日 優(yōu)先權(quán)日2004年12月31日
發(fā)明者吳大斌, 陳志華 申請人:北京中星微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
冷水江市| 梅河口市| 贵南县| 榆树市| 新乐市| 明星| 巴彦县| 镇坪县| 瑞昌市| 麻阳| 东源县| 和政县| 蒙城县| 饶阳县| 鄂温| 库车县| 新余市| 邵东县| 敖汉旗| 内乡县| 开封市| 临澧县| 县级市| 怀来县| 巧家县| 平阴县| 榆中县| 揭西县| 静海县| 肇州县| 东辽县| 义乌市| 合川市| 江永县| 曲沃县| 陈巴尔虎旗| 阿坝县| 安龙县| 丘北县| 宜章县| 珲春市|