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

基于IIC協(xié)議的Linux操作系統(tǒng)與裸機通信的方法與流程

文檔序號:11864609閱讀:729來源:國知局
基于IIC協(xié)議的Linux操作系統(tǒng)與裸機通信的方法與流程

本發(fā)明涉及數(shù)字通信技術(shù)領(lǐng)域,特別涉及一種基于IIC協(xié)議的Linux操作系統(tǒng)與裸機通信的方法。



背景技術(shù):

在機器人的開發(fā)過程中,都應(yīng)用的到相應(yīng)的硬件平臺和對應(yīng)的操作系統(tǒng)。其中,Linux系統(tǒng)是一套免費使用和自由傳播的類Unix操作系統(tǒng)。同時,它也是一個基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。該操作系統(tǒng)支持多用戶,其特點主要體現(xiàn)在各個用戶對于自己的文件設(shè)備有自己特殊的權(quán)利,保證了各用戶之間互不影響。多任務(wù)是現(xiàn)在電腦最主要的一個特點,Linux系統(tǒng)可以使多個程序同時并獨立地運行。Linux系統(tǒng)能運行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議,支持32位和64位硬件系統(tǒng),并繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的網(wǎng)絡(luò)操作系統(tǒng)。Linux可以在多種硬件平臺上運行,如具有x86、680x0、SPARC、Alpha等處理器的平臺。除了上述優(yōu)點,Linux還是一種嵌入式操作系統(tǒng),目前已經(jīng)能夠完全支持Intel64位芯片架構(gòu)。此外,Linux也支持多處理器技術(shù),多個處理器同時工作,能夠使系統(tǒng)性能大大提高。

但是,在上述操作平臺和系統(tǒng)選定的情況下,要實現(xiàn)數(shù)據(jù)在Linux操作系統(tǒng)的主機和裸機單片機從機之間的高速有效傳輸,則需要采用特定的通信協(xié)議。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。

為此,本發(fā)明的目的在于提出一種基于IIC協(xié)議的Linux操作系統(tǒng)與裸機通信的方法,可以通過采用IIC協(xié)議來實現(xiàn)Linux操作系統(tǒng)的主機設(shè)備和從機設(shè)備之間的高效有效傳輸。

為了實現(xiàn)上述目的,本發(fā)明的實施例提供一種基于IIC協(xié)議的Linux操作系統(tǒng)與裸機通信的方法,包括如下步驟:

步驟S1,對采用Linux系統(tǒng)的多個硬件和裸機同時掛載在總線上,包括:配置一個主機設(shè)備和多個從機設(shè)備,每個從機設(shè)備與至少一個外接設(shè)備相連,其中,所述主機設(shè)備采用Linux系統(tǒng),從機設(shè)備為裸機,所述主機設(shè)備、所述從機設(shè)備和所述外接設(shè)備之間采用IIC協(xié)議進行通信;

步驟S2,在建立上述通信連接后,所述主機設(shè)備對至少一個從機設(shè)備進行數(shù)據(jù)讀取和/或?qū)懭氩僮?,包括?/p>

所述主機設(shè)備進行讀操作時,向所述從機設(shè)備發(fā)送要讀取數(shù)據(jù)的外接設(shè)備的地址信息,所述主機設(shè)備在接收到從機設(shè)備的確認(rèn)應(yīng)答后,進一步向所述從機設(shè)備寫入操作數(shù)據(jù)長度并完成從機設(shè)備發(fā)送數(shù)據(jù)準(zhǔn)備,當(dāng)從機設(shè)備接收到主機設(shè)備的讀操作指令后,向所述主機設(shè)備發(fā)送該外接設(shè)備的相關(guān)數(shù)據(jù)信息,完成主機設(shè)備對外接設(shè)備的讀操作;

所述主機設(shè)備進行寫操作時,向所述從機設(shè)備發(fā)送要寫入數(shù)據(jù)的外接設(shè)備的地址信息,所述主機設(shè)備在接收到從機設(shè)備的確認(rèn)應(yīng)答后,將寫入數(shù)據(jù)發(fā)送至所述從機設(shè)備,由所述從機設(shè)備將所述寫入數(shù)據(jù)發(fā)送至相應(yīng)的外接設(shè)備,完成主機設(shè)備對外接設(shè)備的寫操作,其中,所述寫入數(shù)據(jù)包括對所述外接設(shè)備的控制命令。

