Kenneth Lerman wrote:
> John,
> 
> When I think of that approach, I don't think rewrite; I think port. Of
> course, depending on what processor the USB device uses, that might range
> from difficult, to impossible.
> 
> If the USB device has floating point and is reasonably fast, it should be
> doable without much rewrite. Without floating point, it becomes
> significantly more difficult.
> 
> Ken

Perhaps.  But still a non-trivial task.  There are quite a few Kbytes of
shared memory containing data that passes back and forth from user space
(task, etc) and kernel space (motion controller).  The motion controller 
is also quite complex, and takes full advantage of the speed of modern
desktop CPUs.  Just because it runs OK on a 200MHz P2 doesn't mean it 
will run on a microcontroller.  I'm away from my EMC machine at the 
moment, but if somebody would run EMC and look at the HAL parameters
motion.controller.time, motion.controller.tmax, 
motion.command-handler.time, and motion.command-handler.tmax, they could 
report how long (in clocks) each of those blocks takes.  (controller and
command-handler do not include the PID and/or stepgen and other HAL 
stuff, just the trajectory planning and core motion control.)

I seem to recall something like 70,000 clocks, but I don't know if that
was for controller or command-handler or both.  At 200MHz, that is only
350uS, making 1KHz control very practical.  But simpler processors will 
need more clocks to run the code, and will have fewer clocks per second.

Regards,

John Kasunich

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to