bug of cc2430

In CC2430,the receive buffer can sometimes be corrupted by hardware.This usually occurs under heavy traffic.How to fix this bug?A corrupted receive length field is utterly fatal.

Who encounter this bug before?I can find workaround for this bug in zstack,but it can not fix it.Dose DMA work?

Reply to
lowpan
Loading thread data ...

If by CC2430 you mean the TI RF chip, If you mean the bug in the published errata Use TI work around else Why should it be fatal ? So sometimes you get corrupted data (you either read too few or too many bytes from the buffer). It's an RF chip - EXPECT corrupt data and design a protocol which can deal with it. Ask TI about your hardware bug - it may or may not be real. end if else Define your question properly. end if

Michael Kellett

Reply to
MK

too

What a brilliant piece of embedded code LOL!

Meindert

Reply to
Meindert Sprang

Thank you for for your reply and sorry for my bad English. I have spent two weeks on this problem and still can not solve it.I try to explain my problem.

1.The problem happens when there are multiple senders and one receiver,I use CSMA.If the length field of the frame is corrupted,i will read more or less data from RXFIFO,all other frames are corrupted until i flush RXFIFO.So i say it's fatal.

2.I have read the errata.It says it's caused by address recognition and gives workaround. But the workaround does not work in my project.

3.I have close the auto ack and address recognition and implemented the functions myself.But the RXFIFO is still corrupted.

4.The maximum size of RXFIFO is 127,But the RXFIFOCNT (The RF register RXFIFOCNT contains the number of bytes present in the RXFIFO) is somethimes larger than 127.I can not detect overflow in this case.

5.I use the workaround used in zstack,it check the header of the frame,if some part of it illegal ,discard it and flush the RXFIFO.but it still does not work.

It is a small portion in my project,i will check and modify all my code once again.I hope someone will help me.

hardware.This

receive

too

Reply to
lowpan

Thank you for you reply and sorry for my bad English,i try to explain my problem.

I have work on this problem for two weeks and can not solve it.

1.The error occors when there are multiply senders and one receiver.I use CSMA.When the length filed is corrupted,i will read more or less data from the RXFIFO.

So i will miss the length field of following frames .All the following frames are corrupted untile i flush the RXFIFO.

2.I have read the errate ,it says it's caused buy hardware address recognition and gives workaround.I use the workaround but it does not work in my code.

3.I close the hardware address recogintion and auto ack and implemeted them in my code,but it does not work.

4.Zstack has workaround for it ,it read the frame header and if there is illegal part in the header RXFIFO is flushed. I use the workaround but it still can not work.

It is just a small potion in my code.I will read my code and modify it once again.I hope someone will help me.

or

which

Reply to
lowpan

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.