TWI462532B - 基於封包之資料傳輸 - Google Patents

基於封包之資料傳輸 Download PDF

Info

Publication number
TWI462532B
TWI462532B TW099117262A TW99117262A TWI462532B TW I462532 B TWI462532 B TW I462532B TW 099117262 A TW099117262 A TW 099117262A TW 99117262 A TW99117262 A TW 99117262A TW I462532 B TWI462532 B TW I462532B
Authority
TW
Taiwan
Prior art keywords
packet
unit
information
receiver
destination address
Prior art date
Application number
TW099117262A
Other languages
English (en)
Other versions
TW201110621A (en
Inventor
Jozsef G Nemeth
Original Assignee
Microchip Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microchip Tech Inc filed Critical Microchip Tech Inc
Publication of TW201110621A publication Critical patent/TW201110621A/zh
Application granted granted Critical
Publication of TWI462532B publication Critical patent/TWI462532B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

基於封包之資料傳輸
本發明係關於一種用於基於封包之資料傳輸之方法及裝置,特定言之,本發明係關於一種無線封包協定。
本申請案主張2009年6月10日申請之題名為「以推知的在一基於封包之無線協定中之目的地位址」(「INFERRED DESTINATION ADDRESSING IN A PACKET-BASED WIRELESS PROTOCOL」)的美國臨時申請案第61/185,635號之權利,該案全文被併入本文中。
基於封包之資料傳輸使用各種層,在該等層中傳輸資料及相關聯控制資訊,諸如用於傳輸器及接收器的位址識別符、資料長度、冗餘資訊等等。基於封包之資料傳輸用於多種協定中。存在許多用於特定資料之傳輸的協定,額外控制資訊大於資料有效載荷。因此,可使資料傳輸明顯變慢。特定言之,在無線收發器(例如一802.15.4收發器)中,其中封包位元組的傳輸為一耗電操作,減少藉由無線裝置所傳輸的位元組數量與由無線裝置使用的操作電源有一直接關係。在許多電池供電之無線收發器應用中(例如遙控、遊戲控制等等),訊息框架附加項可構成該無線電作用時間循環之一重要比例,因此,對電池壽命有一顯著影響。
存在對基於封包之資料傳輸之一更加有效的方法之需要。
根據一實施例,一種用於在一基於封包之傳輸系統中傳輸資料的方法可具有以下步驟:藉由包含控制資訊及有效載荷資料組譯一封包,其中該控制資訊包含一目的地位址;使用該封包計算冗餘資訊;自該封包剝離該目的地位址且將該冗餘資訊加至該封包,其中該封包中之一控制位元係經設定以指示目的地位址未包含在該封包中;及傳輸該封包。
根據另一實施例,可在計算該冗餘資訊之前設定該封包中之該控制位元以指示出目的地位址未包含在該封包中。根據另一實施例,可使用一循環冗餘檢查(CRC)計算該冗餘資訊。根據另一實施例,在組譯期間該目的地位址可包含於一訊框標頭中。根據另一實施例,在組譯期間該目的地位址可為包含於該訊框標頭中的第一資訊。根據另一實施例,可無線傳輸該封包。根據另一實施例,該方法可根據一802.15.4標準進行操作。
根據另一實施例,一種用於在一基於封包之傳輸系統中接收資料之方法可具有以下步驟:接收包含控制資訊、有效載荷資料及傳輸器冗餘資訊之一封包;判定一目的地位址是否包含在該控制資訊中;若未包含目的地位址,則插入一位址至該控制資訊中並自該封包移除該傳輸器冗餘資訊;使用該封包計算接收器冗餘資訊;及比較該接收器冗餘資訊與該傳輸器冗餘資訊,且若為真,則接收該封包,且否則丟棄該封包。
根據另一實施例,可使用一循環冗餘檢查(CRC)計算該冗餘資訊。根據另一實施例,可藉由檢查是否於一訊框標頭中設定一預定位元而執行該判定步驟。根據另一實施例,該方法可具有使用該插入位址計算一CRC種子之步驟。根據另一實施例,可儲存該傳輸器冗餘資訊。根據另一實施例,可無線傳輸該封包。根據另一實施例,該方法可根據一802.15.4傳輸標準進行操作。
根據又一實施例,一種傳輸器可包括:一訊息組譯單元;與該訊息組譯單元耦接的一冗餘資訊計算單元;及與該訊息組譯單元耦接的一傳輸單元,其中該訊息組譯單元可操作用以:藉由包含控制資訊及有效載荷資料組譯一封包,其中該控制資訊包含一目的地位址;將該封包轉遞至用於計算一冗餘資訊之該冗餘資訊計算單元;自該封包剝離該目的地位址並將該冗餘資訊加至該封包;設定該封包中的一控制位元以指示出目的地位址未包含在該封包中;及將該封包轉遞至該傳輸單元。
根據另一實施例,該傳輸器可操作以在將該封包轉遞至該冗餘資訊計算單元之前設定該封包中的該控制位元以指示出目的地位址未包含在該封包中。
根據另一實施例,該冗餘資訊計算單元可為一循環冗餘檢查(CRC)單元。根據另一實施例,該傳輸單元可為一無線傳輸單元。根據另一實施例,該無線傳輸單元可根據一802.15.4標準進行操作。根據另一實施例,在一具有一內部積體電路(I2 C)介面的一積體電路中該傳輸器可為一收發器之部分。根據另一實施例,該傳輸器可進一步包括作為一電源的一電池。
根據又一實施例,一種接收器可包括:一訊息重新建構單元;與該訊息組譯單元耦接的一冗餘資訊計算單元;及與該訊息重新建構單元耦接的一接收單元,其可操作以接收包含控制資訊、有效載荷及接收器冗餘資訊的一封包,其中該訊息重新建構單元係可操作以判定一目的地位址是否包含在該控制資訊中;若未包含目的地位址,則該訊息重新建構單元可操作以將一位址插入於該控制資訊中並自該封包移除該傳輸器冗餘資訊;將該封包轉遞至用於計算一接收器冗餘資訊之該冗餘計算單元;及比較該接收器冗餘資訊與該傳輸器冗餘資訊,且若為真,則接收該封包,且否則丟棄該封包。
根據另一實施例,該冗餘資訊計算單元可為一循環冗餘檢查(CRC)單元。根據另一實施例,該訊息重新建構單元可藉由檢查是否於在該封包之一訊框標頭中設定一預定位元來判定是否包含一目的地位址。根據另一實施例,在完全接收一封包之前,該CRC單元可操作以使用該插入位址計算一CRC種子。根據另一實施例,該接收器可進一步包括記憶體以儲存該傳輸器冗餘資訊。根據另一實施例,該接收器可進一步包括記憶體以儲存該插入位址。根據另一實施例,該接收單元可為一無線接收單元。根據另一實施例,該無線接收單元可根據一802.15.4標準進行操作。根據另一實施例,在一具有一I2 C介面的積體電路中該接收器可為一收發器之部分。根據另一實施例,該接收器可進一步包括作為一電源的一電池。
根據又一實施例,一種收發器可包括:一冗餘資訊計算單元;一訊息組譯及重新建構單元,其與該冗餘資訊計算單元耦接;一傳輸接收單元,其與該訊息組譯單元耦接,該收發器單元係用於傳輸及接收封包,其中對於傳輸,該訊息組譯及重新建構單元可操作用以:藉由包含控制資訊及有效載荷資料組譯一封包,其中該控制資訊包含一目的地位址;將該封包轉遞至用於計算一冗餘資訊之該冗餘資訊計算單元;自該封包剝離該目的地位址且將該冗餘資訊加至該封包;設定該封包中的一控制位元以指示出目的地位址未包含在該封包中;且將該封包轉遞至該傳輸單元;且對於接收,進一步操作用以:判定一目的地位址是否包含在一接收封包之控制資訊中;若未包含目的地位址,則將一位址插入於該控制資訊中且自該封包移除一接收冗餘資訊;將該封包轉遞至用於計算一接收器冗餘資訊之該冗餘計算單元;且比較該接收器冗餘資訊與該傳輸器冗餘資訊,且若為真,則接收該封包,且否則丟棄該封包。
根據另一實施例,該冗餘資訊計算單元可為一循環冗餘檢查(CRC)單元。根據另一實施例,該傳輸接收單元可為一無線傳輸接收單元。根據另一實施例,該無線傳輸接收單元可根據一802.15.4標準進行操作。根據另一實施例,該收發器可進一步包括一I2 C介面。根據另一實施例,該收發器可進一步包括作為一電源的一電池。根據另一實施例,該收發器可進一步包括記憶體以儲存該接收冗餘資訊。根據另一實施例,該收發器可進一步包括記憶體以儲存該插入位址。根據另一實施例,該收發器可操作以在將該封包轉遞至該冗餘資訊計算單元之前,設定該封包中的該控制位元以指示出目的地位址未包含在該封包。
可藉由參考下文並結合隨附圖式之描述而獲得對本發明及其優勢之一更加完整的理解。
雖然已描繪、描述,且參考本發明之例示性實施例定義本發明之實施例,但此等引用不會暗示對本發明之限制,且不會推導出此限制。揭示主旨在形式及功能上可有相當多的修改、變更及等效物,其將為一般技術者及具有本發明之權利者所作出。本發明之經描繪及描述的實施例僅係實例且不是本發明之範圍的全面性描述。
因此在基於封包之通信中,特別在本文提及之專利的無線通信場景中,需要設計一容許節省無線電傳輸作用時間循環及訊框標頭封包之減少之通信協定,以藉由減少傳輸位元組之數量而降低由無線電裝置使用之操作電力。
在無線及有線通信網路中,基於封包之資料傳輸可包含作為控制資訊之傳輸單元及接收單元之位址識別符。因此,在接收之後一接收器可立即檢查此單元是否打算接收該傳輸,且若不接收,則丟棄接收資訊。根據本發明之教示,舉例而言,藉由推斷封包或訊框之目的地位址而省略該目的地位址,實現縮短用於無線協定之封包或訊框長度。藉由自該封包或訊框中諸如一冗餘或安全資訊之其他資訊推斷該目的地位址,可從每一封包或訊框中予以忽略該目的地位址,且因此縮短整個封包或訊框之長度。舉例而言,可使用一循環冗餘檢查(CRC)以產生推斷之該目的地位址之附加資訊,如下文將更詳細解釋。在目標應用域中,此資料長度之縮短通常可為百分之十。因此,傳輸可更快,且最為重要地,對於電池操作之系統中之無線傳輸,需要較少能量即可傳輸資料。此在傳輸很少但持續資料之裝置中可係有利的,諸如包含一無線滑鼠及鍵盤之一無線輸入裝置。在一滑鼠或鍵盤存在之情況下,有效載荷通常明顯小於一封包或訊框中之控制資訊,因此,減少控制資訊對速度及能量之節省係十分有利的。
圖1展示利用一循環冗餘檢查(CRC)單元110以將額外冗餘加至傳輸資訊之用於基於封包之資料傳輸的一系統100、105。可使用其他冗餘方法,如會從本發明獲得更深一層之瞭解。可提供一訊息組譯單元130,其接收資料有效載荷120及訊框控制資訊150以及其他資訊(圖中未展示)。訊框控制資訊150可包含一位元160,當設定位元160時,向該訊息組譯單元130指示出待產生及傳輸具有或沒有目的地位址之一封包或訊框。訊框控制資訊150可包含複數個其他控制位元,其等控制位元控制該訊息組譯單元如何組態待傳輸之資料。此等可包含廣播模式、應答模式等等。該訊息組譯單元130與用於有線及無線傳輸之一傳輸單元140相耦接。圖1亦展示指示該傳輸器可為一行動無線裝置之一電池供電單元170。
在該接收器側,一有線或無線接收器145與一重新建構單元135相耦接。根據一實施例,該接收器單元135(舉例而言)自一暫存器或記憶體125接收單元位址。該重新建構單元135與一CRC單元115(可相同於該傳輸器100之CRC單元110)相耦接。此外,該接收器亦可為電池供電,如點狀方框175所指示。該接收器105接收一訊息且解碼訊框控制資訊以判定所接收之訊息的組態。
應瞭解,可組合該傳輸器100與接收器105以形成一收發器。在此一實施例中,僅需要一單一CRC單元且其可由各別接收及傳輸電路共用。
使用一CRC方法一般需要藉由一CRC單元110使用一預定義產生器多項式處理包含之控制資訊及資料有效載荷之資料,如下文更詳細描述。接著,一CRC計算之結果一般係加至(舉例而言,附加至)待傳輸之該資料。亦知道該產生器多項式之該接收器105對資料使用相同的演算法且比較結果與已加至該傳輸之結果。因此,在該接收器側可確認一正確的傳輸。如果該傳輸經干擾使得傳輸資料受毀壞,則該接收器會產生一不同的結果且接著丟棄該接收封包或訊框並請求重新傳輸。
使用一線性回饋移位暫存器(LFSR)可執行該CRC計算,如下文更詳細講解。然而,利用一種僅計算餘數之位元組導向之方法來計算該CRC係較為循環有效的。為了與接收保持一致,根據各種實施例此係有利的。
根據一實施例,使用此冗餘檢查以減少傳輸資料之數量。舉例而言,若位元160被設定為「0」,則此對該訊息組譯單元130指示出目的地位址未包含在該封包或訊框中。在待傳輸之資料串流中,舉例而言,該訊息組譯單元130使此位元包含在該訊框標頭中。因此,一接收器可立即認出一目的地位址是否存在。若此位元設定為「0」,則該訊息組譯單元130接著自該傳輸之封包或訊框丟掉該目的地位址,且使該接收器處的接收決定僅僅基於接收之訊框檢查序列,其在圖1展示之實施例中為一CRC。如上文提及,一「目的地位址存在」旗標經保留在一訊框標頭(訊框控制欄位)中且經設定為偽(0)以用信號發送推斷之定址模式。該傳輸器計算完整訊框(包含目的地位址)之CRC,但是接著在傳輸該封包或訊框之前丟掉目的地位址(DAddr)。因此,可自CRC結果推斷出目的地位址,如下文講解。
該接收器105藉由插入其自身位址來檢查CRC,如下文講解。假使匹配,則接收訊框,否則默默丟棄訊框。該CRC篩選方法取代位址匹配篩選之作用。應注意,可使用任何其他冗餘檢查或甚至一包含目的地位址於產生一已知結果之一演算法中之安全編碼。
特定言之,在無線系統中,由於框架附加項變短,於是該無線電之作用時間循環縮短且輸送量增加。由於傳送一單一位元組消耗之能量可超過數以百計之MCU位元組操作之能量預算,所以對電池壽命之影響係重大的。
圖2展示一收發器320之另一實施例,該收發器320經由一系列介面與一微控制器或處理器310耦接且經由一匹配電路330與天線340耦接。該收發器320可經設計以根據一無線傳輸協定進行操作,例如根據該802.15.4標準進行操作。為達到此目的,該收發器包括諸如媒體存取控制(MAC)層、實體層PHY、介面、電力管理及記憶體等等之所有必要元件,以根據該標準進行傳輸及接收。根據各種實施例之額外功能可實施在該收發器320中或實施在該微控制器310中,如由具有目的地位址指示位元160之訊框控制暫存器150指示。若使用一CRC單元執行該冗餘檢查,則此單元實施在個別裝置320中(例如,如圖1所示)或實施在該微控制器310中。如果沒有一微控制器或處理器,亦可由軟體執行CRC,因此,不要求額外硬體。收發器可為憑證一I2C介面與一微控制器310耦接且特定言之可為電池操作之一積體電路。
圖3及圖4展示不同實施模式。根據圖3,傳輸器100或收發器建構訊框使得,訊框控制訊息FrameCtrl與一序號SeqNo、一目的地位址DAddr、一來源位址SAddr及該資料有效載荷相串連。可看出一封包或訊框一般由包含該目的地位址及有效載荷資料之控制訊息組成。接著此訊框被饋送至計算一結果的該CRC單元110。接著該結果被附加至該訊框,且最重要地,若目的地位址位元160設定為「0」,則該目的地位址DAddr自圖3中訊框B所示之該訊框而剝離。因此,根據傳輸類型,控制資訊包含任何必要的控制資料但不包含目的地位址。接收器接收訊框B、儲存該傳輸之CRC結果且將CRC結果自該訊框剝離,並且插入其自己的位址NAddr,此處其位於SeqNo與Saddr之間,如圖3中訊框C所示。接著輸入此訊框C至計算該CRC結果之該接收器側之該CRC單元115中。接著比較該接收器側的CRC結果與先前儲存的傳輸器CRC結果。若兩者相同,則該傳輸訊框被指定用於該接收器,且該接收器藉由儲存及/或處理該訊框而可進一步處理資料。
圖4展示另一可能的實施例,特定言之,當使用一CRC演算法時,其提供改良的處理速度。在此實施例中,移動該目的地位址DAddr至推斷之定址模式中的CRC計算之頭端。因為將不傳送DAddr,所以此可無不利結果予以完成。現在,利益在於該接收器在初始化時可利用來自其自己的位址NAddr之一預計算向量來初始化該CRC計算一次。此可在接收到任何資料之前予以完成。因此在訊框到達時,特定言之,當該CRC演算法藉由轉移該等接收的資料位元至下文更詳細講解之CRC引擎時,CRC計算與接收保持同步。
即使在一些實施例中,僅在已接收到最後的位元組之後才可丟棄訊框,因此,增加未由訊框定址的節點處之電力消耗,大體而言實質上未發生任何不利結果,因為無論如何高作用時間循環無線裝置在大多數時間被供電而成為作用中。而低作用時間循環節點則使用輪詢或其他同步方法用於接收,其最小化定址錯誤之時間窗。同時該傳輸側始終節省電力。
在極少實例中,兩個隨機選擇的位址可能產生相同的CRC初始化向量,因此引起一定址衝突。但是若採用一16位元CRC,此情況即具有極低可能性,且若該兩個位址僅在一16位元時間間隔上不同,則甚至不會發生。其他通信協定元件可用以解決該問題。特定的錯誤模式可導致定址錯誤。但是此等同於一錯誤未被偵測之情況。因此,各種應用應能對其妥善處理。
根據本發明之一特定例示性實施例,該封包或訊框中之一1位元「目的地存在」欄位可決定是否有一目的地位址存在於MAC標頭中。當設定了此位元時,具有由該收發器或該網路協定所定義之長度之目的地位址即存在於MAC標頭中。當清除了此位元時,目的地位址不出現在該MAC標頭中。一目的地位址之不存在可發生在其他傳輸中。舉例而言,在一應答封包中,不存在目的地位址。當該封包或訊框類型係0b10時,必須清除該「目的地存在」位元,因為不需要其用於一應答。一完全不同的傳輸模式亦不需要一目的地位址,即,一廣播封包,由於此一傳輸係意欲由任何接收器所接收。因此,當設定該「廣播」位元時,亦必須清除該「目的地存在」位元且不包含目的地位址。最後,如上所述,若使用推導出的目的地,則可省略目的地位址。當使用推導目的地位址模式時,當計算CRC時仍使用目的地位址,但不傳輸目的地位址。當該收發器接收該封包或訊框時,其將利用其自己的附加位址來檢查該CRC。在此情況下,一CRC錯誤係起因於傳輸錯誤,或起因於該訊息不是用於此接收節點。
下述內容更詳細講解該CRC演算法。然而,如上文所述,可使用用於檢查一冗餘的其他方法,且本發明並不限於使用該CRC方法。
CRC係用於各種數位通信系統中之最多樣化錯誤檢查演算法之一者。CRC代表循環冗餘碼檢查(Cyclic Redundancy Code Check)或單純地代表循環冗餘檢查(Cyclic Redundancy Check)。大多數普及之通信協定(如CAN、USB、IrDA、SDLC、HDLC及乙太網路)利用CRC於錯誤偵測之上。通常,對於數位通信系統中之錯誤偵測,對需要被傳輸之訊息計算一核對和。接著經計算之核對和經附加至訊息串流之末端且予以傳輸。在接收端,計算該訊息串流的核對和且與所傳輸核對和相比較。若兩者相等,則該接收到的訊息被視為無錯誤。
CRC以一類似方式起作用,但其對錯誤偵測之能力高於習知形式之錯誤偵測能力。對於錯誤偵測採用不同的CRC多項式。CRC的大小取決於所選定的多項式。可使用一專用硬體模組實施一CRC。所有CRC計算皆在GF(2)(用於2個元素之伽羅瓦體(Galois field))中執行;「體」係在其內可執行加法、減法、乘法及除法者,而「2個元素」則指明該體僅具有兩個值,不是「1」就是「0」。此類似於二進位體(binary field)或以2為模(Modulo 2)。以2為模計算使用無進位元二進位加法或減法,其等效於互斥或(XOR)運算。乘法及除法分別類似於二進位乘法及除法。待傳輸之訊息可視為一多項式且除以名為「產生器多項式」之一不可約(質)多項式。該產生器多項式之項次應少於該訊息多項式之項次。對於一「n+1」位元產生器多項式,餘數不會大於「n」個位元。資料之CRC核對和為除法運算後之餘數之等效二進制值。
若考慮到為「k」個位元之一訊息「M」及「n+1」個位元之產生器多項式「G」,則該訊息除以該產生器將得出「n」個位元之一餘數「R」。因此,M=GQ+R;其中Q為M除以G時得到的商數。
M=G.Q+R
M+R=GQ=M-R (1)
(因為加法與減法在以2為模的計算中是等價的)。現在,M+R=GQ,其中該核對和被嵌入於該訊息(M+R)中。此處,藉由將該核對和加入至該訊息中,該訊息之最後「n」個位元被毀壞。將該核對和附加至該訊息來代替將該核對和嵌入該訊息中,因此可避免毀壞訊息位元。當該餘數被附加至該傳輸之訊息時,這等效於使該等訊息位元依餘數位元之數量移位。開始,將0附加至該訊息串流。計算核對和後,用經計算之實際的核對和取代0,經計算之實際的核對和係除法運算之餘數的等效二進制位數。附加0之數目取決於產生器多項式之項次。
附加「n」個0位元至該訊息多項式等效於使多項式乘以2n 。方程式2解釋此:
M=G‧Q+R
M2n =QI ‧G+RI
M2n +RI =QI ‧G (2)
從方程式2,可注意到G為(M2n +R')的精確倍數。在接收端,若G為該訊息之一精確倍數,則不會毀壞該訊息。
在二進位體中,資料為一多項式形式(即,若資料欄位為「11101」,則其可由寫為X4 +X3 +X2 +X0 之多項式形式所表示)。一般地,一產生器多項式是不可約且最高有效位元與最低有效位元總是「1」。在下文表1中展示一些產生器多項式及其等講解。
如圖5中之一示範的計算所示,下文假設一訊息多項式為「1100100111」且一產生器多項式為「10101」(n+1=5)。為了計算CRC之目的地,附加4(n)個0至該訊息多項式且將該訊息多項式除以該產生器多項式。
從圖5可推斷出在每一步驟中移出結果的最高位元。此等移出的位元形成多項式除法之商數。多項式除法之餘數為訊息之CRC。運用所給除法實例可推斷出:
- 若一訊息多項式之最高位元為「1」,則執行與該產生器多項式之一互斥或。接著,此訊息多項式移位1位元。
- 若該最高位元為一「0」,則對該訊息多項式執行一移位1位元之操作(因為與0互斥或導致相同的多項式)。
參考上文,一用於計算CRC之演算法可定義為:
1.若最高有效位元為「1」,則該等訊息位元移位1位且執行一互斥或運算。
2.若最高有效位元為「0」,則該等訊息位元移位1位。
3.若仍有更多位元,則從步驟1重複。
應注意,首先執行移位操作並接著執行互斥或運算。當該產生器多項式為「n+1」個位元時,最高有效位元始終是「1」。因為最高有效位元始終是「1」,所以可為冗餘的或不需要指示出。所以,實際上,可使用「n」個位元(而非使用「n+1」個位元)來代表該產生器多項式。若假設「10101」為該產生器多項式,因為最高有效位元為冗餘位元,所以實際位元長度係4個位元,而非5個位元。當該移位暫存器之最高有效位元為「1」時,應執行實際的互斥或運算;因為第5位元不予考慮,所以觀察第4位元,且當第4位元為邏輯「1」時,再移位1位元並執行互斥或運算。因此,在互斥或運算之前首先執行一移位操作。
在硬體及軟體兩者中可使用上述演算法計算該CRC。在硬體中,使用一線性回饋移位暫存器(LFSR)完成CRC之計算。舉例而言,該LFSR由D正反器及互斥或閘所組成,例如,如圖6中所示,移位暫存器之數目等於所選產生器多項式之項次。該等互斥或閘形成自LFSR暫存器之一回饋以作為多項式之一測試存取埠控制器。整個訊息位元移出之後,已移出之該等位元形成商數且在移位暫存器中之剩餘位元形成餘數。
CRC係一簡單且強固的操作,其在以2為模之算數中使用一移位暫存器予以完成。藉由數字互斥或可簡單實現以2為模之計算,因此,其係極為常用的。在此類型之CRC操作中,可獲得餘數與商數。因為在CRC計算中不需要商數,所以其可忽略且僅從該LFSR暫存器中取出餘數。在接收端,訊息串流加上核對和被視為用於CRC計算之訊息。若結果為0,則接收之訊息連同該CRC係無錯誤的,否則訊息串流被毀壞。
根據各種實施例,一可程式化CRC單元可整合到一無線收發器或一微控制器中。舉例而言,圖7展示一CRC引擎110/115之實施例,可於如圖1及圖2所示之一無線傳輸器、接收器或收發器中使用CRC引擎110/115。一TAP暫存器係由以時鐘信號Clk及保持訊號Hold控制的移位暫存器胞230a、240a、250a、...270組成。圖7所示之實施例描繪一16位元CRC產生器之某些區段。然而,其他具有8位元或32位元或任何其他大小之組態可容易實現。胞230a之輸入耦接於互斥或閘220之輸出,互斥或閘220之輸出接收序列資料輸入信號225及來自多工器210之回饋輸出信號。胞230a之輸出耦接於多工器210之第一輸入、選擇多工器之第一輸入X1,互斥或閘230b之第一輸入及CRC讀取匯流排280。互斥或閘230b之第二輸入耦接於來自多工器210之該回饋輸出信號,且互斥或閘230b之輸出耦接於選擇多工器230c之第二輸入。選擇多工器230c之輸出耦接於緊鄰的移位胞240a之輸入且耦接於CRC寫入匯流排290。該等緊鄰的移位胞240a...250a配備各個互斥或閘240b...250b及選擇多工器240c...260c且以與胞230a同樣的方式連接至多工器210之各個輸入及匯流排280與290。最後的胞270之輸出耦接於多工器210之最後的輸入及CRC讀取匯流排280與寫入匯流排290。多工器210受控於多項式長度暫存器215 PLEN。多工器230c...260c受控於多項式暫存器235 POLY。CRC讀取匯流排280可耦接於含有結果之暫存器285,且CRC寫入匯流排290可耦接於含有預載入值之暫存器295。
使用該多工器210選擇回饋點及該CRC產生器通過暫存器PLEN之有效長度。暫存器215控制該CRC產生器200之長度且係使用者可選擇的。藉由該等互斥或閘230b...260c,使由多工器210之輸出提供的回饋資料與該CRC移位暫存器230a、240a、250a、270中的當前資料相互斥或。使用選擇多工器230c、240c、250c及260c選擇在下一時鐘是否使互斥或資料移位或使移位暫存器230a、240a、250a、270中的先前資料移位。使用多項式暫存器235組態哪些位元被移位及哪些位元獲取與包含多工器230c、240c、250c及260c之X1輸入之該CRC產生器中的先前資料相互斥或之回饋資料。可使用CRC寫入匯流排290以憑藉預載入暫存器295預載入該等CRC正反器230a、240a、250a、270。可使用CRC讀取匯流排280讀取該CRC產生器之值。資料225由多工器160之輸出所提供且通過互斥或閘220移位至該CRC。因此,圖7中所示之配置在一LFSR型鏈中提供具有基於分接頭/互斥或位置之各種組態的一線性回饋移位暫存器(LFSR)。
舉例而言,該CRC引擎可為(例如)如圖7中所示具有通過多工器設定而可組態的前饋點及回饋點之一標準序列移位CRC引擎。然而,可使用任何其他類型CRC引擎。使用16位元可程式化該產生器多項式。寫入一「1」至一正反器230a、240a、250a、270使該互斥或閘220、230b、240b、250b與多項式之元素相關聯。該多項式長度暫存器215用信號傳送多項式之長度,且切換一多工器210以指示產生該回饋之分接頭。資料寬度暫存器180、190組態該資料字組之寬度且影響時鐘數目,在該時鐘數目後FIFO 130前進至下一資料字組。該CRC計算之結果係可藉由透過該CRC讀取匯流排280讀取該等保持正反器230a、240a、250a、270而得到且儲存於暫存器285中。可使在一個別暫存器中的資料寬度組態位元來組態資料寬度,而無關於多項式之長度。資料寬度與多項式長度之間的關係無任何限制。若資料寬於該多項式長度,額外時鐘將透過多項式使較寬資料移位,反之亦然。
雖然已描繪、描述且參考本發明之例示性實施例定義本發明之實施例,但此等引用不會暗示對本發明之限制,且不會推導出此限制。所揭示標的在形式及功能上可有相當多的修改、變更及等效物,其將為一般技術者及得益於本發明所作出。本發明之經描繪及描述的實施例僅係實例且不是本發明之範圍的全面性描述。
100...傳輸器
105...接收器
110...循環冗餘檢查(CRC)單元
115...CRC單元
120...訊息資料
125...單元位址
130...訊息組譯單元
135...重新建構單元
140...傳輸單元
145...接收單元
150...訊框控制單元
160...設定位元
170...電池供電
175...電池供電
210...多工器
215...長度暫存器
220...互斥或閘
225...輸入信號
230a...移位暫存器
230b...互斥或閘
230c...正反器
235...多項式暫存器
240a...移位暫存器
240b...互斥或閘
240c...正反器
250a...移位暫存器
250b...互斥或閘
250c...正反器
260c...正反器
270...移位暫存器
280...讀取匯流排
285...結果暫存器
290...寫入匯流排
295...預載入暫存器
310...微控制器
320...收發器
330...匹配電路
340...天線
Clk...時鐘信號
DAddr...目的地位址
FrameCtrl...訊框控制訊息
Hold...保持訊號
Payload...有效載荷
SAddr...來源位址
SeqNo...序號
圖1係根據一實施例之具有一傳輸器及一接收器之系統之一方塊圖;
圖2係根據一實施例之一傳輸器之一方塊圖;
圖3與圖4展示基於封包之資料傳輸之不同實施例;
圖5展示一CRC引擎之元件;
圖6展示一例示性CRC計算;及
圖7展示一CRC引擎之一般元件。
100...傳輸器
105...接收器
110...循環冗餘檢查(CRC)單元
115...CRC單元
120...訊息資料
125...單元位址
130...訊息組譯單元
135...重新建構單元
140...傳輸單元
145...接收單元
150...訊框控制
160...設定單元
170...電池供電
175...電池供電

Claims (40)

  1. 一種用於在一基於封包之傳輸系統中傳輸資料之方法,其包括以下步驟:藉由包含控制資訊及有效載荷資料組譯一封包,其中該控制資訊包含一目的地位址;使用經組譯之該封包計算冗餘資訊;在該冗餘資訊已被計算之後自該封包剝離該目的地位址;將該冗餘資訊加至該封包;設定該封包中之一控制位元來指示目的地位址未包含在該封包中;及傳輸該封包。
  2. 如請求項1之方法,其中係在計算該冗餘資訊之前設定該封包中之該控制位元以指示出目的地位址未包含在該封包中。
  3. 如請求項1之方法,其中使用一循環冗餘檢查(CRC)計算該冗餘資訊。
  4. 如請求項1之方法,其中在組譯期間該目的地位址包含在一訊框標頭中。
  5. 如請求項1之方法,其中在組譯期間該目的地位址係包含在該訊框標頭中之第一個資訊。
  6. 如請求項1之方法,其中該封包係經無線傳輸。
  7. 如請求項6之方法,其中該方法根據一802.15.4標準進行操作。
  8. 一種用於在基於封包之傳輸系統中接收資料之方法,其中一接收器具有一相關聯之位址,該方法包括以下步驟:接收一封包,其包含控制資訊、有效載荷資料及傳輸器冗餘資訊;判定一目的地位址是否包含在該控制資訊中;若未包含目的地位址,則將該相關聯之位址插入於該控制資訊中且自該封包移除該傳輸器冗餘資訊;接著使用該封包計算接收器冗餘資訊;及比較該接收器冗餘資訊與該傳輸器冗餘資訊,且若該接收器冗餘資訊與該傳輸器冗餘資訊係相同的,則接收該封包,否則丟棄該封包。
  9. 如請求項8之方法,其中使用一循環冗餘檢查(CRC)計算該冗餘資訊。
  10. 如請求項8之方法,其中判定一目的地位址是否被包含係藉由檢查是否於一訊框標頭中設定一預定位元而執行。
  11. 如請求項9之方法,其進一步包含使用該插入位址計算一CRC種子之步驟。
  12. 如請求項8之方法,其中儲存該傳輸器冗餘資訊。
  13. 如請求項8之方法,其中無線傳輸該封包。
  14. 如請求項13之方法,其中該方法根據一802.15.4傳輸標準進行操作。
  15. 一種傳輸器,其包括: 一訊息組譯單元;冗餘資訊計算單元,其與該訊息組譯單元耦接;及一傳輸單元,其與該訊息組譯單元耦接,其中該訊息組譯單元係經組態以藉由包含控制資訊及有效載荷資料組譯一封包,其中該控制資訊包含一目的地位址,將該封包轉遞至用於計算一冗餘資訊之該冗餘資訊計算單元,在該冗餘資訊已被計算之後自該封包剝離該目的地位址,將該冗餘資訊加至該封包,設定該封包中的一控制位元以指示出目的地位址未包含在該封包中,及將該封包轉遞至該傳輸單元。
  16. 如請求項15之傳輸器,其中該傳輸器可操作以在將該封包轉遞至該冗餘資訊計算單元之前設定該封包中之該控制位元以指示出目的地位址未包含在該封包中。
  17. 如請求項15之傳輸器,其中該冗餘資訊計算單元係一循環冗餘檢查(CRC)單元。
  18. 如請求項15之傳輸器,其中該傳輸單元係一無線傳輸單元。
  19. 如請求項18之傳輸器,其中該無線傳輸單元根據一802.15.4標準進行操作。
  20. 如請求項18之傳輸器,其中該傳輸器係在具有一內部積 體電路(I2 C)介面之一積體電路中的一收發器之部分。
  21. 如請求項18之傳輸器,其進一步包括作為一電源之一電池。
  22. 一種接收器,其包括:一訊息重新建構單元;一冗餘資訊計算單元,其與該訊息重新建構單元耦接;及一接收單元,其與該訊息重新建構單元耦接,可操作以接收包含控制資訊、有效載荷資料及傳輸器冗餘資訊之一封包,其中該訊息重新建構單元可操作用以判定一目的地位址是否包含在該控制訊息中;若未包含目的地位址,則該訊息重新建構單元可操作以插入該接收器之相關聯的位址於該控制資訊中且自該封包移除該傳輸器冗餘資訊;將該封包轉遞至用於計算一接收器冗餘資訊之該冗餘計算單元;及比較該接收器冗餘資訊與該傳輸器冗餘資訊,且若該接收器冗餘資訊與該傳輸器冗餘資訊係相同的,則接收該封包,否則丟棄該封包。
  23. 如請求項22之接收器,其中該冗餘資訊計算單元係一循環冗餘檢查(CRC)單元。
  24. 如請求項22之接收器,其中該訊息重新建構單元藉由檢查是否於該封包之一訊框標頭中設定一預定位元來判定 是否包含一目的地位址。
  25. 如請求項23之接收器,其中該CRC單元可操作以在完全接收一封包之前,使用該插入位址計算一CRC種子。
  26. 如請求項22之接收器,其進一步包括記憶體以儲存該傳輸器冗餘資訊。
  27. 如請求項22之接收器,其進一步包括記憶體以儲存該插入位址。
  28. 如請求項22之接收器,其中該接收單元係一無線接收單元。
  29. 如請求項28之接收器,其中該無線接收單元根據一802.15.4標準進行操作。
  30. 如請求項22之接收器,其中該接收器係在具有一I2 C介面之一積體電路中的一收發器之部分。
  31. 如請求項28之接收器,其進一步包括作為一電源之一電池。
  32. 一種收發器,其包括:一冗餘資訊計算單元;一訊息組譯及重新建構單元,其與該冗餘資訊計算單元耦接;一收發器單元,其與該訊息組譯及重新建構單元耦接,該收發器單元係用於傳輸及接收諸封包,其中對於傳輸,該訊息組譯及重新建構單元經組態以:藉由包含控制資訊及有效載荷資料組譯一封包,其中該控制資訊包含一目的地位址; 將經組譯之該封包轉遞至用於計算一冗餘資訊之該冗餘資訊計算單元,自經組譯之該封包剝離該目的地位址且將該冗餘資訊加至該封包,設定該封包中的一控制位元以指示出目的地位址未包含在該封包中;及將該封包轉遞至該收發器單元之一傳輸單元;且對於接收,進一步經組態以:判定一目的地位址是否包含在一接收之封包的控制資訊中;若未包含目的地位址,則將該收發器之相關聯的位址插入於該控制資訊中且自該封包移除一接收冗餘資訊;將包含該相關聯的位址之該封包轉遞至用於計算一接收器冗餘資訊之該冗餘計算單元;及比較該接收器冗餘資訊與該接收之冗餘資訊,且若該接收器冗餘資訊與該接收之冗餘資訊係相同的,則接收該封包,否則丟棄該封包。
  33. 如請求項32之收發器,其中該冗餘資訊計算單元係一循環冗餘檢查(CRC)單元。
  34. 如請求項32之收發器,其中該收發器單元是一無線收發器單元。
  35. 如請求項34之收發器,其中該無線收發器單元根據一802.15.4標準進行操作。
  36. 如請求項32之收發器,其進一步包括一內部積體電路(I2 C)介面。
  37. 如請求項32之收發器,其進一步包括作為一電源之一電池。
  38. 如請求項32之收發器,其進一步包括記憶體以儲存該接收之冗餘資訊。
  39. 如請求項32之收發器,其進一步包括記憶體以儲存該插入位址。
  40. 如請求項32之收發器,其中該收發器可操作以在將該封包轉遞至該冗餘資訊計算單元之前設定該封包中之該控制位元以指示出目的地位址未包含在該封包中。
TW099117262A 2009-06-10 2010-05-28 基於封包之資料傳輸 TWI462532B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18563509P 2009-06-10 2009-06-10
US12/757,709 US8571021B2 (en) 2009-06-10 2010-04-09 Packet based data transmission with reduced data size

Publications (2)

Publication Number Publication Date
TW201110621A TW201110621A (en) 2011-03-16
TWI462532B true TWI462532B (zh) 2014-11-21

Family

ID=43306368

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099117262A TWI462532B (zh) 2009-06-10 2010-05-28 基於封包之資料傳輸

Country Status (7)

Country Link
US (1) US8571021B2 (zh)
EP (1) EP2441197B1 (zh)
KR (1) KR101787467B1 (zh)
CN (1) CN102388559B (zh)
ES (1) ES2608807T3 (zh)
TW (1) TWI462532B (zh)
WO (1) WO2010144561A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8565229B2 (en) * 2010-06-18 2013-10-22 Schweitzer Engineering Laboratories Inc Systems and methods for data packet transmission
US9154363B2 (en) 2011-05-13 2015-10-06 Qualcomm Incorporated Systems and methods for wireless communication of packets having a plurality of formats
US9515925B2 (en) 2011-05-19 2016-12-06 Qualcomm Incorporated Apparatus and methods for media access control header compression
US9781235B2 (en) * 2013-03-14 2017-10-03 Qualcomm, Incorporated Subframe format indication field
CN111065074B (zh) 2014-01-16 2023-06-09 三星电子株式会社 电子设备及其方法
CN103955445B (zh) * 2014-04-30 2017-04-05 华为技术有限公司 一种数据处理方法、处理器及数据处理设备
US10581569B2 (en) * 2014-08-22 2020-03-03 Qualcomm Incorporated Techniques for transmitting and receiving synchronization signals over an unlicensed radio frequency spectrum band
US10779147B2 (en) 2014-11-18 2020-09-15 Micron Technology, Inc. Wireless memory interface
DE102015004580A1 (de) * 2015-04-14 2016-10-20 Airbus Defence and Space GmbH Übertragungsverfahren und Vorrichtungen zur Übertragung
US10963003B2 (en) * 2017-10-20 2021-03-30 Graphcore Limited Synchronization in a multi-tile processing array
GB201717295D0 (en) * 2017-10-20 2017-12-06 Graphcore Ltd Synchronization in a multi-tile processing array
US10812103B1 (en) * 2018-02-23 2020-10-20 Xilinx, Inc. Cyclic redundancy check engine and method therefor
US10841039B2 (en) * 2018-10-30 2020-11-17 Infineon Technologies Ag System and method for transferring data and a data check field
DE102020105794B4 (de) * 2020-03-04 2022-02-03 Infineon Technologies Ag Vorrichtung, Steuerung für eine Vorrichtung und Verfahren zur Kommunikation
US20230185821A1 (en) * 2021-12-09 2023-06-15 BlackBear (Taiwan) Industrial Networking Security Ltd. Method of database replication and database system using the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080310339A1 (en) * 2007-04-26 2008-12-18 Kyocera Corporation Radio Communication System, Radio Communication Apparatus and Radio Communication Method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2996750B2 (ja) * 1991-02-13 2000-01-11 株式会社東芝 ディジタル無線通信装置
US6115394A (en) * 1998-03-04 2000-09-05 Ericsson Inc. Methods, apparatus and computer program products for packet transport over wireless communication links
WO2005091540A1 (en) * 2004-03-19 2005-09-29 Novo Nordisk A/S A reduced size transmission data packet header format for a medical device
US20050271150A1 (en) * 2004-06-07 2005-12-08 Steve Moore Digital modulation system and method
JP2006244416A (ja) * 2005-03-07 2006-09-14 Fujitsu Ltd マスターノード及びスレーブノードを有する電子装置システム
EP1988655A1 (en) 2007-05-03 2008-11-05 NTT DoCoMo, Inc. Method and apparatus for using an error code in transmission of data
CN101350768B (zh) * 2007-07-19 2011-08-24 中兴通讯股份有限公司 在广播网络中传送ip报文的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080310339A1 (en) * 2007-04-26 2008-12-18 Kyocera Corporation Radio Communication System, Radio Communication Apparatus and Radio Communication Method

Also Published As

Publication number Publication date
TW201110621A (en) 2011-03-16
US8571021B2 (en) 2013-10-29
KR101787467B1 (ko) 2017-10-19
CN102388559B (zh) 2016-02-03
ES2608807T3 (es) 2017-04-17
CN102388559A (zh) 2012-03-21
EP2441197B1 (en) 2016-09-28
EP2441197A1 (en) 2012-04-18
US20100315965A1 (en) 2010-12-16
WO2010144561A1 (en) 2010-12-16
KR20120035910A (ko) 2012-04-16

Similar Documents

Publication Publication Date Title
TWI462532B (zh) 基於封包之資料傳輸
KR101721449B1 (ko) 프로그래머블 crc 유닛
JP5106538B2 (ja) 64b/66bスクランブル処理と適合する多重リンク送信のための前方誤り訂正符号化
US8527852B2 (en) Chained checksum error correction mechanism to improve TCP performance over network with wireless links
US11265020B2 (en) Electronic device with bit pattern generation, integrated circuit and method for polar coding
CA2562030A1 (en) Protecting sub-packets in a wireless network
US10129371B2 (en) Serial communication device and serial communication method
EP0823161A1 (en) Method and apparatus for detection of errors in multiple-word communications
US7913150B2 (en) Error detection in a communications link
CN108574490B (zh) 计算循环冗余校验crc编码的方法及装置
RU2014102638A (ru) Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита
US9325614B2 (en) Methods and systems for detecting a preamble of a data packet in wireless communication systems
EP3662646B1 (en) Radio communication
CA3098884A1 (en) Message correction and dynamic correction adjustment for communication systems
Jyothi et al. Implementation of low complex and high secured SPI communication system for multipurpose applications
CN115567164A (zh) 向量信令码信道的流水线式前向纠错方法和装置
CN108702224B (zh) 用于数字通信系统中的分组开始检测的方法和装置
US8467372B2 (en) Wireless communication system with reordering of data symbols and related methods
GB2565280A (en) Radio communication
CN111934707B (zh) 数据发射代码和接口
CN112821984A (zh) 无线局域网数据处理方法、装置及设备
Burger The Graduate Project of Wei wen Wu is approved