進一步,所述主機設(shè)備與每個從機設(shè)備采用硬件IIC通信,每個所述外接設(shè)備與相連的從機設(shè)備采用虛擬IIC通信。

進一步,在進行硬件IIC通信時,所述主機設(shè)備對至少一個從機設(shè)備進行數(shù)據(jù)的讀取和/或?qū)懭耄辉谶M行虛擬IIC通信時,所述從機設(shè)備接收相連的外接設(shè)備的數(shù)據(jù)并進行處理,并將處理后的數(shù)據(jù)通過硬件IIC通信發(fā)送至所述主機設(shè)備。

進一步,所述主機設(shè)備向所述從機設(shè)備寫入要讀取數(shù)據(jù)的外接設(shè)備,包括:所述主機設(shè)備向所述從機設(shè)備發(fā)送讀操作的硬件地址和虛擬地址,并由所述從機設(shè)備進行匹配以確定需要進行操作的外接設(shè)備。

進一步,所述主機設(shè)備向所述從機設(shè)備發(fā)送硬件地址、虛擬地址和寫操作指令,由所述從機設(shè)備進行虛擬地址匹配并向所述主機設(shè)備應(yīng)答,以由所述從機設(shè)備完成發(fā)送數(shù)據(jù)準(zhǔn)備。

進一步,所述主機設(shè)備向所述從機設(shè)備發(fā)送硬件地址、虛擬地址和讀操作指令,并接收所述從機設(shè)備返回的所述外接設(shè)備的相關(guān)數(shù)據(jù)信息,當(dāng)整個數(shù)據(jù)包接收完畢后,所述主機設(shè)備向所述從機設(shè)備發(fā)出應(yīng)答,結(jié)束整個讀操作過程。

進一步,所述主機設(shè)備向所述從機設(shè)備發(fā)送寫操作的外接設(shè)備的地址信息和寫操作標(biāo)志位,所述從機設(shè)備對地址信息進行匹配,并在匹配完成后向速搜主機設(shè)備返回應(yīng)答信息,所述主機設(shè)備在接收到該應(yīng)答信息后,向所述從機設(shè)備發(fā)送寫入數(shù)據(jù)。

進一步,所述主機設(shè)備設(shè)定地址與所述從機設(shè)備的地址相匹配,所述從機設(shè)備的地址依次為所述主機設(shè)備設(shè)定地址左移一位。

根據(jù)本發(fā)明實施例的基于IIC協(xié)議的Linux操作系統(tǒng)與裸機通信的方法,可以通過采用IIC協(xié)議來實現(xiàn)Linux操作系統(tǒng)的主機設(shè)備和從機設(shè)備之間的高效有效傳輸。IIC協(xié)議與其他通信協(xié)議相比,具有以下特點:

1)僅需要兩條總線線路:一條串行數(shù)據(jù)線(SDA),一條串行時鐘線(SCL)。

2)通過軟件方式和一個唯一的地址來尋找到每一個連接到總線的設(shè)備,簡單的主從關(guān)系一直存在。主機設(shè)備可以作為主機發(fā)送器或者主機接收器,實現(xiàn)多主機總線,如果兩個或更多主機同時初始化,數(shù)據(jù)傳輸可以通過沖突檢測和仲裁來防止數(shù)據(jù)被破壞。

3)串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達100k bit/s快速模式下可達400k bit/s,超速模式下可達3.4M bit/s。其中,單向數(shù)據(jù)傳輸在快速模式下可以達到5Mb/s。

4)片上的濾波器可以濾去總線數(shù)據(jù)線上的毛刺,保證數(shù)據(jù)完整。

5)連接到相同總線的IIC數(shù)量只受到總線的最大電容(400pF)限制。

由于IIC通信協(xié)議具有上述優(yōu)點,本發(fā)明采用該協(xié)議進行通信,可以解決Linux操作系統(tǒng)與裸機之間的通信問題,并且可以應(yīng)用于任何設(shè)備和機器人上。

本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。

附圖說明

本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變得明顯和容易理解,其中:

圖1為根據(jù)本發(fā)明實施例的基于IIC協(xié)議的Linux操作系統(tǒng)與裸機通信的方法的流程圖;

