LVDS Front-end for Logic Analyzer - Page 1
Forum section: electronics / projects

author: NukerDoggie
author_rank: Contributor
timestamp: January 18, 2014, 04:16:59 pm
content: I want to take a decent LA, like maybe the LogicPort LA1034, and add an input pod that will read high-speed LVDS signals and convert these to LVTTL / LVCMOS. I'd like to have an 8-bit input minimum, so that I can feed 4 or more LVDS pairs into the pod and get 8-bit parallel LVCMOS coming into the LA1034.So the LA won't know it's reading LVDS - it will think its all legacy logic.The LA1034 is nice - it accepts up to a 200Mhz clock input for data sync, and that's probably the max (for now) that I'm interested in seeing. I know the LVDS physical layer is used to facilitate a lot of increasingly complicated protocols, but I don't think I care - I just want to capture the data streams to disk files and I can decipher them later.There are some nice TI and AD receiver chips out there that accept LVDS and output LVCMOS, but my problem is that I don't really want to create my own board.I want to find a demo board that I can use out of the box. Maybe it would have to be two demo boards synched together by the clock signal in order to get my 8 or more bits. But I'm having a hard time finding something suitable.If I do find something, it could go into a nice metal enclosure with some nice high-quality connectors, internal battery power (rechargeable), etc.This is going to be used to capture LCD interface logic in embedded systems for later analysis.Does anyone have a suggestion as to where I can find an evb?Thanks!

author: nctnico
author_rank: Super Contributor
timestamp: January 18, 2014, 05:03:24 pm
content: National (now TI) has many LVDS to parallel chips. IIRC they have demo boards as well. But why would you want to analyse LCD signals? These are pretty standard so there is not much to discover here.

author: dannyf
author_rank: Super Contributor
timestamp: January 18, 2014, 05:28:46 pm
content: Not sure what you are trying to do. You can always get a high speed la. Or some sort of adaper that outputs to your format : USB, serial, ir SD card.

