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
Ethernet
Applications
It can be used for realizing network in the industrial environment, and other places that require a good and reliable Ethernet-based open network.
On-board modules
BCM54811 BroadR-Reach capable Ethernet PHY IC from Broadcom, W3150A+ hardware LSI protocol stack by WizNet, PIC16F18313 controller from Microchip.
Key Features
Robust and reliable interface, designed to be used in industrial and noisy environments, only one twisted pair required for the full duplex communication.
Interface
SPI
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V
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).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
PWR | Power LED | – | Power LED indicator. |
SW1.1 | Mode Activation Selection | Left | Mode Selection M/S / 10/100: Upper position M/S, Lower position 10/100 |
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; } if (sendData[15] > '9') { sendData[15] = '0'; } Delay_ms(1000);
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- UART
Additional notes and information
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This Click board™ is supported with mikroSDK – MIKROE Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.