GigaBlox Rugged: Initial Tests
This post summarises the initial test results on our new rugged gigabit ethernet switch, GigaBlox Rugged.
The manufacture quality of the GigaBlox Rugged board looks very good. We generally find this is the case with our USA manufactured line of products, that overall board quality is slightly better than with our Chinese manufactured line. No issues here.
We were a little disappointed with the quality of the custom cables we had made for this product. They do work, but the ground shield was not properly crimped into the RJ45 connector housing, which meant the ground shield braiding eventually works its way loose. Having fine metal braiding loose is not an ideal situation in an embedded system, especially if the braid breaks and creates stray pieces of metal inside an enclosure.
Ultimately we were probably too ambitious with this cable design as there is not enough space in the RJ45 housing for the ground braid. For our next revision, we will either use a thinner ground braid or switch to a ground foil. The short-term solution to this problem is adding additional heat-shrinking around this area of the cable.
The rest of the cable seems fine, it’s not the most flexible of cables but that is to be expected with 4 twisted pairs and a thick ground braid.
Low voltage (15V) test
For our first basic test, we applied 15V to the input to the board and checked behaviour.
The board draws around 100mA when no ports are connected, which corresponds to power consumption of 1.5W.
With all four ports performing 1Gbps data transfer, the current draw increases to 226mA, which corresponds to power consumption of 3.39W.
High voltage (60V) test
We then applied 60V to the input to the board and checked behavior.
The board draws around 29mA when no ports are connected, which corresponds to power consumption of 1.74W.
With all four ports performing 1Gbps data transfer, the current draw increases to 75mA, which corresponds to power consumption of 4.5W.
Data Rate Tests
For testing data rate, we used our test rig which consists of four Raspberry Pis, each running iperf3.
As expected, the boards perform well, delivering nominally around 940Mbps on all ports (this is the theoretical limit, as described in our other post).
Heat on board, 1gbps on all ports
With the board powered and performing 1Gbps on all ports, an input voltage of 30V, and ambient temperature of 23°C, we see the temperature of the board reach 74°C in some places. This is a temperature increase of 51°C from ambient and is more than we initially expected.
As is clear from the image, the majority of the heat emanates from the VSC7512 chip. The VSC7512 has a maximum junction temperature of 125°C, so with a temperature rise of 51°C, this implies the maximum ambient temperature of this board is 74°C.
However, this is not the full picture. These tests were run without any external heatsinking or airflow on the VSC7512. Now we apply a heatsink and retest the board…
GigaBlox Rugged with a small 13mm x 13mm x 5mm copper heatsink applied to the VSC7512 using a thermally adhesive pad.
With the heatsink applied, the heat on the board drops to around 56°C, meaning the temperature rise from ambient is around 23°C.
In summary, it is advisable to run GigaBlox Rugged with some kind of thermal heatsink on the VSC7512. With our minimal heatsink, we saw the temperature rise drop from 51°C to 23°C. A temperature rise of 23°C corresponds to a maximum ambient temperature range of 102°C, however, this is something that must be tested in application.
Performance at high temperature
We repeated our tests on the board while applying an external source of heat for 5 minutes. We were able to operate with 135°C on the board for five minutes, at which point we stopped the test. When we increased the temperature to 140°C, data rates went to 0Mbps and the links were down. Once the board cooled back to 125°C, the ports re-established and we were about to achieve 900Mbps rates on all ports. We would like to run additional tests at 135°C for a 2 hour period to further qualify performance.
Performance at low temperature
We repeated our tests on the board while applying a cooling spray. We were able to operate with -10°C on the board for five minutes, we were unable to reduce temperature lower than this, therefore we are not able to fully qualify this temperature range yet.
125°C 2 hour full data rate test
To achieve more confidence on the board operation at high temperatures, we ran a full data rate test while applying hot air to the board to maintain a constant 125°C board temperature.
We set our hot air gun to a temperature of 280°C, mounted approximately 50mm above the board. With this method, we maintained a board temperature of between 123°C and 128°C while running data rate tests on all ports at 1Gbps, with 15V input voltage for 2 hours.
We can confirm that we were able to sustain around 940Mbps on all ports for the entirety of the test.
While there are limitations to this approach, for example we can only apply heat to the top side of the board (and we have only tested 1 board), this does give us better confidence that these boards will work at ambient temperatures approaching 100°C.
The onboard firmware (VSC6825, F5 Unmanaged) that we uploaded to this board states that it enables the following features…
Basic L2 switch features:
– Auto negotiation mode is enabled on copper ports.
– MAC address auto learning (up to 4,096 entries)
– MAC address auto ageing (300 seconds)
– Jumbo frame (up to 9,600 bytes)
- Link Aggregation and LACP:
The feature to bundle multiple ports (member ports) together into a single logical link.
An aggregation member set requires two ports at least.
The aggregation code is based on the following informations.
– Source and destination IPv4 address
– Source and destination TCP/UDP ports for IPv4 packets
– Source and destination TCP/UDP ports for IPv6 packets
– IPv6 Flow Label
- Loop Guard:
The feature to prevent the port loop from happening.
When a loop is detected, the loop ports will be disabled around 10 seconds
first and then back to the normal state after timeout. The above operations
are repeated if the loop is detected again.
- Power Saving – ActiPHY:
The feature to save power when port is being link-down status.
- IEEE 1588 – E2E Transparent Clock:
The feature to calculate residence time for a packet in the switch, the correction
packet field will be updated.
Three encapsulations are supported:
– PTP over ETHERNET
– PTP over IP
– PTP over IPv6
Of most interest here is the jumbo frame capability and IEEE1588 end-to-end transparent clock. We will verify jumbo frame capability in due course on our test rig. For IEEE1588, we will most likely need a mechanism to input 10MHz to this board. For this revision, we’ll test this by manually soldering thin wires to the pins of the VSC7512. For the next revision, we expect to put RF connectors on the board to allow input of 10MHz and 1PPS signals.
It is worth mentioning that the VSC7512 has some powerful management features and we are not using these at present. Configuration of these features is (in theory) easy by customizing the VSC6825 build image or using the VSC6803 API (both freely available). GigaBlox Rugged has a TSSOP-14 footprint onboard that would allow a microcontroller (such as the STM32L011D4P7) to be populated, which can configure the VSC7512 over SPI (this is another management method).
We were unable to get the stacking feature working at this time, unfortunately (two boards stacking to form an 8 port switch). Getting this working should simply involve a customization of the boot image to activate the SGMII ports on the stacking header, but at this time we are not able to test this.
When running GigaBlox Rugged from voltages below 9V, or when the input voltage rise is non-monotonic, we did notice that GigaBlox Rugged can occasionally get “stuck” in an unbooted state. This is evident by all port LEDs being solid orange. This issue is caused by a power sequencing issue and is solved by power-cycling the board. This is not a show stopper, but it will need to be fixed on our next revision to allow more reliable operation at voltages below 9V.
We plan the following revisions for the next version
- Improved cables using a ground foil that crimps into the RJ45 housing.
- Inclusion of a heatsink. This will either be a simple part that adheres only to the VSC7512 or it will be soldered onto the board directly over the VSC7512. We would like to give our customers the ability to design their own heatsinking solution, so we expect this will just be a simple part that adheres to the VSC7512.
- Addition of RF connectors for 10MHz and 1PPS input.
- Add power sequencing logic to the reset line of the VSC7512 to improve tolerance to voltage transients at low voltage.