While troubleshooting a problem where maybe two bytes
out of 5000 repeat the byte before them I realized that
every 32nd read there is a 10usec reset. This seems to
be the cause of the repeated bytes. Sometimes the
reset doesn't cause a problem but other times it does.
I applied the following band-aid code and the repeated
bytes went away providing consistant reads:
IF reset = '0' THEN
IF reset_count = "11" THEN
address_reg <= (others => '0');
epp_state <= IDLE;
address_state <= LOW;
data_flash_en <= '0';
data_epp_en <= '0';
OE <= '1';
WE <= '1';
ELSE
reset_count <= reset_count + 1;
END IF;
This basically ignores short reset's and only responds to
sustained resets. This doesn't really address the issue
though. I did some searches on the Internet about what
can trigger a reset on the epp port but had no luck. So
if anyone can figure out why these resets are happening
please let me know.
Thanks,
Jack.
Logged In: YES
user_id=1098150
Probably, your port works in ECP mode. Try to set EPP mode over BIOS or OS.
Patsakh
Logged In: YES
user_id=1188837
I'm definately in EPP mode. After playing around with this
more it seems to be intermittent. It happens some times and
then doesn't others.
Logged In: YES
user_id=1098150
Try to unload the parallel port driver (parport.sys).
Patsakh
Logged In: YES
user_id=1188837
That's a great idea. I am using the same parallel port to
program the cpld. I usually close impact before using the
writing program but maybe something is left open. I think I
will try on a completely different machine that does not do
anything else on the parallel port.
Jack.