PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Question regrading output of the min-centronics port on PXI chasis

Greetings,

I am a research assistant at Drexel University and I am working with a PXI-1045 running Windows XP and LabView 7.1.

I recently developed a LabView (7.1) program on a Dell Latitude D505 laptop. The purpose of the program is to provide three seperate bit streams on 3 parallel port pins (pin 2 clk, pin 3 data, pin 4 enable). I use these signals to program a seperate circut board by connecting these pins of the parallel port to a header on the programable board. Running this software on the Dell laptop, I am able to program the board.

Now the ultimate reason for developing this LabView VI is to run it from the PXI, allowing the PXI to program the board. However, when I run the program on the
PXI, the board does not accept the programming signals.

I used an oscilloscope to look at the individual signals being output from the laptop parallel port and the PXI mini-centronics port. The only difference that I can see is that the signals are a little slower on the PXI despite the fact that the PXI has a faster processor than the Dell laptop. There is no timing control in the LabView program I developed, it is free running. Having a slower bit stream should not matter to the board that I am programming anyway, there are only minimal timing constraints to the serial programming of the board, no maximum times are stated.

As I said, the signals are definitely being output by the PXI and as far as I can tell, they are correct, just a little slower. But the board that I am trying to program will not work with the PXI.

Is there any reason why this would work from a Laptop with a DB25 parallel port, but not from the PXI with the mini-centronics port. Any suggestion you could m
ake would be helpful. After much research into this issue, I am boggled.

Thanks,
Matt Garfield
0 Kudos
Message 1 of 7
(3,648 Views)
Matt,

If the signals look the same on a scope I'm not sure that the problem lies in a difference in the parallel port controlling your hardware. When you say that the port it is slightly slower do you mean that the time between data pulse is longer? Do you have both signals showing on the scope so that you can detect this delay? Is the board simply not responding to the bit stream that you are sending it or is it performing the wrong action or generating a flag of some sort? Make sure that your connections were not disrupted when transitioning from the laptop to the PXI controller.

Shea C
Applications
NI
0 Kudos
Message 2 of 7
(3,648 Views)
When I say the PXI output is slower, I mean it looks like a time stretched version of what get output from the laptop. The pulses are a little longer and likewise the space between pulses is a little longer. The entire data bitstream is 8 16bit words. The stream takes 7ms from the laptop and about 9ms from the PXI.

The board I am trying to program is simply not responding at all to the data stream.

I don;t think there'd be any problem with disrupted connections. I connect the laptop to the board (DB25 connected to a 4 pin header) and send the data- it works. I power cycle the board to clear the registers, connect the PXI to the board (mini-centronics connected to the 4 pin header) and it does not respond. As I said before, I am confident the signal
is being generated from the PXI because I can scope it and it looks correct.

I had both the laptop signal and the PXI signal displayed on the scope together and I compared the timing. As mentioned before, the PXI signal just looks like a time stretched version of the laptop signal.

Any other ideas?
Thanks for your response.
-Matt
0 Kudos
Message 3 of 7
(3,648 Views)
Try connecting a digital ground pin (on centronics port) to your programming device's digital ground. There might be a DC offset affecting your logic levels.
0 Kudos
Message 4 of 7
(3,648 Views)
Thanks for your reply. I do have the two grounded together.

As an update, I did get it to work, albeit intermittently. The final fix as of now was to run each of the lines I'm using from the centronics port through a passive RC Low Pass Filter (to filter out transient dips in the voltage from the lines), then run the output of the filters into a Buffer IC. With this setup, I can successfully program the boards 3 out of 5 times. 2 out of 5 it doesn't take and I have to try again. After about a month of trying to get this to work, this is the best I've seen yet.

I'm going to also try to use a much shorter cable form the centronics port to the cards. Right now, I only have access to a 10' cable, but I have a 3' cable on the way. I s
uspect that the shorter cable might help to quell some of the unpredictability.
0 Kudos
Message 5 of 7
(3,648 Views)
At least your making progress. In this case shorter is better. eh? 🙂
I didn't think you willing to modify the circuit with more components. In that case, resistor pull-ups should help significantly. Try using 10k ohm pull-up resistors between the 5v (vcc) and each data line. Install one before and after each buffer IC. (2 resistors per line total). I think that'll do it.

Sadien
0 Kudos
Message 6 of 7
(3,648 Views)
Matt,

I'd like to get a little more information regarding the issue you are seeing. You mentioned that you are using a 1045 model chassis but what model of controller are you using? When did you purchase this controller? Do you have any screen shots of a comparison of the two signals?

Shea C
Applications
0 Kudos
Message 7 of 7
(3,648 Views)