US20140208070A1 - Systems and methods for interfacing master and slave processors - Google Patents
Systems and methods for interfacing master and slave processors Download PDFInfo
- Publication number
- US20140208070A1 US20140208070A1 US13/640,728 US201113640728A US2014208070A1 US 20140208070 A1 US20140208070 A1 US 20140208070A1 US 201113640728 A US201113640728 A US 201113640728A US 2014208070 A1 US2014208070 A1 US 2014208070A1
- Authority
- US
- United States
- Prior art keywords
- processor
- data
- spi
- control
- custom
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000002955 isolation Methods 0.000 claims abstract description 43
- 230000004888 barrier function Effects 0.000 claims abstract description 42
- 230000002093 peripheral effect Effects 0.000 claims abstract description 8
- 238000012546 transfer Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 12
- 230000003139 buffering effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Definitions
- the subject matter disclosed herein relates to the interfacing of systems, and more specifically, to the interfacing of master and slave processors.
- a slave processor may be communicatively coupled to a master processor.
- the master processor may delegate certain processing tasks, such as data acquisition tasks, to one or more of the slave processors. Acquired data may then be provided to the master processor. It would be beneficial to improve the interface between the master and slave processors.
- a system in a first embodiment, includes a first processor comprising a serial peripheral interface (SPI) port, and a second processor.
- the system further includes a galvanic isolation barrier.
- the system additionally includes a SPI bridge comprising a first output pin control configured to control a device.
- the SPI bridge additionally includes a first analog multiplexor control configured to route signals to a circuitry.
- the SPI bridge is configured to communicatively couple the first processor with the second processor through the galvanic isolation barrier, and to communicatively couple the first processor to the device through the first output pin control, and to route the signals between the first processor and the circuitry by using the first analog multiplexor control.
- a method in a second embodiment, includes transmitting data from a first processor through an isolation barrier, and determining if the data includes a custom pattern. If the data does not include the custom pattern, the method includes using a serial peripheral interface (SPI) communications protocol. If the data includes the custom pattern, the method includes using a custom communications protocol. The method also includes transmitting the data to a second processor and building a reply by using a reply register. The method additionally includes communicating the reply to the first processor through the isolation barrier.
- SPI serial peripheral interface
- a system in a third embodiment, includes a serial peripheral interface (SPI) bridge configured to communicatively couple a first processor having a SPI port to a second processor.
- the SPI bridge includes a data multiplexor configured to route signals for the first processor and a first register configured to communicatively couple the data multiplexor to the first processor.
- the SPI bridge further includes an output pin control communicatively coupled to the data multiplexor and configured to control a device and serial digital interface (SDI) combinatorial logic system.
- SDI serial digital interface
- the SPI bridge further includes a second register communicatively coupled to a second processor through the SDI combinatorial logic system, and a reply register communicatively coupled to the data multiplexor, wherein the first processor is configured to use the data multiplexor to reply to a command issued by the second processor through an isolation barrier.
- FIG. 1 is a block diagram of an embodiment of a master processor communicatively coupled to a slave processor;
- FIG. 2 is a detailed block diagram of an embodiment of the master processor communicatively coupled to the slave processor of FIG. 1 ;
- FIG. 3 is a flow chart of an embodiment of a process for interfacing the master processor with the slave processor of FIGS. 1 and 2 .
- processor-based systems may include multiple processors.
- one or more master processors may be communicatively coupled to one or more slave processors.
- the master processors may delegate data acquisition tasks to the slave processors, and communicate with the slave processors over an isolation barrier.
- the isolation barrier may provide for electrical isolation between the master and slave processors, thus improving the transmission of signals and enhancing the protection of circuitry.
- a serial peripheral interface may be used to communicate across the isolation barrier.
- the SPI may include a “four-wire” serial bus including four pins suitable for communicatively coupling a slave processor with a master processor.
- the SPI may be used to couple the slave processor to analog multiplexor controls or to output pin controls.
- certain slave processors that include a single SPI port cannot use the SPI port to communicatively couple the slave processor to the master process, the analog multiplexor controls, and the output pin controls. That is, the use of the single SPI port precludes the communicative use of the SPI as a communication interface between the slave processor and more than one of the master processor, the multiplexor controls, or the output pin control.
- the single SPI port can typically be used to communicatively couple the slave processor to only one of the master processor, the analog multiplexor controls, or the output pin controls.
- the systems and methods described herein enable the use of the SPI protocol to couple the slave processor having a single SPI port to a variety of systems, including a combination consisting of the master processor, the analog multiplexor controls and the output pin controls. Indeed, by using the systems and methods described herein, the slave processor having the single SPI port may be communicatively coupled to all three of the master processor, the multiplexor controls, and the output pin controls. Additionally, the system and methods described herein may allow the flow of information, such as reprogramming information, between the master and slave processors through the isolation barrier.
- the data acquisition system 11 includes a slave processor 12 communicatively coupled to a master processor 14 , output pin controls 16 , and analog multiplexor controls 17 by using a single SPI port 18 connected to a SPI bridge or interface system 20 through a SPI bus 22 .
- the slave processor 12 may be an Analog Devices microcontroller model number ADuC7061, which includes a single 8-bit SPI port 18 suitable for coupling to the SPI bus 22 .
- the slave processor 12 may be other microprocessors, such as microprocessors including a 16-bit SPI port 18 , a 32-bit SPI port 18 , a 64-bit SPI port 18 , or multiple SPI ports 18 .
- the SPI bridge or interface system 20 may be used to communicatively interface the slave processor's SPI port 18 with the master processor 14 through a galvanic isolation barrier 24 .
- the isolation barrier 24 may be any isolative device suitable for galvanically isolating a section of electrical circuitry, such as a capacitive isolation barrier, an inductive isolation barrier, an optical isolation barrier, or a combination thereof.
- the SPI bridge 20 may additionally be used to communicatively interface the slave processor 12 to the output pin control 16 .
- the output pin control 16 may be driven by the slave processor and used to control an output device.
- the output device may be an actuator suitable for operating devices, a valve, a pump, a compressor, and so forth.
- the SPI bridge 20 may also be used to communicatively interface the slave processor 12 to the analog multiplexor control 17 .
- the analog multiplexor control 17 may be used to multiplex or otherwise route signals from the slave processor 12 to any number of electronic and/or electrical systems. For example, the multiplexor may route signals to subsystems of the electronic system 10 electrically isolated by the isolation barrier 24 .
- the depicted SPI bridge 20 is illustrated as including a single output pin control 16 and a single analog multiplexor control 17 , other embodiments may include multiple output pin controls 16 and/or multiple analog multiplexor controls 17 .
- the SPI bridge 20 may be used to interface the slave processor 12 to a plurality of output pin controls 16 and/or a plurality of analog multiplexor controls 17 .
- the SPI bridge 20 includes a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a programmable array logic (PAL), application specific integrated circuit (ASIC), or a combination thereof, suitable for creating a logic or executable functions used in for performing hardware operations on signals, as described in more detail below. That is, a CPLD, an FPGA, a PAL, an ASIC, or a combination thereof may be used to construct the SPI bridge 20 . In other embodiments, the SPI bridge 20 may be constructed using any type of electronic device (e.g., custom-designed transistor circuitry) suitable for performing hardware operations on signals, as described in more detail below.
- CPLD complex programmable logic device
- FPGA field-programmable gate array
- PAL programmable array logic
- ASIC application specific integrated circuit
- the SPI bridge 20 provides a first set of registers 26 that may be used to communicate with the slave processor 12 .
- the registers 26 are compatible with a SPI protocol standard, such as the Motorola 8-bit SPI protocol.
- the SPI bridge 20 provides for a second set of registers 28 that may be used to communicate with the master processor 14 through a SPI bus 30 and the isolation barrier 24 .
- the registers 28 may also be compatible with the Motorola 8-bit SPI standard. Accordingly, information flowing through the SPI port 18 may then be directed, through the use of the first SPI bus 22 and the first set of registers 26 , into a data routing and buffering system 32 .
- the data routing and buffering system 32 may include logic or executable functions suitable for directing or otherwise routing information into and from the output pin control 16 and the analog multiplexor control 17 .
- the slave processor 12 may control an output device (e.g., valve, pump, compressor) by sending or receiving signals placed through the SPI port 18 into the registers 26 , which are then directed to the output pin control 16 through the data routing and buffering system 32 .
- Data having more than 8-bits may be buffered through multiple data transfers, and the longer bit data may then be placed onto the output pin control 16 by the data routing and buffering system 32 .
- the slave processor 12 may route signals through the analog multiplexor control 17 to other electrical systems by using the SPI port 18 .
- signals directed to the analog multiplexor control 17 may also be placed into the registers 26 , which may then be directed into the analog multiplexor control 17 through the data routing and buffering system 32 .
- Such signals may also be buffered through multiple data transfers to produce data having more than 8 bits.
- the data routing and buffering system 32 may also be used to interface with the master processor 14 .
- the master processor 14 may place signals through the isolation barrier 24 through the SPI bus 30 and into the second registers 28 .
- the signals may then be provided to first registers 26 by the data routing and buffering system 32 and be directed into the SPI port 18 through the SPI bus 22 .
- Slave processor 12 signals directed to the master processor 14 may follow the opposite path (e.g., from the first registers 26 through the bus 22 and into the data routing and buffering system 32 , from the routing and buffering system 32 through the bus 30 and the isolation barrier 24 and into the master processor 14 ).
- the SPI bridge 20 may functionally extend the pin count of the SPI port 18 , thus enhancing the communicative capabilities of the slave processor 12 .
- the SPI port 18 may have a four pin count, yet the use of the SPI bridge 20 provides for communicative coupling with at least three systems (e.g., master processor 14 , output pin control 16 , and analog multiplexor control 17 ) without sacrificing data transfer speed. Additionally, the number of pins (e.g., 4 pins) of isolation barrier 24 may be minimized, thus improving signal quality and reducing noise.
- the SPI bridge 20 allows the transmission of programming signals through control of the JTAG bus 34 through the isolation barrier 24 .
- some of the JTAG signals may be used to debug or to flash (e.g., write to memory) the slave processor 12 .
- a new program including computer instructions or code executable by the slave processor 12 may be transmitted through the isolation barrier 14 by using the JTAG signals in combination with the SPI bus 22 .
- the slave processor 12 may then store the new program in memory and execute the new program, as desired.
- debugging, testing, validation, verification, maintenance, and other software improvement operations for the slave processor 12 may be enabled through the use of the JTAG signals.
- boundary-scan cells may be used to capture or force data from core logic of the slave processor 12 , useful in improving the software residing in the slave processor 12 .
- a factory connection 36 may also be used to provide for JTAG functionality. For example, certain pins of the factory connection 36 may be dedicated to send and/or receive the JTAG signals. By providing for the use of JTAG signals, in addition to the aforementioned reduction in pin count of the isolation barrier 24 , the SPI bridge 20 may enable a more maintainable and testable slave processor 12 .
- the functionality of the data acquisition system 11 may be additionally described in a detailed view, such as the detailed view shown in FIG. 2 .
- FIG. 2 illustrates a detailed block diagram of an embodiment of the data acquisition system 11 .
- the slave processor 12 is communicatively connected to the master processor 14 shown in FIG. 1 through the use of the SPI bridge 20 and the isolation barrier 24 .
- the SPI bridge 20 may enable the use of the SPI port 18 for communicating with the master processor 14 , the output control 16 , and the analog multiplexor control 17 .
- the SPI port's 18 “four-wire” design may be leveraged into providing for extended functionality (e.g., communicating with the master processor 14 , the output control 16 , and the analog multiplexor control 17 ) while using four SPI signals, such as a SPI data input (ASDI) 38 , a SPI data output (ASDO) 40 , a SPI clock (ASCK) 42 , and a SPI select (ASEL) 44 .
- the master processor 24 need not be modified because of the master processor's support for corresponding SPI signals master data input (BSDI) 46 , master data output (BSDO) 48 , master clock (BSCK) 50 , and master select (BSEL) 52 . That is, the master processor 14 may communicate through its own SPI port with the slave processor 12 by using the standard SPI protocols without any additional modifications.
- the SPI bridge 20 enables the communicative mapping of the slave processor's ASDI 38 , the ASDO 40 , the ASCK 42 , and the ASEL 44 to the master processor's BSDI 46 , BSDO 48 , BSCK 50 , and BSEL 52 , respectively.
- the slave processor 12 performs a transfer of data
- information flows into the SPI registers 26 .
- the information then continues to flow into a data multiplexor through path 56 .
- the information may then flow into the output pin control 16 , the analog multiplexor control 17 , or reply registers (e.g., first in first out [FIFO]) through lines 60 , 62 , or 64 .
- Data select lines 66 and 68 may be used to provide the data multiplexor 54 with addressing information to route signals to the output pin control 16 , the analog multiplexor control 17 , or the reply registers 58 .
- additional data select lines may be used to enable the transfer of information between the slave processor 12 , a plurality of output pin controls 16 , a plurality of analog multiplexor controls 17 , and a plurality of reply registers 58 .
- the reply registers 58 may include 32 bits suitable for building, for example, a 32-bit reply before transmitting the reply to the master processor 14 . For example, four transfers of 8 bit data may be buffered by the reply registers 58 , resulting in a 32-bit reply.
- a serial data interface (SDI) combinatorial logic system 70 may be used to submit the reply from the reply registers 58 to the master processor 14 through the isolation barrier 24 .
- the SDI combinatorial logic system 70 may pulse the BSDI 46 , thus giving notice to the master processor 14 of the reply incoming from the slave processor 12 .
- the reply may be transmitted from the reply registers 58 to the SDI combinatorial logic system 70 through line 72 .
- the reply may be transmitted from the reply registers 58 to the SPI registers 28 through line 74 , and then to the SDI combinatorial logic system through line 76 .
- data may be transmitted from the slave processor 12 to the SDI combinatorial logic system 70 through a transmit (ATXD) line 78 , and then pulsed to the master processor through the BSDI 46 .
- ATXD transmit
- a mode sensing system 80 may also be used to minimize the number of pins used by the isolation barrier 24 .
- the mode sensing system 80 may be continuously monitoring the BSEL 52 for an inactive signal.
- the SPI protocol is designed to ignore the master clock BSCK 50 , ignore the master output data BSDO 48 , and leave the master input BSDI 46 in a fixed state.
- the mode sensing system 80 enables the transfer of data when the BSEL 52 is inactive.
- Various data transfer modes may be used when the BSEL 52 is inactive.
- reprogramming data may be communicated to the slave processor 12 through the isolation barrier 24 by using a boot mode transmit (BM/TRST) line 82 and/or a reset out (RSTOUT) line 84 .
- the mode sensing system 80 may interface with a timing control system 86 through line 88 to drive the JTAG lines 82 and 84 .
- a reset system 89 is provided, suitable for resetting the timing control system 86 and/or the SPI bridge 20 .
- data such as master command data, may be sent to the slave processor 12 through a receive (ARXD) line 90 .
- a custom set of data patterns may be used to denote the transfer modes. For example, patterns with 4 or more 1s or 0s in a row may be ignored by the mode sensing system 80 to allow for slower universal asynchronous receiver/transmitter (UART) data transmissions. In this embodiment, by setting the baud rate on the UART to a slower baud rate than the baud rate used for transmitting the custom patterns, the UART will not respond to the custom patterns being used to set the transfer modes.
- Some example custom data patterns that may be used for JTAG transfer modes are as follows: Pattern “01100110” may be used to set the JTAG reset line 84 . Pattern “01110111” may be used to clear the JTAG reset line 84 .
- Pattern “10011001” may be used to set the JTAG boot mode line 82 .
- Pattern “10001000” may be used to clear the JTAG boot mode line 82 .
- asserting the boot mode line 82 while allowing the reset line 84 to go inactive may result in the slave processor 12 waiting for JTAG program information communicated through the SPI port 26 or the ARXD 78 .
- Certain JTAG program information may result in the slave processor 12 entering a download mode, while other JTAG program information may result in the slave processor 12 jumping to a certain location in memory and executing a program, such as a factory program, found in memory.
- lines pad input (TDI) 92 , pad output (TDO) 94 , pad clock (TCK) 96 , and pad select (TMS) 98 may be used by a JTAG pad 100 for download of JTAG debugging or programming information.
- Pattern “11000111” may be used to select the ATXD 78 driving or writing to the BSDI 46 through the SDI combinatorial logic system 70 when the BSEL 52 is inactive. This same pattern may also be used in preparing the ARXD 90 to received data through the BSDO 48 , for example, for programming support. Pattern “11001110” may be used to select the reply registers 58 to drive the BSDI 46 with data when BSEL 52 is inactive. Likewise, pattern “11011100” may be used to select an interrupt line (AINTR) 102 to drive the BSDI 46 when the BSEL 52 is inactive.
- AINTR interrupt line
- any number of custom data patterns may be used, in additional to or alternative to the aforementioned example data patterns.
- the SDI combinatorial logic 70 and the mode sensing system 80 may efficiently enable the communicative interface between the slave processor 12 and the master processor 14 while minimizing signal lines flowing through SPI buses 22 and 30 .
- the data may flow through the isolation barrier 24 into the mode sensing system 80 .
- the mode sensing system 80 may then direct the data into the SPI registers 28 through lines 104 , 106 , and/or 108 .
- 8-bit commands may be sent from the master processor 14 into the SPI registers 28 . No modification on the master processor 14 would be used for these standard SPI data transfers.
- the reply registers 58 may then be emptied out in preparation for fulfilling a response to the master processor's request.
- a command register 110 may be loaded with the SPI data incoming from the master processor 14 .
- the command register 110 may then assert an interrupt through interrupt line 112 .
- the interrupt notifies the slave processor 12 of incoming SPI data. Accordingly, the slave processor 12 may drive the data select lines 66 and 68 to provide for a data path from the command register 110 into the SPI registers 26 through a line 114 , the data multiplexor 54 and a line 116 . The SPI port 18 may then receive the information from the SPI registers 26 through the bus 22 .
- a reply to the master processor's command may be prepared by using the reply register 58 , and may be subsequently transmitted into the master processor 14 through the isolation barrier 24 .
- the data select lines 66 and 68 may be used to receive data through the data multiplexor 54 incoming from the output pin control 16 through line 118 or from the analog multiplexor control 17 through line 120 .
- the SPI bridge 20 may enable a more comprehensive and efficient communication with the master processor 14 , the output pin control 16 , and the analog multiplexor control 17 .
- an update line 122 may be used to load pin states (e.g., output pin control 16 , analog multiplexor control 17 ), other ports for input pins, other serial ports for inter-integrated circuits ( 12 C), other SPI ports to external circuitry, and/or for byte/word port selection where the ports are wider than 8 bits.
- Other data paths within the SPI bridge 20 may thus include a selection of the slave SPI information for flow to the output pin control 16 and the analog multiplexor control 17 .
- the update line 122 may be used to load all of the aforementioned signal pins and I2C serial port at the same time. In this manner, the slave processor 12 could be performing setup operations over a period of time prior to pulsing the update line 122 . This functionality allows for improved controlled timing state changes in the hardware of the SPI bridge 20 and eases execution code timing.
- FIG. 3 depicts an embodiment of a process 124 suitable for transmission of information from the slave processor 12 and/or the master processor 14 shown in FIG. 1 .
- the master processor 14 may issue data (block 126 ) through the isolation barrier 24 .
- the process 124 may determine if the data issued includes custom data patterns (decision 128 ).
- the mode sensing system 80 may be continuously monitoring the SPI port 30 for the appearance of certain custom data patterns.
- the BSEL 56 may be set inactive and the master processor 14 may issue custom data patterns with 4 or more 1s or 0s in a row.
- the process 124 may treat the master processor communication as communications following the standard SPI protocol (block 130 ). As mentioned above, in one embodiment, the master processor 14 may use the SPI bridge 20 to provide the standard SPI data to the slave processor 12 through the use of the command register 110 . If custom patterns are detected (decision 128 ), then the process 124 may follow a custom communications protocol (block 132 ). Regardless of the type of communication, the master processor's request may be transmitted (block 134 ) to the slave processor 12 .
- the master processor 14 may provide custom communications directed to the slave processor 12 through the ARXD 90 line, and/or the ASDI line 38 , with the slave processor responding through the ATXD 78 line, and/or through the SPI registers 26 .
- the master processor 14 may also issue JTAG-related custom communications based on the custom data patterns, as described above with respect to FIG. 2 .
- the process 124 may also enable the slave processor 12 to issue data (block 136 ) through the SPI port 26 .
- the data may be directed as a reply to the master processor 14 , or a communications directed to the output pin control 16 or to the analog multiplexor control 17 shown in FIGS. 1 and 2 .
- the process 124 may build the reply (block 140 ) by using the reply register 58 . As described above with respect to FIG.
- the reply register 58 may be used to build a reply, including a reply larger than 8 bits (e.g., 16 bits, 32, bits, 64 bits, 128 bits) through one or more data transfers through the data multiplexor 54 by using the data select lines 66 and 68 .
- the reply may then be transmitted (block 142 ) to the master processor 14 .
- the SDI combinatorial logic system 70 may be used to transmit data from the reply register 58 into the master processor 14 through the BSDI 46 .
- the process 124 may determine if the data is directed (decision 144 ) to the output pin control 16 . If the data is directed to the output pin control 16 , then the slave processor 12 may transmit the data (block 146 ) to the output pin control 16 . For example, the data select lines 66 and 68 may be used to route the data through the data multiplexor 54 into (and out of) the output pin control 16 . If the process 124 determines that the data is not directed (decision 144 ) to the output pin control 16 , then the process 124 may determine if the data is directed (decision 148 ) to the analog multiplexor control 17 .
- the slave processor 12 may communicate with the analog multiplexor control 17 to send the data.
- the data select lines 66 and 68 may be used to route the data through the data multiplexor 54 into (and out of) the analog multiplexor control 17 .
- Technical effects of the invention include enabling the communications between a slave processor's SPI port and a master processor, an output pin control, and an analog multiplexor control.
- a single “four wire” SPI port is used to communicate with all three of the master processor, the output pin control, and the analog multiplexor control by using a SPI bridge.
- the SPI bridge additionally enables the use of JTAG instructions through the isolation barrier.
- Custom communications as well as standard SPI communications are enabled through the SPI bridge. Custom data patterns may be observed when the SPI select line is inactive, leading to the execution of logic related to the custom patterns. Further technical effects include the minimization of pins in an isolation barrier, thus resulting in improved signal quality and minimized circuit noise.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Information Transfer Systems (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
Description
- The subject matter disclosed herein relates to the interfacing of systems, and more specifically, to the interfacing of master and slave processors.
- Certain systems, such as data acquisition systems, may provide for the use of multiple processors. For example, a slave processor may be communicatively coupled to a master processor. The master processor may delegate certain processing tasks, such as data acquisition tasks, to one or more of the slave processors. Acquired data may then be provided to the master processor. It would be beneficial to improve the interface between the master and slave processors.
- Certain embodiments commensurate in scope with the originally claimed invention are summarized below. These embodiments are not intended to limit the scope of the claimed invention, but rather these embodiments are intended only to provide a brief summary of possible forms of the invention. Indeed, the invention may encompass a variety of forms that may be similar to or different from the embodiments set forth below.
- In a first embodiment, a system includes a first processor comprising a serial peripheral interface (SPI) port, and a second processor. The system further includes a galvanic isolation barrier. The system additionally includes a SPI bridge comprising a first output pin control configured to control a device. The SPI bridge additionally includes a first analog multiplexor control configured to route signals to a circuitry. The SPI bridge is configured to communicatively couple the first processor with the second processor through the galvanic isolation barrier, and to communicatively couple the first processor to the device through the first output pin control, and to route the signals between the first processor and the circuitry by using the first analog multiplexor control.
- In a second embodiment, a method includes transmitting data from a first processor through an isolation barrier, and determining if the data includes a custom pattern. If the data does not include the custom pattern, the method includes using a serial peripheral interface (SPI) communications protocol. If the data includes the custom pattern, the method includes using a custom communications protocol. The method also includes transmitting the data to a second processor and building a reply by using a reply register. The method additionally includes communicating the reply to the first processor through the isolation barrier.
- In a third embodiment, a system includes a serial peripheral interface (SPI) bridge configured to communicatively couple a first processor having a SPI port to a second processor. The SPI bridge includes a data multiplexor configured to route signals for the first processor and a first register configured to communicatively couple the data multiplexor to the first processor. The SPI bridge further includes an output pin control communicatively coupled to the data multiplexor and configured to control a device and serial digital interface (SDI) combinatorial logic system. The SPI bridge further includes a second register communicatively coupled to a second processor through the SDI combinatorial logic system, and a reply register communicatively coupled to the data multiplexor, wherein the first processor is configured to use the data multiplexor to reply to a command issued by the second processor through an isolation barrier.
- These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
-
FIG. 1 is a block diagram of an embodiment of a master processor communicatively coupled to a slave processor; -
FIG. 2 is a detailed block diagram of an embodiment of the master processor communicatively coupled to the slave processor ofFIG. 1 ; and -
FIG. 3 is a flow chart of an embodiment of a process for interfacing the master processor with the slave processor ofFIGS. 1 and 2 . - One or more specific embodiments of the present invention will be described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
- When introducing elements of various embodiments of the present invention, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
- Certain processor-based systems, such as data acquisition systems, may include multiple processors. For example, one or more master processors may be communicatively coupled to one or more slave processors. The master processors may delegate data acquisition tasks to the slave processors, and communicate with the slave processors over an isolation barrier. The isolation barrier may provide for electrical isolation between the master and slave processors, thus improving the transmission of signals and enhancing the protection of circuitry. In one embodiment, a serial peripheral interface (SPI) may be used to communicate across the isolation barrier. The SPI may include a “four-wire” serial bus including four pins suitable for communicatively coupling a slave processor with a master processor. Alternatively, the SPI may be used to couple the slave processor to analog multiplexor controls or to output pin controls. Unfortunately, certain slave processors that include a single SPI port cannot use the SPI port to communicatively couple the slave processor to the master process, the analog multiplexor controls, and the output pin controls. That is, the use of the single SPI port precludes the communicative use of the SPI as a communication interface between the slave processor and more than one of the master processor, the multiplexor controls, or the output pin control. The single SPI port can typically be used to communicatively couple the slave processor to only one of the master processor, the analog multiplexor controls, or the output pin controls.
- The systems and methods described herein enable the use of the SPI protocol to couple the slave processor having a single SPI port to a variety of systems, including a combination consisting of the master processor, the analog multiplexor controls and the output pin controls. Indeed, by using the systems and methods described herein, the slave processor having the single SPI port may be communicatively coupled to all three of the master processor, the multiplexor controls, and the output pin controls. Additionally, the system and methods described herein may allow the flow of information, such as reprogramming information, between the master and slave processors through the isolation barrier.
- With the foregoing in mind and turning now to
FIG. 1 , the figure depicts a block diagram of an embodiment of anelectronic system 10, including a galvanically isolateddata acquisition system 11. Thedata acquisition system 11 includes aslave processor 12 communicatively coupled to amaster processor 14,output pin controls 16, andanalog multiplexor controls 17 by using asingle SPI port 18 connected to a SPI bridge orinterface system 20 through aSPI bus 22. For example, theslave processor 12 may be an Analog Devices microcontroller model number ADuC7061, which includes a single 8-bit SPI port 18 suitable for coupling to theSPI bus 22. It is to be noted that, in other embodiments, theslave processor 12 may be other microprocessors, such as microprocessors including a 16-bit SPI port 18, a 32-bit SPI port 18, a 64-bit SPI port 18, ormultiple SPI ports 18. - The SPI bridge or
interface system 20 may be used to communicatively interface the slave processor'sSPI port 18 with themaster processor 14 through agalvanic isolation barrier 24. Theisolation barrier 24 may be any isolative device suitable for galvanically isolating a section of electrical circuitry, such as a capacitive isolation barrier, an inductive isolation barrier, an optical isolation barrier, or a combination thereof. TheSPI bridge 20 may additionally be used to communicatively interface theslave processor 12 to theoutput pin control 16. For example, theoutput pin control 16 may be driven by the slave processor and used to control an output device. The output device may be an actuator suitable for operating devices, a valve, a pump, a compressor, and so forth. The SPIbridge 20 may also be used to communicatively interface theslave processor 12 to theanalog multiplexor control 17. Theanalog multiplexor control 17 may be used to multiplex or otherwise route signals from theslave processor 12 to any number of electronic and/or electrical systems. For example, the multiplexor may route signals to subsystems of theelectronic system 10 electrically isolated by theisolation barrier 24. It is to be noted that while the depictedSPI bridge 20 is illustrated as including a singleoutput pin control 16 and a singleanalog multiplexor control 17, other embodiments may include multipleoutput pin controls 16 and/or multipleanalog multiplexor controls 17. Indeed, theSPI bridge 20 may be used to interface theslave processor 12 to a plurality ofoutput pin controls 16 and/or a plurality ofanalog multiplexor controls 17. - In one embodiment, the
SPI bridge 20 includes a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a programmable array logic (PAL), application specific integrated circuit (ASIC), or a combination thereof, suitable for creating a logic or executable functions used in for performing hardware operations on signals, as described in more detail below. That is, a CPLD, an FPGA, a PAL, an ASIC, or a combination thereof may be used to construct theSPI bridge 20. In other embodiments, theSPI bridge 20 may be constructed using any type of electronic device (e.g., custom-designed transistor circuitry) suitable for performing hardware operations on signals, as described in more detail below. - In the depicted embodiment, the
SPI bridge 20 provides a first set ofregisters 26 that may be used to communicate with theslave processor 12. In the depicted embodiment, theregisters 26 are compatible with a SPI protocol standard, such as the Motorola 8-bit SPI protocol. Likewise, theSPI bridge 20 provides for a second set ofregisters 28 that may be used to communicate with themaster processor 14 through aSPI bus 30 and theisolation barrier 24. Theregisters 28, may also be compatible with the Motorola 8-bit SPI standard. Accordingly, information flowing through theSPI port 18 may then be directed, through the use of thefirst SPI bus 22 and the first set ofregisters 26, into a data routing andbuffering system 32. The data routing andbuffering system 32 may include logic or executable functions suitable for directing or otherwise routing information into and from theoutput pin control 16 and theanalog multiplexor control 17. For example, theslave processor 12 may control an output device (e.g., valve, pump, compressor) by sending or receiving signals placed through theSPI port 18 into theregisters 26, which are then directed to theoutput pin control 16 through the data routing andbuffering system 32. Data having more than 8-bits may be buffered through multiple data transfers, and the longer bit data may then be placed onto theoutput pin control 16 by the data routing andbuffering system 32. Similarly, theslave processor 12 may route signals through theanalog multiplexor control 17 to other electrical systems by using theSPI port 18. For example, signals directed to theanalog multiplexor control 17 may also be placed into theregisters 26, which may then be directed into theanalog multiplexor control 17 through the data routing andbuffering system 32. Such signals may also be buffered through multiple data transfers to produce data having more than 8 bits. - The data routing and
buffering system 32 may also be used to interface with themaster processor 14. For example, themaster processor 14 may place signals through theisolation barrier 24 through theSPI bus 30 and into the second registers 28. The signals may then be provided tofirst registers 26 by the data routing andbuffering system 32 and be directed into theSPI port 18 through theSPI bus 22.Slave processor 12 signals directed to themaster processor 14 may follow the opposite path (e.g., from thefirst registers 26 through thebus 22 and into the data routing andbuffering system 32, from the routing andbuffering system 32 through thebus 30 and theisolation barrier 24 and into the master processor 14). By providing for the transmission of signals to and from theoutput pin control 16, theanalog multiplexor control 17, and themaster processor 14, theSPI bridge 20 may functionally extend the pin count of theSPI port 18, thus enhancing the communicative capabilities of theslave processor 12. For example, theSPI port 18 may have a four pin count, yet the use of theSPI bridge 20 provides for communicative coupling with at least three systems (e.g.,master processor 14,output pin control 16, and analog multiplexor control 17) without sacrificing data transfer speed. Additionally, the number of pins (e.g., 4 pins) ofisolation barrier 24 may be minimized, thus improving signal quality and reducing noise. - Additionally, the
SPI bridge 20 allows the transmission of programming signals through control of theJTAG bus 34 through theisolation barrier 24. Indeed, some of the JTAG signals may be used to debug or to flash (e.g., write to memory) theslave processor 12. For example, a new program including computer instructions or code executable by theslave processor 12 may be transmitted through theisolation barrier 14 by using the JTAG signals in combination with theSPI bus 22. Theslave processor 12 may then store the new program in memory and execute the new program, as desired. Likewise, debugging, testing, validation, verification, maintenance, and other software improvement operations for theslave processor 12 may be enabled through the use of the JTAG signals. For example, boundary-scan cells may be used to capture or force data from core logic of theslave processor 12, useful in improving the software residing in theslave processor 12. Afactory connection 36 may also be used to provide for JTAG functionality. For example, certain pins of thefactory connection 36 may be dedicated to send and/or receive the JTAG signals. By providing for the use of JTAG signals, in addition to the aforementioned reduction in pin count of theisolation barrier 24, theSPI bridge 20 may enable a more maintainable andtestable slave processor 12. The functionality of thedata acquisition system 11 may be additionally described in a detailed view, such as the detailed view shown inFIG. 2 . -
FIG. 2 illustrates a detailed block diagram of an embodiment of thedata acquisition system 11. In the depicted embodiment, theslave processor 12 is communicatively connected to themaster processor 14 shown inFIG. 1 through the use of theSPI bridge 20 and theisolation barrier 24. As mentioned above, theSPI bridge 20 may enable the use of theSPI port 18 for communicating with themaster processor 14, theoutput control 16, and theanalog multiplexor control 17. By using theSPI bridge 20, the SPI port's 18 “four-wire” design may be leveraged into providing for extended functionality (e.g., communicating with themaster processor 14, theoutput control 16, and the analog multiplexor control 17) while using four SPI signals, such as a SPI data input (ASDI) 38, a SPI data output (ASDO) 40, a SPI clock (ASCK) 42, and a SPI select (ASEL) 44. Further, themaster processor 24 need not be modified because of the master processor's support for corresponding SPI signals master data input (BSDI) 46, master data output (BSDO) 48, master clock (BSCK) 50, and master select (BSEL) 52. That is, themaster processor 14 may communicate through its own SPI port with theslave processor 12 by using the standard SPI protocols without any additional modifications. - In the depicted embodiment, the
SPI bridge 20 enables the communicative mapping of the slave processor's ASDI 38, theASDO 40, theASCK 42, and theASEL 44 to the master processor'sBSDI 46,BSDO 48,BSCK 50, andBSEL 52, respectively. In one example, when theslave processor 12 performs a transfer of data, information flows into the SPI registers 26. The information then continues to flow into a data multiplexor throughpath 56. Depending on addressing data (e.g., bits use to route the information), the information may then flow into theoutput pin control 16, theanalog multiplexor control 17, or reply registers (e.g., first in first out [FIFO]) throughlines lines output pin control 16, theanalog multiplexor control 17, or the reply registers 58. It is to be noted that, in other embodiments, additional data select lines may be used to enable the transfer of information between theslave processor 12, a plurality of output pin controls 16, a plurality of analog multiplexor controls 17, and a plurality of reply registers 58. - The reply registers 58 may include 32 bits suitable for building, for example, a 32-bit reply before transmitting the reply to the
master processor 14. For example, four transfers of 8 bit data may be buffered by the reply registers 58, resulting in a 32-bit reply. When a reply, such as the 32-bit reply is ready, a serial data interface (SDI)combinatorial logic system 70 may be used to submit the reply from the reply registers 58 to themaster processor 14 through theisolation barrier 24. In one embodiment, the SDIcombinatorial logic system 70 may pulse theBSDI 46, thus giving notice to themaster processor 14 of the reply incoming from theslave processor 12. The reply may be transmitted from the reply registers 58 to the SDIcombinatorial logic system 70 throughline 72. Likewise, the reply may be transmitted from the reply registers 58 to the SPI registers 28 throughline 74, and then to the SDI combinatorial logic system throughline 76. Similarly, data may be transmitted from theslave processor 12 to the SDIcombinatorial logic system 70 through a transmit (ATXD)line 78, and then pulsed to the master processor through theBSDI 46. - A
mode sensing system 80 may also be used to minimize the number of pins used by theisolation barrier 24. In the depicted embodiment, themode sensing system 80 may be continuously monitoring theBSEL 52 for an inactive signal. When theBSEL 52 is inactive, the SPI protocol is designed to ignore themaster clock BSCK 50, ignore the masteroutput data BSDO 48, and leave themaster input BSDI 46 in a fixed state. Instead of ignoring theBSCK 50 and theBSDO 48, themode sensing system 80 enables the transfer of data when theBSEL 52 is inactive. Various data transfer modes may be used when theBSEL 52 is inactive. For example, in a JTAG mode, reprogramming data may be communicated to theslave processor 12 through theisolation barrier 24 by using a boot mode transmit (BM/TRST)line 82 and/or a reset out (RSTOUT)line 84. Accordingly, themode sensing system 80 may interface with atiming control system 86 throughline 88 to drive the JTAG lines 82 and 84. Additionally, areset system 89 is provided, suitable for resetting thetiming control system 86 and/or theSPI bridge 20. In a data transfer mode, data, such as master command data, may be sent to theslave processor 12 through a receive (ARXD)line 90. - In certain embodiments, a custom set of data patterns may be used to denote the transfer modes. For example, patterns with 4 or more 1s or 0s in a row may be ignored by the
mode sensing system 80 to allow for slower universal asynchronous receiver/transmitter (UART) data transmissions. In this embodiment, by setting the baud rate on the UART to a slower baud rate than the baud rate used for transmitting the custom patterns, the UART will not respond to the custom patterns being used to set the transfer modes. Some example custom data patterns that may be used for JTAG transfer modes are as follows: Pattern “01100110” may be used to set the JTAG resetline 84. Pattern “01110111” may be used to clear the JTAG resetline 84. Pattern “10011001” may be used to set the JTAGboot mode line 82. Pattern “10001000” may be used to clear the JTAGboot mode line 82. For example, asserting theboot mode line 82 while allowing thereset line 84 to go inactive (e.g., first asserting thereset line 84 and then setting thereset line 84 inactive) may result in theslave processor 12 waiting for JTAG program information communicated through theSPI port 26 or theARXD 78. Certain JTAG program information may result in theslave processor 12 entering a download mode, while other JTAG program information may result in theslave processor 12 jumping to a certain location in memory and executing a program, such as a factory program, found in memory. Additionally, lines pad input (TDI) 92, pad output (TDO) 94, pad clock (TCK) 96, and pad select (TMS) 98 may be used by aJTAG pad 100 for download of JTAG debugging or programming information. - Other example custom data patterns that may be used for data transfers between the
slave processor 12 and themaster processor 14 are as follows: Pattern “11000111” may be used to select theATXD 78 driving or writing to theBSDI 46 through the SDIcombinatorial logic system 70 when theBSEL 52 is inactive. This same pattern may also be used in preparing theARXD 90 to received data through theBSDO 48, for example, for programming support. Pattern “11001110” may be used to select the reply registers 58 to drive theBSDI 46 with data whenBSEL 52 is inactive. Likewise, pattern “11011100” may be used to select an interrupt line (AINTR) 102 to drive theBSDI 46 when theBSEL 52 is inactive. It is to be noted that any number of custom data patterns may be used, in additional to or alternative to the aforementioned example data patterns. By providing for custom patterns, the SDIcombinatorial logic 70 and themode sensing system 80 may efficiently enable the communicative interface between theslave processor 12 and themaster processor 14 while minimizing signal lines flowing throughSPI buses - During data transfers incoming from the
master processor 14 and using the standard SPI protocol, the data may flow through theisolation barrier 24 into themode sensing system 80. Themode sensing system 80 may then direct the data into the SPI registers 28 throughlines master processor 14 into the SPI registers 28. No modification on themaster processor 14 would be used for these standard SPI data transfers. The reply registers 58 may then be emptied out in preparation for fulfilling a response to the master processor's request. Likewise, acommand register 110 may be loaded with the SPI data incoming from themaster processor 14. Thecommand register 110 may then assert an interrupt through interruptline 112. The interrupt notifies theslave processor 12 of incoming SPI data. Accordingly, theslave processor 12 may drive the data selectlines command register 110 into the SPI registers 26 through aline 114, the data multiplexor 54 and aline 116. TheSPI port 18 may then receive the information from the SPI registers 26 through thebus 22. - As mentioned above, a reply to the master processor's command may be prepared by using the
reply register 58, and may be subsequently transmitted into themaster processor 14 through theisolation barrier 24. Likewise, the data selectlines output pin control 16 throughline 118 or from theanalog multiplexor control 17 throughline 120. By providing for standard SPI data transfers in addition to custom data transfers, theSPI bridge 20 may enable a more comprehensive and efficient communication with themaster processor 14, theoutput pin control 16, and theanalog multiplexor control 17. - In one embodiment, an
update line 122 may be used to load pin states (e.g.,output pin control 16, analog multiplexor control 17), other ports for input pins, other serial ports for inter-integrated circuits (12C), other SPI ports to external circuitry, and/or for byte/word port selection where the ports are wider than 8 bits. Other data paths within theSPI bridge 20 may thus include a selection of the slave SPI information for flow to theoutput pin control 16 and theanalog multiplexor control 17. Accordingly, to allow for preset of these functions, theupdate line 122 may be used to load all of the aforementioned signal pins and I2C serial port at the same time. In this manner, theslave processor 12 could be performing setup operations over a period of time prior to pulsing theupdate line 122. This functionality allows for improved controlled timing state changes in the hardware of theSPI bridge 20 and eases execution code timing. -
FIG. 3 depicts an embodiment of aprocess 124 suitable for transmission of information from theslave processor 12 and/or themaster processor 14 shown inFIG. 1 . In the depicted embodiment, themaster processor 14 may issue data (block 126) through theisolation barrier 24. Theprocess 124 may determine if the data issued includes custom data patterns (decision 128). As mentioned above with respect toFIG. 2 , themode sensing system 80 may be continuously monitoring theSPI port 30 for the appearance of certain custom data patterns. For example, theBSEL 56 may be set inactive and themaster processor 14 may issue custom data patterns with 4 or more 1s or 0s in a row. If no custom data patterns are detected (decision 128), then theprocess 124 may treat the master processor communication as communications following the standard SPI protocol (block 130). As mentioned above, in one embodiment, themaster processor 14 may use theSPI bridge 20 to provide the standard SPI data to theslave processor 12 through the use of thecommand register 110. If custom patterns are detected (decision 128), then theprocess 124 may follow a custom communications protocol (block 132). Regardless of the type of communication, the master processor's request may be transmitted (block 134) to theslave processor 12. For example, themaster processor 14 may provide custom communications directed to theslave processor 12 through theARXD 90 line, and/or the ASDI line 38, with the slave processor responding through theATXD 78 line, and/or through the SPI registers 26. Themaster processor 14 may also issue JTAG-related custom communications based on the custom data patterns, as described above with respect toFIG. 2 . - The
process 124 may also enable theslave processor 12 to issue data (block 136) through theSPI port 26. For example, the data may be directed as a reply to themaster processor 14, or a communications directed to theoutput pin control 16 or to theanalog multiplexor control 17 shown inFIGS. 1 and 2 . If the data is a reply (decision 138) to themaster processor 14, then theprocess 124 may build the reply (block 140) by using thereply register 58. As described above with respect toFIG. 2 , thereply register 58 may be used to build a reply, including a reply larger than 8 bits (e.g., 16 bits, 32, bits, 64 bits, 128 bits) through one or more data transfers through the data multiplexor 54 by using the data selectlines master processor 14. For example, the SDIcombinatorial logic system 70 may be used to transmit data from thereply register 58 into themaster processor 14 through theBSDI 46. - If the
process 124 determines that the data is not a reply (decision 138) to themaster processor 14, then theprocess 124 may determine if the data is directed (decision 144) to theoutput pin control 16. If the data is directed to theoutput pin control 16, then theslave processor 12 may transmit the data (block 146) to theoutput pin control 16. For example, the data selectlines output pin control 16. If theprocess 124 determines that the data is not directed (decision 144) to theoutput pin control 16, then theprocess 124 may determine if the data is directed (decision 148) to theanalog multiplexor control 17. If the data is directed (decision 148) to theanalog multiplexor control 17, then theslave processor 12 may communicate with theanalog multiplexor control 17 to send the data. For example, the data selectlines analog multiplexor control 17. By providing for communications between theslave processor 12 and themaster processor 14, theoutput pin control 16, and theanalog multiplexor control 17 while minimizing pin count and reusing the slave processor'sSPI port 18, the systems and methods described herein may enable extended communications functionality while maximizing signal quality and minimizing circuit noise. - Technical effects of the invention include enabling the communications between a slave processor's SPI port and a master processor, an output pin control, and an analog multiplexor control. In one embodiment, a single “four wire” SPI port is used to communicate with all three of the master processor, the output pin control, and the analog multiplexor control by using a SPI bridge. The SPI bridge additionally enables the use of JTAG instructions through the isolation barrier. Custom communications as well as standard SPI communications are enabled through the SPI bridge. Custom data patterns may be observed when the SPI select line is inactive, leading to the execution of logic related to the custom patterns. Further technical effects include the minimization of pins in an isolation barrier, thus resulting in improved signal quality and minimized circuit noise.
- This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.
Claims (20)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/083975 WO2013086704A1 (en) | 2011-12-14 | 2011-12-14 | Systems and methods for interfacing master and slave processors |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140208070A1 true US20140208070A1 (en) | 2014-07-24 |
US9128726B2 US9128726B2 (en) | 2015-09-08 |
Family
ID=48611814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/640,728 Active 2033-01-14 US9128726B2 (en) | 2011-12-14 | 2011-12-14 | Systems and methods for interfacing master and slave processors |
Country Status (3)
Country | Link |
---|---|
US (1) | US9128726B2 (en) |
CN (1) | CN203733117U (en) |
WO (1) | WO2013086704A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140075072A1 (en) * | 2012-09-13 | 2014-03-13 | General Electric Company | Systems and methods for improved linking of master and slave devices |
US20140115209A1 (en) * | 2012-10-18 | 2014-04-24 | Hewlett-Packard Development Company, L.P. | Flow Control for a Serial Peripheral Interface Bus |
US20140181471A1 (en) * | 2012-12-21 | 2014-06-26 | Apple Inc. | Adaptive Data Collection Practices in a Multi-Processor Device |
WO2016078288A1 (en) * | 2014-11-19 | 2016-05-26 | 中兴通讯股份有限公司 | Method, communication interface and debugging system for multiplexing port resource |
US10673540B2 (en) * | 2011-12-19 | 2020-06-02 | Valeo Systemes De Controle Moteur | Method for communicating between at least one first system and at least one second system |
US10725959B2 (en) * | 2018-03-09 | 2020-07-28 | Analog Devices Global Unlimited Company, Inc. | Serial peripheral interface round robin mode system and apparatus |
US10983161B2 (en) * | 2016-04-29 | 2021-04-20 | Texas Instruments Incorporated | Full pad coverage boundary scan |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160350240A1 (en) * | 2015-05-29 | 2016-12-01 | Analog Devices Global | Serial peripheral interface host port |
GB201801572D0 (en) * | 2018-01-31 | 2018-03-14 | Nordic Semiconductor Asa | Inter-processor communication |
CN109739795A (en) * | 2018-12-29 | 2019-05-10 | 百度在线网络技术(北京)有限公司 | Communication means, processor, major-minor system, computer-readable medium |
CN110677589B (en) * | 2019-10-22 | 2024-05-17 | 广州四为电子科技有限公司 | Image acquisition device |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5970069A (en) * | 1997-04-21 | 1999-10-19 | Lsi Logic Corporation | Single chip remote access processor |
US20040151203A1 (en) * | 2003-01-31 | 2004-08-05 | Manu Gulati | Apparatus and method to receive and align incoming data in a buffer to expand data width by utilizing a single write port memory device |
US6993617B2 (en) * | 2002-05-01 | 2006-01-31 | Sun Microsystems, Inc. | System-on-a-chip having an on-chip processor and an on-chip dynamic random access memory (DRAM) |
US7093153B1 (en) * | 2002-10-30 | 2006-08-15 | Advanced Micro Devices, Inc. | Method and apparatus for lowering bus clock frequency in a complex integrated data processing system |
US20080147901A1 (en) * | 2006-10-31 | 2008-06-19 | Ibm Corporation | Method and apparatus for interfacing to an integrated circuit that employs multiple interfaces |
US20080276132A1 (en) * | 2007-05-02 | 2008-11-06 | Honeywell International Inc. | Microprocessor supervision in a special purpose computer system |
US20090013056A1 (en) * | 2006-11-09 | 2009-01-08 | Neil Weinstock | Architecture And Method For Remote Platform Control Management |
US20090019328A1 (en) * | 2006-03-01 | 2009-01-15 | Koninklijke Philips Electronics N.V. | Ic circuit with test access control circuit using a jtag interface |
US20090030558A1 (en) * | 2007-07-27 | 2009-01-29 | Snap-On Incorporated | Wheel alignment head and system with advanced power management |
US20100325326A1 (en) * | 2009-06-19 | 2010-12-23 | Via Technologies, Inc. | Device information management system and device information management method |
US20110064246A1 (en) * | 2009-09-16 | 2011-03-17 | Loeppert Peter V | Microphone Interface and Method of Operation |
US20110072297A1 (en) * | 2009-09-22 | 2011-03-24 | Hon Hai Precision Industry Co., Ltd. | Spi devices and method for transferring data between the spi devices |
US20110225339A1 (en) * | 2010-03-09 | 2011-09-15 | Chi-Ming Chen | Data transmission system and a programmable spi controller |
US20120072628A1 (en) * | 2010-09-17 | 2012-03-22 | International Business Machines Corporation | Remote multiplexing devices on a serial peripheral interface bus |
US20120137163A1 (en) * | 2009-08-19 | 2012-05-31 | Kentaro Sasagawa | Multi-core system, method of controlling multi-core system, and multiprocessor |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3970786B2 (en) * | 2003-03-05 | 2007-09-05 | 株式会社日立製作所 | Multiprocessor system |
CN101095123A (en) | 2003-10-10 | 2007-12-26 | 诺基亚公司 | Microcontrol architecture for a system on a chip (soc) |
CN101533384A (en) | 2008-03-14 | 2009-09-16 | 施耐德电器工业公司 | Dual processor controlling system sharing one program memory and method thereof |
-
2011
- 2011-12-14 WO PCT/CN2011/083975 patent/WO2013086704A1/en active Application Filing
- 2011-12-14 US US13/640,728 patent/US9128726B2/en active Active
- 2011-12-14 CN CN201190000942.XU patent/CN203733117U/en not_active Expired - Lifetime
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5970069A (en) * | 1997-04-21 | 1999-10-19 | Lsi Logic Corporation | Single chip remote access processor |
US6993617B2 (en) * | 2002-05-01 | 2006-01-31 | Sun Microsystems, Inc. | System-on-a-chip having an on-chip processor and an on-chip dynamic random access memory (DRAM) |
US7093153B1 (en) * | 2002-10-30 | 2006-08-15 | Advanced Micro Devices, Inc. | Method and apparatus for lowering bus clock frequency in a complex integrated data processing system |
US20040151203A1 (en) * | 2003-01-31 | 2004-08-05 | Manu Gulati | Apparatus and method to receive and align incoming data in a buffer to expand data width by utilizing a single write port memory device |
US20090019328A1 (en) * | 2006-03-01 | 2009-01-15 | Koninklijke Philips Electronics N.V. | Ic circuit with test access control circuit using a jtag interface |
US20080147901A1 (en) * | 2006-10-31 | 2008-06-19 | Ibm Corporation | Method and apparatus for interfacing to an integrated circuit that employs multiple interfaces |
US20090013056A1 (en) * | 2006-11-09 | 2009-01-08 | Neil Weinstock | Architecture And Method For Remote Platform Control Management |
US20080276132A1 (en) * | 2007-05-02 | 2008-11-06 | Honeywell International Inc. | Microprocessor supervision in a special purpose computer system |
US20090030558A1 (en) * | 2007-07-27 | 2009-01-29 | Snap-On Incorporated | Wheel alignment head and system with advanced power management |
US20100325326A1 (en) * | 2009-06-19 | 2010-12-23 | Via Technologies, Inc. | Device information management system and device information management method |
US20120137163A1 (en) * | 2009-08-19 | 2012-05-31 | Kentaro Sasagawa | Multi-core system, method of controlling multi-core system, and multiprocessor |
US20110064246A1 (en) * | 2009-09-16 | 2011-03-17 | Loeppert Peter V | Microphone Interface and Method of Operation |
US20110072297A1 (en) * | 2009-09-22 | 2011-03-24 | Hon Hai Precision Industry Co., Ltd. | Spi devices and method for transferring data between the spi devices |
US20110225339A1 (en) * | 2010-03-09 | 2011-09-15 | Chi-Ming Chen | Data transmission system and a programmable spi controller |
US20120072628A1 (en) * | 2010-09-17 | 2012-03-22 | International Business Machines Corporation | Remote multiplexing devices on a serial peripheral interface bus |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10673540B2 (en) * | 2011-12-19 | 2020-06-02 | Valeo Systemes De Controle Moteur | Method for communicating between at least one first system and at least one second system |
US11082136B2 (en) * | 2011-12-19 | 2021-08-03 | Valeo Systemes De Controle Moteur | Method for communicating between at least one first system and at least one second system |
US9158728B2 (en) * | 2012-09-13 | 2015-10-13 | General Electric Company | Systems and methods for improved linking of master and slave devices |
US20140075072A1 (en) * | 2012-09-13 | 2014-03-13 | General Electric Company | Systems and methods for improved linking of master and slave devices |
US20140115209A1 (en) * | 2012-10-18 | 2014-04-24 | Hewlett-Packard Development Company, L.P. | Flow Control for a Serial Peripheral Interface Bus |
US9003091B2 (en) * | 2012-10-18 | 2015-04-07 | Hewlett-Packard Development Company, L.P. | Flow control for a Serial Peripheral Interface bus |
US20140181471A1 (en) * | 2012-12-21 | 2014-06-26 | Apple Inc. | Adaptive Data Collection Practices in a Multi-Processor Device |
US9411396B2 (en) * | 2012-12-21 | 2016-08-09 | Apple Inc. | Adaptive data collection practices in a multi-processor device |
CN105681067A (en) * | 2014-11-19 | 2016-06-15 | 中兴通讯股份有限公司 | Port resource reuse method, communication interface and debugging system |
WO2016078288A1 (en) * | 2014-11-19 | 2016-05-26 | 中兴通讯股份有限公司 | Method, communication interface and debugging system for multiplexing port resource |
US10983161B2 (en) * | 2016-04-29 | 2021-04-20 | Texas Instruments Incorporated | Full pad coverage boundary scan |
US11821945B2 (en) * | 2016-04-29 | 2023-11-21 | Texas Instruments Incorporated | Full pad coverage boundary scan |
US10725959B2 (en) * | 2018-03-09 | 2020-07-28 | Analog Devices Global Unlimited Company, Inc. | Serial peripheral interface round robin mode system and apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN203733117U (en) | 2014-07-23 |
WO2013086704A1 (en) | 2013-06-20 |
US9128726B2 (en) | 2015-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9128726B2 (en) | Systems and methods for interfacing master and slave processors | |
US6430727B1 (en) | Diagnostic procedures in an integrated circuit device | |
US6006343A (en) | Method and apparatus for streamlined testing of electrical circuits | |
JP4454430B2 (en) | Crossing trigger for processing equipment | |
CN102214132B (en) | Method and device for debugging Loongson central processing unit (CPU), south bridge chip and north bridge chip | |
JP4037494B2 (en) | Test access port controller and effective communication method using the same | |
US5526365A (en) | Method and apparatus for streamlined testing of electrical circuits | |
US6134652A (en) | Diagnostic procedures in an integrated circuit device | |
US7979745B2 (en) | On-chip debug emulator, debugging method, and microcomputer | |
CN107992390B (en) | Chip debugging method based on-chip bus | |
US20080040636A1 (en) | Integrated circuit having a subordinate test interface | |
JP2007004832A (en) | Method for utilizing multiword instruction register while debugging data processing system | |
US8732526B1 (en) | Single-wire data interface for programming, debugging and testing a programmable element | |
US20140052881A1 (en) | Systems and methods for concatenating multiple devices | |
JP4426655B2 (en) | Trigger sequencing controller | |
JP2000242573A (en) | Method and device for connecting manufacture test interface to global serial bus including i2c bus | |
CN110858182A (en) | Integrated circuit, bus system and control method thereof | |
US10078113B1 (en) | Methods and circuits for debugging data bus communications | |
US8384427B1 (en) | Configuring multiple programmable logic devices with serial peripheral interfaces | |
CN111078614A (en) | Function module based on FPGA | |
US20040193980A1 (en) | Configurator arrangement and approach therefor | |
US20040193979A1 (en) | Circuit configurator arrangement and approach therefor | |
US7457999B2 (en) | Debug port system for control and observation | |
GB2493405A (en) | Integrated circuit debugging using barrier transactions and debug access port circuitry | |
US7610532B2 (en) | Serializer/de-serializer bus controller interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GENERAL ELECTRIC COMPANY, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ALLEY, DANIEL MILTON;HU, XIAOMIN;XU, YE;SIGNING DATES FROM 20121003 TO 20121009;REEL/FRAME:029116/0235 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: GE INFRASTRUCTURE TECHNOLOGY LLC, SOUTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GENERAL ELECTRIC COMPANY;REEL/FRAME:065727/0001 Effective date: 20231110 |