專利名稱:串行傳輸協(xié)議中命令和數(shù)據(jù)的傳送和接收方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于串行傳輸協(xié)議中命令和數(shù)據(jù)的傳送和接收方法的技術(shù),尤其是關(guān)于通過諸如RS232C的串行接口,傳送和接收計算機命令(Command)和數(shù)據(jù)(Data)的一種串行傳輸協(xié)議中命令和數(shù)據(jù)的傳送和接收方法的發(fā)明。
(2)背景技術(shù)一直以來被用于企業(yè)商業(yè)目的的便攜式個人數(shù)字助理現(xiàn)在已經(jīng)漸漸地在一般用戶中普及。其不僅僅能夠應用到個人日程管理中,而且還具有電子記事本、數(shù)字音樂、游戲機等多種功能。
但是,在便攜式個人數(shù)字助理的使用過程中,出現(xiàn)了許多應該解決的問題。便攜式個人數(shù)字助理不同于一般計算機,其將操作系統(tǒng)和基本應用軟件事先裝載到只讀存儲器中。以前使用屏蔽只讀存儲器,一次記錄之后,就不能夠修改,現(xiàn)在使用快閃只讀存儲器,日后也能夠進行升級。
圖1顯示的是現(xiàn)有的便攜式個人數(shù)字助理的只讀存儲器和隨機存儲器構(gòu)造的示意圖。
在上述實施例中,只讀存儲器包括以下幾部分引導裝載程序區(qū)域101;操作系統(tǒng)及應用程序區(qū)域102;系統(tǒng)固有信息區(qū)域103。隨機存儲器包括引導裝載程序隨機存儲器區(qū)域104;系統(tǒng)區(qū)域及存儲區(qū)域105;保存的隨機存儲器區(qū)域106。
如圖1所示,如果將便攜式個人數(shù)字助理插上電源,引導裝載程序101運行。引導裝載程序101具有將便攜式個人數(shù)字助理硬件初始化,通過操作系統(tǒng)102進行控制的作用。通過操作系統(tǒng)102進行控制,按照一般順序啟動,運行。
硬件和便攜式個人數(shù)字助理上固有的信息在只讀存儲器上另外記錄。隨機存儲器不僅僅具有驅(qū)動便攜式個人數(shù)字助理程序的現(xiàn)有隨機存儲器的功能,同時,還相當于計算機硬盤,具有存儲完成文件的功能。隨機存儲器區(qū)域可以劃分為以下幾大類型使用引導裝載程序的隨機存儲器區(qū)域;使用操作系統(tǒng)及應用軟件的隨機存儲器區(qū)域;確保其它目的的隨機存儲器區(qū)域等。
為了修正便攜式個人數(shù)字助理軟件的錯誤以及改善其性能,對于已經(jīng)出現(xiàn)在市場上或者消費者正在使用的便攜式個人數(shù)字助理的只讀存儲器,非常需要一種能夠升級及備份的方案。尤其,更重要的是,在這樣的過程中,需要一種能夠穩(wěn)定地傳送命令和數(shù)據(jù)的協(xié)議。
(3)發(fā)明內(nèi)容本發(fā)明的目的是為了解決上述問題,提供一種串行傳輸協(xié)議中命令和數(shù)據(jù)的傳送和接收方法,本發(fā)明是能夠保障穩(wěn)定傳送便攜式個人數(shù)字助理的命令和數(shù)據(jù)信息包的方法;本發(fā)明又是為使用者提供一種在現(xiàn)存的用戶環(huán)境下,應用串行接口的方法。
為了實現(xiàn)上述目的,本發(fā)明串行傳輸協(xié)議中命令傳送方法包括以下幾個步驟,并以此為特征a、生成包含命令幀、長度幀、命令數(shù)據(jù)幀的命令信息包的步驟;b、在上述步驟a生成的命令信息包中附加誤差校驗的幀的步驟;c、將上述步驟b生成的信息包編碼的步驟;d、在上述步驟c編碼的信息包中,添加表示信息包結(jié)束的結(jié)尾文字幀,形成新的信息包的步驟;e、傳送在上述步驟d中生成的信息包的步驟。
本發(fā)明串行傳輸協(xié)議中命令傳送方法的特征是為了檢測步驟b附加了誤差校驗的數(shù)據(jù)在傳送過程里發(fā)生的誤差,最好采用循環(huán)2進符號方式(CRC算法)。
本發(fā)明串行傳輸協(xié)議中命令接收方法包括如下幾個步驟,并以此為特征a、確認命令信息包的最后字節(jié)是否為結(jié)尾文字幀,在接收的信息包內(nèi),清除結(jié)尾文字幀的步驟;b、將在上述步驟a中清除的結(jié)尾文字幀解碼的步驟;c、為了誤差校驗,檢查幀,校驗命令信息包是否存在誤差,清除誤差校驗的幀的步驟。
本發(fā)明串行傳輸協(xié)議中命令接收方法的特征是如果在步驟a中接收的信息包的最后字節(jié)不是結(jié)尾文字幀,最好請求再傳送。
本發(fā)明串行傳輸協(xié)議中命令接收方法的特征是如果在步驟c中檢測出誤差,最好請求再傳送。
本發(fā)明串行傳輸協(xié)議中命令接收方法的特征是請求再傳送的方法最好是通過發(fā)送NAK信號,提出再傳送請求。
本發(fā)明串行傳輸協(xié)議中數(shù)據(jù)傳送方法包括以下幾個步驟,并以此為特征a、生成包含同步幀、信息包號碼幀、數(shù)據(jù)幀的數(shù)據(jù)信息包的步驟;b、在上述步驟a中生成的命令信息包中附加校驗誤差的幀,生成新信息包的步驟;本發(fā)明串行傳輸協(xié)議中數(shù)據(jù)傳送方法的特征是步驟b的誤差校驗方法最好是采用奇偶校驗確認過程的方法。
本發(fā)明串行傳輸協(xié)議中數(shù)據(jù)接收方法包括如下幾個步驟,并以此為特征a、確認接收的信息包的第一個幀是否為同步幀的步驟;b、校驗接收的數(shù)據(jù)信息包的號碼是否與現(xiàn)在應該接收的數(shù)據(jù)信息包的號碼一致的過程;c、檢查上述數(shù)據(jù)信息包是否存在誤差,清除誤差校驗的幀的步驟。
本發(fā)明串行傳輸協(xié)議中數(shù)據(jù)接收方法的特征是如果在步驟a和步驟b中,接收的信息包的第一個幀不是同步幀或者接收的數(shù)據(jù)信息包的號碼與現(xiàn)在應該接收的數(shù)據(jù)信息包的號碼不一致的話,最好請求再傳送。
本發(fā)明串行傳輸協(xié)議中數(shù)據(jù)接收方法的特征是如果在步驟c中出現(xiàn)誤差,最好請求再傳送。
本發(fā)明串行傳輸協(xié)議中數(shù)據(jù)接收方法的特征是請求再傳送的方法最好是通過傳送NAK信號,提出請求。
本發(fā)明的效果綜上所述,本發(fā)明的串行傳輸協(xié)議中命令和數(shù)據(jù)的傳送和接收方法是通過提供一種能夠傳送穩(wěn)定的命令和數(shù)據(jù)的性能,達到保障便攜式個人數(shù)字助理用戶和相關(guān)工作人員使用上的方便和穩(wěn)定性的效果。
而且,本發(fā)明具有能夠應用在現(xiàn)存的用戶環(huán)境下廣泛使用的串行接口的效果。
為進一步說明本發(fā)明的上述目的、結(jié)構(gòu)特點和效果,以下將結(jié)合附圖對本發(fā)明進行詳細的描述。
(4)
圖1是現(xiàn)有的便攜式個人數(shù)字助理的只讀存儲器和隨機存儲器的構(gòu)造示意圖。
圖2a是本發(fā)明一個實施例的串行傳輸協(xié)議中命令傳送和接收方法的流程圖。
圖2b是本發(fā)明一個實施例的命令信息包變化過程的示意圖。
圖3a是本發(fā)明一個實施例的串行傳輸協(xié)議中數(shù)據(jù)傳送和接收方法的流程圖。
圖3b是本發(fā)明一個實施例的數(shù)據(jù)信息包變化過程的示意圖。
附圖中主要部分的符號說明210命令幀 211長度幀212命令數(shù)據(jù)幀 213CRC幀214結(jié)尾文字幀 310同步幀311信息包號碼幀 312數(shù)據(jù)幀313奇偶校驗幀(5)具體實施方式
下面,將參照附圖,對本發(fā)明串行傳輸協(xié)議中命令和數(shù)據(jù)傳送和接收方法的實施例進行詳細說明。
圖2a是本發(fā)明的一個實施例的串行傳輸協(xié)議中命令傳送和接收方法的流程圖,圖2b是圖2a的各個過程的命令信息包變化過程的示意圖。
在上述實施例中,傳送和接收命令的信息包包括命令幀210,長度幀211,命令數(shù)據(jù)幀212,CRC幀213,結(jié)尾文字幀214。
上述實施例概略地顯示了生成傳送命令的信息包,再次復原的過程。
參照圖2a,對傳送和接收命令的方法說明如下。
步驟201到步驟204是命令傳送過程。
步驟201是生成命令信息包的過程命令信息包最好包含命令幀210,長度幀211及命令數(shù)據(jù)幀212。但是,并不限定命令信息包只允許包含上述內(nèi)容。隨著協(xié)議的發(fā)展過程,相關(guān)工作人員可以對命令信息包的內(nèi)容加以變更。命令幀210和長度幀211最好是1字節(jié),命令數(shù)據(jù)幀212最好為具有28字節(jié)大小。
步驟202是附加誤差校驗的CRC幀213的過程為了保證命令信息包的完整性,使用CRC,可以采用任意一種CRC算法,在本發(fā)明中,最好使用CRC-16。當使用CRC-16時,生成2字節(jié)的CRC值,將其沿著命令信息包的末端添加。對于相關(guān)工作人員來說,CRC-16是一種不言自明的技術(shù),這里省略掉關(guān)于這方面的說明。
步驟203是編碼信息包的過程根據(jù)CRC-16算法,為了使命令信息包不包含CRC-16算法中規(guī)定的特殊文字,需要經(jīng)過編碼過程。經(jīng)過這一編碼過程后,命令數(shù)據(jù)能夠擴張到56字節(jié)大小。
步驟204是生成結(jié)尾文字幀E214的過程在變換的命令信息包中添加結(jié)尾文字,這代表命令信息包的末端。
步驟205到步驟208是命令接收過程。
步驟205是確認結(jié)尾文字幀214的過程確認接收的信息包的最后字節(jié)是否為結(jié)尾文字幀E214。如果不是,發(fā)送NAK(Non Acknowledgement),請求再傳送。如果命令信息包的最后字節(jié)是結(jié)尾文字幀E214,清除結(jié)尾文字幀E214。
所謂NAK,指的是為了在2方之間確立數(shù)據(jù)鏈接,對于發(fā)送方提出的資料傳送請求,當接收方?jīng)]有做好接收數(shù)據(jù)的準備,發(fā)送方不能夠送出數(shù)據(jù)或者接收的數(shù)據(jù)存在誤差,有必要再次接收數(shù)據(jù)時,接收方向發(fā)送方發(fā)送的控制傳送信號的符號。關(guān)于NAK信號的內(nèi)容,對于相關(guān)工作人員來說,是不言自明的事實,所以,這里省略對其的詳細說明。
步驟206是將接收的信息包解碼的過程
根據(jù)CRC-16算法,命令信息包經(jīng)過解碼變換過程,復原原來的數(shù)據(jù)。
步驟207是檢查是否出現(xiàn)誤差的過程確認CRC值是否正確,確認命令信息包的完整性。如果命令信息包不完整,發(fā)送NAK(Non Acknowledgement),請求再傳送。
步驟208是復原命令信息包的過程在上述步驟207中,進行誤差檢查,如果沒有檢測出誤差,清除CRC幀E213,復原原來的命令信息包。
圖3a是本發(fā)明一個實施例的串行傳輸協(xié)議中數(shù)據(jù)傳送和接收方法的流程圖。圖3b是圖3a各個過程的數(shù)據(jù)信息包的變化過程的示意圖。
在上述實施例中,數(shù)據(jù)信息包包含同步幀310、信息包號碼幀311、數(shù)據(jù)幀312、奇偶校驗幀P313。
上述實施例概略地顯示了生成傳送數(shù)據(jù)的信息包,再次復原的過程。
參照圖3a,傳送和接收數(shù)據(jù)的方法說明如下。
步驟301到302是數(shù)據(jù)傳送過程。
步驟301是生成數(shù)據(jù)信息包的過程上述數(shù)據(jù)信息包包括同步幀310;信息包號碼幀311及數(shù)據(jù)幀312。同步幀310和信息包號碼幀311最好是1字節(jié),數(shù)據(jù)幀312最大可以為512字節(jié)大小。對于上述幀的構(gòu)成內(nèi)容和大小,相關(guān)工作人員可以進行多樣變更。
步驟302是生成奇偶校驗的過程與命令信息包傳送不同,由于數(shù)據(jù)信息包通常都是大量傳送,如果一一結(jié)算CRC,就會出現(xiàn)整個傳送速度低下的問題。因此,當傳送數(shù)據(jù)信息包時,需要經(jīng)過奇偶校驗(Parity)確認過程??梢圆捎萌魏我环N奇偶校驗算法,在本發(fā)明中,最好采用利用Exclusive OR的2字節(jié)奇偶校驗方法。
步驟303到步驟306是數(shù)據(jù)接收過程。
步驟303到304是確認同步幀,確認接收的信息包的順序是否一致的過程確認數(shù)據(jù)信息包的第一個字節(jié)是否為同步幀310。然后,校驗信息包號碼幀311,確認接收的信息包號碼是否與等待的一致。如果不一致,發(fā)送NAK(Non Acknowledgement),請求再傳送。
步驟305是誤差校驗過程校驗奇偶校驗幀313,確認奇偶校驗值是否正確。如果不正確,發(fā)送NAK(Non Acknowledgement),請求再傳送。
步驟306是復原數(shù)據(jù)信息包的過程在上述步驟305中,如果奇偶校驗的值一致,清除上述奇偶校驗幀313,復原數(shù)據(jù)信息包。
本技術(shù)領(lǐng)域中的現(xiàn)有技術(shù)人員應當認識到,以上的實施例僅是用來說明本發(fā)明,而并非用作為對本發(fā)明的限定,只要在本發(fā)明的實質(zhì)精神范圍內(nèi),對以上所述實施例的變化、變型都將落在本發(fā)明權(quán)利要求書的范圍內(nèi)。
權(quán)利要求
1.一種串行傳輸協(xié)議中命令傳送方法,其特征在于包括以下幾個步驟a、生成包含命令幀、長度幀、命令數(shù)據(jù)幀的命令信息包的步驟;b、在上述步驟a生成的命令信息包中附加誤差校驗的幀的步驟;c、將上述步驟b生成的信息包編碼的步驟;d、在上述步驟c編碼的信息包中,添加表示信息包結(jié)束的結(jié)尾文字幀,形成新的信息包的步驟;e、傳送在上述步驟d中生成的信息包的步驟。
2.如權(quán)利要求1所述的串行傳輸協(xié)議中命令傳送方法,其特征在于為了檢測步驟b中附加了誤差校驗的數(shù)據(jù)在傳送過程里發(fā)生的誤差,采用循環(huán)2進符號方式的CRC算法。
3.一種串行傳輸協(xié)議中命令接收方法,其特征在于包括如下幾個步驟a、確認命令信息包的最后字節(jié)是否為結(jié)尾文字幀,在接收的信息包內(nèi),清除結(jié)尾文字幀的步驟;b、將在上述步驟a中清除的結(jié)尾文字幀解碼的步驟;c、為了誤差校驗,檢查幀,校驗命令信息包是否存在誤差,清除誤差校驗的幀的步驟。
4.如權(quán)利要求3所述的串行傳輸協(xié)議中命令接收方法,其特征在于如果在步驟a中接收的信息包的最后字節(jié)不是結(jié)尾文字幀,請求再傳送。
5.如權(quán)利要求3所述的串行傳輸協(xié)議中命令接收方法,其特征在于如果在步驟c中檢測出誤差,請求再傳送。
6.如權(quán)利要求4或5所述的串行傳輸協(xié)議中命令接收方法,其特征在于所述的請求再傳送的方法是為了在2方之間確立數(shù)據(jù)鏈接,對于發(fā)送方提出的資料傳送請求,當接收方?jīng)]有做好接收數(shù)據(jù)的準備,發(fā)送方不能夠送出數(shù)據(jù)或者接收的數(shù)據(jù)存在誤差,有必要再次接收數(shù)據(jù)時,接收方向發(fā)送方發(fā)送的控制傳送信號的符號,即NAK信號。
7一種串行傳輸協(xié)議中數(shù)據(jù)傳送方法,其特征在于包括以下幾個步驟a、生成包含同步幀、信息包號碼幀、數(shù)據(jù)幀的數(shù)據(jù)信息包的步驟;b、在上述步驟a中生成的命令信息包中附加校驗誤差的幀,生成新信息包的步驟;
8.如權(quán)利要求7所述的串行傳輸協(xié)議中數(shù)據(jù)傳送方法,其特征在于步驟b的誤差校驗方法是使用奇偶校驗確認過程的方法。
9.一種串行傳輸協(xié)議中數(shù)據(jù)接收方法,其特征在于包括如下幾個步驟a、確認接收的信息包的第一個幀是否為同步幀的步驟;b、校驗接收的數(shù)據(jù)信息包的號碼是否與現(xiàn)在等待接收的數(shù)據(jù)信息包的號碼一致的過程;c、檢查上述數(shù)據(jù)信息包是否存在誤差,清除誤差校驗的幀的步驟。
10.如權(quán)利要求9所述的串行傳輸協(xié)議中數(shù)據(jù)傳送方法,其特征在于如果在步驟a和步驟b中,接收的信息包的第一個幀不是同步幀或者接收的數(shù)據(jù)信息包的號碼與現(xiàn)在等待接收的數(shù)據(jù)信息包的號碼不一致,請求再傳送。
11.如權(quán)利要求9所述的串行傳輸協(xié)議中數(shù)據(jù)傳送方法,其特征在于如果在步驟c中出現(xiàn)誤差,請求再傳送。
12.如權(quán)利要求10或11所述的串行傳輸協(xié)議中數(shù)據(jù)傳送方法,其特征在于所述的請求再傳送的方法是為了在2方之間確立數(shù)據(jù)鏈接,對于發(fā)送方提出的資料傳送請求,當接收方?jīng)]有做好接收數(shù)據(jù)的準備,發(fā)送方不能夠送出數(shù)據(jù)或者接收的數(shù)據(jù)存在誤差,有必要再次接收數(shù)據(jù)時,接收方向發(fā)送方發(fā)送的控制傳送信號的符號,即NAK信號。
全文摘要
本發(fā)明涉及一種串行傳輸協(xié)議中命令和數(shù)據(jù)的傳送和接收方法,串行傳輸協(xié)議中命令傳送方法包括以下幾個步驟a、生成包含命令幀、長度幀、命令數(shù)據(jù)幀的命令信息包的步驟;b、在上述步驟a生成的命令信息包中附加誤差校驗的幀的步驟;c、將上述步驟b生成的信息包編碼的步驟;d、在上述步驟c編碼的信息包中,添加表示信息包結(jié)束的結(jié)尾文字幀,形成新的信息包的步驟;e、傳送在上述步驟d中生成的信息包的步驟。本發(fā)明是通過提供一種能夠傳送穩(wěn)定的命令和數(shù)據(jù)的性能,達到保障便攜式個人數(shù)字助理用戶使用上的方便和穩(wěn)定性的效果。而且,本發(fā)明具有能夠應用在現(xiàn)存的用戶環(huán)境下廣泛使用的串行接口的效果。
文檔編號G06F13/42GK1770135SQ20041006777
公開日2006年5月10日 申請日期2004年11月3日 優(yōu)先權(quán)日2004年11月3日
發(fā)明者黃昞昊 申請人:樂金電子(昆山)電腦有限公司