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

Reply via email to