Hi,
Unfortunetly, I am having even worst results than you when trying to use stream mode. Packet mode works fine, but I can't get stream mode to generate the appropriate IRQs for the receiver. The transmitter seems to behave the way the manual states, as far as the IRQs go. However, I have a few questions for you, since yours seems to work better than mine, and I need help and can't seem to get it from anywhere else.
1) When you write the packet length to the TX_PKT_CTL (Reg 03), are you adding the +2 for the FCS or are you just writing the number of data bytes you are transmitting. In other words, lets say you want to write two bytes of info (TX_PKT_RAM Reg 02 holds 16 bits of info at a time which is two bytes), I thought the way it works is you write 0x0004 hex to Register 03 (TX_PKT_CTL) to account for the two bytes of data plus the two bytes of FCS generated by the radio. Is this correct? Is this the way you did it?
2) After you transmit your data, does the IRQ Status come back as saying tx_done or do you have to toggle RXTXEN line first (or turn of the transmitter by writing to bit 12 of register 06 CONTROL_A)?
3) What frequency were you able to run at so that you didn't violate the 64us rule?
4) Does your receiver generate the proper IRQs? In other words, mine generates the IRQ for reset after power up and geneartes another one for when I first toggle the RXTXEN line after I am set up for stream mode. However, the next IRQ doesn't happen until I end the RX stream mode or toggle the RXTXEN line. The staus then gives me an RX_DONE. I don't get the IRQ for the packet length or the payload (data), eventhough I set all my masks to give me an IRQ when these things occur. I do not have a sniffer or any equipment to check that the transmission is occuring. I can only rely on the logic analyzer showing me that I wrote the correct info to the MC1320x using the SPI. I then rely on what the IRQ status tells me.
5) As far as your problem goes, it sounds like a timing issue. One of the things I noticed was that as you increase the frequency of the radio the frequency does in fact increase correctly but the duty cycle decreases from the 50% that it is at nominal, but only in certain spots. I am not sure what causes this to happen, but you may want to look at the clock over a long period of time with an logic analyzer to see what is going on. For instance, when I run at 4 MHz, the clock actaullly goes to 0% duty cycle (which means the clock is not there) for short periods of time when I look over a long period of time. Sometimes this occurs way out in time when the unit is sitting idle, and other times this occurs during reads and writes through the SPI. This was causing me many intermittent problems, and therefore I had to slow the clock down, which keeps me from being able to transmit more than two bytes of info, while not violating the 64 us requirement.
Any help you can provide would be appreciated. If I get mine to work, I will be glad to let you know what I did.
Best Regards