Re: IEEE-1284 problem



Jon Elson wrote:
Hello,

I have been making a motion control board that communicates
with a PC through the IEEE-1284 protocol of the PC parallel port
(EPP mode). It works fine using just any Dell desktop's on-motherboard parallel port. I tried to use a SIIG regular-PCI
plug in card, and I get intermittent data garbling when data is sent from my board to the PC. I have looked at the signals extensively with both a scope and a logic analyzer, and can't find any significant differences. Everything seems to matter, ie. changing cable length, attaching logic analyzer, etc. alters the frequency of the errors. I haven't been able to exactly figure out what is going wrong, whether noise is causing incorrect interpretation at my board's end or the PC end.
I'm guessing either my board is seeing noise on either ADDRSTB/ or DATASTB/ or nWRITE, or the PC end might be picking up noise on nWAIT and sampling the data at the wrong time.

I have a fair amount of digital "filtering" of the signals in my FPGA to exclude noise from the clock signals.

Has anyone used other IEEE-1284 PCI plug-in boards on custom devices with good results? I specifically need something that does the IEEE-1284/EPP modes flawlessly, as most of the later motherboard chips seem to do. The SIIG card is a JJ-P00212-B, which requires a DOS/Win 95 program to set the mode of the parallel ports, which I did. (It apparently saves the setting in a NV-ROM.)

Thanks in advance for any helpful thoughts!

Jon

Are you terminating the signals properly? Is your add-in board terminating the signals properly?

Poorly terminated signals could cause considerable ringing on the strobe pins, which would cause double writes. Termination matters, but things often work when only one side is terminated; it may be that your board isn't terminated, the motherboard is, and your add-in board isn't.

I'd go over the IEEE-1284 spec carefully for the expected termination on the printer side and make sure I was compliant. Then I'd consider terminations anyway, just to make sure.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" gives you just what it says.
See details at http://www.wescottdesign.com/actfes/actfes.html
.



Relevant Pages

  • Abnormal process kill.
    ... all the processes do normal termination by ... sending SIGKILL signals with kill. ... case, they seem to be terminated as if, by kill -9. ... these broadcasting programs do nothing during broadcast, rather, ...
    (comp.unix.admin)
  • Re: Abnormal process kill.
    ... I've no experience with HP-UX but generally speaking core files can ... things like signals and exit conditions. ... all the processes do normal termination by ... > generates SIGABRT signal and as this signal is an "operating system ...
    (comp.unix.admin)
  • Re: Design Questions on Termination
    ... not need signals at all for my implementation. ... - it is used to request a config reload request. ... get a termination request, how do I gracefully shutdown that thread? ... replace the selectwith any other blocking operation (e.g. openssl ...
    (comp.programming.threads)
  • M2N32 WS professional and 4x1GB: Solved?
    ... same timing and eeprom settings), and this worked,confirming that the ... "CPU on die termination" was set to 300R, which is ok for 1 module, ... as high as the termination allows, just delays the signals too ...
    (alt.comp.periphs.mainboard.asus)
  • Re: M2N32 WS professional and 4x1GB: Solved?
    ... same timing and eeprom settings), and this worked,confirming that the ... "CPU on die termination" was set to 300R, which is ok for 1 module, ... as high as the termination allows, just delays the signals too ...
    (alt.comp.periphs.mainboard.asus)