All the devices are situated on or near the bob or the controller normally. I2c is not meant for long distance communications but rather for closely located bussed devices.Having said that, I2c over differential pair is very reliable over large distances. If the driver software is implimented according to the interface specification it will be reliable. I am not intending nor will I advocate for it to be used for communications but rather for hardware devices that will expand the IO capability of Linuxcnc at reasonably low cost. Some devices have an interface speed of over 2Mhz. I would say that is pretty fast :)
On 2014-05-16 16:40, Gene Heskett wrote: > On Friday 16 May 2014 07:30:14 Marius Liebenberg did opine > And Gene did reply: >> Hi >> I am busy with a generic i2c component. I2c has some timing related >> features and I thought that it would make sense to load the component >> in a thread that has a very certain predetermined thread cycle time. >> This way it would be very easy to impliment timeing related features. >> Is it OK to load one's own thread or is the practise not advised. >> P.S. I am testing the code now in a very much slow downed thread in >> order for me to see what happens in Halscope. The production thread >> could have a time of 1us. >> >> Any thoughts? > I hate to rain on a parade, but this is not something I would recommend > around machinery Marius, as I have had some poor experience with it. > > The i2c protocol has a very poorly done output driver according to the > specs, and a maximum range over std 4 wire flat telephone wire of 39 feet. > It won't go 40, the failure is like a brick wall, I have been there, done > that with the remote control for a framestore at the tv station. And its > lack of noise immunity to all the noises around electrical machinery will > be a problem. > > Even a 5 volt TTL version of RS-232 will do it much more dependably over > reasonable distances, if the output buffers are 25mil rated source or > sink, with rail to rail swings. Besides, i2c is not that fast. 1 u-sec for > a data rate is beyond its capabilities, and you would have to do that > sampling in uart like hardware, then read the hardware at the more > leisurely base-thread. > > Cheers, Gene Heskett -- Regards /Groete Marius D. Liebenberg +27 82 698 3251 +27 12 743 6064 QQ 1767394877 ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
