Method to Synchronize Integrated Circuits Fulfilling Functional Safety Requirements
20190026245 ยท 2019-01-24
Inventors
Cpc classification
G06F11/0739
PHYSICS
G01R29/0273
PHYSICS
H03K5/135
ELECTRICITY
G06F11/0772
PHYSICS
G06F1/12
PHYSICS
H03K5/26
ELECTRICITY
International classification
G06F11/07
PHYSICS
G05B19/05
PHYSICS
G06F1/12
PHYSICS
Abstract
In accordance with aspects of the present invention, a method of synchronizing two integrated circuits is presented. A method of synchronizing two integrated circuits can include sending a first pulse from a master IC to a slave IC over a SYNC bus; receiving a second pulse on the SYNC bus from the slave IC; checking the second pulse; triggering an interrupt if a failure is detected; and initiating measurement if synchronization is detected.
Claims
1. A method of synchronizing a master IC with a slave IC, comprising: sending a first pulse from the master IC to the slave IC over a SYNC bus; receiving a second pulse on the SYNC bus from the slave IC; checking the second pulse; triggering an interrupt if a failure is detected in the width or delay of the second pulse; initiating measurement if synchronization is detected.
2. The method of claim 1, wherein sending the first pulse includes setting a master output enable signal; sending the first pulse; checking the first pulse; and releasing the master output enable signal.
3. The method of claim 1, wherein checking the second pulse includes checking the pulse width.
4. The method of claim 1, wherein checking the second pulse includes checking the delay.
5. The method of claim 1, wherein initiating measurement includes setting the master output enable signal.
6. A method of synchronizing a master IC with a slave IC, comprising: receiving a pulse from the master IC; checking the width of the pulse; setting a slave output enable; providing an answer pulse; and releasing the slave output enable.
7. A system performing functional safety requirements, comprising: a master IC, the master IC including a master clock input, a sync bus, and an output enable; a slave IC coupled to the master IC, the slave IC including a slave clock input, the sync bus, and the output enable, wherein the slave clock input and the master clock input are coupled to a clocking source, and wherein the master IC checks synchronization with the slave IC by sending a first pulse from the master IC to the slave IC over a SYNC bus; receiving a second pulse on the SYNC bus from the slave IC; checking the second pulse; triggering an interrupt if a failure is detected in the width or delay of the second pulse; initiating measurement if synchronization is detected.
8. The system of claim 7, wherein sending the first pulse includes setting a master output enable signal; sending the first pulse; checking the first pulse; and releasing the master output enable signal.
9. The system of claim 7, wherein checking the second pulse includes checking the pulse width.
10. The system of claim 7, wherein checking the second pulse includes checking the delay.
11. The system of claim 7, wherein initiating measurement includes setting the master output enable signal.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0010]
[0011]
[0012]
DETAILED DESCRIPTION
[0013] In the following description, specific details are set forth describing some embodiments of the present invention. It will be apparent, however, to one skilled in the art that some embodiments may be practiced without some or all of these specific details. The specific embodiments disclosed herein are meant to be illustrative but not limiting. One skilled in the art may realize other elements that, although not specifically described here, are within the scope and the spirit of this disclosure.
[0014] This description and the accompanying drawings that illustrate inventive aspects and embodiments should not be taken as limitingthe claims define the protected invention. Various changes may be made without departing from the spirit and scope of this description and the claims. In some instances, well-known structures and techniques have not been shown or described in detail in order not to obscure the invention.
[0015] Two integrated circuits (ICs) are often operating at a high clock frequency generated by an internal phase-locked-loop (PLL). Especially in safety situations, the two integrated circuits need to operate and cycle accurately in order to safely fulfill its requirements. Consequently, if the two ICs are not synchronized, there may be safety issues.
[0016]
[0017] As illustrated in
[0018] As is illustrated in
[0019]
[0020]
[0021] From start 202, master 102 exerts the OE_M signal to take control of the bus and, in step 206, sends the pulse 306 on the SYNC line. In step 208, master 102 checks the pulse width and the timing according to its clock signal 302 for accuracy. If the pulse is found to be good, then algorithm 240 proceeds to step 210 where master 102 releases the bus by resetting OE_M. As illustrated in
[0022] At slave 104, in step 212, the pulse on the SYNC line from master 102 is received. In step 214, slave 104 checks the pulse width using its clock signal 304. If the pulse width does not agree with what has been expected, then algorithm 242 proceeds to step 222 to indicate a faulty pulse width and algorithm 242 stops. If the pulse width does check out, the algorithm 242 proceeds to step 216 where slave 104 exerts an output enable signal OE_S to take over the bus. In step 218, slave 104 provides an answering pulse 308 and then proceeds to step 220 to release OE_S.
[0023] In algorithm 240 of master 102, answering pulse 308 is received in step 226. In step 228, master 102 checks answering pulse 308 with respect to width and delay in comparison with pulse 306. If the pulse is correct, the algorithm 240 proceeds to step 230 to set OE_M and then to step 234 to initiate measurement or normal activity. In algorithm 242, if step 234 is initiated in master 102, then slave 104 proceeds to step 236 to provide normal operation.
[0024] If the pulse is not correct, then algorithm 240 proceeds to step 230 to set OE_M and then to step 232 to initiate a failure interrupt so that system 100 can recover and proceed to a safe state. In the event that no pulse is received by master 102, algorithm 240 initiates step 238. From step 238, algorithm 240 proceeds to step 230 to set OE_M and then to step 232 to initiate a failure interrupt so that system 100 can recover and proceed to a safe state.
[0025] In summary, as indicated in
[0026] Although system 100, and PLL 106, can operate at any clock speed. As an example,
[0027] Several failures in the synchronization can be detected. These failures can include whether there is too low drive strength of master 102, which can be detected by direct feedback in master 102 at step 208, for example. Another failure can be if there is too low a drive strength in slave 104, which is detected by direct feedback in slave 104. Further, in step 228 master 102 can detect if there is too late detection of SYNC pulse by slave, which can be detected by checking response time in master 102. In some cases, master 102 can also detect if there is too early detection of SYNC pulse, which cannot happen by protocol but may happen by external disturbances. The pulse width received at slave 104 and at master 102 can provide information regarding external disturbances.
[0028] The above detailed description is provided to illustrate specific embodiments of the present invention and is not intended to be limiting. Numerous variations and modifications within the scope of the present invention are possible. The present invention is set forth in the following claims.