Klemen Dovrtel wrote:
>
> I will continue here... I tested the epp parallel port mode and i can read
> and write data. Now i also tried to write the address but nothing happens,
> The strobe signal doesn't change its state.
>
> I also tried to set the wait signal to 0 and monitor the data_strobe (pin14)
> and address_strobe (pin 17) signal with oscilloscope after i executed a
> simple code (please see below). If i monitor the address_strobe signal
> nothing happens, but if i monitor the data_strobe signal, i can see the pause
> between the two read32() command.
>
>
> // simple code
> EPP_ADDR(0);
> EPP_ADDR(1);
> EPP_ADDR(2);
> EPP_ADDR(3);
> datain = read32(); // or write32(dataout)
> EPP_ADDR(0);
> EPP_ADDR(1);
> EPP_ADDR(2);
> EPP_ADDR(3);
> datain = read32(); // or write32(dataout)
>
> --------------
> static inline void EPP_ADDR(int w) {
> outb(w, ioaddr+3);
> }
>
> static inline __u32 read32(void) {
> return inl(ioaddr+4);
> }
>
>
This code looks OK at first glance, but some (not all) EPP implementations
may lock up when a timeout occurs, and not provide any more strobes
until the timeout is cleared by software. If you are not looping the
strobes
back to the wait signal, then it will timeout. You could use a NAND gate
to effectively or the two negative-true strobes together and then
feed that output to the WAIT input. (I think I have all those polarities
correct.) This would give a short negative-going pulse of about 600 -
900 ns
on the strobe.
Jon
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users