6

Whenever I am searching Rf module, I have seen transparent operation on some module.I have searched meaning of transparent operation, but I could not find anything. My questions are

  • What is the transparent operation ?
  • Why is it used in RF module ?
  • What are the drawbacks of the transparent operation?

3 Answers3

4

From this document:

"When operating in transparent mode, the modules act as a serial line replacement."

It means that the RF module hides the implementation of the transmission protocol from the user. Xbee for instance may use the Zigbee protocol, but appear to the microcontroller as a simple UART.

enter image description here

To the user the cloud just hides the wire, while in reality it may hide any level of complexity, in this case a wireless Zigbee connection, including everything required to run the protocol:

enter image description here

The "why" is obvious: the designer doesn't have to bother about the communication protocol, and just send and receive UART data as if his microcontroller were directly connected to the other controller.

So, "Transparent operation" means hiding certain implementation details from the user, so that the system is easier to work with, yet with the same user functionality.

edit about drawbacks
Like Kellen already said one drawback may be cost, especially if you work at short range. (A kilometer wiring also costs money). Noise is not a problem if your RF modules are FCC or CE certified. RF even has the advantage that you have electrical isolation, which also may prevent noise issues.

stevenvh
  • 145,832
  • 21
  • 457
  • 668
  • Because rf module is in transparent mode, are there any drawbacks like noise ? If there is, can you add to your answer ? Thanks –  Jul 12 '12 at 10:52
  • @gcc Any good wireless protocol will do its best to overcome noise. The draw backs are really cost and possibly lack of control if you want to be able to tweak things at a lower level. – Kellenjb Jul 12 '12 at 12:54
  • @stevenvh actually I understand your answer. However, I could not finish the sentence starting with "transparent operation is that" in my mind. For this reason, I postpone the accepting your answer. –  Jul 12 '12 at 13:06
  • @stevenvh have you ever searched "transparent operation for Rf" in google ? This question is top. If you have time, can you improve your answer so that it will be reference answer. ( My opinion ) –  Jul 12 '12 at 14:02
  • @gcc - Maybe I can look it up in Google to improve it :-). I'd love to, but you'll have to hint what is still missing. – stevenvh Jul 12 '12 at 14:05
  • @gcc - by the way, EE questions often turn up as the first hit on Google when you enter the question title as search term (even without quotes). – stevenvh Jul 12 '12 at 14:10
2

Transparent mode may mean one of two things:

  1. Especially on some older devices, it may mean that the data presented to one device will be sent over the air, bit for bit, exactly as presented; the other device will output electrically, bit for bit, exactly what it receives over the air. There's no guarantee that the receiver won't electrically interpret random noise as data when the transmitter is idle, nor is there any guarantee that data which is transmitted will be received correctly. The one thing which is guaranteed is that if a receiver is going to receive correct data, it will do so within a very short time of its being transmitted. On the other hand, it is possible for the microcontrollers which are connected to such devices to supply their own logic to determine when data is received correctly as sent, and arrange for whatever retransmission strategies are appropriate for a given application.
  2. On some devices, including some newer modules, it means that a transmitter will make a best-effort attempt at delivering arbitrary sequences of bytes, without requiring the controller which supplies the data to wrap it in any sort of packet. The module will automatically take groups of bytes, wrap them in its own packet format including things like sequence numbers, checksums, etc., and then transmit them, listen for acknowledgment, and possibly retransmit them a few times if needed. In most cases, the alternative is for an application to format packets of data in a specified way for transmission, and for the receiving device to supply the packets in that format.

I've used devices with both types of transparent mode, and I've also used packet mode. The first type of transparent mode can be a bit tricky to work with, since modules that provide it don't usually guarantee much of anything other than the fact that any data which will be transmitted successfully will be transmitted immediately.

