Go Down

Topic: New library for RF22, RFM22 radio modules (Read 15 times) previous topic - next topic


The datasheet suggests using GPIO0 and GPIO1 to control them - GPIO's can be set to the TXstate and RXstate for instance or directly controlled via SPI.   Its worth checking which modules have a switch (I'm suspecting its 22's and not 23's but I don't really trust the datasheets as they seem to cover the silicon only with module information as an afterthought)

Have you seen a 22B or 23B BTW?
[ I won't respond to messages, use the forum please ]


The ones Im using are RFM22B-S2 as per the sparkfun page:


The data sheet for that one at:

does not mention tx_ant or rx_ant at all. The table on page 64 has 'NC' in hte places where there was  tx_ant and rx_ant on the RFM22.

So looks to me like they are not connected in the RF22B.


The ones Im using are identical to the one in the picture at:


If it really needs tx_ant and rx_ant pins to be controlled externally, then I will need to make some changes to the library.

But... surely the controller chip on board knows when it want to transmit and recieve and should be controlling the antenna switch itself? Why would it expect an external processor to control the antenna switch for it?


As you state, it does seem strange that we have to manually switch these pins when the chip knows that it is going to transmit or receive. Doesn't make sense!

However on page 62 of ver 1.1 of the HopeRF manual it states:

"Tx Antenna select input pin, When RFM22 is TX state,TX_ANT should be = 1, RX_ANT should be = 0"


"Rx Antenna select input pin, When RFM2 2 is RX state,RX_ANT should be = 1, TX_ANT should be = 0"

Whether these are asserted through the GPIO pins of the RFM22B or by the I/O of the Arduino is left to us, but either way they need to be toggled by the program.


The RF22 library was written for the RFM22B devices and AFAICS, the tx_ant and rx_ant pins dont need to be connected for the RFM22B. May be different for the RFM22 devices, but RF22 library does not support them.


If you go to http://www.sparkfun.com/datasheets/Wireless/General/RFM22B.pdf you will find version 1.1 of the 22B-23B manual.
(strangely this is a more up to date version than that on the HopeRF site which is version 1.0).

On page 58 of this manual there is Figure 32A it clearly shows TX_ANT and RX_ANT connected and on page 62 it refers to asserting them. The confusing part is that they roll the 22B and 23B manual into one. The 23B does not have these pins and therefore they are not discussed in reference to this module. It is a bit confusing as to when they are talking about one module or the other.

I will send off an email to HopeRF to get a definitive answer.

Go Up