On 06/26/2014 04:24 AM, Churms, Cecil wrote: > Good day, > > I am developing some hardware which will simulate an EPP-driven Pico USC card > using mini arduinos (that way, I can use the existing ppmc driver). Does > anyone know what "handshake" the ppmc driver goes through, to think that a > pukka ppmc/USC card is present? > > Well, I have some question if it can work if all software-driven. The timeout timer for EPP mode is usually 10 us, and there is a lot of traffic for each servo cycle. You have to read 4 encoder counter of 24 bits each, so that is 12 EPP read cycles, and write 4 step rate generators, another 12 EPP write cycles, plus the digital I/O. This takes about 100 us on a good Pentium computer.
The boards have a device type ID, which is a register typically at address 0x0f. See http://pico-systems.com/univstep_regs.html for the register definitions of the module. So, the driver puts out the address 0x0f on the data lines, drives WRITE/ low and then drives ADDRESS_STROBE/ low, then waits for WAIT to go high signaling the response is available. It then raises ADDRESS_STROBE/. Then, it turns the parallel port data drivers to read mode, deasserts WRITE/ and asserts DATA_STROBE/ low to read the contents of that register. When WAIT is true, it reads the value from the data lines, and deasserts DATA_STROBE. All that activity reads one byte of data from the device. When reading/writing consecutive bytes, the address counter in the device auto-increments, so you don't have to send the address each time. The board ID has a high-order device type of 4 bits, and a version ID in the low 4 bits. The USC device ID is 4. So, 0x41 would be the first rev of a USC board. Later revs enable additional features in the driver. What is the purpose of your project? Using code on an arduino, you will never come close to the 10 MHz clock of the step rate counters on the USC board. This gives a step timing resolution of +/- 100 ns, and step rates up to 300 KHz with jitter of about 3%. Also, you will never come close to the performance of the Beagle Bone with PRU which is running step generator code at 200 MHz. Jon ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
