Sometimes us developers receive crazy requests we often only shake our heads about at first. But then our ambition gets to us and we start tinkering. During this process, we often draw conclusions containing “basically”, “in principle”, “maybe” and “possibly”. And often that’s what leads our sales team to saying: “Fantastic! That’s what one of our customers wants. When are you finished?” At least that’s pretty much how we were approached about what turned out to be the NEO-FiberLink. The idea behind the device? Well – let me elaborate.
The idea behind the NEO-FiberLink
Our portfolio includes analogue KVM matrix switches of the CATCenter-NEO series. Analogue describes the way video signals are transmitted. With those devices you can transmit analogue signals with high bandwidth over several hundred meters of CAT cables. Now we all know that CAT cables are not the most suitable transmission medium for this purpose. But each IT installation uses many of them. Therefore avoiding blurry images takes some effort. At Guntermann & Drunck we call this technology IVT (Individual Video Tuning).
Often our customers need to exceed the given length restrictions between devices (max. 300m from computer module to user module). Therefore they need a device, which transfers KVM signals from CAT cables to optical fibres. Now they would be able to place two CATCenter-NEO KVM matrix switch systems up to 10km away from each other. And that’s where the idea for the NEO-FiberLink came into play.
Building an adapter for copper cables to optical fibres might not appear to be a big deal for outsiders. Many devices out there do the same for network signals. But for us developers it soon became obvious that we were facing a huge challenge. The NEO-FiberLink was going to be one of the most complex devices ever developed at G&D.
Entering the world of 10 Gbit/s technology
For transmitting signals on optical fibres, 10 Gbit/s technology was the only option. With this technology, we would be able to transmit video signals without any loss in quality through compression. Problem? With10 Gbit/s we entered a brand new world at the time of developing the NEO-FiberLink. Any hard- and software interfaces were new to us as well. The data sheets were swarmed with abbreviations like EDC, PMA and PMD. That’s why I even created a glossary to keep track of my work.
To transmit the video signal, the NEO-FiberLink first needs to balance out all disturbances through upstream CAT cables. But we couldn’t just use our approved IVT. There, users can manually readjust the image of “difficult” cables. The NEO-FiberLink, however, wasn’t going to have a possibility for manual adjustments. Therefore the image needed to fit instantly for all CAT cables.
I have to admit only creativity and hard work eventually led us to our goal. What looked good on paper often failed when used with certain CAT cables. Other approaches required time-consuming measurements that would have pushed some of our users’ patience to the limit. Finally we found a compromise: in order to display the optimised images as fast as possible, the NEO-FiberLink remembers the measured value for each computer module. If the module is selected again, it accesses the stored values, which eventually provide a clean video signal.
Turning analogue into digital video signals
Since we wanted to transmit the analogue video signal on a digital line, the signal had to be digitalised first. This task is carried out by a functional unit called Framegrabber, which is implemented in the programmable logic. To deliver correct results, Framegrabber needs detailed instructions about the kind of video signal it deals with. The NEO-FiberLink doesn’t know what resolution or refresh rate are set in the Windows display control. Finding this out requires real detective work. For this, the video signal is exactly measured. The result? Something every detective longs for: a fingerprint.
Now we have to check if the fingerprint already exists in the database in which we store all familiar video signals. If there is no fitting entry, we have to check which one of the usual calculation formulas best fits the signal. And even after the detective work is finished, there’s still so much more left to do to display the image in the best possible quality: detecting the exact image position and adjusting the correct phase. All of this goes unnoticed by the user.
Two ports double the work
Another challenge was the communication between the KVM matrix switch systems, which is supposed to be simply forwarded without any changes. However, the NEO-FiberLink needs to recognize if users access another computer or start an IVT measuring process. The related communication is trapped internally and partly changed. Making this process look simple from the outside requires lots of delicate work.
Since the NEO-FiberLink provides two CAT ports, it has to do all tasks twice at the same time. For me as software developer, this required “multi-threading” – i.e. I had to carry out multiple application threads at the same time. Luckily, the applied real time operating system offered all I needed and proved to be a powerful and reliable platform.
Despite its relatively small size, developing the NEO-FiberLink turned out to be a mammoth project. Thinking back to the many challenges we had to face, I’m still excited when I see the device in action.
And how about your company? Do you also have small devices that achieve great things?
by Dirk Eibach – Software Developer at G&D