Broadcom Optical Wireless Transceiver roadtest

View table of contents ...  

RoadTest: Seeking an Electronics Engineer to Evaluate a Broadcom Optical Wireless Transceiver Kit

Author: JWx

Creation date:

Evaluation Type: Evaluation Boards

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: none found - possibly optical serial interfaces, but with much lower bandwidth

What were the biggest problems encountered?: lack of more detailed documentation

Detailed Review:

Introduction

Broadcom AFBR-FSEK50B00E Optical Transceiver is an free space communications module, allowing for high-speed, bidirectional, wireless communication at short (30-100mm) distances using IR laser radiation.

It consists of transmiter part, based on vertical cavity surface-emitting laser (VCSEL) with a driving circuit and a receiver, consisting of PIN photodiode with transimpedance amplifier and signal conditioning circuit.

On top of it there is a set of coaxial lens, giving it full 360° rotation working angle and Laser Class 1 classification, which ensures that it is safe when observed by naked eye or typical magnifying optics

package

Transceiver is designed to work for data rates between 125 Mb/s and 5 Gb/s over 0 °C - 85 °C temperature range and with power consumption of about 120 mW (powered by 3.3 V power supply and consuming no more than 8.5 mA by the transmitter and 26 mA by the receiver).

Suggested application areas include:

  • Through-window optical wireless communication,
  • Rotary optical wireless communication,
  • Board-to-board communication,

Documentation provides maximum allowed misalignment curve for 5 Gb/s transfer rate and bit error rate of 10-9 

misalignment curve

which could be useful when evaluating the possibility of use this part in a given mechanical (for example: rotating) setup. As can be seen, some precision is needed when establishing a link.

To better evaluate the transceiver parameters, two kinds of evaluation kits are offered:

  • one for interfacing directly to the transceiver (which can be used in more different setups but needs more preparations to set-up).
  • and another one, with additional media converter boards, allowing for transmitting typical Ethernet signal (that could be a final use-case or a first step to evaluate different usage scenarios),

In this roadtest, we will evaluate Ethernet version of the evaluation kit (AFBR-FSEK50B00E).

The kit consists of four boards - two for the each side of the optical link: one optical transceiver board and one media converter board:

ev kit boards

with each side providing one RJ-45 data connector and micro USB power connector.

Media converter board includes BCM54210 Ethernet PHY configured as a standalone media converter, working as a bridge between 1000BASE-T (copper) and 1000BASE-X (optical) interface.

media converter block

Unfortunately, no detailed documentation of this part is publicly available, so it has to be used "as is" despite it's many interesting features.

bcm54210 brief 

Block schematics of the media converter seems to confirm the observation that AFBR-FS50B00 module can be used in place of standard SFP (small form-factor pluggable ) transceiver, like ones below

sfp

This theory is reinforced by the block diagram of SFP interface as specified by INF-8074i specification:

SFP interface

that is very similar to the AFBR-FSEK50B00E optical frontend electrical interface:

optical interface 

Unboxing and initial tests

Unboxing

Module has arrived securely packaged in a cardboard box that contained elegant plastic enclosure filled with a foam that was holding evaluation kit in place. No additional accessories were included, but - in fact - none are needed: the kit can be connected using two standard Ethernet cables and two micro USB cables for power.

{gallery}unboxing

Outer cardboard box

Outer cardboard box

Inner cardboard box

Inner cardboard box

Kit enclosure

Plastic kit enclosure

The kit inside foam filling

The kit inside foam filling

Initial inspection and powering up

Evaluation kit is built as a four PCB "sandwich", with external screws dual-purposed as module's feet

 module construction 

Media converter board has four LEDs - two of them indicate presence of 3.3V and 1V supply voltages, SD LED turns green when optical signal is present and Rx Loss LED turns red when copper interface is down.

As there is no auto-negotiation on the optical link, Rx Loss is also reported when connected to the link not supporting 1Gb/s speed (for example 100BASE-T interface)  - despite the fact that the transceiver supports signal speeds from 125Mb/s - so some care needs to be taken when selecting test equipment to use interfaces capable of operating at 1Gb/s.

Another important note is that media converters seem to propagate "link down" condition across the link, so the datasheet advises against powering up both boards simultaneously and states that in such a situation link might not be established. At least one second wait in powering up sequence is advised. 

rx loss led

Optical link length

Another thing that can be visually identified is an optical link length that seems too short.

link length

As - according to the documentation - link length is defined as "top of lens to top of lens" distance and the transceiver is 4.83 mm high, calculated link length is

24.5 mm - 2*4.83 mm  = 14.84 mm 

which is much lower than the specified range of 30 - 100 mm. 

