Things learned about the Surelink modules
Harry W. Lewis
Posts: 13
I was helping a customer get a simple RF link running with a pair of SureLink 900 MHz RF Module (Parallax Stock#:·30065) and I thought I'd share what we learned.
Why did we pick this module in the first place? It is low cost and has the option of a high RF data rate. Many RF links have high baud rates to the UART interface but the RF data rate is fixed at some lower value. We needed to stream data at 1 byte per 400us so the RF rate had to be over 25K bps. The Surelink can be switched for an RF speed up to 76.8K.
Our project·used a micro with a regular hardware UART on one side and a PC on the other. The PC interface side came through RS232 drivers and receivers.
1. There is another manual available at http://www.surelinkrf.com/surelink.html· - Just remember Needham's is not now supporting it, Parallax is.
2. Refer also to the schematic of the Quicklink board at
http://www.parallax.com/dl/docs/prod/schem/QL232.pdf
and the Parallax manual at
http://www.parallax.com/dl/docs/prod/rf/SLManual.pdf
3. To run as a simple link using no programming modes and no development boards, you should ground pin 1 of the Surelink module. Do not use a 100K resistor as shown on the Quicklink board. The 100K resistor is interpreted as an open on the pin by the module. When the pin is grounded, the module is instructed to read the jumpers for the operating mode.
4. When not using flow control, Pin 12 needs to be grounded to enable sending out serial data. I got the impression it should have been high from somewhere. It needs to be grounded per Apendix A of the Needham's manual.
5. The labeling for RX and TX are different from what I would expect. There is probably a rational·explaination·for this labeling but it is easiest to look at the Quicklink board schematic and see from there what goes which direction. RX (module pin 9) is data sent to be sent over theRF link and TX (Module pin 10)·is data coming in from the link.
6. While on the subject of the Parallax Quicklink board schematic, notice the inverters on RX and TX between the module and the RS232 driver/receivers. They are needed as the module expects idle (marking) to be low instead of high which is what the Maxim chip (and the hardware UART on my uProc chip) provides. We needed·inverters on the·both sides of the link but if·either side·were a BASIC Stamp, you could set the BAUD·parameter to invert it without·the extra chip.
When finished we had the bi-directional link we needed. Our system kept it half-duplex and below the RF data rate by design so we didn't try to use flow control of any sort. I didn't do a lot of characterization after we got it running. We didn't need long distances so we didn't worry about or test the range. One data point of interest, the delay from the character coming·out of·the PC until it came out the link on the other side took about 22.6ms. For this project, that was the lag before the command to start logging caused·the·logger·to actually start sending data.
Harry
www.bluebelldesign.com
·
Why did we pick this module in the first place? It is low cost and has the option of a high RF data rate. Many RF links have high baud rates to the UART interface but the RF data rate is fixed at some lower value. We needed to stream data at 1 byte per 400us so the RF rate had to be over 25K bps. The Surelink can be switched for an RF speed up to 76.8K.
Our project·used a micro with a regular hardware UART on one side and a PC on the other. The PC interface side came through RS232 drivers and receivers.
1. There is another manual available at http://www.surelinkrf.com/surelink.html· - Just remember Needham's is not now supporting it, Parallax is.
2. Refer also to the schematic of the Quicklink board at
http://www.parallax.com/dl/docs/prod/schem/QL232.pdf
and the Parallax manual at
http://www.parallax.com/dl/docs/prod/rf/SLManual.pdf
3. To run as a simple link using no programming modes and no development boards, you should ground pin 1 of the Surelink module. Do not use a 100K resistor as shown on the Quicklink board. The 100K resistor is interpreted as an open on the pin by the module. When the pin is grounded, the module is instructed to read the jumpers for the operating mode.
4. When not using flow control, Pin 12 needs to be grounded to enable sending out serial data. I got the impression it should have been high from somewhere. It needs to be grounded per Apendix A of the Needham's manual.
5. The labeling for RX and TX are different from what I would expect. There is probably a rational·explaination·for this labeling but it is easiest to look at the Quicklink board schematic and see from there what goes which direction. RX (module pin 9) is data sent to be sent over theRF link and TX (Module pin 10)·is data coming in from the link.
6. While on the subject of the Parallax Quicklink board schematic, notice the inverters on RX and TX between the module and the RS232 driver/receivers. They are needed as the module expects idle (marking) to be low instead of high which is what the Maxim chip (and the hardware UART on my uProc chip) provides. We needed·inverters on the·both sides of the link but if·either side·were a BASIC Stamp, you could set the BAUD·parameter to invert it without·the extra chip.
When finished we had the bi-directional link we needed. Our system kept it half-duplex and below the RF data rate by design so we didn't try to use flow control of any sort. I didn't do a lot of characterization after we got it running. We didn't need long distances so we didn't worry about or test the range. One data point of interest, the delay from the character coming·out of·the PC until it came out the link on the other side took about 22.6ms. For this project, that was the lag before the command to start logging caused·the·logger·to actually start sending data.
Harry
www.bluebelldesign.com
·
Comments
I have 2 of these surelink devices and I have them set up as per the "Figure 13: SureLink Module schematics for Point A and Point B units" at the end of the parrallax man: http://www.parallax.com/dl/docs/prod/rf/SLManual.pdf
I have loaded the A & B programs into two BS2's both mounted on parallax's Super Carrier boards.
I get them to "Link" to each other but the data from one to the other never happens.
I have jiggered around with the programs and tried different jumper settings like mentioned in Harry's post but no success.
I have 3 surelinks (one spare 2 in circuit)·all of which I know worked at one time and they have just been sitting around in anti stat bags since.
Where am I going wrong? I don't see it.
If any one has the extra docs Needhams and surlinkrf.surelink.html that Harry speaks of in his post, I'd be very grateful if they would send me a copy cause I am not finding much on info on·these units at parralax or with google searching.
Any advice welcome.
Thanks,
Brian H.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen
Sorry if I was not clear.
EVERYTHING, hardware and software is as per the 'Stand Alone Mode' section towards the end·of the parallax document at http://www.parallax.com/dl/docs/prod/rf/SLManual.pdf
Wiring is as per Figure 13, 14 and 15
Code is as per:
File....... SureLinkDemo_PointA.BS2
and
File....... SureLinkDemo_PointB.BS2
respectively.
If I have made an error in either it still eludes me, even after a good nights sleep and a day of good healthy exercise, shoveling snow!
The units link to each other but the A and B character data exchange·does not show up on the alternate unit's DEBUG screen as promised. I know these units worked several years ago when I bought them. I have a vague recollection of having to modify the code a bit to get the promised results but cannot make it happen now. Units have been well cared for in the mean time and I doubt they are damaged.
Thanks all,
Brian H.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen
In the pointA.bs2·& pointB.bs2 code listings in the PARALLAX surelink manual·document·the setup line for the baud rate constant·is shown as:
Baud CON 84+$4000
This according to the STAMP BS2 manual is 9600 baud,·8 bit, no parity INVERTED.
If I change that Baud rate constant to be
Baud CON 84
Which the BS2·manual says is 9600 baud,·8 bit, no parity, TRUE (IE not inverted)
Then I get working data transmission A's going one way and B's going the other just as advertised. I read somewhere in the surelink man that there is an inverter built into the surelink so I guess the extra level of inversion is the problem.
What a waste of my time! Sure glad I am not paying someone by the hour to figure this stuff out!
Thanks for the help and suggestions. Suggest this thread be archived·somewhere·for reference by future victims er users.
Regards,
Brian H.
-Jerry-