圖2為根據(jù)本發(fā)明實施例的基于IIC協(xié)議的Linux操作系統(tǒng)與裸機通信的方法的架構(gòu)圖;

圖3為根據(jù)本發(fā)明實施例的主機設(shè)備的讀操作流程圖;

圖4為根據(jù)本發(fā)明實施例的主機設(shè)備的寫操作流程圖;

圖5為根據(jù)本發(fā)明實施例的讀操作的數(shù)據(jù)格式圖;

圖6為根據(jù)本發(fā)明實施例的寫操作的數(shù)據(jù)格式圖。

具體實施方式

下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。

如圖1所示,本發(fā)明實施例的基于IIC協(xié)議的Linux操作系統(tǒng)與裸機通信的方法,包括如下步驟:

步驟S1,對采用Linux系統(tǒng)的多個硬件和裸機同時掛載在總線上。

具體地,如圖2所示,配置一個主機設(shè)備和多個從機設(shè)備,每個從機設(shè)備與至少一個外接設(shè)備相連。其中,主機設(shè)備采用Linux系統(tǒng),從機設(shè)備為裸機,主機設(shè)備、從機設(shè)備和外接設(shè)備之間采用IIC協(xié)議進行通信。

在本發(fā)明的一個實施例中,主機設(shè)備與每個從機設(shè)備采用硬件IIC通信,在進行硬件IIC通信時,主機設(shè)備對至少一個從機設(shè)備進行數(shù)據(jù)的讀取和/或?qū)懭搿?/p>

每個外接設(shè)備與相連的從機設(shè)備采用虛擬IIC通信,在進行虛擬IIC通信時,從機設(shè)備接收相連的外接設(shè)備的數(shù)據(jù)并進行處理,并將處理后的數(shù)據(jù)通過硬件IIC通信發(fā)送至主機設(shè)備。

在本發(fā)明的一個實施例中,主機設(shè)備、從機設(shè)備和外接設(shè)備的通信地址均為自己設(shè)定,保證了通信的時候數(shù)據(jù)能夠準(zhǔn)確無誤的傳輸。主機設(shè)備設(shè)定地址與從機設(shè)備的地址相匹配,從機設(shè)備的地址依次為主機設(shè)備設(shè)定地址左移一位。

下面參考圖2對主機設(shè)備、從機設(shè)備和外接設(shè)備的架構(gòu)進行描述。

如圖2所示,主機設(shè)備分別與從機設(shè)備1、從機設(shè)備2…從機設(shè)備n進行通信,從機設(shè)備1與外接設(shè)備1、外接設(shè)備2和外接設(shè)備3進行通信。其中,從機設(shè)備1僅單向接收由外接設(shè)備1和外接設(shè)備3采集的數(shù)據(jù),而不向外接設(shè)備1和外接設(shè)備3發(fā)送數(shù)據(jù)或控制命令。從機設(shè)備1與外接設(shè)備2雙向通信,可以接收外接設(shè)備2發(fā)送的數(shù)據(jù),也可以向其發(fā)送數(shù)據(jù)或控制命令。

從機設(shè)備2與外接設(shè)備4、外接設(shè)備5和外接設(shè)備6進行通信。其中,從機設(shè)備2僅單向接收由外接設(shè)備4和外接設(shè)備6采集的數(shù)據(jù),而不向外接設(shè)備4和外接設(shè)備6發(fā)送數(shù)據(jù)或控制命令。從機設(shè)備2僅向外接設(shè)備6發(fā)送數(shù)據(jù)或控制命令,而不接收其發(fā)送的數(shù)據(jù)。

從機設(shè)備n與外接設(shè)備n雙向通信,可以接收外接設(shè)備n發(fā)送的數(shù)據(jù),也可以向其發(fā)送數(shù)據(jù)或控制命令。

步驟S2,在建立上述通信連接后,主機設(shè)備對至少一個從機設(shè)備進行數(shù)據(jù)讀取和/或?qū)懭氩僮鳎ǎ簭臋C設(shè)備通過虛擬IIC與外接設(shè)備進行通信,將外接設(shè)備傳輸來的數(shù)據(jù)打包發(fā)送給主機設(shè)備,或者從主機接收控制命令傳輸給相應(yīng)的外接設(shè)備。下面分別對讀寫操作進行詳細說明。