author: Marco
author_rank: Super Contributor
timestamp: January 18, 2014, 05:39:06 pm
content: Your probes are essentially stubs (you can't terminate them, because at that point you are hanging 25 Ohm on the drivers and all the termination is shot) and ye average flying lead is far too long for a stub at 200 MHz AFAICS.You need a proper probe and LVDS front end, not a LVDS to LVCMOS converter ... I doubt you are going to find it as an evaluation module.

author: nctnico
author_rank: Super Contributor
timestamp: January 18, 2014, 05:51:12 pm
content: What he means is an LVDS bus (usually a few pairs) to parallel CMOS output (tens of outputs) which are at a relatively low speed.

author: NukerDoggie
author_rank: Contributor
timestamp: January 18, 2014, 06:03:16 pm
content: Right - LVDS bus to parallel CMOS output.I can handle the probes for the LVDS inputs - there are widely-available solutions for that. I can get converter chips with high-impedance LVDS inputs, or ones (receivers) that are 100 ohm terminated - whatever suits my purposes.Once I capture the display interface logic to a file or files, I can use a C++ solution to read the files and reconstruct the frame buffers that were originally presented to the LCD display. These can be analysed, converted to images, and compared to other images that were also reconstructed in a similar fashion.It's an automated testing solution for embedded targets to confirm that what was supposed to have happened on the LCD during a test case execution did or did not happen correctly. It replaces the guy with the camera doing the manual test and verification.

author: Marco
author_rank: Super Contributor
timestamp: January 18, 2014, 06:06:30 pm
content: I know what he means, what I'm saying that even if he finds an appropriate evaluation module he can't directly connect probes from the bus to that module. Only if the PCB has a dedicated buffer and test points specifically for attaching transmission line would he be able to use a converter evaluation module.Otherwise he is going to need active or attenuated probes (which you obviously can't directly connect to a LVDS receiver).PS. if either active probes or attenuation probe + front end solutions are really widely available I'd love to see a link though, but my google skills can't find them ... all the active probes I can find are highly manufacturer specific (apart from the few DIY solutions) and the analogue front ends for attenuated logic analyzer probes seem to just be built into the higher end logic analyzers.

author: NukerDoggie
author_rank: Contributor
timestamp: January 18, 2014, 06:50:53 pm
content: Hi Marco,One solution is for me to mimic the LCD connector and cable and disconnect the LCD itself. Another solution might be to use the high-impedance input LVDS converter chips, leave the LCD in place, and use a tap connector that goes in series with the LCD cable, and that has a short cable identical to the LCD's cable, and that short cable goes to my LVDS pod.NI and Agilent have some very expensive LVDS Logic Analyzers that tap the LVDS signals w/o loading and allow you to evaluate the circuit under test. But we're talking about $10K and up.This is a Proof of Concept project, so the expensive solutions aren't feasible at this point. But I think I could well succeed in this POC even if I use a target display interface that isn't near the top of the frequency charts (200Mhz). I could probably demonstrate the concept with an interface that has a pixel clock less than 100Mhz and an LCD that is smaller than 10". In the embedded world those small LCDs are the norm.Some of these LCD ribbon cables look pretty unassuming, considering that they carry hi freq. signals, and do so successfully. I think I can employ those plus the right high-quality connectors and accomplish my aim.

author: nctnico
author_rank: Super Contributor
timestamp: January 18, 2014, 07:32:45 pm
content: I'd use a camera and machine vision software techniques. With the help of OpenCV it is not hard to compare two images based on colors and shapes. This way you also test the display itself and the connector. Not testing the display is probably a showstopper for your solution. Besides that you'd need a logic analyser with lots of memory to capture and entire image. If you can capture synchronously you'd need 1Msamples per channel for an 800x600 image (don't forget dead time and vertical retrace).

author: NukerDoggie
author_rank: Contributor
timestamp: January 18, 2014, 07:45:03 pm
content: Machine vision assets are pretty expensive - at least looking at the NI offering makes me think they are.I'm much less concerned with testing the LCD itself than I am with verifying that the software and hardware upstream of the LCD are performing correctly. I didn't make clear that this is not an assembly-line testing scenario, but rather a scenario where we test software releases on various hardware configurations.As suggested by someone here, I lurked around the TI web site and found this promising-looking evb for around 700 bucks:http://www.ti.com/tool/TSW1400EVMI'll have to spend some time studying it - but something like this could work for my needs.

author: nctnico
author_rank: Super Contributor
timestamp: January 18, 2014, 07:54:24 pm
content: You shouldn't look at NI for low costOpenCV is a free software library (be sure to buy the book!) with which any decent programmer can create machine vision solutions using a PC and a 'webcam' (USB camera).

author: marshallh
author_rank: Unknown
timestamp: January 19, 2014, 03:14:34 am
content: get a de0-nano or some other altera board with mezzanine connector.

author: Marco
author_rank: Super Contributor
timestamp: January 19, 2014, 03:42:19 am
content: Quote from: NukerDoggie on January 18, 2014, 06:50:53 pmIf you can put a device in the middle then sure you can either daisy chain or put an extra drop on the bus with short stubs, but you will need a custom PCB at this point with male and female connectors of whatever the LCD uses.

author: codeboy2k
author_rank: Super Contributor
timestamp: January 20, 2014, 05:29:54 pm
content: I haven't thought this through too much, but perhaps you can look at one of the FPGA dev boards. As an example and one I am familiar with, the Lattice MachXO2 dev kit is inexpensive, has lots of I/O and can do LVDS signaling as well as LVCMOS and LVTTL.For example, theLCMXO2-7000HE-B-EVN, which is a MachXO2 break out board, has over 64 I/O pins brought out to headers and is less than $30. The part can be configured for LVCMOS on one I/O bank and LVDS on another.You need to write a (REALLY SHORT!) bit of HDL but it can be done in less than a day if all you want to do is clock 8-bits or more of LVDS data through the chip and out as LVCMOS. You have to write the small HDL, but at least you don't have to build the board -- just as you desired.A quick glance through the manual shows it brings out at least 34 differential pairs to the header rows, so you have 34 LVDS pairs. If you only use 8 or 16 differential pairs, then un-used I/O's can be selected from a different I/O bank for the LVCMOS outputs.cheers!MachXO2 Breakout Board Evaluation Kit User's GuidePS: The picture above shows the MachXO2-1200ZE part, but they changed the board since Jan 2013 to use the MachXO2-7000HE part, which has more I/O banks and 5x more logic fabric than the -1200 part

author: hlavac
author_rank: Frequent Contributor
timestamp: January 20, 2014, 06:30:05 pm
content: Or the older, cheaper, easier to getMachXO breakout board.

author: NukerDoggie
author_rank: Contributor
timestamp: February 01, 2014, 07:19:26 pm
content: Great suggestions - I'll look into this.I have another higher-level question whose answer might possibly simplify matters for me:In the embedded world there are both smart (asynchronous) and dumb (synchronous) LCD panels in use. Do either of these displays need to send any data (acks, etc) back to the CPU or GPU? Or is it the case with both smart and dumb panels that the CPU/GPU simply slams the data 'down the throat' of the Display and either it keeps up or it doesn't?Because if there's no acks or anything else sent by the LCD panel in the reverse direction then that greatly simplifies matters for me. I can disconnect the LCD and connect my LVDS inputs in place of it. I wouldn't need to worry about probes, etc. I could just use the same type of cable that the LCD uses.How can I find the answer to this question without reading scores of LCD panel interface spec sheets?

author: codeboy2k
author_rank: Super Contributor
timestamp: February 02, 2014, 05:17:21 am
content: You'll always want some kind of flow control to the panel.. minimally a level control signal back to the host cpu saying "I'm busy, stop!" ... i.e. a /BUSY signal back when the panel cannot take more data (buffers are full). Without this, you will be forced to artificially slow down your data to the panel and never really know if it's working right.. just blind faith.And you inevitably waste programming time trying to optimize this, sending data just fast enough but not too fast that the panel can't keep up.. and you again never really know if it's working right.Yes, you need to read the datasheet to find out how to interface to any particular panel. Most use out-of-band control signals like the /BUSY I described. Some use in-band signalling for flow control.EDIT: Oops I misread and thought OP was talking about a LCD display, not a TFT panelI carelessly glossed over it too quickly.. sorry about that..

author: nctnico
author_rank: Super Contributor
timestamp: February 02, 2014, 12:46:20 pm
content: For TFT screens LVDS is always one way. Still you'll find the signals are multiplexed. You really would be better of by using an LVDS to parallel converter. Please do some reading on the matter otherwise you'll be trying to run before knowing how to walk.

author: NukerDoggie
author_rank: Contributor
timestamp: February 02, 2014, 04:07:21 pm
content: Thanks ntcnico - I'll spend the time and effort to learn the interface details and do this right. Much appreciated insights!