A method system, and computer program product for determining the source of
a fault within a bus, such as, for example, an inter integrated circuit
(I2C) bus is provided. In one embodiment, a bus driver monitors the bus
for faults. If a fault occurs on the bus, the bus driver resets each
switch on the bus and then turns on the first switch connected to the bus
driver. If the fault is encountered after turning on the first switch,
then it is determined that the fault was caused by either the first
switch, a device connected to the bus as a result of turning on the first
switch, or one of the bus connectors just switched on as a result of
turning on the first switch. If the fault is not encountered, the next
switch is turned on and the process is repeated until the fault is
encountered. The fault when encountered will be caused by either the most
recently turned on switch or a device or bus connectors switched in by the
turning on of the last switch. Thus, the fault can be isolated to a few
devices, switches, or bus connections rather than the large number of
potential devices, switches, or bus connections that could have
potentially caused the fault.
Ένα σύστημα μεθόδου, και το προϊόν προγράμματος υπολογιστών για τον καθορισμό της πηγής ενός ελαττώματος μέσα σε ένα λεωφορείο, όπως, παραδείγματος χάριν, ένα διά λεωφορείο ολοκληρωμένων κυκλωμάτων (I2C) παρέχονται. Σε μια ενσωμάτωση, ένας οδηγός λεωφορείων ελέγχει το λεωφορείο για τα ελαττώματα. Εάν ένα ελάττωμα εμφανίζεται στο λεωφορείο, οι αναστοιχειοθετήσεις κάθε μια οδηγών λεωφορείων ανάβουν το λεωφορείο και ανοίγουν έπειτα τον πρώτο διακόπτη που συνδέεται με τον οδηγό λεωφορείων. Εάν το ελάττωμα αντιμετωπίζεται μετά από να ανοίξει τον πρώτο διακόπτη, κατόπιν καθορίζεται ότι το ελάττωμα προκλήθηκε είτε τον πρώτο διακόπτη, μια συσκευή που συνδέθηκαν από με το λεωφορείο ως αποτέλεσμα να ανοίξει τον πρώτο διακόπτη, είτε έναν από τους συνδετήρες λεωφορείων που ανάφθηκαν ακριβώς ως αποτέλεσμα να ανοίξει τον πρώτο διακόπτη. Εάν το ελάττωμα δεν αντιμετωπίζεται, ο επόμενος διακόπτης ανοίγεται και η διαδικασία επαναλαμβάνεται έως ότου αντιμετωπίζεται το ελάττωμα. Το ελάττωμα όταν αντιμετωπίζεται θα προκληθεί από είτε τους πρόσφατα ανοιγμένων συνδετήρες διακοπτών είτε συσκευών είτε λεωφορείων που μεταστρέφονται μέσα με να ανοίξει του τελευταίου διακόπτη. Κατά συνέπεια, το ελάττωμα μπορεί να απομονωθεί σε μερικές συσκευές, διακόπτες, ή συνδέσεις λεωφορείων παρά το μεγάλο αριθμό πιθανών συσκευών, διακοπτών, ή συνδέσεων λεωφορείων που θα μπορούσαν να έχουν προκαλέσει ενδεχομένως το ελάττωμα.