Prev: re Goodbye to an era
Next: RF cable connection to board
From: krw on 10 Jun 2010 20:56 On Thu, 10 Jun 2010 09:51:06 -0400, Spehro Pefhany <speffSNIP(a)interlogDOTyou.knowwhat> wrote: >On Wed, 09 Jun 2010 22:41:33 -0500, "krw(a)att.bizzzzzzzzzzzz" ><krw(a)att.bizzzzzzzzzzzz> wrote: > >>On Wed, 09 Jun 2010 23:36:45 -0400, Spehro Pefhany >><speffSNIP(a)interlogDOTyou.knowwhat> wrote: >> >>>On Wed, 09 Jun 2010 22:30:56 -0500, the renowned >>>"krw(a)att.bizzzzzzzzzzzz" <krw(a)att.bizzzzzzzzzzzz> wrote: >>> >>>>On Wed, 09 Jun 2010 18:28:43 -0700, John Larkin >>>><jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote: >>>> >>>>>On Wed, 09 Jun 2010 14:18:42 GMT, Jan Panteltje >>>>><pNaonStpealmtje(a)yahoo.com> wrote: >>>>> >>>>>>A multi processor PIC computer :-) >>>>>> ftp://panteltje.com/pub/multi_processor_PIC_LED_color_controller_hardware_img_2002.jpg >>>>>> >>>>>>I modified my LED color controller a bit so it has 3 independent hardware PWM channels. >>>>>>One PIC is the master, is controlled via ethernet, and its PWM unit drives blue. >>>>>>It forwards the other color levels via very fast RS232 to 2 other PICs, >>>>>>one does the red pwm, and the other one does the green PM thing. >>>>>> >>>>>>There are 4 clocks in this system, 25 MHz for the ethernet controller, >>>>>>and 3 x 64 MHz internal clocks for the PICs. >>>>>> >>>>>>I was watching the LED strips for interference, you can see it on the scope, >>>>>>but not in the light output.... >>>>>>PWM is about 15 kHz, 8 bits resolution, probably with harmonics up to...... >>>>>>Anyways, multi-processor PIC is here :-) >>>>>> >>>>> >>>>>We just got the first bare board of a VME module that has 13 ARM >>>>>processors on it, one per i/o channel and one overall manager. The >>>>>channels are electrically isolated, so we couldn't use a >>>>>multi-processor chip or a single higher-power uP. An ARM with flash, >>>>>mux'd ADC, DAC, parallel ports, SPI, timers UARTS... is a lot of stuff >>>>>for $4. We're throwing away the Ethernet port! >>>> >>>>Use the Ethernet port for your interprocessor communications. Using its >>>>transformer coupling, all the real work is done. >>> >>>Well, unless you need to guarantee tight timing, in which case the >>>real work may be just beginning. >> >>I thought we were just interfacing between multiple processors. ...and John >>doesn't like RTOSs, so... > >Well, the isolation implies something like a data acquisition system >to me, and usually you need to know rather closely when each data >point was acquired. If synchronization has to be better than a few >milliseconds (maybe 100x that if a PC and Windows is involved), >Ethernet can add interesting dimensions to the problem. > Timestamp?
From: John Larkin on 10 Jun 2010 21:20 On Thu, 10 Jun 2010 19:55:50 -0500, "krw(a)att.bizzzzzzzzzzzz" <krw(a)att.bizzzzzzzzzzzz> wrote: >On Wed, 09 Jun 2010 21:14:38 -0700, John Larkin ><jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote: > >>On Wed, 09 Jun 2010 22:41:33 -0500, "krw(a)att.bizzzzzzzzzzzz" >><krw(a)att.bizzzzzzzzzzzz> wrote: >> >>>On Wed, 09 Jun 2010 23:36:45 -0400, Spehro Pefhany >>><speffSNIP(a)interlogDOTyou.knowwhat> wrote: >>> >>>>On Wed, 09 Jun 2010 22:30:56 -0500, the renowned >>>>"krw(a)att.bizzzzzzzzzzzz" <krw(a)att.bizzzzzzzzzzzz> wrote: >>>> >>>>>On Wed, 09 Jun 2010 18:28:43 -0700, John Larkin >>>>><jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote: >>>>> >>>>>>On Wed, 09 Jun 2010 14:18:42 GMT, Jan Panteltje >>>>>><pNaonStpealmtje(a)yahoo.com> wrote: >>>>>> >>>>>>>A multi processor PIC computer :-) >>>>>>> ftp://panteltje.com/pub/multi_processor_PIC_LED_color_controller_hardware_img_2002.jpg >>>>>>> >>>>>>>I modified my LED color controller a bit so it has 3 independent hardware PWM channels. >>>>>>>One PIC is the master, is controlled via ethernet, and its PWM unit drives blue. >>>>>>>It forwards the other color levels via very fast RS232 to 2 other PICs, >>>>>>>one does the red pwm, and the other one does the green PM thing. >>>>>>> >>>>>>>There are 4 clocks in this system, 25 MHz for the ethernet controller, >>>>>>>and 3 x 64 MHz internal clocks for the PICs. >>>>>>> >>>>>>>I was watching the LED strips for interference, you can see it on the scope, >>>>>>>but not in the light output.... >>>>>>>PWM is about 15 kHz, 8 bits resolution, probably with harmonics up to...... >>>>>>>Anyways, multi-processor PIC is here :-) >>>>>>> >>>>>> >>>>>>We just got the first bare board of a VME module that has 13 ARM >>>>>>processors on it, one per i/o channel and one overall manager. The >>>>>>channels are electrically isolated, so we couldn't use a >>>>>>multi-processor chip or a single higher-power uP. An ARM with flash, >>>>>>mux'd ADC, DAC, parallel ports, SPI, timers UARTS... is a lot of stuff >>>>>>for $4. We're throwing away the Ethernet port! >>>>> >>>>>Use the Ethernet port for your interprocessor communications. Using its >>>>>transformer coupling, all the real work is done. >>>> >>>>Well, unless you need to guarantee tight timing, in which case the >>>>real work may be just beginning. >>> >>>I thought we were just interfacing between multiple processors. ...and John >>>doesn't like RTOSs, so... >> >>We're using some Analog Devices logic isolator things, SPI >>communications between the master and the 12 slaves. We're evaluating >>the drop-in-replacement SiLabs parts, about half the price. > >We use the ADI parts for this too, but IIRC they're kinda spendy. If I had an >Ethernet, free, I'd try to get them to use it. > >>The Ethernet stack would be a lot of overhead here, I think. > >We didn't find the one on the PIC too hard. I think it was pretty much >drop-in. No RTOS there either. ;-) There were some issues with signal >polarities that weren't supposed to be there. Some routers would barf, but >that was fairly easy to correct once the problem was identified. > >>I don't have anything against RTOSs, having written three myself, but >>if we had a zillion cores on a chip we wouldn't need to context >>switch. > >I/O still has to be managed. > >>Here's the board. >> >>ftp://jjlarkin.lmi.net/V220.gif >> >>The 12 ARMs run down the middle. To their right are the data >>isolators, regulators, jtag connector, and dc/dc converter. The analog >>stuff is to the left. >> >>This is a 12-channel 4-20 mA sort of i/o board. > >How many I/O per channel? Each channel has just two pins. Any channel can source 0-24 mA or 0-20 volts, CV/CC Regulate an external current loop, 0-32 mA Measure an external current loop, 0-32 mA Measure voltage (actually, it always measures current and voltage) Be an open. Be a short. It's for testing big control systems, faking out a process, before the control system is connected to a lot of expensive machinery. The first app is a big gas turbine generator, where they want to prove out the control system while the machinery is being built. John
From: krw on 10 Jun 2010 23:36 On Thu, 10 Jun 2010 18:20:23 -0700, John Larkin <jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote: >On Thu, 10 Jun 2010 19:55:50 -0500, "krw(a)att.bizzzzzzzzzzzz" ><krw(a)att.bizzzzzzzzzzzz> wrote: > >>On Wed, 09 Jun 2010 21:14:38 -0700, John Larkin >><jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote: >> >>>On Wed, 09 Jun 2010 22:41:33 -0500, "krw(a)att.bizzzzzzzzzzzz" >>><krw(a)att.bizzzzzzzzzzzz> wrote: >>> >>>>On Wed, 09 Jun 2010 23:36:45 -0400, Spehro Pefhany >>>><speffSNIP(a)interlogDOTyou.knowwhat> wrote: >>>> >>>>>On Wed, 09 Jun 2010 22:30:56 -0500, the renowned >>>>>"krw(a)att.bizzzzzzzzzzzz" <krw(a)att.bizzzzzzzzzzzz> wrote: >>>>> >>>>>>On Wed, 09 Jun 2010 18:28:43 -0700, John Larkin >>>>>><jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote: >>>>>> >>>>>>>On Wed, 09 Jun 2010 14:18:42 GMT, Jan Panteltje >>>>>>><pNaonStpealmtje(a)yahoo.com> wrote: >>>>>>> >>>>>>>>A multi processor PIC computer :-) >>>>>>>> ftp://panteltje.com/pub/multi_processor_PIC_LED_color_controller_hardware_img_2002.jpg >>>>>>>> >>>>>>>>I modified my LED color controller a bit so it has 3 independent hardware PWM channels. >>>>>>>>One PIC is the master, is controlled via ethernet, and its PWM unit drives blue. >>>>>>>>It forwards the other color levels via very fast RS232 to 2 other PICs, >>>>>>>>one does the red pwm, and the other one does the green PM thing. >>>>>>>> >>>>>>>>There are 4 clocks in this system, 25 MHz for the ethernet controller, >>>>>>>>and 3 x 64 MHz internal clocks for the PICs. >>>>>>>> >>>>>>>>I was watching the LED strips for interference, you can see it on the scope, >>>>>>>>but not in the light output.... >>>>>>>>PWM is about 15 kHz, 8 bits resolution, probably with harmonics up to...... >>>>>>>>Anyways, multi-processor PIC is here :-) >>>>>>>> >>>>>>> >>>>>>>We just got the first bare board of a VME module that has 13 ARM >>>>>>>processors on it, one per i/o channel and one overall manager. The >>>>>>>channels are electrically isolated, so we couldn't use a >>>>>>>multi-processor chip or a single higher-power uP. An ARM with flash, >>>>>>>mux'd ADC, DAC, parallel ports, SPI, timers UARTS... is a lot of stuff >>>>>>>for $4. We're throwing away the Ethernet port! >>>>>> >>>>>>Use the Ethernet port for your interprocessor communications. Using its >>>>>>transformer coupling, all the real work is done. >>>>> >>>>>Well, unless you need to guarantee tight timing, in which case the >>>>>real work may be just beginning. >>>> >>>>I thought we were just interfacing between multiple processors. ...and John >>>>doesn't like RTOSs, so... >>> >>>We're using some Analog Devices logic isolator things, SPI >>>communications between the master and the 12 slaves. We're evaluating >>>the drop-in-replacement SiLabs parts, about half the price. >> >>We use the ADI parts for this too, but IIRC they're kinda spendy. If I had an >>Ethernet, free, I'd try to get them to use it. >> >>>The Ethernet stack would be a lot of overhead here, I think. >> >>We didn't find the one on the PIC too hard. I think it was pretty much >>drop-in. No RTOS there either. ;-) There were some issues with signal >>polarities that weren't supposed to be there. Some routers would barf, but >>that was fairly easy to correct once the problem was identified. >> >>>I don't have anything against RTOSs, having written three myself, but >>>if we had a zillion cores on a chip we wouldn't need to context >>>switch. >> >>I/O still has to be managed. >> >>>Here's the board. >>> >>>ftp://jjlarkin.lmi.net/V220.gif >>> >>>The 12 ARMs run down the middle. To their right are the data >>>isolators, regulators, jtag connector, and dc/dc converter. The analog >>>stuff is to the left. >>> >>>This is a 12-channel 4-20 mA sort of i/o board. >> >>How many I/O per channel? > >Each channel has just two pins. Any channel can > >source 0-24 mA or 0-20 volts, CV/CC > >Regulate an external current loop, 0-32 mA > >Measure an external current loop, 0-32 mA > >Measure voltage (actually, it always measures current and voltage) > >Be an open. > >Be a short. Doesn't sound like a lot of data or computation. Wouldn't it have been simpler to isolate between the DAC and the CPU? That is, one processor? >It's for testing big control systems, faking out a process, before the >control system is connected to a lot of expensive machinery. The first >app is a big gas turbine generator, where they want to prove out the >control system while the machinery is being built.
From: John Larkin on 11 Jun 2010 00:21 On Thu, 10 Jun 2010 22:36:32 -0500, "krw(a)att.bizzzzzzzzzzzz" <krw(a)att.bizzzzzzzzzzzz> wrote: >>>>Here's the board. >>>> >>>>ftp://jjlarkin.lmi.net/V220.gif >>>> >>>>The 12 ARMs run down the middle. To their right are the data >>>>isolators, regulators, jtag connector, and dc/dc converter. The analog >>>>stuff is to the left. >>>> >>>>This is a 12-channel 4-20 mA sort of i/o board. >>> >>>How many I/O per channel? >> >>Each channel has just two pins. Any channel can >> >>source 0-24 mA or 0-20 volts, CV/CC >> >>Regulate an external current loop, 0-32 mA >> >>Measure an external current loop, 0-32 mA >> >>Measure voltage (actually, it always measures current and voltage) >> >>Be an open. >> >>Be a short. > >Doesn't sound like a lot of data or computation. Wouldn't it have been >simpler to isolate between the DAC and the CPU? That is, one processor? Each little CPU has a multiplexed ADC and a DAC in it, and the SPI stuff, and a bunch of parallel ports. That's cheaper than putting a separate ADC and DAC and ports up there. The CPU part is essentially free. We use the individual, isolated CPUs to do the closed-loop control, measurement, protections, and SPI up/down. The local control loops will each run at 50 or 100K hits/second. If we did SPI up/down to a single CPU, it couldn't run that fast, and the SPI traffic would get huge if we tried. It is a little weird to think of getting a 100 MHz, 32-bit ARM CPU, with RAM and flash, essentially for free when you buy the ADC and DAC. John
From: John Devereux on 11 Jun 2010 10:24
John Larkin <jjlarkin(a)highNOTlandTHIStechnologyPART.com> writes: > On Thu, 10 Jun 2010 22:36:32 -0500, "krw(a)att.bizzzzzzzzzzzz" > <krw(a)att.bizzzzzzzzzzzz> wrote: > > >>>>>Here's the board. >>>>> >>>>>ftp://jjlarkin.lmi.net/V220.gif >>>>> >>>>>The 12 ARMs run down the middle. To their right are the data >>>>>isolators, regulators, jtag connector, and dc/dc converter. The analog >>>>>stuff is to the left. >>>>> >>>>>This is a 12-channel 4-20 mA sort of i/o board. >>>> >>>>How many I/O per channel? >>> >>>Each channel has just two pins. Any channel can >>> >>>source 0-24 mA or 0-20 volts, CV/CC >>> >>>Regulate an external current loop, 0-32 mA >>> >>>Measure an external current loop, 0-32 mA >>> >>>Measure voltage (actually, it always measures current and voltage) >>> >>>Be an open. >>> >>>Be a short. >> >>Doesn't sound like a lot of data or computation. Wouldn't it have been >>simpler to isolate between the DAC and the CPU? That is, one processor? > > Each little CPU has a multiplexed ADC and a DAC in it, and the SPI > stuff, and a bunch of parallel ports. That's cheaper than putting a > separate ADC and DAC and ports up there. The CPU part is essentially > free. We use the individual, isolated CPUs to do the closed-loop > control, measurement, protections, and SPI up/down. The local control > loops will each run at 50 or 100K hits/second. If we did SPI up/down > to a single CPU, it couldn't run that fast, and the SPI traffic would > get huge if we tried. > > It is a little weird to think of getting a 100 MHz, 32-bit ARM CPU, > with RAM and flash, essentially for free when you buy the ADC and DAC. 44MHz, aren't they? Or have you found a new one? -- John Devereux |