Hi Greg, If I should be so blatantly self promoting it sounds like you need the Controller Area Network (CAN) over RF. Seriously, the advantage of the 900MHz is that there are less restrictions and you are right, the 433MHz band has some really inexpensive modules available. Using off the shelf Tx/Rx type pairs or some sort of transceiver you need to implement a protocol that will allow your multiple nodes. If you don't use something like CAN processor you need to look at a couple of issues. 1. What happens if someone else is transmitting or starts at the same time? 2. How do you format and check your data that it's valid? The first issue is called CSMA/CD which stands for Carrier Sense Multiple Access with collision detection. Ethernet uses this and for an RF project with low bandwidth you can do this fairly easily. The advantage of a wired network is that it's pretty easy for the Transmitters receiver to see if what is being transmitted is actually what was desired. That's not as easy with RF because the receiver will be overwhelmed with the signal from the nodes transmitter which would blanket any other nodes transmitter which is attenuated by distance. So if you want an async multi-master system you need to keep your packets short and wait for an ACK message to learn if it went through. IOW, Once you start transmitting you might as well finish. So much for collision detection. Point #2 has to do with protocol and bit management. Depending on what you want to accomplish you could use a bit of time division multiple access type arbitration. For example. A) Check RSSI (receive signal strength indicator) or whatever the hardware provides in order to determine if someone else is transmitting. B) If not, start by sending out a couple of 0xAA or 0x55 bytes to train the receivers out there. This preamble will set the AGC or receiver slicing level in a way that will make it more immune to noise. C) Wait an exact period of time (4 bit periods) and send the preamble again. Then wait a specific time based on your ID and send out the value of your ID. The specific time is N*size of your ID in bits. D) After M * total # of nodes send preamble again and then send data. To ensure that your RF data slicer stays at an optimum level pack your data so that there are never more than 4 or 5 bits on any one polarity. Each receiver does the following. i) Listens for signal. Syncs on preamble when it sees it and starts it's own timer at the end of the preamble. It doesn't matter if it saw the whole preamble; there will be another that he should see as a complete bitstream. ii) Hears the ID of the transmitter at point N * size of IDs and continues to wait for next preamble. iii) At next preamble (if complete) prepares to receive data; receives the data, computes CRC and if the message was for him responds with an ACK message to the sender. A transmitter wanting to send at the same time will see the following happen. a) Listens and doesn't hear anyone so starts his preamble b) Finishes his preamble and starts listening and waiting for it's time slot to send it's ID. c) If an ID shows up during this listen time it then knows that a higher priority node started transmitting at the same time so he switches over to receive mode and then does point (iii) above. D) At the end of the message he starts again trying to send. If instead you want a simple master/slave type system, pretend you are behaving like a GSM cell phone network, your master can allocate a portion of a time window (say 100 ms of every 10 seconds) sync'd to the master, to use as a space where new nodes announce themselves to the master. The master then allocates a point in time in the rest of the 9900ms where the node is allowed to transmit its data. All depends if you want a master or not. Just a few of the many ways to skin a cat. Regards, John Dammeyer Wireless CAN with the CANRF module. http://www.autoartisans.com/documents/canrf_prod_announcement.pdf Automation Artisans Inc. Ph. 1 250 544 4950 > -----Original Message----- > From: pic microcontroller discussion list > [mailto:PICLIST@MITVMA.MIT.EDU] On Behalf Of G Brigley > Sent: Saturday, May 11, 2002 2:44 PM > To: PICLIST@MITVMA.MIT.EDU > Subject: [EE] RF modules > > > Hi, > > I'm designing a network of devices that uses a shared wireless medium. > Messages will be sent to specific nodes using an address > unique to each > device. Each node will also sense the presence and addresses > of all other > devices within transmission range. I was going to do this by > having each > device transmit an announcement at regular intervals (OK, somewhat > regular; I realize that I'll have to avoid collisions). > > I want to make the cost per node as low as possible, and > requirements for > range and throughput are very low. (A few tens of metres and a few > hundred bps minimum). > > I was looking at transceivers using 315MHz and 433MHz > frequencies costing > about $25 US in small quantities, which would be acceptable. I read > somewhere that unlicensed users of those frequencies may not send > continuous data, or regular periodic data. Would my > application violate > those requirements? I get the impression that the 900MHz > range is less > restricted, but those modules seem to be far more expensive. > Can anyone > point me to the authoritative document that details the > limitations? I'm > in Canada, but I expect that our regulations are similar to > those in the > US. > > This is a student project, so certification for retail sale is not an > issue, but I'd like to avoid building something that is blatantly > illegal or harmful to others. > :) > > > Thanks in advance, > Greg > > -- > http://www.piclist.com hint: To leave the PICList > mailto:piclist-unsubscribe-request@mitvma.mit.edu > > > > -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu