Hi Shane, It depends on a number of things, such as how far you need to transmit (i.e., what kind of signal to noise ratio are we dealing with), how much latency you can tolerate, are there going to be multiple stations sharing the same channel, etc. If the ends are being controlled by something simple like a PIC, an XMODEM-type protocol (where each packet must be ACKed) is a good general-purpose protocol. However, your overall throughput will probably only get up to about 80% of your actual transmit speed (so to average 20kbps you would need hardware that could handle around 25 or 30kbps and had very fast transmit/receive turn-around times). If you need to get every last bit of throughput performance and the channel is pretty free of interference, you might be able to get away with a ZMODEM-type protocol, where the transmitter sends long blocks and then just listens for a short time to see if the receiver needs any of it resent. This system can more easily break down in the presence of interference, though. I just recently completed a demonstration project which uses 16F876s along with Linx TR-916-SC modules to do 4800bps with error-correction(retransmission) direct from RS-232 port to RS-232 port. It uses an XMODEM-type protocol and the packets have only about 25 bytes of data (variable length with 25 being the maximum), so the actual throughput is only about 2400 bps. This demonstration project is a part of my tutorial on wireless comms for microcontrollers which is almost completed. I will be announcing the URL on this list when it is ready. As usual in my projects, I have had some delays in getting it ready. At least the Linx module section should be up very soon (within a week). If you add external RAM, an external UART, and make a few simple modifications, you should be able to achieve your 20kbps spec with this system, since the Linx modules can go to 33.6kbps. The reasons why I shot for a much lower goal were that the 16f876's ram limited the packet size (since we also had to have serial receive and transmit buffers in the RAM) and because I had to implement a second UART in software, along with the rest of the fairly complex code. Sean On Thu, 16 Aug 2001, Shane Tolmie wrote: > Hi guys, > > Just imagine I had a board with a 20kbps, di-directional radio transceiver, RS232 in, RS232 out. What sort of radio protocol would > you recommend to communicate between two devices? > > The protocol would have to have elements of the following: > > - variable packet length, 1 byte to say 64 bytes > - CRC for error detection > > Other that that, its an open possibility. > > Regards, > Shane. > > -- > http://www.piclist.com hint: PICList Posts must start with ONE topic: > [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads > > > -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads