Promiscuous Mode Procedure MKW21x

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Promiscuous Mode Procedure MKW21x

991 次查看
jssn
Contributor II

I would like to perform a simple promiscuous receive in order to receive any packets regardless of PAN or destination address. The procedure I'm using is as follows:

Release RST_B and wait for IRQ_B

Clear Wakeup flag. IRQSTS2 = 0x01

Set PAN ID. MACPANID00 = 8, MACPANID01 = 0

Set channel to 2420MHz. PLL_INT0 = 0x0B, PLL_FRAC0_LSB = 0, PLL_FRAC0_MSB = A0

Enable promiscuous mode. PLL_FRAC0_LSB =0x4A

Select PAN0. DUAL_PAN_CTRL = 0xC4

Enable all interrupts. PHY_CTRL2 = 0x80, PHY_CTRL3 = 0x04

Start receive sequence.  PHY_CTRL1 =0x01

All other Modem registers are left as are out of reset.

I then proceed to continuously read IRQSTS1, IRQSTS2 and PHY_CTRL1 but the receive interrupt is never set and XCVSEQ remains 1 (sequence R).

I have a transmitter sending a packet ever 2 seconds on 2420MHz and can confirm it with the Protocol Analyzer Tool.

Is there anything that I've missed?

标签 (1)
0 项奖励
3 回复数

803 次查看
jssn
Contributor II

Correction: Enable promiscuous mode. PHY_CTRL4 = 0x2A

0 项奖励

803 次查看
AngelC
Senior Contributor I

Dear Jssn,

I would recommend you to use one of our tested applications based in our software stacks instead. Developing a radio driver from scratch could actually be more time-consuming and would require a larger test procedure.

You could, for instance, use the SMAC Connectivity Test and set the radio to Continuous RX mode, which basically puts the radio in promiscuous mode by calling the MLMESetPromiscuousMode(TRUE) function. In this was you will not have to worry about missing configurations that could later affect your application.

You can get the SMAC Connectivity Test application from BeeKit, which could be downloaded for free. After installing simply open the project located in C:\Program Files (x86)\Freescale\SMAC\MKW2x\Demo Apps\Connectivity Test.

BeeKit:  http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=BEEKIT_WIRELESS_CONNECTIVITY_TOOLKIT

If you would not like to use the Connectivity test application, you could also check the source code and verify how promiscuous mode is set.

Regards,

AngelC

0 项奖励

803 次查看
jssn
Contributor II

We managed to resolve the problem. It was an error writing to the wrong register offset

0 项奖励