基于FPGA無線傳感器網絡MAC控制器的設計
2.1.1 發送狀態機Tx_FSM
Tx_FSM是整個發送模塊的狀態機,它是整個發送模塊的核心,主要用于產生發送過程中各個模快的控制信號。發送的狀態轉移,如圖3所示。TxCSP_en是來自MAC控制部分CSMA/CA協處理器的發送狀態機控制信號。當TxCSP_en信號為高電平時,啟動狀態機,開始幀的發送過程。本文引用地址:http://www.104case.com/article/191147.htm
(1)IDLE:初始狀態。當發送狀態機上電復位或者成功接收到數據包時,進入此狀態。如果收到TxCSP_en信號時,開始數據發送過程,否則,保持此狀態。
(2)Tx_Preamble:發送前導序列。當狀態機將跳變到此狀態,開始向數據線上發送符合特定組合的前導碼序列。IEEE802.15.4協議的幀格式的前導序列是4 Byte O。
(3)Tx_SFD:發送幀起始分隔符。在這個狀態下開始發送幀的幀起始符,IEEE802.15.4協議的幀格式的幀起始符為10100111。同時啟動計數器,對該過程進行計數。
(4)Tx_Data:發送數據幀MPDU部分。這個狀態下發送幀的有效數據,這個有效數據是來自上層。當發送完8位有效數據后,便產生讀取FIFO緩存信號,從接收FIFO讀取1 Byte數據。
(5)Tx_Crc:發送數據包的CRC校驗位。在這個狀態下,發送幀的16位CRC校驗碼。
(6)Tx_Ack:發送應答狀態。如果接收到的幀有應答要求,則啟動該狀態。
2.1.2 CRC校驗電路
通過使用16位CRC串行校驗來進行幀的差錯校驗,其中校驗多項式采用。將要傳送幀的MPDU通過CRC校驗模塊,便產生了16位CRC校驗碼。16位串行CRC校驗電路如圖4所示。
2.1.3 發送模塊的仿真結果
圖5是發送模塊的仿真結果,Tx_clk是來自PHY接口的發送時鐘,s_out是幀以串行方式發送。最先發送的前導序列碼,接下來幀起始分隔符,再就是數據位,最后是CRC檢驗位。
2.2 MAC接收模塊
接收模塊的主要功能:接收并識別從串行數據線上輸入的符合IEEE802.15.4協議格式的幀。如果協處理器RxCSP_en信號有效,則啟動數據接收過程。通過接收狀態機的控制,按幀格式順序接收不同的數據域。當接收到1 Byte數據后,且Rx_fifowrite信號有效時,數據被寫入到接收緩存RxFIFO中。
評論