![]() Just search “I2C bus lock” and you’ll find countless examples. Why these devices sometimes fail is fairly immaterial, the fact is that it’s a not-uncommon phenomenon. Its a neat little circuit, wish I spent enough time with these sort of things to really just look at it and understand how it works from the diagram, but its not something I do much of, so when it comes up its always that puzzle to figure out how it works. And being made of discreet larger gates its going to be much harder for outside radiation sources to cause that incorrect bit flip effect to break this and probably more temperature/impact/pressure stable too – where the dense little IC on the sensor board could get flipped with much less outside energy, borking the sensor at least till it hits some reset state. It does nothing to make the sensor less failure prone in other ways, it just means if it fails in the way that prevents the rest of the bus from working it is disconnected. These sensors are usually complex IC’s – even full on microprocessors that communicate via SPI or I2C – any failure that breaks the whole bus rather than just making that sensors data garbage is going to be it asserting control and never letting go, which is what this is supposed to fix (and it might be doing that not for any failure of the sort you are talking about at all – if its had a bit flip that means its sending supposedly a billion times more than it should be it locks the bus up for ages, the data is garbage, but the communication is actually working as intended, and once its shifted through all the data/clockcycles it thinks its supposed to it will likely just work again). Posted in Misc Hacks Tagged bus, i2c, robust, satellite, satellite design, spi Post navigation Be sure to share your best tips and tricks for robust SPI and I2C buses in the comments below! ![]() It’s something that won’t bother the home hobbyist building a garage door opener, but it could be of great value to those designing systems that must fail gracefully if they fail at all. did just that on the NASA V-R3x mission which flew successfully in January 2021 if you needed any further confirmation of the value of this technique. With little more than a few transistors, MOSFETs and passives, you too could protect your buses from malfunctions using these techniques. In the event of malfunction, that node can be cut off from the bus by this circuit, allowing the rest of the system to go on functioning. To fix this, developed a simple external circuit that could be placed on each node of a I2C or SPI communication bus. notes that vast numbers of sensors and devices rely on these standards, and it can be difficult or prohibitively expensive to design without them, so a solution was needed. The problem is that these simple buses aren’t always the most robust, being vulnerable to single-point failures where one bad part takes down other parts of the bus. That work is the subject of a research paper now available on the TechRxiv Preprint Server. Thus, he came up with circuits to auto-isolate devices from these buses in the event of an issue. found himself in this exact situation, running 69 I2C and SPI devices in a single satellite. The example I2C isolation circuit from paper. Robust design is key, so that even in the event of a failure in one component, the rest of the hardware can keep working. Unless you’re buddy-buddy with NASA, it’s pretty unlikely you’ll ever be able to head up there and fix something if it goes wrong once it’s launched. Imagine you’re sending a piece of hardware to space on a satellite.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |