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