Firmware Development for Serial and GPI Fibre Transceiver
Lynx Technik AG is a German company that designs high-quality products for professional A/V and broadcasting. All the Lynx products are defined and developed in collaboration with European and US broadcasters who helped specify features and set performance levels.
To develop firmware for an optical data transmitter to send control data such as RS232, RS485 and GPI contact closure information over a long-haul fibre optical link. Our client had a contract to supply tens of thousands of devices that were originally designed for Intel, but due to problems with component supply, this contract was at risk. Our client decided to migrate their hardware to another platform — Lattice FPGA but the required dev board was unavailable to order. So, the customer contacted Promwad as an official partner of Lattice to solve these problems.
We used our established contact with Lattice to get the required dev board on a priority basis: it was promptly delivered by a courier to our client's engineering office in Germany.
1. Concept development
We have worked through the firmware (FPGA), the hardware and software architecture of the future device, considering that two such devices can be connected back-to-back to build a bridge for the signals. Our client’s device was based on the CrossLink-NX FPGA, the first family of FPGAs implemented on the new LatticeNexus platform.
2. Hardware design
The device has one RJ45 connector with the RS232/422/485 interface. Only one interface type can be selected at a time.
The physical layer is implemented on multiprotocol transceivers from analogue devices. Also, the device has one RJ45 connector with two general-purpose inputs and two general-purpose outputs.
Our hardware engineers used an SFP module to transmit data over an optical channel. The TX part used a differential buffer with adjustable output voltage from TI to comply with the SFP signal level specification.
The MCU with USB from Microchip Technology was used to control the device from a PC.
3. Software development
We were responsible for firmware development for this fibre transceiver. The main function of its FPGA part was converting high-speed optical data to a low-speed parallel set of such interfaces as RS232/RS422 and GPIO in both directions.
This is how the data transfer was organised on the project: "Optical data has a special packet structure and is transferred as a serial bit stream. First of all, received data is deserialised and then a start of the packet is detected. After that, the packet is checked, and if it has the correct structure, the data is extracted and mapped to low-speed interfaces where required waveforms are made".
And here is a general architecture of the firmware that we developed:
We implemented the same process to transmit data in reverse direction: "Input lines of low-speed interfaces are mapped to corresponding places in the data word. After that this data is packed with other added fields. So, this packet is serialised and then sent to the high-speed optical channel."
The firmware is controlled by an external MCU that can select different operation modes of work through the UART interface.
We helped our client design a cost-effective optical data transmitter by developing firmware that made it possible to successfully migrate their hardware to another platform (from Intel to Lattice FPGA).
Also, we have resolved the component supply issue: Lattice, as our official partner, provided the necessary chips, IP core and support during this project. In this way, our customer was able to ensure mass production of the devices within the previously agreed time frame.
The final product is fitted with a CWDM SFP module that overcomes the restrictions in distributing Ethernet, serial, and GPI data signals over long distances. It allows up to eighteen optical signals to be multiplexed on a single fibre over a distance of up to 40km. Such modules may be used alone or mounted in an optional rack-mounting frame.