(1)讀操作

主機設(shè)備進行讀操作時,向從機設(shè)備發(fā)送要讀取數(shù)據(jù)的外接設(shè)備的地址信息,主機設(shè)備在接收到從機設(shè)備的確認(rèn)應(yīng)答后,進一步向從機設(shè)備寫入操作數(shù)據(jù)長度并完成從機設(shè)備發(fā)送數(shù)據(jù)準(zhǔn)備,當(dāng)從機設(shè)備接收到主機設(shè)備的讀操作指令后,向主機設(shè)備發(fā)送該外接設(shè)備的相關(guān)數(shù)據(jù)信息,完成主機設(shè)備對外接設(shè)備的讀操作。

圖3為根據(jù)本發(fā)明實施例的主機設(shè)備的讀操作流程圖。

1)初始化

2)主機設(shè)備進行寫操作確認(rèn)要操作的外接設(shè)備

主機設(shè)備向從機設(shè)備發(fā)送讀操作的硬件地址和虛擬地址,并由從機設(shè)備進行地址匹配后會給出相應(yīng)的應(yīng)答,確定需要進行操作的外接設(shè)備。

3)主機設(shè)備進行寫操作確認(rèn)要操作的數(shù)據(jù)長度

主機設(shè)備向從機設(shè)備發(fā)送硬件地址、虛擬地址和需要操作的數(shù)據(jù)長度,從機設(shè)備根據(jù)的數(shù)據(jù)的長度訪問相應(yīng)的數(shù)據(jù)寄存器,將數(shù)據(jù)長度寫入,并對主機設(shè)備應(yīng)答,從而完成主機設(shè)備對從機設(shè)備的數(shù)據(jù)長度寫入。

4)主機設(shè)備進行寫操作確認(rèn)從機設(shè)備為發(fā)送數(shù)據(jù)做準(zhǔn)備

主機設(shè)備向從機設(shè)備發(fā)送硬件地址、虛擬地址和寫操作指令,由從機設(shè)備進行虛擬地址匹配并向主機設(shè)備應(yīng)答,以由從機設(shè)備完成發(fā)送數(shù)據(jù)準(zhǔn)備。

5)主機設(shè)備進行讀操作,從機設(shè)備發(fā)送數(shù)據(jù)

主機設(shè)備向從機設(shè)備發(fā)送硬件地址、虛擬地址和讀操作指令,從機設(shè)備接收上述信息并進行應(yīng)答后,開始向主機設(shè)備發(fā)送該從機設(shè)備所接收到的相應(yīng)外接設(shè)備的相關(guān)數(shù)據(jù)信息。其中,從機設(shè)備每次向主機設(shè)備發(fā)送一個字節(jié),直到整個數(shù)據(jù)包發(fā)送完畢。

參考圖2,以從機設(shè)備1和從機設(shè)備2為例,從機設(shè)備1和從機設(shè)備2將從外接設(shè)備接收到的數(shù)據(jù)打包,并通過硬件IIC傳輸給主機設(shè)備。其中,2個從機設(shè)備的數(shù)據(jù)包長度不一樣。

6)主機接收整個數(shù)據(jù)

主機設(shè)備接收來自從機設(shè)備的數(shù)據(jù)并應(yīng)答,直到整個數(shù)據(jù)包接收完畢,直到整個數(shù)據(jù)包發(fā)送完畢,主機設(shè)備產(chǎn)生非應(yīng)答信號并結(jié)束整個讀取過程。圖5為根據(jù)本發(fā)明實施例的讀操作數(shù)據(jù)格式圖。

7)結(jié)束

(2)寫操作

主機設(shè)備進行寫操作時,向從機設(shè)備發(fā)送要寫入數(shù)據(jù)的外接設(shè)備的地址信息,主機設(shè)備在接收到從機設(shè)備的確認(rèn)應(yīng)答后,將寫入數(shù)據(jù)發(fā)送至從機設(shè)備,由從機設(shè)備將寫入數(shù)據(jù)發(fā)送至相應(yīng)的外接設(shè)備,完成主機設(shè)備對外接設(shè)備的寫操作,其中,寫入數(shù)據(jù)包括對外接設(shè)備的控制命令。

