Communication problem with wireless modules

Go To Last Post
6 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've bought two wireless modules based around the TI CC1101 Low-Power Sub-1 GHz RF Transceiver. They also have an MCU (Atmel) on them so one could simply hook them up to power + RX + TX and they should act much like a wire.

I've setup an AVR to constantly send characters over UART and hooked it up to a TTL UART to USB board I have and could see the incoming transmission on the computer via Realterm (sort of a sanity check).

The next thing I did is to hook up one wireless module to the computer (via the UART to USB board) and one wireless module to the AVR. I can see the transmission LED lights up on the module however nothing is received at the computer end. I started to poke the wires and it seems that sometimes when I touch the board's GND with my hand it would have a positive affect on the module and it would work, but this is not constant.

To make sure the modules work I hooked the TX from the USB adapter to one wireless board and the RX to the other wireless board (as pictures) and this way the communication works perfectly.

I would appreciate any advice on this, the seller of the board is not very supportive.

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

what happens if you put both antennas upright?

Do you have a radiation pattern of the antennas? It might be that the antennas radiate like a pan cake and not in a sphere shaped fashion.

It could also be that the configuration of the CC1101 chips is not correct. A long time ago I worked at a company where they used the CC1100 and I know we have been having troubles then with the configuration of the module.

to ensure that you always have good radio contact you could connect both PCB's with a cable and an attenuator. This will rule out any disturbance through the air.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I tried putting both modules upright and rotating them so they will be at various degrees to one another but nothing seems to happen.

I have asked the maker of the modules to give me the radiation pattern but all they told me it's 180 degrees. Don't know how much that helps.

Regarding the configuration, I have an app that someone wrote that reads the config from the modules and it seems fine (both at the same channel, same baud rate and so on).

What is really strange for me is that when both modules are fed from the UART USB board they work like a charm.

UPDATE - I have found that when I place a delay loop after each transmit command the communication seems to be working fine. How long is this delay? 11ms!!!

Just to rule out possible software issues here is my UART init and send function:

void UARTinit()
{
	power_usart0_enable();
	DDRD|=(1<<PD1);                   // Tx output
	UBRR0=(((F_CPU/(19200*16UL)))-1); // 19200 baud
	UCSR0C|=(1<<UCSZ01)|(1<<UCSZ00);  // Char size 8-bit
	UCSR0B|=(1<<RXEN0);               // Rx enable
	UCSR0B|=(1<<TXEN0);               // Tx enable
	UCSR0B|=(1<<RXCIE0)|(1<<TXCIE0);  // Rx & Tx interrupts enable
}

void UART_send(char data)
{
	while(!(UCSR0A&(1<<UDRE0)));
	UDR0=data;
}
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

can it be that you first send the packet from teh uart to the radio chip and that when that is doen effectively the message is transmitted.

you could also take a look at the power supply. It might b that the power supply is better from the PC then from your board...

with the inti I did not just mean the initialisation of the Controllers uart, but from the radio chip itself...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've checked the power supply with my scope, it is a bench power supply. Should be of pretty good quality so I don't think this is it.

Regarding your explanation, that might be but 11ms delay is eternity in terms of MCU communication and all this for a single byte.

I can not see any of the inner communications on the module since there is an Atmel MCU there that communicates with the TI chip. So I am sending UART to the MCU on the module and that communicates with the CC1101. Hard to tell how it is configured as there is no English datasheet (how is your Mandarin?).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Something I don't see in the picture, are capacitors. Those modules need 1 uF or so on the supply pins, if I remember correctly.