I have seen many silicon bugs (both in the RF230 and SI4432) and bad documentation. Miklos
On Wed, Mar 21, 2012 at 5:45 PM, Markus Jung <[email protected]> wrote: > Hi Miklos, > > thanks for pointing this out. I did not simulate errata and ignored them > therefore - Until now. > I will have to think about how i can handle this very special behaviour > in my simulation. Silicon bugs suck. > > Regards, > Markus > > Am 21.03.2012 23:28, schrieb Miklos Maroti: >> Hi Markus, >> >> On page 89 of the datasheet there is a workaround that shows that you >> can switch between TRX_CMD=TX_START the to TRX_CMD=RX_ON and then to >> TRX_CMD=TX_ARET_ON. So even in the manual they use this (at lease in >> one of the published workarounds of an errata). I do not know how >> slower the "proper" way would be. Yes, this might be "undocumented", >> from all info I saw RX_AACK_ON is pretty much the same as RX_ON and >> TX_ARET_ON is pretty much the same as PLL_ON, and between RX_ON and >> PLL_ON you can switch, so this was a natural port of that behavior and >> it worked. If it makes you more confortable, I can happy to add a >> comment there :) >> >> Miklos >> >> On Wed, Mar 21, 2012 at 5:11 PM, Markus Jung >> <[email protected]> wrote: >>> Hello, >>> >>> hardware-acknowledgements have been reported to work on real devices >>> (AFAIK), but while trying to simulate a TOS application using HWACK with >>> LPL, i stumbled upon following behaviour: >>> Phase A: The driver puts the radio into RX_AACK_ON mode. All is fine >>> until >>> Phase B: A transmission gets started. The driver issues a direct state >>> transition from RX_AACK_ON to TX_ARET_ON, which is not defined either by >>> the datasheet or the software programming manual. It is quite >>> interesting to observe real device accepting this (undocumented) state >>> transition. >>> >>> This behaviour has been observed in simulation protocols and can be >>> confirmed by the code in RF230DriverHwAckP (RadioSend.send). >>> >>> However: AFAIK, there is no official source which mentions a transition >>> RX_AACK_ON<->TX_ARET_ON. The only documented way is to use PLL_ON (or, >>> not recommended according to Atmels software programming manual, >>> TRX_OFF) as a intermediate-state. >>> For stability and compatibility reasons, the driver should not use >>> undocumented state transitions. >>> >>> Regards, >>> Markus >>> _______________________________________________ >>> Tinyos-help mailing list >>> [email protected] >>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > > _______________________________________________ > Tinyos-help mailing list > [email protected] > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