Power consumption

After powering up, media converter board draws following current from the USB port:

  • one side connected, no ethernet connection: 200mA
  • two sides connected, no ethernet connection: 210mA
  • two sides connected, ethernet connected: 270mA

That is significantly more than expected 35 mA of the transceiver. Additionally, media converter boards are getting warm when powered, indicating where most of the power consumption occurs:

temperature distribution

two additional photos pinpoint power consumption areas as linear regulators: one (U4) for 3.3V rail and another one as power transistor driven by the 1V regulator inside PHY (Q5)

{gallery}thermal distribution

U4

3.3V LDO

Q5 power transistor for 1V rail

Q5 power transistor

 heat generation on schematics

As can be seen - elevated power consumption is not connected with the transceiver operation but mainly with media converter design.

Test setup

To evaluate the performance of the optical modules, test setup was prepared. It consisted of two 1000Base-T Ethernet (a.k.a. copper Gigabit Ethernet) NICs installed in two GNU/Linux servers.

The cards were of different types: 

  • a built-in Intel Server Adapter (based on Intel Corporation 82579LM chipset)
  • a four-port Intel 82576 add-on card.

Reference tests were conducted using Netpipe TCP module, that is providing detailed link bandwidth measurement by sending blocks of different size using ping-pong technique. This measurement provided following baseline (X axis represents block size in bytes, Y axis transfer in Mb/s), with two measurements from each link to check repeatability:

baseline - full

As can be seen both adapters achieve almost full 1Gb/s bandwidth for large blocks, but initially data transfer  is limited by the transmission delay (which is more than three times longer for 82579LM) . Additionally, for some block sizes transfer rate degradation is observed. Difference of performance for small blocks can be better seen on the following graph fragment, when 82576 achieves more than 60% faster transfer than 82579LM.

baseline - small blocks 

Tests

Rest of the testing was conducted using more performant (but also more quirky - where more events of performance regression for different block sizes were observed) Intel 82576 card.

First, direct connection was tested:

reference diagram

# ping 172.16.0.11PING 172.16.0.11 (172.16.0.11) 56(84) bytes of data.
64 bytes from 172.16.0.11: icmp_seq=1 ttl=64 time=0.165 ms
64 bytes from 172.16.0.11: icmp_seq=2 ttl=64 time=0.200 ms
64 bytes from 172.16.0.11: icmp_seq=3 ttl=64 time=0.180 ms
64 bytes from 172.16.0.11: icmp_seq=4 ttl=64 time=0.174 ms
64 bytes from 172.16.0.11: icmp_seq=5 ttl=64 time=0.189 ms
64 bytes from 172.16.0.11: icmp_seq=6 ttl=64 time=0.192 ms

Then Iperf3 test was performed using TCP protocol

#iperf3 -c 172.16.0.11
Connecting to host 172.16.0.11, port 5201
[ 5] local 172.16.0.10 port 38908 connected to 172.16.0.11 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 114 MBytes 957 Mbits/sec 0 392 KBytes
[ 5] 1.00-2.00 sec 112 MBytes 942 Mbits/sec 0 392 KBytes
[ 5] 2.00-3.00 sec 112 MBytes 942 Mbits/sec 0 392 KBytes
[ 5] 3.00-4.00 sec 112 MBytes 941 Mbits/sec 0 392 KBytes
[ 5] 4.00-5.00 sec 112 MBytes 939 Mbits/sec 0 392 KBytes
[ 5] 5.00-6.00 sec 112 MBytes 940 Mbits/sec 0 392 KBytes
[ 5] 6.00-7.00 sec 113 MBytes 946 Mbits/sec 0 392 KBytes
[ 5] 7.00-8.00 sec 112 MBytes 940 Mbits/sec 0 392 KBytes
[ 5] 8.00-9.00 sec 112 MBytes 941 Mbits/sec 0 392 KBytes
[ 5] 9.00-10.00 sec 112 MBytes 940 Mbits/sec 0 392 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 0 sender
[ 5] 0.00-10.04 sec 1.10 GBytes 938 Mbits/sec receiver

Followed by UDP protocol

