a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > EZMacTM媒體接入控制軟件(07-100)

EZMacTM媒體接入控制軟件(07-100)

—— EZRadio IA442x收發器的EZMacTM媒體接入控制軟件
作者:Integration公司 時間:2009-03-03 來源:電子產品世界 收藏

  休眠模式

本文引用地址:http://www.j9360.com/article/91986.htm

  初始化之后,MAC層處于“休眠”模式。在這種模式下,射頻硬件是完全關閉的,僅消耗不到0.3uA的電流。在開始發射或接收之前,至少需要5ms來喚醒MAC。這5ms是晶體振蕩器達到穩定所需的最長時間。

  空閑模式

  使用喚醒命令喚醒收發器后,MAC就切換到“空閑”模式。在這種模式下,MAC等待進一步的指令。雖然收發器中的晶振已經在運行,但射頻的各個模塊還是處于禁用狀態,芯片的電流消耗大約是0.6mA。MAC系統始終處于該模式中,直到接收到下一個接收、發射或休眠指令為止。

  因為EZMac僅支持半雙工通信,所以不能同時發射和接收。

  發射模式

  發送發射指令之前,數據會和它的目標地址一起裝載到MAC對應的寄存器中。發射指令發送后,MAC開始發射。芯片的電流消耗激增到26mA(在最大輸出功率的情況下,但實際的消耗電流取決于輸出功率的設定)。完成發射任務后,如果MAC還處在激活狀態,它會自動回到空閑模式或直接進入休眠模式。

  接收模式

  在“空閑”模式中,如果MAC接收到接收指令,它會改變到“接收”模式。收發器的消耗功率增加到大約15mA左右。MAC掃描可用的頻率,以有效地實現數據的傳輸。

  一旦接收到一個有效的數據包,而且該數據包通過了所有激活的錯誤檢測和地址過濾,MAC就把收發器工作模式改為節電模式,等待更高層的軟件讀出接收數據。讀出數據之后,MAC也會進入“空閑”模式,或者直接進入“休眠”模式。

  EZMac的包過濾方法

  EZMac具備智能化的包過濾功能。過濾器可由幾種選項來配置,以便能很好地滿足處于更高的軟件層(應用層)的需求。

  EZMac被配置好后,更高層將只需發射和接收有效數據。EZMac則執行所有的打包和拆包的任務。EZMac自動運行CRC,上層僅得到沒有錯誤的數據包。

  圖2是數據包過濾的流程圖。

 

  圖2 數據包過濾的流程圖

  實時操作

  數據包的過濾在接收過程中實時進行。這就意味著,當接收到一段(字節)數據包報頭時,過濾器就會對數據包進行檢查。如果相應的過濾器檢測到數據包報頭的任何一部分有錯誤時,都會終止數據包的接收。

  這種技術使EZMac在接收進程剛開始的階段不去理會意外出現的無效數據包。終止數據包的接收后,EZMac會及時報告錯誤并跳到下一個可用的頻率上,繼續搜尋有效的數據包。

  實時的數據包過濾節約了各種資源(處理器的消耗功率和電池的使用壽命), 而且,因為無需處理無效的數據包,所以減少了資源浪費而達到了顯著提升系統性能的目標,同時也避免了其它頻率上的重要數據包的丟失。

  客戶ID過濾

  CID是使用EZMac協議的用戶的唯一ID號。雖然是否使用CID是可由用戶自選的,但是強烈推薦用戶使用CID,以避免安裝在同一區域的、均使用EZMac的不同系統之間出現意外的交互。如果使用了CID,CID會緊跟在前導和同步碼后發射出去。這就意味著在先入先出的算法中CID是第一個被讀到的字節。

  因此,數據包接收一開始,EZMac就能識別出接收包的開始,繼而確定它是否為系統內的數據包。如果不是,MAC就會取消接收,并跳轉到下一個頻率,繼續搜索有效數據包。用戶可以從公司處得到CID。

  發射包過濾

  EZMac通過檢測接收包的報頭中的發送者ID字段來對接收的數據包進行過濾。如果發射包過濾器啟用的話,MAC將僅從特定的某一節點或者某群節點處接收數據包

  群組是通過數據包報頭的發送方ID(SID)中的重要位和SFLT寄存器中的相同數位的掩碼運算來定義的。如果出現以下情況,數據包才算通過過濾:

  SFLT & SMSK == SID & SMSK

  Where:

  &: Bitwise AND operator

  SID: 發送方ID號在接受到的數據包的報頭中。)

  如果把SMSK設置成0xFF時,群過濾器的選項就不可用了,這時MAC只能從有SFLT地址的節點處接收數據包。

  目的地址過濾

  目的地址包濾包括3種地址過濾,這三種方式都要檢測接受數據包報頭的DID字節:

  自綁定地址過濾

  多播地址過濾

  廣播地址過濾

  自綁定地址過濾器始終是可用的,但是多播地址和廣播地址的啟用和停用是各自獨立的。只要數據包能通過上述任何一個過濾器,就能通過目的地址過濾器。

  自綁定地址過濾

  只用通過自綁定地址(SFID)才能在通信網絡中識別EZMac。也只有那些報頭中DID字段顯示SFID的數據包才能通過自綁定地址過濾。

  多播地址過濾

  多播地址負責檢測接受包是否為一組組節點所專用,以及EZMac是否是該群組的一部分。多播定址有兩個方法:

  定義一個稱為多播地址(MCA)的專用地址。只有報頭中的DID字段等于MCA的那些數據包才能通過多播過濾器。

  在自綁定地址過濾中定義并使用多播屏蔽(MCM):

  DID & MCM == SFID & MCM

  where & is the bitwise AND operator

  其中&是逐位進行的AND運算。

  只能在同一時間激活MCA過濾和MCM過濾中的一個。實際的模式可通過PFCR寄存器的A/nM比特位來選擇到底使用哪一種過濾。

  廣播地址過濾

  廣播地址有專用的地址:0xFF。

  只有報頭中的DID字段是0xFF的數據包才能通過廣播地址過濾。

  注:整個目的地址過濾由數據包過濾控制寄存器的DFEN位來確定是否啟用。

  如果這個比特被清除,目的地址過濾將不可用,具有任何目地地址的數據包都可以被接收。

  包長度過濾器

  這個過濾器用于檢測動態變化的數據包長度(參見“主控寄存器”一節)。如果該過濾器可用,長度超過最大容許接收長度的數據包將無法通過。最大容許長度可在MPL寄存器中設置。

  混雜模式

  若通過設置PCFR寄存器的PREN位來啟用混雜模式,則所有的地址過濾器和包長度過濾器都被忽略。

  CRC過濾器

  CRC過濾器是唯一不能被忽略的過濾器。它對數據包的所有字節執行CRC(包括報頭)。如果接收包沒有通過CRC,EZMac將報告出錯并忽略該數據包。



關鍵詞: Integration EZMacTM

評論


技術專區

關閉