圖4為根據(jù)本發(fā)明實施例的主機設(shè)備的寫操作流程圖。

1)初始化

2)主機設(shè)備向從機設(shè)備發(fā)送要操作的外接設(shè)備的地址信息和寫操作標(biāo)志位

3)從機設(shè)備進行地址匹配并應(yīng)答

從機設(shè)備對地址信息進行匹配,并在匹配完成后向速搜主機設(shè)備返回應(yīng)答信息。

4)主機設(shè)備向從機設(shè)備發(fā)送數(shù)據(jù)

其中,主機設(shè)備向從機設(shè)備每次發(fā)送一個字節(jié),直到從機接收到整個數(shù)據(jù)包。圖6為根據(jù)本發(fā)明實施例的寫操作數(shù)據(jù)格式圖。

5)從機設(shè)備接收數(shù)據(jù)并應(yīng)答

從機設(shè)備將數(shù)據(jù)存儲到數(shù)據(jù)緩沖寄存器并應(yīng)答,直到整個數(shù)據(jù)包接收完畢,從機設(shè)備再次應(yīng)答然后結(jié)束整個寫操作過程。

參考圖2,以從機設(shè)備1和從機設(shè)備2為例,主機分別發(fā)送控制命令給從機設(shè)備1和從機設(shè)備2,從機設(shè)備1將該控制命令發(fā)送給外接設(shè)備2,從機設(shè)備2將該控制命令發(fā)送給外接設(shè)備5,從而實現(xiàn)主機對外接設(shè)備2和外接設(shè)備5的控制。

6)結(jié)束

由上可知,主機設(shè)備進行讀操作時,外接設(shè)備采集的數(shù)據(jù)經(jīng)過從機設(shè)備傳輸給主機設(shè)備。主機設(shè)備讀取數(shù)據(jù)時,包括進行三次寫操作和一次讀操作。主機設(shè)備向外接設(shè)備寫數(shù)據(jù)時,僅進行一次寫操作。

根據(jù)本發(fā)明實施例的基于IIC協(xié)議的Linux操作系統(tǒng)與裸機通信的方法,可以通過采用IIC協(xié)議來實現(xiàn)Linux操作系統(tǒng)的主機設(shè)備和從機設(shè)備之間的高效有效傳輸。IIC協(xié)議與其他通信協(xié)議相比,具有以下特點:

1)僅需要兩條總線線路:一條串行數(shù)據(jù)線(SDA),一條串行時鐘線(SCL)。

2)通過軟件方式和一個唯一的地址來尋找到每一個連接到總線的設(shè)備,簡單的主從關(guān)系一直存在。主機設(shè)備可以作為主機發(fā)送器或者主機接收器,實現(xiàn)多主機總線,如果兩個或更多主機同時初始化,數(shù)據(jù)傳輸可以通過沖突檢測和仲裁來防止數(shù)據(jù)被破壞。

3)串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達100k bit/s快速模式下可達400k bit/s,超速模式下可達3.4M bit/s。其中,單向數(shù)據(jù)傳輸在快速模式下可以達到5Mb/s。

4)片上的濾波器可以濾去總線數(shù)據(jù)線上的毛刺,保證數(shù)據(jù)完整。

5)連接到相同總線的IIC數(shù)量只受到總線的最大電容(400pF)限制。

由于IIC通信協(xié)議具有上述優(yōu)點,本發(fā)明采用該協(xié)議進行通信,可以解決Linux操作系統(tǒng)與裸機之間的通信問題,并且可以應(yīng)用于任何設(shè)備和機器人上。

在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。

盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求極其等同限定。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
石棉县| 石楼县| 郴州市| 丰城市| 定日县| 宁国市| 闻喜县| 英吉沙县| 剑河县| 修水县| 双柏县| 桐庐县| 仁寿县| 贡觉县| 沭阳县| 通州市| 凤庆县| 古丈县| 温宿县| 沁阳市| 蓬莱市| 梧州市| 南和县| 鄂托克旗| 大兴区| 磴口县| 隆尧县| 鄯善县| 海丰县| 泰州市| 余庆县| 绍兴县| 大英县| 开阳县| 宿迁市| 蛟河市| 嵊州市| 安新县| 华阴市| 梅州市| 宁海县|