Hi Daniel On Friday 06 March 2009, Daniel Lee wrote: > I do beleive I have a method that would allow a USB port to be used with > external hardware as well as I have a ep9302 arm9 board with ethernet that > I have ported a version of 2.4.21 with jffs2 that I use for realtime audio > intercom systems.
Note - "realtime audio" does not have the same demands as machine tool control. For audio, missing a deadline once in a while is not critical. > This hardware could be used as a base for a new board. The EMC2 software > should run on my linux if it were recompiled for my arm9 linux image. First stage would be to get an RTAI patched kernel running on the hardware. Not sure what the current state of ARM support is within RTAI, but there is only three basic patches to test. Second stage would be to replace the Intel specific sections of emc2 code with generic calls. > The idea is that we offload the realtime sections to hardware > that is designed more for real time. We allow the pc to que up the motion > updates in 1 ms pieces. If we structure the software correctly we would > allow simple machines to load the rtos under linux like you do now and were > needed the interface can be offloaded to an external cpu by ethernet or usb > or even serial maintaining the step and servo loops out side the pc. The original design of EMC had a clear separation of realtime and non-realtime code along with a single channel of communication - Quite likely modelled on Delta Tau or Galil hardware. > If we allow for a hartbeat between external boards ( your servo time 1 ms ) > we can expand the system to any size and mix servos,steppers and other types > of hardware. If we allow motion commands to be qued in advance by the pc > EMC can operate in user space only. EMC already generates motion commands in user space and uses a queue of higher level canonical commands - Queueing of the lower level motion commands is part of the user<->realtime interface. > We could move the stepping funtions into loadable drivers. I would suggest you get an RTAI patched kernel running on your ARM board first. From what I have seen of various latency tests, performance (for a stepper driver) is extremely poor. > All trig funtions as well as kenetics would be handled in user space with > simple intiger math used in the kernal space. Removal of floating point math from kernel space code has been suggested before. > have found that many floating point libarys are not completely reenterant > and should never be used in interrupts. Also depending on the hardware > platform the floating point libs contain differnet transidental funtions as > well as some intel processors require software patches to work around bugs > in the floating point processor. All these issues make realtime floating > point unrealiable or at least difficult to work with. Add to the list the cost of save/restore fpu registers along with the problems of compiler options.. Floating point math in kernel space is a bad idea. There are a few fixed point math libraries around, and I have come across one tuned for ARM processors - The one I looked at provides basic trig functions and would probably be accurate for most needs. > I would like to help devlope a system that is hardware independent. It could > run on a MAC, ARM9, or other linux hardware. In the near future there will > not be printer ports on PCs. It is hard to spend time on new software that > can not be run on new PCs or notebooks. I have a toughbook that can handle > a coolant spill. It would be good to be able to run the code on that PC as > well as a desktop. It is difficult to predict what will happen with general purpose hardware - As long as expansion slots are provided, there will be a supply of plug-in IO cards. Certainly, using USB or ethernet expands the range of supporting computers and also removes much of the OS specific code. Regards, Paul. ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
