I have been looking for some RF chip (such as CC series .... or some other one) that can do multiple orthogonal signals separation.
For example, for the RFID application,
tag A (using an RF chip) to send signal A
tag B (using an RF chip) to send signal B, and A is orthogonal to B (probably A and B is CDMA signals)
reader C (using THE RF chip that can separate orthogonal signals) can give output of A and B separately.
Do you know about , any RF chip can do this ?
As far as I know, its seems that the CC seriers do not provide this function (am I right ?)
Thank you very much
Thanks for your former response. May I have more questions please
We tried all the three modes "continuous Rx", "package Rx" and "RF Device Commands" , but the output of GPIO0 and GPIO2 are all the same for these three modes.
Regardless the transmitter is on or off, the receiver always get the same thing from GPIO0 and GPIO2 for these three modes. (as the pictures of yesterday, from oscilloscope)
Should the IOCFG to be configured as "2E" (to make GPIO output the raw ADC data) ? -- as the powerpoint file uploaded yesterday ?
Does SmartRF NOT support CC1120 ? Should we strap some signals manually before using SmartRF with CC1120 ? (as follows, the Page 21 of swru294)
1) and 2): Before I sent yesterdays answer I checked that it worked. I used the "RF device commands" tab, sat IOCFG2=IOCFG0=0x2E and connected a logic analyzer to the GPIO2 and GPIO0 connectors on the TRxEB. Then I got a signal out when I strobed RX, not when I strobed TX or Idle. I get different result each time I stobe SRX which is consistent with receiving noise. Even when the transmitter sends a modulated carrier the bits sent out on GPIO2 and GPIO0 will be different each time SRX is strobed due to the nature of a sigma delta.
3): Strapping is not required. This is only used in some cases where you have a board with CC1120+CC1190 and want to control the required control signals on the CC1190 from the MSP and not from CC1120.
--PS. Thank you for clicking Verify Answer if this answered your question!
Before we redo the experiments very carefully again (and we will try every possible ways we can think about to get the right result), I must say "thank you very much", for taking this seriously and helping us with so many efforts. Your efforts and testings have shown that at least our group is following the right way ( going the right direction ).
This really means a lot to us. Our project may turn out to be a big deal, and we may use large number of TI CC1120 chips in near future if we can make our project which is a 1-3 years project that is expected to lead to products commercialization.
Bo and our group
Thanks for your former responses.
We carefully repeated the same testing, and get the same result as yours, that is: GPIO does output nothing when STX is strobed. The GPIO does output something when SRX is strobed and it outputs different waves each time.
However, the wave it outputs are actually the same type regardless the transmitter is on or off, when SRX is strobed. We expected to get some signal from receiver's GPIO when transmitter is on, and no signal (or another totally different type of signal) from receiver's GPIO when transmitter is off. But regardless the transmitter is on or off, the output of GPIO is still the same "type". That is, from the output of GPIO (the oscilloscope), people cannot tell whether transmitter is on or off. -- This can not be right.
Please see the output of GPIO as the pictures below:
This above picture is the output of GPIO/oscilloscope when transmitter is off, SRX is strobed on the receiver.
This above picture is the output of GPIO/oscilloscope when transmitter is on , SRX is strobed on the receiver.
(we used a very good signal generator as the transmitter, and when the signal generator is on, the RSSI jumps up on the receiver which means the configuration of the signal generator is right.)
This above picture is the output of GPIO/oscilloscope when STX is strobed on the receiver.
Is it possible to probe before ADC ? (That would be really helpful)
Please keep in mind that a sigma-delta converter achieve good resolution by shaping the quantization noise. For a conventional ADC with n-bit output the noisefloor (quantization noise) vs frequency is flat. For a low pass sigma delta modulator the quantization noise is shaped so the noise energy is much larger on high frequencies than in low. Hence a sigma delta ADC contains of two parts(simplified): A modulator and a lowpass filter. The modulator shape the noise and the filter removes the noise at the frequencies of no interest. The bit stream out from CC1120 is the output of the sigma delta modulator. Even with no input to the modulator will shape the quantization noise and the result is that the bit stream is not a stream of '0'. It is not possible to see from just a few samples of the bit stream what the input signal to the modulator is. To see this you either have to lowpass filter the stream or run a FFT on the data (in the simulations I did I used at least 6000 samples). Hope this makes it more clear, sigma-deltas is not straightforward.
Also note that you will lose ~10-15dB in sensitivity by using the GPIOs to output the data due to the noise the pads introduce. An alternative is to output the data on the LVDS interface (not documented but used in the lab with no decline in sensitivity). The datastream on the LVDS interface is clocked at 2xcrystal frequency and has to be oversampled in the receive side adding cost and current consumption.
Thank you for the response again. Still more questions ....
ADC has three blocks: sample, quantization, coding. Let say an input analog signal is pi, then after sample it is 3.14159, after quantization it is 3.14, then after coding it is 1000100... (n bits), which is a 0/1 bit stream. I trust this 0/1 bit stream is the output of the output of GPIO or ADC.
1, Now that we can trust the output of GPIO is the ADC output of the raw data, which is a 0/1 bit stream, how to decode this bit stream ? Information about the ADC is needed. For example, this is n-bits ADC, then how large is this n ? What is the sample rate ? How to find the start of each sample (suppose each sample is quantized into n bits.) ?
2, How to lowpass filter the output of ADC ? I mean, do we input the bit stream into a low pass filter ? Or do we first decode the bit stream (decode it back to a sample of the transmitted MSK symbol) and then input the decoded sample stream into a lowpass filter ? -- Another expression of this question could be : how does the channel filter in CC1120 work ?
3, Similar as question 2, I tried directly perform FFT on the output of GPIO, but this seems not make sense, since this output of GPIO is not the sample of some signal. It is a 0/1 bit stream which comes from of the quantization of the sample of TX signal. The 0/1 bit stream is not supposed to be directly done by FFT (The figures below:)
The above figure is the output of GPIO 0 (Transmitter ON and OFF)
The above figure is the FFT of the output of GPIO 0 (Transmitter ON and OFF -- they are the same ?!)
If there are some manuals regarding the ADC , the channel filter, the cordic, the demodulator, that would be most helpful.
"ADC has three blocks: sample, quantization, coding. Let say an input analog signal is pi, then after sample it is 3.14159, after quantization it is 3.14, then after coding it is 1000100... (n bits), which is a 0/1 bit stream. I trust this 0/1 bit stream is the output of the output of GPIO or ADC. "
Yes and no. As I have written before the ADC is a single bit sigma delta modulator with Xtalfreq/2 sample rate. From what you write I get the impression that you are not too familiar with sigma-delta modulators, please correct me if I'm wrong. If you haven't used one before, please look at the "delta Sigma Toolbox" (http://www.mathworks.com/matlabcentral/fileexchange/19) that will give you some insight in how they work. The book Richard Schreier has written on the subject is also a good intro. You should also be able to use some of the functions in the toolbox to run FFT on the datastream and plot it in a more readable format than you have used. When plotting the spectrum from a sigma-delta it is normal to plot dB (20*log10() ) on the y axis and use a logaritmic x axis.
Thanks a lot for all the former responses. We have been always watching the responses and thinking/doing_testings accordingly.
Our target is to utilize the output of ADC "raw data" to recover the input of ADC (and do some DSP by MATLAB), so besides learning thoroughly this sigma-delta ADC thing (we are learning it and we realized that we must learn it seriously so as to make good use of the output of the ADC of CC1120), I guess we also need some more information or parameters:
1, what is the IF frequency ? (say, 1MHz, or 100KHz ?)
2, Sampling rate of the sigma-delta ADC
3, the center frequency of the channel filter
In short, is it possible to have the datasheet/user_guide of each block ( or, at least the datasheet/user_guide of this ADC) of the CC1120 ? Cause the datasheet/user_guide of CC1120 itself (i.e., swru295 and http://www.ti.com/lit/ds/symlink/cc1120.pdf) does not provide much information regarding the ADC.
On the CC1120DK (TRxEB),
is there some PIN to get the output of the channel filter ? (In CC1120 block diagram, its channel filter is after ADC)
I suspect the channel filter of CC1120 functions as the filter&decimator as depicted in the dash line box below:
See 9.2 in the UserGuide.
See my previous post.
The center is the IF frequency
We don't have a supported way to output data after the channelfilter on a GPIO
Is it possible to make CC1120 send QPSK or BPSK signal ?
--Though according to the userguide and datasheet, the only available signal, which is close to QPSK, is MSK.
We have problem in filtering the output of ADC (that is, the output of GPIO).
Is there anyway to get/buy this digital bandpass channel filter , such as from TI ?
Thanks a lot
you have to use a MCU, FPGA or DSP with suffisient processing power and implement the filter in software.
More queston abot I/Q output:
Q1: Can I have I/Q data reading out from the CHFILT_Ix ( x= 0,1,2) and CHFILT_Qx (x= 0,1,2) registers instead of from GPIO0/GPIO2 ? What clock rate for these registers is running on? What is maximum data rate for reading these registers out?
Q2: Is it posible routing out the CHFILT_Ix ( x= 0,1,2) and CHFILT_Qx (x= 0,1,2) registers contents to output pin in CC1120?
Q3: What is difference between ZERO-IF and LOW-IF ?
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.