??? 10/09/09 17:55 Read: times |
#169597 - It's routinely done ... Responding to: ???'s previous message |
Over twenty years ago, I had to synchronize over 500 MCU's in order to test a large system for the Pentagon. Each MCU had, in one test, to execute precisely the same script at precisely the same time and at precisely the same rate, in order to determine whether the system could process a certain number of precisely identical commands entered at precisely the same time, within the required time window. Prior to that, of course, there were other schemes used to detect failures by majority logic. I didn't invent the method. It's been in use for decades.
The business of getting them in precise lock-step was not really that much of a challenge. It worked perfectly the first time the first time it was tried. Getting the MCU's to behave as hardware rather than as generic microcomputers was no challenge at all. The large computer system failed this and a number of other tests, BTW. The time consumed in performing the RESET operation is well-defined for 805x's, and, given a reset pulse of a predefined length, to within 100 ppm, and clocked at precisely the same rate timed by a timebase locked to that same 100 ppm (standard off-the-shelf precision and accuracy) oscillator, any number of MCU's will be in exact lock-step, so long as their inputs and code are exactly the same, again, based on that same timebase. In 1979, the Space Shuttle relied on redundant computers that were in precise lock-step. That was still the case in 1986. It has worked out so far ... though the computers are different. I've not said that he MUST do things in this way, but merely that he could. His requirements are a bit unclear, and, as I've recently pointed out, in one instance he suggests that his 805x's must communicate with one another, yet in another, he states that his requirement for synchronization is with a master-PC that only sends a start command. Your assertion that, "It is 100% impossible to guarantee that you can run two processors in lock-step." is totally off-base, as a microcontroller is merely a piece of synchronous hardware. Given exactly the same clock, exactly the same code, and exactly the same external stimuli, if two of them don't behave in exactly the same way, it's reasonable to conclude that one of them is broken. Naturally, the external outputs will vary to the extent to which they're specified, but no more. RE |