Hi There,
We have been using a CC1101 in our prototypes for a while now and have gotten to the point where we are pretty confident about this radio chip's performance, as well as its limitations, and relatively happy with that for a current design.
However we have recently moved on to a new radio chip based on the previous designs, the new CC112X, and have been eager to port the previous source code we were using to make it compatible with the new radio chip from Ti. This has involved some effort but eventually our CC112X based system is now more-or-less working, with a few (not insignificant) measurable differences between the new and the previous CC1101 radio system.
Basically the main physical differences between the two systems are the radio ICs (CC1101 old vs CC112X new). The RF amps are the same, the microcontrollers the same, the DC/DC converter the same etc. The custom PCB routing is different as the new radio is different, same form factor as we had before. The propriety source code is based on the CC1101 version design, ported /converted to work with the new CC112X based design.
So here is where we are observing some timing differences between the two versions of the two radio systems. We retained the same modulation parameters, such as transmission rate, modulation format (GFSK), receiver bandwidth (as closely matched as possible), FM deviation etc to ensure communication between old and new radios for backward compatibility.
The new and old radios are communication compatible as far as we could get it (given there are some constrains on the receiver bandwidth pass band on the CC112X), and we would need to ensure all other communication timings are as closely matched as possible (so old and new systems as backward compatible). However we are noticing a lag in “reception response” between the previous CC1101 and the new CC112X chips.
Essentially when a transmitter TX(CC1101) transmits, the receiver RX(CC1101) that is tuned to the transmitter TX, receives the channel and begins to demodulate and decode the data. There is a finite delay between the point of start of the TX transmission and the correct reception RX of the preamble and header by the tuned-in RX. Generally the good reception of a preamble and header will trigger an interrupt to signal reception of a frame, and then further processing occurs.
So, now, we are transmitting with a TX(CC1101) as the old radio source, and receiving with the new RX(CC1120) prototype, the same preamble and header and data as previously used. We are noticing a significant lag between the start of TX(CC1101) transmission and RX(CC1120) receptions, at the same point where the reception interrupt is meant to be triggered to tell us the data can be received and decoded. That is, it would appear the RX(CC1120) receptions are taking longer to process (a few hundred us) longer than our previous receivers based on the CC1101 ?!?! This lag in receptions is very important in our real-time system, and we'd like to ensure a similar latency in reception as we had prior to evaluation of the new CC112X in our system.
My question relates to possible reasons for the latency differences, between a CC1101 receiver and a CC112X receiver RX, when a CC1101 transmitter TX is used ? We are trying to ascertain if there is a radio configuration that makes the reception of the preamble take longer to process on the CC112X, or something else similarly causing this extra latency ? Some additional moving averaging or AGC filter taking more processing time prior to the preamble/header being correctly detected and decoded for instance ? Already, we have noticed that turning Viterbi decoding OFF will reduce a measurable latency in reception processing (besides the CC1101 did not have this feature), but there is still a significant lag to cause a timing difference between two receivers - one based on the CC1101 and the other on the CC112X ... We are pretty sure the lag is not execution code related. The two radios use the same compilers, same processors same real-time OS etc. to ensure more-or-less same execution delays/latencies.
We have based the radio configurations on the Smart Studio 7 recommendations given our existing modulation parameters and the CC112X, so we took these values straight from SmartStudio, except certain others which needed to be custom for our application.
In addition the other observation (that may be related) is that receiver sensitivity is not what is expected for this chip and data rate, given we are not having the same range as we had with the older radios (actually we’re expecting more range given the improved sensitivity of the new CC112X chips but we’re getting significantly less range).
Any hints or ideas as to what might cause a processing latency between the RX(CC1101) and the RX(CC1120) prototypes ?? Is it a radio configuration problem on our part, perhaps something we just got wrong ? A reduced sensitivity also points me to a possible radio configuration problem (suspected), but my knowledge of the relatively new CC112X chips is limited given they have "improved" on the previous CC1101 in all other respects (cross-talk, sensitivity, synthesizer hopping speed etc).
Any suggestions from those with more knowledgeable with the inner workings of the CC112X receiver section setup would be appreciated ... Perhaps they could shed some light on best way to get the two radio systems practically identical in timing behavior (apart from modulation parameters which are imposed by our application).
Regards, mmar