BroadR-Reach click
PID: MIKROE-2796
Weight: 26 g
BroadR-Reach click
brings the industry grade communication standard to the mikroBUS™,
which is built to be used in an Ethernet-based open network. The click board is equipped with
the BCM54811 Transceiver from Broadcom Limited, which is used to provide the hardware
PHY layer for the network, and the W3150A+ from WizNet, a hardware LSI protocol stack, that
provides an easy and low-cost solution for high-speed Internet connectivity for digital devices by
allowing simple installation of TCP/IP stack in the hardware.
BroadR-Reach® point-to-point Ethernet PHY technology was developed by Broadcom Limited.
BroadR-Reach® technology is a robust Ethernet physical layer interface, designed for use in
noisy environments and harsh conditions, such as in industrial networking applications. This
technology allows multiple systems to simultaneously access information over the unshielded
single twisted pair cable, reducing connectivity costs and cabling weight. As such, it offers a
great alternative to older, rather limited standards used so far, and enables faster data rates to be
transferred over the existing cable networks.
How does the BroadR‐Reach click work?
BroadR-Reach® can be used to establish full duplex Ethernet-based connectivity for applications
at 100Mbps over a single, unshielded twisted pair cable. This is possible because of the used
signal modulation. These attributes make this communication standard robust and immune to
interference and as such, it is an ideal solution for industrial network applications or networks in
any other areas with a lot of electromagnetic interferences (EMI).
BroadR-Reach click uses the physical layer IC, also known as the PHY, labeled as BCM54811
and produced by Broadcom. This IC is used for transmitting and receiving the signal on the
network, on a physical level. The BCM54811 IC on click board is configured by a small, eight
pin PIC16F18313 microcontroller, to work with the BroadR-Reach® communication standard.
This onboard microcontroller also sets the BroadR-Reach® Master/Slave configuration, as well
as the operating mode of 10Mbps/100 Mbps. The desired communication and operational mode
can be selected by two small DIP switches on the click board. For more information about the
position of the switches, refer to the
Onboard settings and indicators
table, below.
BroadR-Reach click has been designed to demonstrate and test 10 Mbps BroadR-Reach and 100
Mbps BroadR-Reach connectivity. However, the BCM54811 as a device is a triple-speed
10/100/1000BASE-T Gigabit Ethernet (GbE) transceiver. In addition to 10Mbps and 100Mbps
BroadR-Reach connectivity, the transceiver can support 1000BASE-T, 100BASE-TX and
10BASE-T on standard Category 5 UTP cable. The 10BASE-T Ethernet can also run on standard
categories 3, 4, and 5 UTP. The BCM54811 is designed to exceed IEEE specifications for noise
cancellation and transmission jitter, providing consistent and reliable operation over the broadest
range of existing cable infrastructures. Depending on the cable type used, it can reach up to
300m at 100Mbps or 500m at 10Mbps. The BCM54811 is fully compliant with the RGMII and
MII interface specifications, allowing compatibility with industry-standard Ethernet MACs and
switch controllers.
The W3150A+ LSI protocol stack is used to send the data to the BCM54811 IC, which takes
care of the low-level communication. The protocol stack IC itself uses the SPI interface for
communication directly with the host MCU and it takes care of the proper addressing, TCP/IP
stack support and other tasks needed for the network communication. It uses the standard MII
(Media Independent Interface) to communicate with the Ethernet PHY chip.
MikroElektronika provides libraries that help with the development of own application, by
simplifying the communication between the MCU and the W3150A+ and thus, speeding up the
firmware development.
Specifications
Type
Applications
On‐board
modules
Key Features
Interface
Ethernet
It can be used for realising network in industrial environment, automotive industry and
other places that require a good and reliable Ethernet‐based open network.
BCM54811 BroadR‐Reach capable Ethernet PHY IC from Broadcom, W3150A+ hardware
LSI protocol stack by WizNet, PIC16F18313 controller from Microchip.
Robust and reliable interface, designed to be used in industrial and noisy environments,
only one twisted pair required for the full duplex communication.
GPIO,SPI
Input Voltage 3.3V
Click board size L (57.15 x 25.4 mm)
Pinout diagram
This table shows how the pinout on BroadR‐Reach click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
Pin
1
2
AN
RST
PWM
INT
16
15
NC
INT
Notes
NC
Reset
RST
Interrupt pin
SPI Chip Select
SPI Serial Clock
CS
SCK
3
4
CS
SCK
MISO
MOSI
3.3V
GND
RX
TX
SCL
SDA
5V
GND
14
13
12
11
10
9
NC
NC
NC
NC
NC
GND
Ground
SPI Master In Slave Out
MISO
5
SPI Master Out Slave In
MOSI
6
Power supply
Ground
+3.3V
7
GND
8
Onboard settings and indicators
Label
PWR
SW1.1
Name
Power LED
Mode Selection DIP
Switch 1.1
Mode Selection DIP
Switch 1.2
Default
‐
Left
Power LED indicator.
Master/Slave mode selector, Master at left position, Slave at
right position
10/100 network selector, 10Mbps at left position, 100Mbps at
right position
Description
SW1.2
Left
Software support
We provide a library for the BroadR‐Reach click on our LibStock page, as well as a demo
application (example), developed using MikroElektronika compilers. The demo can run on
all the main MikroElektronika development boards.
Library Description
BroadR‐Reach click library contains basic functions for controlling the click board, but also
the advanced functions, which abstract basic operations to a simple send or receive
functions.
Key functions:
uint8_t broadr_socketOpen(uint8_t socket, uint8_t mode, uint16_t settings)
-
Opens a socket in the selected mode, enabling its operation
uint8_t broadr_sendData(uint8_t socket, uint8_t * pSendData, uint16_t
bytesCount)
- Ends data from the selected socket
uint8_t broadr_receiveData(uint8_t socket, uint8_t mode, uint8_t *
pReceiveData, uint8_t * headerInformation)
- Reads received data from the selected
socket
Example Description
The application is composed of three sections :
System Initialization ‐ Initializes pin, SPI peripheral, and logger functions.
Application Initialization ‐ Initializes the click driver, sets the required network parameters
(Addresses), opens socket 0 in UDP mode, and sets the destination address and port for that
socket.
Application Task ‐ Sends data contained in the sendData array and checks if any data has been
received. If so, the received data is printed on UART. Contents of the sendData array are
automatically changed in each iteration, so that each sent packet is different from the previous.
* Sends sendData
*/
broadr_sendData(_BROADR_SOCKET0,
&sendData,
18);
/*
* Checks if data is received, and writes received data if so.
*/
if
(broadr_getReceivedSize(_BROADR_SOCKET0))
{
mikrobus_logWrite("Received data:", _LOG_LINE);
broadr_receiveData(_BROADR_SOCKET0, _BROADR_MODE_UDP,
&receivedData,
&receiveHeader);
mikrobus_logWrite(receivedData, _LOG_LINE);
}
else
{
mikrobus_logWrite("No data received.", _LOG_LINE);
}
/*
* Increments packet number in send data text, resets after 99.
*/
sendData[16]
=
sendData[16]
+
1;
if
(sendData[16]
>
'9')
{
sendData[16]
=
'0';
sendData[15]
=
sendData[15]
+
1;