# iperf3 -c 172.16.0.11 -u -b 1000M
Connecting to host 172.16.0.11, port 5201
[ 5] local 172.16.0.10 port 60287 connected to 172.16.0.11 port 5201
[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.00 sec 114 MBytes 956 Mbits/sec 82534
[ 5] 1.00-2.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 2.00-3.00 sec 114 MBytes 956 Mbits/sec 82562
[ 5] 3.00-4.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 4.00-5.00 sec 114 MBytes 956 Mbits/sec 82562
[ 5] 5.00-6.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 6.00-7.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 7.00-8.00 sec 114 MBytes 956 Mbits/sec 82562
[ 5] 8.00-9.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 9.00-10.00 sec 114 MBytes 956 Mbits/sec 82563
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.00 sec 1.11 GBytes 956 Mbits/sec 0.000 ms 0/825598 (0%) sender
[ 5] 0.00-10.04 sec 1.11 GBytes 952 Mbits/sec 0.011 ms 0/825563 (0%) receiver

So far, so good - no packet loss was recorded and data transfer rate is good.

Then, evaluation module was inserted between the hosts

test setup

and tests were repeated

# ping 172.16.0.11
PING 172.16.0.11 (172.16.0.11) 56(84) bytes of data.
64 bytes from 172.16.0.11: icmp_seq=1 ttl=64 time=0.149 ms
64 bytes from 172.16.0.11: icmp_seq=2 ttl=64 time=0.187 ms
64 bytes from 172.16.0.11: icmp_seq=3 ttl=64 time=0.182 ms
64 bytes from 172.16.0.11: icmp_seq=4 ttl=64 time=0.177 ms
64 bytes from 172.16.0.11: icmp_seq=5 ttl=64 time=0.170 ms
64 bytes from 172.16.0.11: icmp_seq=6 ttl=64 time=0.195 ms

Iperf3 test was performed using TCP protocol

# iperf3 -c 172.16.0.11

Connecting to host 172.16.0.11, port 5201
[ 5] local 172.16.0.10 port 50024 connected to 172.16.0.11 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 114 MBytes 959 Mbits/sec 0 390 KBytes
[ 5] 1.00-2.00 sec 112 MBytes 942 Mbits/sec 0 390 KBytes
[ 5] 2.00-3.00 sec 112 MBytes 942 Mbits/sec 0 390 KBytes
[ 5] 3.00-4.00 sec 111 MBytes 935 Mbits/sec 0 390 KBytes
[ 5] 4.00-5.00 sec 112 MBytes 942 Mbits/sec 0 390 KBytes
[ 5] 5.00-6.00 sec 112 MBytes 942 Mbits/sec 0 390 KBytes
[ 5] 6.00-7.00 sec 112 MBytes 942 Mbits/sec 0 390 KBytes
[ 5] 7.00-8.00 sec 112 MBytes 942 Mbits/sec 0 390 KBytes
[ 5] 8.00-9.00 sec 112 MBytes 942 Mbits/sec 0 390 KBytes
[ 5] 9.00-10.00 sec 112 MBytes 942 Mbits/sec 0 390 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 0 sender
[ 5] 0.00-10.04 sec 1.10 GBytes 938 Mbits/sec receiver


And UDP protocol

# iperf3 -c 172.16.0.11 -u -b 1000M

Connecting to host 172.16.0.11, port 5201
[ 5] local 172.16.0.10 port 56709 connected to 172.16.0.11 port 5201
[ ID] Interval Transfer Bitrate Total Datagrams
[ 5] 0.00-1.00 sec 114 MBytes 956 Mbits/sec 82534
[ 5] 1.00-2.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 2.00-3.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 3.00-4.00 sec 114 MBytes 956 Mbits/sec 82562
[ 5] 4.00-5.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 5.00-6.00 sec 114 MBytes 956 Mbits/sec 82562
[ 5] 6.00-7.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 7.00-8.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 8.00-9.00 sec 114 MBytes 956 Mbits/sec 82563
[ 5] 9.00-10.00 sec 114 MBytes 956 Mbits/sec 82562
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.00 sec 1.11 GBytes 956 Mbits/sec 0.000 ms 0/825598 (0%) sender
[ 5] 0.00-10.04 sec 1.11 GBytes 952 Mbits/sec 0.020 ms 0/825573 (0%) receiver

Very good results - no packet loss was recorded and the bandwidth was very similar to the direct connection setup.

Finally, Netpipe test provided results as below - transmission rate curve when using evaluation kit is hard to distinguish from direct copper connection.

netpipe evaluation kit

Test results

Following test cases take into consideration the fact that unobstructed data channel is sometimes hard to obtain. For example, in the setup as on the photo below - optical interface is connected to the equipment, providing isolation without creating weak spots like connectors that can get dirty, damaged or become point of water or humidity ingress. Unfortunately, all the benefits of such a connection would be lost if enclosure wall (or dirty/scratched enclosure wall) would hinder the optical communication.  

smart meter with optical head

Test cases

To test the influence of different types of materials in the optic link, several tests were devised. 

For every scenario, two test runs were performed and then compared to two series of reference data - this approach was adopted to detect possible differences between test runs.

Plastic profile

As a mock-up of typical window glass (with at least two glass panels separated by the air gap), plastic profile (commonly used to store DIP chips) was used.

{gallery}Plastic profile

plastic profile 1

Plastic profile

Profile under test

Profile under test

Plastic profile test was passed without observable signal degradation - in fact, signal quality is hard to distinguish from the direct connection.

plastic profile

String bag

As plastic profile test was successful, let's find something with even more glossy surfaces, possibly creating more reflections - something like a string bag

{gallery}String bag

String bag

Another reflective plastic test case

under test

Under test

This one was more challenging - depending on the bag placement and number of folds, transfer was either not possible or was pretty good:

string bag

As can be seen - overall test result was ok, but some packet loss was detected (visible on the plot when only one of two data series had momentary performance degradation, indicating TCP retransmission caused by packet loss).

Plastic ruler

What's about thicker plastic element? Like a transparent enclosure wall? Let's see

{gallery}Plastic ruler

Thicker plastic element

Thicker plastic element

Under test

Under test

As can be seen, transparent plastic element about 2mm thick is not creating observable signal quality degradation in this test.

plastic ruler test

Semitransparent foil

And what will happen if our obstacle will be not fully transparent?

Semitransparent foil

This one is really interesting - one data series has performance similar to the direct connection and another exhibits noticeably longer transmission delay (for small data blocks) but without visible data loss symptoms. 

Semitransparent

Blue foil

To this point we were testing transparent or semi-transparent obstacles. Let's see what will happen when our obstacle will be of different color - for example blue (not expected to attenuate IR radiation)

blue foil

As can be seen - nothing spectacular had happened - transfer rate is again very similar to the direct connection.

blue foil

Red foil

If previous one was working that good, let's see what will happen when red (possibly attenuating IR signal) foil is used?

red foil  

This test was conducted in two parts: first test iteration was conducted using double layer of red foil and resulted in consistent increase of transmission delay for both test series (as seen on the plot below). Trying to repeat the test using three layers of the foil resulted in a very high packet loss, preventing the benchmark from completing - possibly attenuation was too high to establish a reliable link. 

Red - double layer

Summary

AFBR-FS50B00 seems to be very capable optical interface for short-range free space (or not-exactly-free-space as we have learned) links, allowing for all sorts of temporary and not physically connected interfaces. Some care should be exercised to precisely put both interfaces in line, especially for temporary setups, because misalignment of more than 1 - 1.5 mm is considered problematic for high speeds and expected low bit error rate. In some use cases temperature range starting from 0°C could be somewhat limiting.

Gigabit Ethernet evaluation kit allows for a very quick deployment of the transceiver by allowing it to interface to the standard and inexpensive copper gigabit Ethernet equipment. Its compact design resulting in shorter than specified optical link length is not hindering the attainable speed and link quality. Somewhat problematic is a lack of detailed documentation that is limiting the possibility to understand some of the edge cases - for example, increased link latency (but no visible packet loss) in cases of increased optical signal attenuation seems to be linked with media converter operation, but nothing more solid can be said without additional data. 

Anonymous
  • good idea! - must give it a try...

  •   I don't know if this was in my application but probably not.  Laughing  ANYWAY... all-thread was going to be the test jig.  Initially, I thought of continuing to stack standoffs (like those that come in the kit), but how do you plot the falloff when you get to the end of the range?  Threaded rod would allow you to make millimeter adjustments.  For that matter, 4mm threaded rod has a pitch of 0.7mm.  6 faces on a nut.  Roughly 0.12mm per face.  That's pretty small.  You would want to make a holding jig with the same hole pattern as the cards to hold the threaded rod (maybe two plates if the riods are long).  This will keep them all parallel and supported.  Yes, the 8 nuts are going to be a pain, but it's controlled and repeatable.

  • Thank you!

    And as of distance/alignment tests - I was initially thinking about executing them, but after reviewing misalignment curve I have realized it would be difficult to do repeatable distance and (especially) alignment tests: as maximum misalignment is about 1 mm, distance test would involve using hardware setup with minimal leeway to not add effects of misalignment to the results from different distances.

    And misalignment test would need a precision and repeatability in the range of fractions of millimeter - probably something like modified 3d printer could be used, but I am currently not owning one...

    If I can prepare a workable test setup, I could probably add them, but for evaluation of this evaluation module (in contrast to the test of the transceiver alone) they are probably not strictly necessary - as they would involve kit disassembly/modification (but the results could be very interesting of course)

  • Nice review.

    Are you going to test the distance sensitivity?

    Have considered testing for alignment sensitivity?

  •  Nice review.  You answered the primary questions I had about this system.  Well done. Thumbsup