I really don't like the second type of transparent mode. In a lot of ways, it's like a radio version of the TCP protocol used on the Internet, with the automatic grouping of data into packets, along with the automatic error-detection and retransmission logic, but there's a critical difference. TCP offers a 99.99999% guarantee that if a device establishes a connection and asks to transmit a sequence of bytes, either the recipient will receive all of the data in sequence, or the sender will be notified that the connection was broken; it further guarantees that while a broken connection may prevent a receiver from receiving all the data sent by the transmitter, the first N bytes fetched by a receiver after establishing a connection will always be the first N bytes sent by the transmitter. These guarantees apply regardless of the reliability (or lack thereof) of the underlying communications medium. By contrast, wireless modules in transparent mode generally do not offer any means of starting and stopping logical connections, nor do they offer any indication whether or when data was actually transmitted successfully, nor whether the sequence of bytes reported from a receiver represents the complete sequence of bytes produced by the transmitter, with no omissions. When communications conditions are good, transparent mode can work fine, but it really offers no useful guarantees sufficient to create a workable protocol. Even if one receives what looks like a packet from the transmitting application, there's no guarantee that it doesn't represent half of one packet whose second half was lost, combined with the second half of a different packet whose first half was lost. Further, it's very difficult for an application to apply any useful sort of retry logic on this type of transparent connection, since there's no way it can distinguish between data which has not yet been successfully transmitted, but which the module is planning to retry, and data which the module has given up on transmitting. If a module has given up trying to send something, it may be useful for the application to try again. On the other hand, application re-sends something before the module has given up, retransmission requests can pile up in the queue, causing the module to waste time sending those over the air even if the original request had finally completed successfully and the retransmissions were superfluous.

In many cases, I would suggest using packet mode. Packet mode usually guarantees that packets will always be delivered as a unit; if unit 1234 says a packet that came from 5678 with data "ABCD", then it can safely assume that sometime during the history of the universe, unit 5678 was asked to send a packet to it with a payload containing exactly four characters in the exact sequence "ABCD". The module might not guarantee much of anything regarding the timeliness of transmission, or whether packets will always be received in the order sent, or that a message which is sent once will only be received once, but such issues may if necessary be handled within an application by including sequence numbers within the data payload. Further, in packet mode--unlike transparent mode--most modules will notify a transmitter when they give up on trying to send something, allowing the transmitter to behave much more intelligently than would be possible in transparent mode.

supercat
  • 46,736
  • 3
  • 87
  • 148
1

Transparent mode means that you can provide a (digital) signal to the transmnitter, and it will be reproduced by the receiver (restricted by some - often unspecified - frequency limit and delay, and with all noise and other disturbances added to it).

In contrast digital (or intelligent) mode means that you can supply a message to the transmitting moule, and it will do its best to get that message across to the receiver. The over-the-air message will contain framing, a cheksum, and possibly adressing information. If necesarry (and programmed so), the transmitte will send the air message repeatedly, until the receiver (now acting for a short time as sender!) acknowledges the message to the sender (now acting as receiver!).

As always, consult the datahseet for the exact details.

The advantage of a transparent mode is that the two RF modules act as a 'wire by air': what goes in at the one end comes out at the other end (that is, if all goes well...). So you can put the pair of modules between let's say a microcontroller and its (RS232, RS485, etc) bus driver. Or between a PWM source and a hobby servo. No programming or configuration or re-formatting of the messages required.

The advantage of intelligent mode is that the module can do things for you: addressing and selective receiving, checksum insertion and verification, acknowledging and retransmission, etc. The downside is that you need a microcontroller at both ends, and you must configure the RF module to select what you want it to do from and often bewildering range of options.

Wouter van Ooijen
  • 48,572
  • 1
  • 63
  • 136
  • I know you are experienced. But ( forgive me ), where did you learn this things ? Can you give me name of the book|tutorial in order to learn more about it, if there is ? Thanks –  Jul 12 '12 at 06:17
  • I learned this partly in college, partly in 25 years on-the-job experience. Probably something similar for Wouter, as well as many others. – stevenvh Jul 12 '12 at 06:21
  • 1
    I generally find books of very limited use (often outdated, not focused on what I want to know, and aimed at beginners). I read on-line projects, datasheets, wiki articles, application notes, reference projects, some mailing lists (piclist, lpc2000group), this forum, etc. – Wouter van Ooijen Jul 12 '12 at 06:31
  • @Wouter - "where did you learn this things ?" Nothing about professional experience? That's where I learned most it. (Covers also more time than school) – stevenvh Jul 12 '12 at 10:54
  • @Stevenh IMO "PE", "hobby", "school" are "when" categories, what I enumerated are "from where" categories. You could arrange them in a matrix, but I think for me they are almost independent. One additional source that applies to "PE" only is "colleagues", but for me they have not often been a source of "hard knowledge" (but often a source of other types of knowledge!). – Wouter van Ooijen Jul 12 '12 at 11:04
  • A major downside of the "transparent" mode on most intelligent RF modules is that while it provides a greater likelihood of successful transmission than would "dumb" modules, it often provides much less in the way of timing guarantees. Things may work nicely when conditions are good, but modules with "retry logic" may interact badly with devices that implement their own. – supercat Jul 12 '12 at 22:02