專(zhuān)利名稱(chēng):一種串行通信的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及串行通信的技術(shù),特別涉及一種串行通信的方法和系統(tǒng)。
背景技術(shù):
串行通信是使用一條數(shù)據(jù)線(xiàn)將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固 定的時(shí)間長(zhǎng)度,只需少數(shù)幾條數(shù)據(jù)線(xiàn)就可在系統(tǒng)間交換信息,特別適用于計(jì)算機(jī)與計(jì)算機(jī)、 計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。數(shù)據(jù)線(xiàn)由同步字符、數(shù)據(jù)字符和校驗(yàn)字符CRC組成。同步字符位于幀開(kāi)頭,用于確 認(rèn)數(shù)據(jù)字符的開(kāi)始。數(shù)據(jù)字符在同步字符之后,個(gè)數(shù)沒(méi)有限制,由所需傳輸?shù)臄?shù)據(jù)塊長(zhǎng)度來(lái) 決定。校驗(yàn)字符有1到2個(gè),用于在接收端對(duì)接收到的字符序列進(jìn)行正確性校驗(yàn)。同步通 信的缺點(diǎn)是要求發(fā)送時(shí)鐘和接收時(shí)鐘保持嚴(yán)格的同步。串行傳輸速度通用異步接收/發(fā)送裝置UART的最大速度為115. 20kbp/s,可以滿(mǎn) 足電話(huà)本,短信等少量信息的傳輸,在增強(qiáng)型數(shù)據(jù)速率GSM演進(jìn)技術(shù)EDGE下通過(guò)UART撥號(hào) 上網(wǎng)已經(jīng)不能滿(mǎn)足要求,這時(shí)需要USB1. 1,但在3G的需求下,一般的客戶(hù)要求的下載速率 在7Mbp/s左右,需要USB2. 0技術(shù)。隨著長(zhǎng)期演進(jìn)LTE技術(shù)的發(fā)展,要滿(mǎn)足大于lGbp/S的 速率,USB2. 0技術(shù)和未來(lái)的USB3. 0技術(shù)顯然是不能滿(mǎn)足要求的。主機(jī)運(yùn)行USB的操作系統(tǒng)軟件支持兩種不同的功能,設(shè)備初始化和監(jiān)控設(shè)備運(yùn)行 過(guò)程,USB初始化軟件不僅在PC主機(jī)啟動(dòng)期間是活動(dòng)的,而且在所有運(yùn)行期間都應(yīng)該是活 動(dòng)的,正因?yàn)檫@樣,USB設(shè)備在任何時(shí)候都可以增加和刪除,一旦有一個(gè)設(shè)備接入到一臺(tái)PC 主機(jī),設(shè)備就被USB初始化軟件識(shí)別并且分配一個(gè)在運(yùn)行時(shí)期使用的唯一的標(biāo)識(shí)符。PC主機(jī)的下面是USB主機(jī)控制器,向下產(chǎn)生對(duì)外設(shè)的處理動(dòng)作,并將處理動(dòng)作交 給根集線(xiàn)器,根集線(xiàn)器提供PC對(duì)外的USB接口。如果需要增加USB接口的個(gè)數(shù),則需要使用 集線(xiàn)器。集線(xiàn)器介于根集線(xiàn)器與外設(shè)之間,主要用來(lái)接收和轉(zhuǎn)發(fā)通信數(shù)據(jù)。目前使用的主 機(jī)和設(shè)備之間的通訊,通知設(shè)備必須通過(guò)配置設(shè)備,為了進(jìn)行通知,使用專(zhuān)用的通知機(jī)制, 通過(guò)消息告知哪些消息哪些設(shè)備的存儲(chǔ)器傳輸組播消息。從目前的串行通信方式看,所有的數(shù)據(jù)是廣播的形式,例如,主機(jī)發(fā)出的標(biāo)記會(huì)發(fā) 給所有的設(shè)備,然后設(shè)備相關(guān)存儲(chǔ)器根據(jù)包中的地址域判斷是不是主機(jī)發(fā)給自己的數(shù)據(jù) 包。這樣浪費(fèi)了帶寬資源也降低了通信的速率。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種串行通信的方法,用于更好地解決帶寬資源受限和提 高串行通信速率的問(wèn)題。本發(fā)明的另一目的在于提供一種串行通信的系統(tǒng),用于更好地解決帶寬資源受限 和提高串行通信速率的問(wèn)題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種串行通信的方法,包括以下步驟A、主機(jī)通過(guò)檢測(cè)連接到其串口上的設(shè)備,生成包含串口標(biāo)識(shí)的設(shè)備地址信息;
B、主機(jī)向設(shè)備發(fā)送包含設(shè)備地址的通知消息;C、設(shè)備收到通知消息后,經(jīng)由串口向主機(jī)發(fā)送包含設(shè)備地址的應(yīng)答消息;D、設(shè)備在發(fā)送應(yīng)答消息后向主機(jī)發(fā)送有用信息,或者主機(jī)在收到應(yīng)答消息后向設(shè) 備發(fā)送有用信息。根據(jù)本發(fā)明的另一方面,提供了一種串行通信的系統(tǒng),包括主機(jī),用于檢測(cè)連接到其串口上的設(shè)備,生成包含串口標(biāo)識(shí)的設(shè)備地址信息,向設(shè) 備發(fā)送包含設(shè)備地址的通知消息,并在收到應(yīng)答消息后向設(shè)備發(fā)送有用信息;設(shè)備,用于在收到通知消息后經(jīng)由串口發(fā)送所述設(shè)備地址的應(yīng)答消息,并在發(fā)送 應(yīng)答消息后向主機(jī)發(fā)送有用信息。與現(xiàn)有技術(shù)相比較,本發(fā)明的有益效果在于本發(fā)明通過(guò)主機(jī)檢測(cè)連接到串口上 的設(shè)備生成設(shè)備地址信息實(shí)現(xiàn)主機(jī)和設(shè)備存儲(chǔ)器之間的一對(duì)一通信,不僅節(jié)省帶寬,而且 能夠提高數(shù)據(jù)的傳輸速率。
圖1是本發(fā)明提供的串行通信的方法流程示意圖;圖2是本發(fā)明提供的串行通信的系統(tǒng)結(jié)構(gòu)示意圖;圖3是本發(fā)明實(shí)施例提供的主機(jī)發(fā)出的通知消息的結(jié)構(gòu)示意圖;圖4是本發(fā)明實(shí)施例提供的設(shè)備發(fā)出的應(yīng)答消息的結(jié)構(gòu)示意圖;圖5是本發(fā)明實(shí)施例提供的沒(méi)有中繼器的串行通信的方法流程圖;圖6是本發(fā)明實(shí)施例提供的有中繼器的串行通信的方法流程圖;圖7是本發(fā)明實(shí)施例提供的主機(jī)和設(shè)備雙向發(fā)送消息的流程圖。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)說(shuō)明,應(yīng)當(dāng)理解,以下所說(shuō)明的優(yōu) 選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。圖1顯示了本發(fā)明提供的串行通信的方法流程示意,如圖1所示步驟S101,主機(jī)檢測(cè)連接到其串口上的設(shè)備,得到串口標(biāo)識(shí),生成包含串口標(biāo)識(shí)的 設(shè)備地址信息,若主機(jī)與設(shè)備間需要中繼器轉(zhuǎn)發(fā)消息,則設(shè)備地址信息中還包括中繼器的 端口號(hào)。步驟S102,若主機(jī)需要向設(shè)備發(fā)送信息,則根據(jù)生成的設(shè)備地址信息向設(shè)備發(fā)送 包含設(shè)備地址的通知消息。通知消息包括設(shè)備地址信息、通知消息類(lèi)型、可變地址與和主機(jī) 資源的使用情況。主機(jī)對(duì)設(shè)備有兩類(lèi)通知消息,一類(lèi)是主機(jī)要求設(shè)備向主機(jī)發(fā)送數(shù)據(jù),另一類(lèi)是主 機(jī)對(duì)設(shè)備發(fā)送數(shù)據(jù)。步驟S103,設(shè)備收到通知消息后,經(jīng)由串口向主機(jī)發(fā)送包含設(shè)備地址的應(yīng)答消息。若主機(jī)發(fā)送的通知消息為主機(jī)要求設(shè)備向主機(jī)發(fā)送數(shù)據(jù),則設(shè)備有可能發(fā)送以下 三類(lèi)應(yīng)答消息1、表示通知消息無(wú)誤接收到;2、表示通知消息無(wú)誤接收到,但設(shè)備處于妨 礙其接收的狀態(tài),主機(jī)應(yīng)重新發(fā)送;3、設(shè)備出錯(cuò)被停止。其中,若設(shè)備發(fā)送的應(yīng)答消息為通 知消息無(wú)誤接收到,則設(shè)備在發(fā)送此應(yīng)答消息可以同時(shí)發(fā)送有用信息,若設(shè)備發(fā)送的應(yīng)答消息為設(shè)備處于妨礙其接收的狀態(tài)或設(shè)備出錯(cuò)被停止,則設(shè)備僅發(fā)送該應(yīng)答消息,不發(fā)送
有用fe息。若主機(jī)發(fā)送的通知消息為主機(jī)對(duì)設(shè)備發(fā)送數(shù)據(jù),則設(shè)備有可能發(fā)送以下三類(lèi)應(yīng)答 消息1、表示通知消息無(wú)誤接收到;2、表示通知消息無(wú)誤接收到,但設(shè)備處于妨礙其接收 的狀態(tài),主機(jī)應(yīng)重新發(fā)送;3、設(shè)備出錯(cuò)被停止。其中,若主機(jī)接收到的應(yīng)答消息為通知消息 無(wú)誤接收到,則主機(jī)繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)包,若主機(jī)接收到的應(yīng)答消息為設(shè)備處于妨礙其 接收的狀態(tài)或設(shè)備出錯(cuò)被停止,則主機(jī)應(yīng)停止發(fā)送下一數(shù)據(jù)包。步驟S104,設(shè)備在發(fā)送應(yīng)答消息后向主機(jī)發(fā)送有用信息,或者主機(jī)在收到應(yīng)答消 息后向設(shè)備發(fā)送有用信息。圖2顯示了本發(fā)明提供的串行通信的系統(tǒng)結(jié)構(gòu)示意,如圖2所示,該系統(tǒng)包括主 機(jī)、設(shè)備和中繼器,其中主機(jī)和設(shè)備相連,主機(jī)和中繼器相連,中繼器和主機(jī)相連。其中,主 機(jī)和中繼器可以集成在一起,設(shè)備也可以與中繼器集成在一起。其中,主機(jī)用于檢測(cè)連接到其串口上的設(shè)備,生成包含串口標(biāo)識(shí)的設(shè)備地址信息, 根據(jù)設(shè)備地址信息一對(duì)一向設(shè)備發(fā)送包含設(shè)備地址的通知消息,并在收到應(yīng)答消息后根據(jù) 該應(yīng)答消息判斷是否向設(shè)備發(fā)送有用信息。若主機(jī)接收到的應(yīng)答消息為通知消息無(wú)誤接收到,則主機(jī)繼續(xù)發(fā)送下一個(gè)數(shù)據(jù) 包,若主機(jī)接收到的應(yīng)答消息為設(shè)備處于妨礙其接收的狀態(tài)或設(shè)備出錯(cuò)被停止,則主機(jī)應(yīng) 停止發(fā)送下一數(shù)據(jù)包。設(shè)備用于在收到通知消息后經(jīng)由串口發(fā)送所述設(shè)備地址的應(yīng)答消息,并在發(fā)送應(yīng) 答消息后向主機(jī)發(fā)送有用信息。若設(shè)備發(fā)送的應(yīng)答消息為通知消息無(wú)誤接收到,則設(shè)備在發(fā)送此應(yīng)答消息可以同 時(shí)發(fā)送有用信息,若設(shè)備發(fā)送的應(yīng)答消息為設(shè)備處于妨礙其接收的狀態(tài)或設(shè)備出錯(cuò)被停 止,則設(shè)備僅發(fā)送該應(yīng)答消息,不發(fā)送有用信息。圖3顯示了本發(fā)明實(shí)施例提供的主機(jī)發(fā)出的通知消息的結(jié)構(gòu)示意,如圖3所示,主 機(jī)與設(shè)備通信之前首先要發(fā)通知消息PAGING1或PAGING2,主機(jī)發(fā)送到設(shè)備的通知消息至 少包含ID,ADDR和CON三個(gè)域。其中,ID是接收通知消息的設(shè)備地址及其它找到設(shè)備的有用信息和通知消息的類(lèi)型。ADDR是可變地址域,當(dāng)有設(shè)備增加時(shí)ADDR的取值范圍增加,當(dāng)設(shè)備減少時(shí),ADDR 的取值范圍減少,主機(jī)對(duì)ADDR根據(jù)設(shè)備的插入和拔出動(dòng)態(tài)調(diào)節(jié)地址范圍和域的字節(jié)數(shù),可 連接的設(shè)備數(shù)量不受限制。CON是目前主機(jī)資源的使用情況,在主機(jī)和設(shè)備之間通信時(shí),主機(jī)和設(shè)備之間有必 要互相了解帶寬和對(duì)方的緩存資源,包含多長(zhǎng)時(shí)間設(shè)備可以向主機(jī)發(fā)送多大的數(shù)據(jù)包,也 包含主機(jī)和設(shè)置之間交互其他的有理由提交資源利用的其他有效信息。圖4顯示了本發(fā)明實(shí)施例提供的設(shè)備發(fā)出的應(yīng)答消息的結(jié)構(gòu)示意,如圖4所示,設(shè) 備對(duì)主機(jī)的應(yīng)答消息ANSWER包含ID,CON和EMP。其中,ID是接收通知消息的設(shè)備地址及其它找到設(shè)備的有用信息和應(yīng)答消息的類(lèi)型。CON是目前設(shè)備的資源使用情況,主機(jī)根據(jù)設(shè)備的資源使用情況,決定對(duì)設(shè)備反映和主機(jī)如何發(fā)送,何時(shí)給設(shè)備發(fā)送有用信息。EMP是設(shè)備向主機(jī)發(fā)送消息的內(nèi)容。圖5顯示了本發(fā)明實(shí)施例提供的沒(méi)有中繼器的串行通信的方法流程,如圖5所示, 主機(jī)對(duì)設(shè)備有兩種通知,一種是主機(jī)要求設(shè)備向主機(jī)發(fā)送數(shù)據(jù),一種是主機(jī)對(duì)設(shè)備發(fā)送數(shù) 據(jù),這兩種通知分別是圖中的PAGING1和PAGING2,但是都包含ID,ADDR和C0N,在設(shè)備收 到PAGING1后,設(shè)備響應(yīng)主機(jī)的應(yīng)答ANSWER,或者發(fā)送有用信息INFOl。主機(jī)向設(shè)備發(fā)送 PAGING2時(shí),設(shè)備向主機(jī)發(fā)送有用信息INF02,設(shè)備也可根據(jù)目前自己的情況,比如,現(xiàn)在緩 沖池是滿(mǎn)的,不能接收主機(jī)的發(fā)送來(lái)的數(shù)據(jù),不應(yīng)答,如果收到數(shù)據(jù),也可以使用上文中提 到的ANSWER進(jìn)行應(yīng)答,如果設(shè)備準(zhǔn)備好接收數(shù)據(jù),主機(jī)給設(shè)備發(fā)送有用信息INF02。圖6顯示了本發(fā)明實(shí)施例提供的有中繼器的串行通信的方法流程,如圖6所示,主 機(jī)發(fā)往設(shè)備和設(shè)備發(fā)往主機(jī)的數(shù)據(jù)包經(jīng)過(guò)中繼器處理,但是經(jīng)過(guò)中繼器處理后的PAGING1 和經(jīng)過(guò)中繼器處理后的PAGING2包含主機(jī)向設(shè)備發(fā)送的通知消息,經(jīng)過(guò)中繼器處理后的 ANSWER和經(jīng)過(guò)中繼器處理后的ANSWERH包含設(shè)備向主機(jī)發(fā)送的應(yīng)答消息。圖7顯示了本發(fā)明實(shí)施例提供的主機(jī)和設(shè)備雙向發(fā)送消息的流程,如圖7所示,當(dāng) 主機(jī)準(zhǔn)備好接收數(shù)據(jù)的時(shí)候,它發(fā)出通知PAGING1,設(shè)備返回?cái)?shù)據(jù)包,或者如果設(shè)備不能返 回?cái)?shù)據(jù)包,則返回設(shè)備沒(méi)有傳輸數(shù)據(jù)到主機(jī)或者不會(huì)從主機(jī)接收數(shù)據(jù)的ANSWER1或者設(shè)備 不能傳輸或者接收數(shù)據(jù)的ANSWER2作為應(yīng)答,這時(shí)的主機(jī)不等到設(shè)備對(duì)主機(jī)前一個(gè)輸入信 息的確認(rèn),可以繼續(xù)向設(shè)備發(fā)送通知消息,而是在主機(jī)和設(shè)備之間同時(shí)進(jìn)行數(shù)據(jù)的發(fā)送和 接收。綜上所述,本發(fā)明具有以下技術(shù)效果本發(fā)明提出了一種新的數(shù)據(jù)結(jié)構(gòu),提出了主 機(jī)和設(shè)備存儲(chǔ)器之間的通信是特定的,即主機(jī)和設(shè)備之間的數(shù)據(jù)通信是一對(duì)一的,既節(jié)省 帶寬,也提高了數(shù)據(jù)傳輸速率,同時(shí),地址域的變化不限于外圍設(shè)備的增加和減少,節(jié)省資 源。盡管上文對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,但是本發(fā)明不限于此,本領(lǐng)域技術(shù)人員可以 根據(jù)本發(fā)明的原理進(jìn)行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應(yīng)當(dāng)理解為落入 本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種串行通信的方法,其特征在于,包括以下步驟A、主機(jī)通過(guò)檢測(cè)連接到其串口上的設(shè)備,生成含有所述串口標(biāo)識(shí)的設(shè)備地址信息;B、主機(jī)向設(shè)備發(fā)送包含所述設(shè)備地址的通知消息;C、所述設(shè)備收到通知消息后,經(jīng)由串口向主機(jī)發(fā)送包含所述設(shè)備地址的應(yīng)答消息;以及D、設(shè)備在發(fā)送所述應(yīng)答消息后向主機(jī)發(fā)送有用信息,或者主機(jī)在收到所述應(yīng)答消息后向設(shè)備發(fā)送有用信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通知消息至少包括兩類(lèi)通知消息,一 類(lèi)是通知設(shè)備應(yīng)答并發(fā)送有用信息的通知消息,另一類(lèi)是通知設(shè)備應(yīng)答的通知消息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)通知消息的類(lèi)型為通知設(shè)備應(yīng)答并發(fā) 送有用信息的通知消息時(shí),則設(shè)備在發(fā)送所述應(yīng)答消息后向主機(jī)發(fā)送有用信息。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)通知消息的類(lèi)型為通知設(shè)備應(yīng)答的通 知消息時(shí),則主機(jī)在收到應(yīng)答消息后向設(shè)備發(fā)送有用信息。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述應(yīng)答消息為通知消息無(wú)誤接收的消息
6.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,若主機(jī)經(jīng)由串口通過(guò)中繼器向設(shè)備轉(zhuǎn) 發(fā)通知消息,則所述設(shè)備地址信息還包含中繼器的端口號(hào)。
7.—種串行通信的系統(tǒng),其特征在于,包括主機(jī),用于檢測(cè)連接到其串口上的設(shè)備,生成包含所述串口標(biāo)識(shí)的設(shè)備地址信息,向設(shè) 備發(fā)送包含所述設(shè)備地址的通知消息,并在收到應(yīng)答消息后向設(shè)備發(fā)送有用信息;以及設(shè)備,用于在收到所述通知消息后經(jīng)由串口發(fā)送包含所述設(shè)備地址的應(yīng)答消息,并在 發(fā)送應(yīng)答消息后向主機(jī)發(fā)送有用信息。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述通知消息至少包括兩類(lèi)通知消息,一 類(lèi)是通知設(shè)備應(yīng)答的通知消息,另一類(lèi)是通知設(shè)備應(yīng)答并發(fā)送有用信息的通知消息。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,當(dāng)主機(jī)發(fā)出的通知消息的類(lèi)型為通知設(shè) 備應(yīng)答并發(fā)送有用信息的通知消息時(shí),則設(shè)備在發(fā)送所述應(yīng)答消息后向主機(jī)發(fā)送有用信 肩、ο
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,當(dāng)主機(jī)發(fā)出的通知消息的類(lèi)型為通知設(shè) 備應(yīng)答的通知消息時(shí),則主機(jī)在收到應(yīng)答消息后向設(shè)備發(fā)送有用信息。
11.根據(jù)權(quán)利要求9或10所述的系統(tǒng),其特征在于,若主機(jī)經(jīng)由串口通過(guò)中繼器向設(shè)備 轉(zhuǎn)發(fā)通知消息,則所述設(shè)備地址信息還包含中繼器的端口號(hào)。
全文摘要
本發(fā)明公開(kāi)了一種串行通信的方法和系統(tǒng),該方法包括主機(jī)通過(guò)檢測(cè)連接到其串口上的設(shè)備,生成包含串口標(biāo)識(shí)的設(shè)備地址信息;主機(jī)向設(shè)備發(fā)送包含設(shè)備地址的通知消息;設(shè)備收到通知消息后,經(jīng)由串口向主機(jī)發(fā)送包含設(shè)備地址的應(yīng)答消息;設(shè)備在發(fā)送應(yīng)答消息后向主機(jī)發(fā)送有用信息,或者主機(jī)在收到應(yīng)答消息后向設(shè)備發(fā)送有用信息。本發(fā)明通過(guò)主機(jī)檢測(cè)連接到串口上的設(shè)備生成設(shè)備地址信息實(shí)現(xiàn)主機(jī)和設(shè)備存儲(chǔ)器之間的一對(duì)一通信,不僅節(jié)省帶寬,而且能夠提高數(shù)據(jù)的傳輸速率。
文檔編號(hào)G06F13/42GK101989250SQ20101053118
公開(kāi)日2011年3月23日 申請(qǐng)日期2010年11月3日 優(yōu)先權(quán)日2010年11月3日
發(fā)明者王坤, 譚冠軍, 陳燕軍, 霍建雷 申請(qǐng)人:中興通訊股份有限公司