Re: IEEE-1284 problem
- From: Tim Wescott <tim@xxxxxxxxxxxxxxxx>
- Date: Tue, 13 May 2008 08:02:01 -0700
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
.
- Follow-Ups:
- Re: IEEE-1284 problem
- From: Jon Elson
- Re: IEEE-1284 problem
- From: Jon Elson
- Re: IEEE-1284 problem
- From: Jon Elson
- Re: IEEE-1284 problem
- References:
- IEEE-1284 problem
- From: Jon Elson
- IEEE-1284 problem
- Prev by Date: Re: 3phase PFC
- Next by Date: Re: a dozen cpu's on a chip
- Previous by thread: Re: IEEE-1284 problem
- Next by thread: Re: IEEE-1284 problem
- Index(es):
Relevant Pages
|