Development of an Optical Time-Domain Reflectometer (OTDR)
A manufacturer of measuring instruments.
Develop an OTDR for optical data transmission networks, which helps:
- Read the parameters of optical networks, determine the length of the cables, as well as detect and locate damaged and broken cables
- Vizualise measurements in the form of graphs and analyze the data obtained
- Use a multi-lingual user interface with easy addition of new languages
- Control the device via hardware keys and touch screen
- Receive data from a USB microscope - an optic endoscope (a cross-section optics image)
- Save the data to local NAND memory, a USB drive or a MicroSD card
- Function as a USB drive when connected to a computer
- Send and receive data via Bluetooth
- Maintain a fault-tolerant firmware update system
The device should be small-sized and powered from a 220 V / 50 Hz network, 24x7, or from a built-in battery for at least 8 hours.
A processor board based on the Texas Instruments AM3505 (Cortex a8) 600 MHz with 128 MB LpDDR and 256 MB NAND memory. USB 2.0 OTG, USB 2.0 Host, MicroSD and Bluetooth interfaces are installed on the compact board.
The following program components have been adapted for the device to function:
- U-Boot loader
- Linux kernel
- Buildroot-based root file system.
The boot loader (U-Boot) performs basic system initialization (RAM, ROM, network interface) and loads the operating system. It is also used for primary flashing of the product's firmware and diagnostics of the basic components.
The software part of the device includes standard Open Source components:
|Software component||Features / what it is used for|
|The Linux core (version 2.6.37, adapted by Texas Instruments for the AM3505)|
|We developed special software based on Qt4.7 (industry standard for Embedded Linux graphic applications)|
|Qt Linguist which is part of Qt||Multilingual support|
|QWT library||Displays graphs (ensures faster and better imaging of OTDR traces)|
|v4l2 library||Works with a USB microscope (fiberscope): it sets its parameters and receives images|
|bluez4 library||Works with a bluetooth interface|
|mdev||Works with connected devices: USB flash, MicroSD, fiberscope|
|Busybox||Uses basic internal console utilities|
|Buildroot distribution||Builds the entire system|
|Codesourcery compiler||Compiles the system using NEON commands|
Block diagram of the software:
- The use of Qt helps reduce the development time
- Small dimensions: 118 mm (L) x 76 mm (W) x 43 mm (H)
- Low power consumption: an average of under 5 watts in a typical application
- Low cost