US20040221133A1 - Method of multiplexed address and data bus - Google Patents

Method of multiplexed address and data bus Download PDF

Info

Publication number
US20040221133A1
US20040221133A1 US09/838,975 US83897501A US2004221133A1 US 20040221133 A1 US20040221133 A1 US 20040221133A1 US 83897501 A US83897501 A US 83897501A US 2004221133 A1 US2004221133 A1 US 2004221133A1
Authority
US
United States
Prior art keywords
data
control unit
read
microprocessors
bus
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
Application number
US09/838,975
Other versions
US6823441B1 (en
Inventor
Alan Ward
Haitao Lin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FCA US LLC
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US09/838,975 priority Critical patent/US6823441B1/en
Assigned to DAIMLERCHRYSLER CORPORATION reassignment DAIMLERCHRYSLER CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LIN, HAITAO, WARD, ALAN R.
Publication of US20040221133A1 publication Critical patent/US20040221133A1/en
Publication of US6823441B1 publication Critical patent/US6823441B1/en
Application granted granted Critical
Assigned to WILMINGTON TRUST COMPANY reassignment WILMINGTON TRUST COMPANY GRANT OF SECURITY INTEREST IN PATENT RIGHTS - FIRST PRIORITY Assignors: CHRYSLER LLC
Assigned to WILMINGTON TRUST COMPANY reassignment WILMINGTON TRUST COMPANY GRANT OF SECURITY INTEREST IN PATENT RIGHTS - SECOND PRIORITY Assignors: CHRYSLER LLC
Assigned to DAIMLERCHRYSLER COMPANY LLC reassignment DAIMLERCHRYSLER COMPANY LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: DAIMLERCHRYSLER CORPORATION
Assigned to CHRYSLER LLC reassignment CHRYSLER LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: DAIMLERCHRYSLER COMPANY LLC
Assigned to US DEPARTMENT OF THE TREASURY reassignment US DEPARTMENT OF THE TREASURY GRANT OF SECURITY INTEREST IN PATENT RIGHTS - THIR Assignors: CHRYSLER LLC
Assigned to CHRYSLER LLC reassignment CHRYSLER LLC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: US DEPARTMENT OF THE TREASURY
Assigned to THE UNITED STATES DEPARTMENT OF THE TREASURY reassignment THE UNITED STATES DEPARTMENT OF THE TREASURY SECURITY AGREEMENT Assignors: NEW CARCO ACQUISITION LLC
Assigned to CHRYSLER LLC reassignment CHRYSLER LLC RELEASE OF SECURITY INTEREST IN PATENT RIGHTS - FIRST PRIORITY Assignors: WILMINGTON TRUST COMPANY
Assigned to CHRYSLER LLC reassignment CHRYSLER LLC RELEASE OF SECURITY INTEREST IN PATENT RIGHTS - SECOND PRIORITY Assignors: WILMINGTON TRUST COMPANY
Assigned to NEW CARCO ACQUISITION LLC reassignment NEW CARCO ACQUISITION LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHRYSLER LLC
Assigned to CHRYSLER GROUP LLC reassignment CHRYSLER GROUP LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: NEW CARCO ACQUISITION LLC
Assigned to CHRYSLER GROUP GLOBAL ELECTRIC MOTORCARS LLC, CHRYSLER GROUP LLC reassignment CHRYSLER GROUP GLOBAL ELECTRIC MOTORCARS LLC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: THE UNITED STATES DEPARTMENT OF THE TREASURY
Assigned to CITIBANK, N.A. reassignment CITIBANK, N.A. SECURITY AGREEMENT Assignors: CHRYSLER GROUP LLC
Assigned to CITIBANK, N.A. reassignment CITIBANK, N.A. SECURITY AGREEMENT Assignors: CHRYSLER GROUP LLC
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. SECURITY AGREEMENT Assignors: CHRYSLER GROUP LLC
Assigned to FCA US LLC reassignment FCA US LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: CHRYSLER GROUP LLC
Assigned to FCA US LLC, FORMERLY KNOWN AS CHRYSLER GROUP LLC reassignment FCA US LLC, FORMERLY KNOWN AS CHRYSLER GROUP LLC RELEASE OF SECURITY INTEREST RELEASING SECOND-LIEN SECURITY INTEREST PREVIOUSLY RECORDED AT REEL 026426 AND FRAME 0644, REEL 026435 AND FRAME 0652, AND REEL 032384 AND FRAME 0591 Assignors: CITIBANK, N.A.
Assigned to FCA US LLC (FORMERLY KNOWN AS CHRYSLER GROUP LLC) reassignment FCA US LLC (FORMERLY KNOWN AS CHRYSLER GROUP LLC) RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CITIBANK, N.A.
Assigned to FCA US LLC (FORMERLY KNOWN AS CHRYSLER GROUP LLC) reassignment FCA US LLC (FORMERLY KNOWN AS CHRYSLER GROUP LLC) RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A.
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4269Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a handshaking protocol, e.g. Centronics connection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Definitions

  • the present invention relates generally to a communication architecture for communication between two microprocessors. More particularly, the invention relates to an address/data parallel bus architecture which allows communication between two system on chip (SOC) microprocessors.
  • SOC system on chip
  • SOC System-on-chip
  • ECU electronice control unit
  • SOC ECU digital core that ends up being a very large, complex piece of silicon.
  • SOC devices also have multi-faceted operational requirements, and thus are usually challenged by a multitude of simultaneous tasks.
  • simplicity of interface to the software is of prime importance.
  • two very large SOC ECU silicon digital cores could be an engine control function and a transmission control function.
  • these two cores must share large amounts of data, and they must do the data sharing in real-time.
  • the delays that are typical of a serial communication link between the ECUs may prohibit certain types of feature development, due to the delays and complexities that are inherent in serial communication links.
  • a parallel bus architecture between the cores (which could place data to be communicated between the cores in specific registers for both sides to use) has been discovered to be the most efficient way to accomplish the task.
  • an address/data bus for communicating between two vehicle based microprocessors. It is further desirable to provide an address/data bus with minimized pin count which reduces the effects of electromagnetic interference (EMI). Finally, it is desirable to provide an address/data bus which allows for bus access between microprocessor cores which are running at different system clock speeds.
  • EMI electromagnetic interference
  • the multiplexed address and data bus include a plurality of multiplexed address and data lines in communication between the two microprocessors.
  • a read/write control signal line is provided in communication between the two microprocessors for communicating whether a read or a write operation is to be performed.
  • a chip select line is in communication between the two microprocessors, the chip select line transitioning to an enable condition during a data transfer cycle.
  • a data strobe line communicates between the two microprocessors, the data strobe line providing a plurality of signals for each data transfer cycle wherein each data transfer cycle includes a plurality of write and read sequences which are initiated by the signals from the data strobe line.
  • FIG. 1 is a schematic diagram showing the data bus architecture for communicating between two different microprocessors in accordance with a preferred embodiment of the present invention
  • FIG. 2 is a block diagram of the dual port RAM address space according to the principles of the present invention.
  • FIG. 3 is a schematic diagram showing the pinout architecture of the address/data bus architecture of the present invention.
  • FIG. 4 is a timing diagram of the address/data bus architecture in accordance with the teachings of the present invention.
  • the bus architecture for a dual port RAM system 10 of the present invention includes a dual port ram 12 which includes a 128-word array of dual port ram, which is divided into two separate 64-word addressable blocks 12 A, 12 B.
  • the engine data block 12 A is read/writable by an engine control unit 14 and read-only by the transmission control unit 16 .
  • the transmission data block 12 B is read-only by the engine control unit 14 and read/writable by the transmission control unit 16 as illustrated in FIG. 2.
  • FIG. 2 As most clearly seen in FIG.
  • the dual port ram 10 includes control registers of which the engine data block 12 A includes transmission data interrupt enable registers 18 (TDIER0:TDIER3) which are read/writable by the engine control unit 14 and read-only by the transmission control unit 16 .
  • the engine data block 12 A also includes a transmission control register 20 (TCR) which is read/writable by the engine control unit 14 and read-only by the transmission control unit 16 .
  • the transmission data block 12 B includes engine data interrupt enable registers 22 (EDIER0:EDIER3), which are read-writable by the transmission control unit 16 and read-only by the engine control unit 14 .
  • the transmission data block 12 B also includes an engine control register 24 (ECR) which is read/writable by the transmission control unit 16 and read-only by the engine control unit 14 .
  • ECR engine control register 24
  • the dual port ram 12 also includes a plurality of status registers.
  • the engine data block 12 A includes transmission data status registers 26 (TDSR0:TDSR3) which are read/writable by the engine control unit 14 and read-only by the transmission control unit 16 .
  • the engine data block 12 A also includes a transmission status register 28 (TSR) which is read/writable by the engine control unit 14 and read-only by the transmission control unit 16 .
  • the transmission data block includes engine data status registers 30 (EDSR0:EDSR3) which are read/writable by the transmission control unit 16 and read-only by the engine control unit 14 .
  • the transmission data block 12 B also includes an engine status register 32 (ESR) which is read/writable by the transmission control unit 16 and read-only by the engine control unit 14 .
  • ESR engine status register 32
  • the dual port ram 12 has a capability of generating an interrupt request to the engine control unit 14 and the transmission control unit 16 .
  • the device interrupt request line 34 may signal the engine control unit 14 upon one or more writes to the dual port ram 12 B from the transmission control unit 16 or when a transmission control unit reset has occurred.
  • the engine control unit interrupt request line 34 may be used by the engine control unit 14 as an interrupt request line or a flag at an input pin.
  • the interrupt request is optional and is controlled by interrupt enable registers 18 (TDIER0:TDIER3).
  • the dual port ram 12 can also signal the transmission control unit 16 via the transmission control unit interrupt request line 36 upon one or more writes to the dual port ram 12 A from the engine control unit 14 or when an engine control unit reset has occurred.
  • the interrupt request is optional, controlled by the interrupt enable registers 22 (EDIER0:EDIER3).
  • the transmission control unit reset 40 (FIG. 1) will clear the engine data status registers 30 (EDSR0:EDSR3), engine data interrupt enable registers 22 (EDIER0:EDIER3) and engine control register 24 (ECR). In addition, the transmission control unit reset 40 will set the transmission reset bit in the transmission status register 28 (TSR) to inform the engine control unit 14 of the reset from the transmission control unit 16 . The transmission reset bit will be held logic one for the duration of the transmission control unit reset and will stay logic one after transmission reset until cleared by the engine control unit.
  • the engine control unit reset 42 will clear the transmission data status registers 26 (TDSR0:TDSR3), the transmission data interrupt enable register 18 (TDIER0:TDIER3) and the transmission control register 20 (TCR).
  • the engine control unit reset 42 will set the engine control unit reset bit in the engine status register 32 (ESR) to inform the transmission control unit 16 of the reset from the engine control unit 14 .
  • the engine control unit reset bit will be held logic one for the duration of the engine control unit reset and stay logic one after engine reset until cleared by the transmission control unit 16 .
  • the engine data registers 46 are 64 word-wide RAM registers. These ram registers 46 are read/writable by the engine control unit 14 and read-only by the transmission control unit 16 .
  • the engine data registers 46 (ED0:ED63) are full dual port ram with no component level hardware or software arbitration logic required to access these memory locations.
  • the transmission data registers 48 (TD0:TD63) are similarly 64 word-wide ram registers. These ram registers 48 are read/writable by the transmission control unit 16 and read-only by the engine control unit 14 . They are full dual port ram with no component level hardware or software arbitration logic required to access these memory locations.
  • the transmission data status registers 26 are 4 16-bit transmission data status registers. These registers 26 are readable by the engine control unit 14 and the transmission control unit 16 and only writes of a logic 1 by the engine control unit 14 have an effect on the registers.
  • the bits within the transmission data status registers are set by occurrences of write operations to the transmission data registers 48 (TD0:TD63) respectively from the transmission control unit 16 .
  • a logic 1 in each single bit of the transmission data status registers 26 (TDSR0:TDSR3) signals that a write operation to the associated transmission data register 48 has occurred.
  • the bits are defined as (STD 0 :STD 63 ), which means status of transmission data 0 to 63.
  • bit STD 5 represents the data status of TD 5 .
  • Bits STD 0 :STD 63 can only be cleared by writing a 1 to the bit location by the engine control unit 14 . Writes of logic 0 by the engine control unit 16 to status bits (STD 0 :STD 63 ) have no effect.
  • the bits STD 0 :STD 63 in registers 26 (TDSR0:TDSR3), if represented by a 1 indicate a write operation has occurred to the associated transmission data register by the transmission control unit 16 since the status bit was last cleared, and a 0 indicates that no write to the associated transmission data register has occurred since the status bit was last cleared.
  • the engine data status registers 30 are 4 16-bit engine data status registers. These registers 30 are readable by engine control unit 14 and transmission control unit 16 and only writes of a logic 1 by the transmission control unit 16 have an effect on the registers. Bits SED 0 :SED 63 in the engine data status registers 30 (EDSR0:EDSR3) are set by occurrence of write operations to the engine data registers 46 (ED0:ED63) respectively from the engine control unit 14 . A logic 1 in each single bit of the engine data status registers 30 (EDSR0:EDSR3) signals that a write operation to the associated engine data register 46 has occurred.
  • the bits are defined as SED 0 :SED 63 which means status of ED 0 to ED 63 .
  • the bit SED 5 represents the data status of ENGINE DATA REGISTER 5 (ED5)).
  • the bits SED 0 :SED 63 can only be cleared by writing a one to the bit location by the transmission control unit 16 . Writes of a logic 0 by the transmission control unit 16 to the status bits SED 0 :SED 63 have no effect.
  • the status bits SED 0 :SED 63 in the engine data status registers 30 (EDSR0:EDSR3) is set at 1 if a write operation has occurred to the associated engine data register 46 (ED0:ED63) by the engine control unit 14 since the status bit was last cleared.
  • a zero (0) in status bits SED 0 :SED 63 indicates that no write to the associated engine data register 46 has occurred since last cleared.
  • the transmission status register 28 is a 16 bit register containing the status of the transmission control unit 16 .
  • the transmission status register 28 is read/writable by the engine control unit 14 and read-only by the transmission control unit 16 .
  • the transmission data interrupt enable registers 18 (TDIER0:TDIER3) are 4 16-bit transmission interrupt enable control registers. These registers 18 are readable/writable by the engine control unit 14 and read-only by the transmission control unit 16 .
  • the engine data interrupt enable registers 22 (EDIER0:EDIER3) are 4 16 bit engine interrupt enable control registers. These registers 22 are readable/writable by the transmission control unit 16 and read-only by the engine control unit 14 .
  • the transmission control register 20 (TCR) is a 16 bit transmission control register. The transmission control register 20 is readable/writable by the engine control unit 14 and read-only by the transmission control unit 16 .
  • the engine status register 32 (ESR) is a 16 bit register containing the status from the engine control unit 14 .
  • the engine status register 32 is read/writable by the transmission control unit 16 and read-only by the engine control unit 14 .
  • the engine control register 24 is a 16 bit engine control register.
  • the engine control register 24 is readable/writable by the transmission control unit 16 and read-only by the engine control unit 14 .
  • the control logic state machine 50 in the dual port ram 10 looks for write commands from either side of the dual port ram 12 A, 12 B into the appropriate ram registers. The state machine 50 will then set the appropriate write flag indicator in a status register when a valid write into a dual port ram register occurs. Both controllers 14 , 16 have access to the write flag indicators to check whether they are set or clear. A number of protocols could be used between the controllers 14 , 16 for setting and clearing the flags. As discussed above, FIG. 2 reveals how the flags are to be visible to both microprocessors 14 , 16 . There are two sides to the dual port ram 10 : the local transmission control unit side and an “engine control unit side”. Each side has its own read/writable space where it places data to be sent and each has its own readable space where each is supposed to read out received data.
  • the present invention employs a custom address/data parallel bus structure which communicates between the two microprocessor-based system on chip (SOC) digital cores 14 , 16 (i.e., the engine and transmission controllers) to provide a fast operating parallel address and data bus 60 with a low overall cost. Because the bus 60 is only active when required, electromagnetic interference is minimized.
  • the dual port RAM 12 A, 12 B, described above, is resident on the silicon of one of the two microprocessor cores 16 . While the core 14 accesses the RAM 12 through the new external custom bus 60 of the present invention.
  • the other core 16 has a standard on-chip address and data bus.
  • the present invention utilizes a method of multiplexing the pins to reduce the required number of pins. (The addition of pins on the side of a piece of silicon translates directly into cost, since the silicon die size may need to increase in order to accommodate the extra pins required for the custom bus.)
  • the custom bus of the present invention only requires eleven pins to fully implement 256 locations of word-wide data transfer.
  • each pin 62 is used for three items: address, data-high-byte, and data-low-byte.
  • These eight multiplexed address and data pins 62 are provided for de-coding the 256 word-wide (16-bit) locations.
  • Multiplexed with the eight address bit lines are the 16-bit data lines which themselves are multiplexed since only eight pins are used to realize the address and data portions of this bus 60 .
  • the bus 60 supports bidirectional transfer of data dependent on the state of the read/write (MR/W) line 64 during the transfer.
  • MR/W 64 is the read/write control signal from the engine controller 14 . This signal is invalid unless MCS is active.
  • the bus requires strobe lines MCS 66 and MDS 68 from the bus master to ensure data coherency.
  • the MCS 66 is the chip select input from the external bus master device. This normally high signal transitions to a low level (active low) from the external device which must remain low for the duration of a multiplexed address and data bus cycle. It must also transition to the inactive state at the conclusion of the bus cycle.
  • the MDS 68 is the combined strobe for both address and data.
  • the MDS 68 is also normally high when inactive and transitions to low (active low) for its strobing operation.
  • the MDS line 68 will strobe low three times for each multiplexed address and data (MAD) bus cycle while MCS is low.
  • MAD multiplexed address and data
  • the MAD bus cycle will be ignored by the non-bus master. In this case, no input will be generated by the non-bus master for a write cycle, or for a read cycle the MAD 7:0 lines will not deliver proper information on the MAD 7:0 lines.
  • An interrupt request capability (DIRQ) is included in the bus architecture via line 70 .
  • the multiplexed address and data bus 60 has only one bus master which is resident on the engine control unit 14 .
  • microprocessors 14 , 16 are bus masters of one of the two ports going into the dual port ram 12 wherein one of the ports is totally internal to the system on chip that contained the dual port ram 12 , and the other port is the external multiplexed address and data bus to the other microprocessor 14 .
  • the custom bus 60 of the present invention fully static, asynchronous transfer capability is provided so that communication between controllers of different bus speeds (within a range) and totally separate clock sources can be accomplished.
  • the specialized address and data lines (MAD7:0) 62 are preferably kept at a logic low level.
  • the two strobe lines MCS 66 , MDS 68 are kept at a logic level high.
  • the data direction select (MR/W) line 64 is preferably kept at a logic high. This type of operation reduces EMI radio frequency emissions.
  • the bus master When a bus transfer is required, the bus master from the engine controller 14 shall perform the following procedure. First, the bus master initially sets the chip select strobe (MCS) line 66 low, as indicated at t 1 and the state of the read/write line (MR/W) 64 is set to the proper level dependent on the direction of the data transfer required (either a read or a write). Second, the bus master preferably sets the state of the desired address on the (MAD7:0) lines 62 at t 2 .
  • MCS chip select strobe
  • MR/W read/write line
  • the bus master shall strobe the data strobe line (MDS) 68 down once for a short duration as indicated at t 3 .
  • the first strobe tells the non-bus master to latch in the states of the MAD7:0 lines 62 as the address value for this bus cycle. Also the state of the M R/W line 64 is latched to tell the non-bus master to either: expect more data input from the MAD7:0 lines 62 for a write bus cycle, or get data ready to be transferred out on the MAD7:0 lines for a read cycle.
  • the bus cycle continues in two different ways depending on the data transfer direction. For a write operation from the bus master the bus cycle is performed as follows.
  • the multiplexed information lines (MAD7:0) 62 are set by the bus master to contain the data high byte that is to be stored at the location specified by the first data strobe as indicated at t 4 .
  • the MDS line 68 is strobed low for a short duration (as indicated at t 5 ) to inform the non-bus master to latch the value at MAD7:0 as the data high byte value.
  • the multiplexed information lines (MAD7:0) are set by the bus master to contain the data low byte that is to be stored at the location specified by the first data strobe (as indicated at t 6 ).
  • the MDS line is then strobed low for a short duration (as indicated at t 7 ) to inform the non-bus master to latch the value at MAD7:0 as the data low byte value.
  • the received 16 bit data is written into dual port RAM location at t 7 .
  • the bus cycle is performed as follows. First, the non-bus master must fetch the data to be sent back to the bus master. Next, the multiplexed information lines (MAD7:0) 62 are set by the non-bus master to the data high byte that was fetched from the location specified by the first data strobe. A specific requirement for the speed at which this fetch occurs by the non-bus master is needed because the non-bus master must fetch the data and place this data out onto the data bus for the bus master to access. The bus master is in control of the read operation. It will be guaranteed that the bus master will not access the data for a specific time so that the non-bus master has time to fetch its data.
  • the MDS data strobe line 68 is strobed low (at t 5 ) by the bus master for a short duration to inform the non-bus master that the bus master has latched the value at MAD7:0 as the data high byte value.
  • the bus master shall latch the data received from the non-bus master on the multiplexed information lines (MAD7:0) 62 as the data high byte value from the non-bus master during the strobe.
  • the multiplexed information lines (MAD7:0) 62 are set by the non-bus master to contain the data low byte that was obtained from the location specified by the first data strobe signal (at t 6 ).
  • the non-bus master must change the value to the low byte data within a certain amount of time because the bus master initiates the final strobe signal.
  • the MDS data strobe line 68 is strobed low (at t 7 ) by the bus master for a short duration to inform the non-bus master that it has latched the value at MAD7:0 as the data low byte value. This informs the non-bus master that this bus cycle is complete and it should stop driving the multiplexed information lines (MAD7:0) 62 immediately, since a new bus cycle may commence soon.
  • the bus cycle completes by the bus master negating the MDS line 68 by taking it to a logic level high (as indicated at t 8 ), then negating the chip select line (MCS) 66 by forcing it to a logic high level (as indicated at t 9 ), then driving the multiplexed information lines (MAD7:0) 62 to a low logic level for minimizing EMI concerns.
  • the bus is now ready for its next bus cycle.
  • the custom bus also contains some logic to minimize improper bus cycles from corrupting data.
  • the non-bus master unit counts the number of data strobes during a bus cycle for the proper count. If the unit's state machine does not count exactly three data strobes during the transfer (which is defined as one cycle of chip select low), then the cycle is flagged as invalid, and the data transfer is ignored.

Abstract

A multiplexed address and data bus are provided for transferring data between two microprocessors. The multiplexed address and data bus include a plurality of multiplexed lines for communicating between the two microprocessors. A read/write signal line is also provided for communicating between the two microprocessors for indicating whether a read or a write operation is to be performed. A chip select line is provided for transitioning to an enable condition during a data transfer cycle. A data strobe line is in communication between the two microprocessors and provides a strobe signal for each sequence of a data transfer cycle.

Description

    BACKGROUND OF THE INVENTION
  • 1. Technical Field [0001]
  • The present invention relates generally to a communication architecture for communication between two microprocessors. More particularly, the invention relates to an address/data parallel bus architecture which allows communication between two system on chip (SOC) microprocessors. [0002]
  • 2. Discussion [0003]
  • Current production vehicles have a variety of systems which are now controlled by microprocessors For example, the operation of the vehicle engine is typically controlled by one microprocessor, and the operation of the vehicle transmission is typically controlled by another microprocessor. In some types of vehicles, yet another microprocessor may be used for controlling vehicle systems such as security, navigation, and safety systems such as anti-lock brakes and crash management devices. As the vehicle systems become more complex, it is necessary for the various microprocessors to share commonly used information. [0004]
  • System-on-chip (SOC) microcontroller architecture demands that most functions of an electronic control unit (ECU) be integrated onto one piece of silicon. The result is a SOC ECU digital core that ends up being a very large, complex piece of silicon. These SOC devices also have multi-faceted operational requirements, and thus are usually challenged by a multitude of simultaneous tasks. When adding functionality to these complex ECU's, simplicity of interface to the software is of prime importance. [0005]
  • When multiple ECU digital cores are housed on one physical box, often large amounts of data sharing between the ECU's must be accomplished. Each ECU has its own set of input and output functional requirements to perform its overall tasks. With present requirements these input and output functions translate into a large number of pins on the side of the silicon die as well as a large amount of processing power to handle these inputs and outputs. Sharing of some input/output functions between the digital cores housed in a single box becomes the economical choice to keep pin counts low and to keep processor burden low. [0006]
  • For example, two very large SOC ECU silicon digital cores could be an engine control function and a transmission control function. For optimal performance these two cores must share large amounts of data, and they must do the data sharing in real-time. The delays that are typical of a serial communication link between the ECUs may prohibit certain types of feature development, due to the delays and complexities that are inherent in serial communication links. For quick reliable communications between the two cores, a parallel bus architecture between the cores (which could place data to be communicated between the cores in specific registers for both sides to use) has been discovered to be the most efficient way to accomplish the task. [0007]
  • Accordingly, it is desirable to provide an address/data bus for communicating between two vehicle based microprocessors. It is further desirable to provide an address/data bus with minimized pin count which reduces the effects of electromagnetic interference (EMI). Finally, it is desirable to provide an address/data bus which allows for bus access between microprocessor cores which are running at different system clock speeds. [0008]
  • These and other objects are obtained by providing a multiplexed address and data bus controlled by a bus master for communication between two microprocessors. The multiplexed address and data bus include a plurality of multiplexed address and data lines in communication between the two microprocessors. A read/write control signal line is provided in communication between the two microprocessors for communicating whether a read or a write operation is to be performed. A chip select line is in communication between the two microprocessors, the chip select line transitioning to an enable condition during a data transfer cycle. A data strobe line communicates between the two microprocessors, the data strobe line providing a plurality of signals for each data transfer cycle wherein each data transfer cycle includes a plurality of write and read sequences which are initiated by the signals from the data strobe line.[0009]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Additional objects, advantages and features of the present invention will become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings in which: [0010]
  • FIG. 1 is a schematic diagram showing the data bus architecture for communicating between two different microprocessors in accordance with a preferred embodiment of the present invention; [0011]
  • FIG. 2 is a block diagram of the dual port RAM address space according to the principles of the present invention; [0012]
  • FIG. 3 is a schematic diagram showing the pinout architecture of the address/data bus architecture of the present invention; and [0013]
  • FIG. 4 is a timing diagram of the address/data bus architecture in accordance with the teachings of the present invention.[0014]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • Referring now to FIG. 1, the bus architecture for a dual [0015] port RAM system 10 of the present invention is shown. More particularly, the bus architecture 10 includes a dual port ram 12 which includes a 128-word array of dual port ram, which is divided into two separate 64-word addressable blocks 12A, 12B. The engine data block 12A is read/writable by an engine control unit 14 and read-only by the transmission control unit 16. The transmission data block 12B is read-only by the engine control unit 14 and read/writable by the transmission control unit 16 as illustrated in FIG. 2. As most clearly seen in FIG. 2, the dual port ram 10 includes control registers of which the engine data block 12A includes transmission data interrupt enable registers 18 (TDIER0:TDIER3) which are read/writable by the engine control unit 14 and read-only by the transmission control unit 16. The engine data block 12A also includes a transmission control register 20 (TCR) which is read/writable by the engine control unit 14 and read-only by the transmission control unit 16. The transmission data block 12B includes engine data interrupt enable registers 22 (EDIER0:EDIER3), which are read-writable by the transmission control unit 16 and read-only by the engine control unit 14. The transmission data block 12B also includes an engine control register 24 (ECR) which is read/writable by the transmission control unit 16 and read-only by the engine control unit 14.
  • The [0016] dual port ram 12 also includes a plurality of status registers. Specifically, the engine data block 12A includes transmission data status registers 26 (TDSR0:TDSR3) which are read/writable by the engine control unit 14 and read-only by the transmission control unit 16. The engine data block 12A also includes a transmission status register 28 (TSR) which is read/writable by the engine control unit 14 and read-only by the transmission control unit 16. The transmission data block includes engine data status registers 30 (EDSR0:EDSR3) which are read/writable by the transmission control unit 16 and read-only by the engine control unit 14. The transmission data block 12B also includes an engine status register 32 (ESR) which is read/writable by the transmission control unit 16 and read-only by the engine control unit 14.
  • The [0017] dual port ram 12 has a capability of generating an interrupt request to the engine control unit 14 and the transmission control unit 16. The device interrupt request line 34 may signal the engine control unit 14 upon one or more writes to the dual port ram 12B from the transmission control unit 16 or when a transmission control unit reset has occurred. The engine control unit interrupt request line 34 may be used by the engine control unit 14 as an interrupt request line or a flag at an input pin. The interrupt request is optional and is controlled by interrupt enable registers 18 (TDIER0:TDIER3).
  • The [0018] dual port ram 12 can also signal the transmission control unit 16 via the transmission control unit interrupt request line 36 upon one or more writes to the dual port ram 12A from the engine control unit 14 or when an engine control unit reset has occurred. The interrupt request is optional, controlled by the interrupt enable registers 22 (EDIER0:EDIER3).
  • The transmission control unit reset [0019] 40 (FIG. 1) will clear the engine data status registers 30 (EDSR0:EDSR3), engine data interrupt enable registers 22 (EDIER0:EDIER3) and engine control register 24 (ECR). In addition, the transmission control unit reset 40 will set the transmission reset bit in the transmission status register 28 (TSR) to inform the engine control unit 14 of the reset from the transmission control unit 16. The transmission reset bit will be held logic one for the duration of the transmission control unit reset and will stay logic one after transmission reset until cleared by the engine control unit. The engine control unit reset 42 will clear the transmission data status registers 26 (TDSR0:TDSR3), the transmission data interrupt enable register 18 (TDIER0:TDIER3) and the transmission control register 20 (TCR). Furthermore, the engine control unit reset 42 will set the engine control unit reset bit in the engine status register 32 (ESR) to inform the transmission control unit 16 of the reset from the engine control unit 14. The engine control unit reset bit will be held logic one for the duration of the engine control unit reset and stay logic one after engine reset until cleared by the transmission control unit 16.
  • The engine data registers [0020] 46 (ED0:ED63) are 64 word-wide RAM registers. These ram registers 46 are read/writable by the engine control unit 14 and read-only by the transmission control unit 16. The engine data registers 46 (ED0:ED63) are full dual port ram with no component level hardware or software arbitration logic required to access these memory locations. The transmission data registers 48 (TD0:TD63) are similarly 64 word-wide ram registers. These ram registers 48 are read/writable by the transmission control unit 16 and read-only by the engine control unit 14. They are full dual port ram with no component level hardware or software arbitration logic required to access these memory locations.
  • The transmission data status registers [0021] 26 (TDSR0:TDSR3) are 4 16-bit transmission data status registers. These registers 26 are readable by the engine control unit 14 and the transmission control unit 16 and only writes of a logic 1 by the engine control unit 14 have an effect on the registers. The bits within the transmission data status registers are set by occurrences of write operations to the transmission data registers 48 (TD0:TD63) respectively from the transmission control unit 16. A logic 1 in each single bit of the transmission data status registers 26 (TDSR0:TDSR3) signals that a write operation to the associated transmission data register 48 has occurred. The bits are defined as (STD0:STD63), which means status of transmission data 0 to 63. (e.g., bit STD5 represents the data status of TD5). Bits STD0:STD63 can only be cleared by writing a 1 to the bit location by the engine control unit 14. Writes of logic 0 by the engine control unit 16 to status bits (STD0:STD63) have no effect. The bits STD0:STD63 in registers 26 (TDSR0:TDSR3), if represented by a 1 indicate a write operation has occurred to the associated transmission data register by the transmission control unit 16 since the status bit was last cleared, and a 0 indicates that no write to the associated transmission data register has occurred since the status bit was last cleared.
  • The engine data status registers [0022] 30 (EDSR0:EDSR3) are 4 16-bit engine data status registers. These registers 30 are readable by engine control unit 14 and transmission control unit 16 and only writes of a logic 1 by the transmission control unit 16 have an effect on the registers. Bits SED0:SED63 in the engine data status registers 30 (EDSR0:EDSR3) are set by occurrence of write operations to the engine data registers 46 (ED0:ED63) respectively from the engine control unit 14. A logic 1 in each single bit of the engine data status registers 30 (EDSR0:EDSR3) signals that a write operation to the associated engine data register 46 has occurred. The bits are defined as SED0:SED63 which means status of ED0 to ED63. (e.g., the bit SED5 represents the data status of ENGINE DATA REGISTER 5 (ED5)). The bits SED0:SED63 can only be cleared by writing a one to the bit location by the transmission control unit 16. Writes of a logic 0 by the transmission control unit 16 to the status bits SED0:SED63 have no effect. The status bits SED0:SED63 in the engine data status registers 30 (EDSR0:EDSR3) is set at 1 if a write operation has occurred to the associated engine data register 46 (ED0:ED63) by the engine control unit 14 since the status bit was last cleared. A zero (0) in status bits SED0:SED63 indicates that no write to the associated engine data register 46 has occurred since last cleared.
  • The transmission status register [0023] 28 (TSR) is a 16 bit register containing the status of the transmission control unit 16. The transmission status register 28 is read/writable by the engine control unit 14 and read-only by the transmission control unit 16. The transmission data interrupt enable registers 18 (TDIER0:TDIER3) are 4 16-bit transmission interrupt enable control registers. These registers 18 are readable/writable by the engine control unit 14 and read-only by the transmission control unit 16. The engine data interrupt enable registers 22 (EDIER0:EDIER3) are 4 16 bit engine interrupt enable control registers. These registers 22 are readable/writable by the transmission control unit 16 and read-only by the engine control unit 14. The transmission control register 20 (TCR) is a 16 bit transmission control register. The transmission control register 20 is readable/writable by the engine control unit 14 and read-only by the transmission control unit 16.
  • The engine status register [0024] 32 (ESR) is a 16 bit register containing the status from the engine control unit 14. The engine status register 32 is read/writable by the transmission control unit 16 and read-only by the engine control unit 14.
  • The engine control register [0025] 24 (ECR) is a 16 bit engine control register. The engine control register 24 is readable/writable by the transmission control unit 16 and read-only by the engine control unit 14.
  • The control [0026] logic state machine 50 in the dual port ram 10 looks for write commands from either side of the dual port ram 12A, 12B into the appropriate ram registers. The state machine 50 will then set the appropriate write flag indicator in a status register when a valid write into a dual port ram register occurs. Both controllers 14, 16 have access to the write flag indicators to check whether they are set or clear. A number of protocols could be used between the controllers 14, 16 for setting and clearing the flags. As discussed above, FIG. 2 reveals how the flags are to be visible to both microprocessors 14, 16. There are two sides to the dual port ram 10: the local transmission control unit side and an “engine control unit side”. Each side has its own read/writable space where it places data to be sent and each has its own readable space where each is supposed to read out received data.
  • The present invention employs a custom address/data parallel bus structure which communicates between the two microprocessor-based system on chip (SOC) [0027] digital cores 14, 16 (i.e., the engine and transmission controllers) to provide a fast operating parallel address and data bus 60 with a low overall cost. Because the bus 60 is only active when required, electromagnetic interference is minimized. The dual port RAM 12A, 12B, described above, is resident on the silicon of one of the two microprocessor cores 16. While the core 14 accesses the RAM 12 through the new external custom bus 60 of the present invention. The other core 16 has a standard on-chip address and data bus.
  • In order to minimize the number of pins or connections required for the [0028] engine control unit 14, the present invention utilizes a method of multiplexing the pins to reduce the required number of pins. (The addition of pins on the side of a piece of silicon translates directly into cost, since the silicon die size may need to increase in order to accommodate the extra pins required for the custom bus.)
  • With continued reference to FIG. 1, and in particular as detailed in FIG. 2, the custom bus of the present invention only requires eleven pins to fully implement 256 locations of word-wide data transfer. For the eight [0029] pins 62 in FIG. 3 referenced MAD7:MAD0, each pin 62 is used for three items: address, data-high-byte, and data-low-byte. These eight multiplexed address and data pins 62 are provided for de-coding the 256 word-wide (16-bit) locations. Multiplexed with the eight address bit lines are the 16-bit data lines which themselves are multiplexed since only eight pins are used to realize the address and data portions of this bus 60. The bus 60 supports bidirectional transfer of data dependent on the state of the read/write (MR/W) line 64 during the transfer. MR/W 64 is the read/write control signal from the engine controller 14. This signal is invalid unless MCS is active. The bus requires strobe lines MCS 66 and MDS 68 from the bus master to ensure data coherency. The MCS 66 is the chip select input from the external bus master device. This normally high signal transitions to a low level (active low) from the external device which must remain low for the duration of a multiplexed address and data bus cycle. It must also transition to the inactive state at the conclusion of the bus cycle.
  • The [0030] MDS 68 is the combined strobe for both address and data. The MDS 68 is also normally high when inactive and transitions to low (active low) for its strobing operation. The MDS line 68 will strobe low three times for each multiplexed address and data (MAD) bus cycle while MCS is low. It should be specifically noted that for a MAD bus cycle that if MCS transitions low then high with any number of MDS strobes other than three, the MAD bus cycle will be ignored by the non-bus master. In this case, no input will be generated by the non-bus master for a write cycle, or for a read cycle the MAD 7:0 lines will not deliver proper information on the MAD 7:0 lines. An interrupt request capability (DIRQ) is included in the bus architecture via line 70.
  • The multiplexed address and [0031] data bus 60 has only one bus master which is resident on the engine control unit 14. In the present invention, microprocessors 14, 16 are bus masters of one of the two ports going into the dual port ram 12 wherein one of the ports is totally internal to the system on chip that contained the dual port ram 12, and the other port is the external multiplexed address and data bus to the other microprocessor 14. With the custom bus 60 of the present invention, fully static, asynchronous transfer capability is provided so that communication between controllers of different bus speeds (within a range) and totally separate clock sources can be accomplished.
  • When no bus transfer is in progress the specialized address and data lines (MAD7:0) [0032] 62 are preferably kept at a logic low level. The two strobe lines MCS 66, MDS 68 are kept at a logic level high. The data direction select (MR/W) line 64 is preferably kept at a logic high. This type of operation reduces EMI radio frequency emissions.
  • Turning now to FIG. 4, the timing diagram for the address/data bus is described in more detail. When a bus transfer is required, the bus master from the [0033] engine controller 14 shall perform the following procedure. First, the bus master initially sets the chip select strobe (MCS) line 66 low, as indicated at t1 and the state of the read/write line (MR/W) 64 is set to the proper level dependent on the direction of the data transfer required (either a read or a write). Second, the bus master preferably sets the state of the desired address on the (MAD7:0) lines 62 at t2. Next, after the address value has settled on the bus, the bus master shall strobe the data strobe line (MDS) 68 down once for a short duration as indicated at t3. The first strobe tells the non-bus master to latch in the states of the MAD7:0 lines 62 as the address value for this bus cycle. Also the state of the M R/W line 64 is latched to tell the non-bus master to either: expect more data input from the MAD7:0 lines 62 for a write bus cycle, or get data ready to be transferred out on the MAD7:0 lines for a read cycle.
  • The bus cycle continues in two different ways depending on the data transfer direction. For a write operation from the bus master the bus cycle is performed as follows. The multiplexed information lines (MAD7:0) [0034] 62 are set by the bus master to contain the data high byte that is to be stored at the location specified by the first data strobe as indicated at t4. The MDS line 68 is strobed low for a short duration (as indicated at t5) to inform the non-bus master to latch the value at MAD7:0 as the data high byte value. The multiplexed information lines (MAD7:0) are set by the bus master to contain the data low byte that is to be stored at the location specified by the first data strobe (as indicated at t6). The MDS line is then strobed low for a short duration (as indicated at t7) to inform the non-bus master to latch the value at MAD7:0 as the data low byte value. The received 16 bit data is written into dual port RAM location at t7.
  • For a read operation from the bus master, the bus cycle is performed as follows. First, the non-bus master must fetch the data to be sent back to the bus master. Next, the multiplexed information lines (MAD7:0) [0035] 62 are set by the non-bus master to the data high byte that was fetched from the location specified by the first data strobe. A specific requirement for the speed at which this fetch occurs by the non-bus master is needed because the non-bus master must fetch the data and place this data out onto the data bus for the bus master to access. The bus master is in control of the read operation. It will be guaranteed that the bus master will not access the data for a specific time so that the non-bus master has time to fetch its data. Next, the MDS data strobe line 68 is strobed low (at t5) by the bus master for a short duration to inform the non-bus master that the bus master has latched the value at MAD7:0 as the data high byte value. The bus master shall latch the data received from the non-bus master on the multiplexed information lines (MAD7:0) 62 as the data high byte value from the non-bus master during the strobe. The end of the second strobe signal indicated to the non-bus master that it can change the data value on the multiplexed information lines (MAD7:0) 62. At this point, the multiplexed information lines (MAD7:0) 62 are set by the non-bus master to contain the data low byte that was obtained from the location specified by the first data strobe signal (at t6). The non-bus master must change the value to the low byte data within a certain amount of time because the bus master initiates the final strobe signal.
  • The MDS [0036] data strobe line 68 is strobed low (at t7) by the bus master for a short duration to inform the non-bus master that it has latched the value at MAD7:0 as the data low byte value. This informs the non-bus master that this bus cycle is complete and it should stop driving the multiplexed information lines (MAD7:0) 62 immediately, since a new bus cycle may commence soon.
  • The bus cycle completes by the bus master negating the [0037] MDS line 68 by taking it to a logic level high (as indicated at t8), then negating the chip select line (MCS) 66 by forcing it to a logic high level (as indicated at t9), then driving the multiplexed information lines (MAD7:0) 62 to a low logic level for minimizing EMI concerns. The bus is now ready for its next bus cycle.
  • The custom bus also contains some logic to minimize improper bus cycles from corrupting data. The non-bus master unit counts the number of data strobes during a bus cycle for the proper count. If the unit's state machine does not count exactly three data strobes during the transfer (which is defined as one cycle of chip select low), then the cycle is flagged as invalid, and the data transfer is ignored. [0038]
  • The foregoing discussion discloses and describes exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion, and from the accompanying drawings and claims, that various changes, modifications, and variations can be made therein without departing from the spirit and scope of the invention as defined in the following claims. [0039]

Claims (4)

1. A multiplexed address and data bus controlled by a bus master for communication between two microprocessors, comprising:
a plurality of multiplexed address and data lines in communication between the two microprocessors;
a read/write control signal line in communication between the two microprocessors for communicating whether a read or a write operation is to be performed;
a chip select line in communication between the two microprocessors, said chip select line transitioning to an enable condition during a data transfer cycle; and
a data strobe line in communication between the two microprocessors, said data strobe line providing a strobe each time a valid address and again each time valid data appears on said plurality of multiplexed address and data lines wherein said strobe occurring during said time said valid address appears on said multiplexed address and data lines initiates one of a write and read sequence.
2. (cancelled)
3. A method of multiplexed address and data transfer for communicating between two microprocessors, comprising the steps of:
providing a chip select strobe signal to initiate a data transfer cycle and maintaining said chip select strobe signal during a duration of said data transfer cycle;
providing a read/write line qualifier signal to identify whether a read or a write data transfer operation is to be performed; and
providing a data strobe signal that steps one of the microprocessors through the data transfer cycle wherein address information is transferred during a first data strobe of said data strobe signal and at least one data string is transferred during subsequent data strobes of said data strobe signal.
4. (cancelled)
US09/838,975 2001-04-20 2001-04-20 Method of multiplexed address and data bus Expired - Lifetime US6823441B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/838,975 US6823441B1 (en) 2001-04-20 2001-04-20 Method of multiplexed address and data bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/838,975 US6823441B1 (en) 2001-04-20 2001-04-20 Method of multiplexed address and data bus

Publications (2)

Publication Number Publication Date
US20040221133A1 true US20040221133A1 (en) 2004-11-04
US6823441B1 US6823441B1 (en) 2004-11-23

Family

ID=33311249

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/838,975 Expired - Lifetime US6823441B1 (en) 2001-04-20 2001-04-20 Method of multiplexed address and data bus

Country Status (1)

Country Link
US (1) US6823441B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907503B2 (en) * 2001-09-27 2005-06-14 Daimlerchrysler Corporation Dual port RAM communication protocol
KR100422376B1 (en) * 2001-10-31 2004-03-24 플렉스트로닉스 세일즈 앤드 마케팅 (에이-피) 리미티드 Card apparatus for wireless data communication
EP1949249A2 (en) * 2005-11-08 2008-07-30 Nxp B.V. Control device with flag registers for synchronization of communications between cores

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450355A (en) * 1993-02-05 1995-09-12 Micron Semiconductor, Inc. Multi-port memory device
US6233659B1 (en) * 1998-03-05 2001-05-15 Micron Technology, Inc. Multi-port memory device with multiple modes of operation and improved expansion characteristics

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5245705A (en) 1981-10-02 1993-09-14 Hughes Aircraft Company Functional addressing method and apparatus for a multiplexed data bus
US4706082A (en) 1986-02-24 1987-11-10 Chrysler Motors Corporation Serial data bus for intermodule data communications
US4719458A (en) 1986-02-24 1988-01-12 Chrysler Motors Corporation Method of data arbitration and collision detection in a data bus
US4739324A (en) 1986-05-22 1988-04-19 Chrysler Motors Corporation Method for serial peripheral interface (SPI) in a serial data bus
US4742349A (en) 1986-05-22 1988-05-03 Chrysler Motors Corporation Method for buffered serial peripheral interface (SPI) in a serial data bus
US5086407A (en) 1989-06-05 1992-02-04 Mcgarity Ralph C Data processor integrated circuit with selectable multiplexed/non-multiplexed address and data modes of operation
EP0458516B1 (en) 1990-05-25 1997-11-05 AT&T Corp. Memory access bus arrangement
US6006302A (en) 1990-06-04 1999-12-21 Hitachi, Ltd. Multiple bus system using a data transfer unit
US5448703A (en) 1993-05-28 1995-09-05 International Business Machines Corporation Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
US5483660A (en) 1993-11-29 1996-01-09 Motorola Inc. Method and apparatus for performing multiplexed and non-multiplexed bus cycles in a data processing system
DE4342036C2 (en) 1993-12-09 2002-10-24 Conti Temic Microelectronic data bus system
US5611053A (en) 1994-01-21 1997-03-11 Advanced Micro Devices, Inc. Apparatus and method for integrating bus master ownership of local bus load by plural data transceivers
US5729762A (en) 1995-04-21 1998-03-17 Intel Corporation Input output controller having interface logic coupled to DMA controller and plurality of address lines for carrying control information to DMA agent
US5895503A (en) 1995-06-02 1999-04-20 Belgard; Richard A. Address translation method and mechanism using physical address information including during a segmentation process
US5761443A (en) 1995-06-07 1998-06-02 Advanced Micro Systems, Inc. Computer system employing a bus conversion bridge for interfacing a master device residing on a multiplexed peripheral bus to a slave device residing on a split-address, split-data multiplexed peripheral bus
US5649125A (en) 1995-10-30 1997-07-15 Motorola, Inc. Method and apparatus for address extension across a multiplexed communication bus
US5898848A (en) 1996-10-21 1999-04-27 Advanced Micro Devices, Inc. Inter-chip bus structure for moving multiple isochronous data streams between integrated circuits
US5951659A (en) 1997-04-07 1999-09-14 Ncr Corporation Communications-oriented computer system backplane including a PCI input/output bus for transmission of address, data, and control information, and a time-domain multiplexed signal bus (TDMSB) for transmission of high-speed digitized signal information
US6032178A (en) 1998-01-12 2000-02-29 Siemens Aktiengesellschaft Method and arrangement for data transmission between units on a bus system selectively transmitting data in one of a first and a second data transmission configurations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450355A (en) * 1993-02-05 1995-09-12 Micron Semiconductor, Inc. Multi-port memory device
US6233659B1 (en) * 1998-03-05 2001-05-15 Micron Technology, Inc. Multi-port memory device with multiple modes of operation and improved expansion characteristics

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers

Also Published As

Publication number Publication date
US6823441B1 (en) 2004-11-23

Similar Documents

Publication Publication Date Title
US5587957A (en) Circuit for sharing a memory of a microcontroller with an external device
US5548730A (en) Intelligent bus bridge for input/output subsystems in a computer system
EP2350847B1 (en) Method and system for improving serial port memory communication latency and reliability
EP0412666B1 (en) A read/write memory
US20070055813A1 (en) Accessing external memory from an integrated circuit
US5388227A (en) Transparent data bus sizing
US5537659A (en) Bus controller for adjusting port size communication between a bus master and bus slave using bus master information
US20020013880A1 (en) Integrated circuit with flash bridge and autoload
EP0712078B1 (en) Data processor with transparent operation during a background mode and method therefor
US5689659A (en) Method and apparatus for bursting operand transfers during dynamic bus sizing
US5649125A (en) Method and apparatus for address extension across a multiplexed communication bus
US6085261A (en) Method and apparatus for burst protocol in a data processing system
US5900014A (en) External means of overriding and controlling cacheability attribute of selected CPU accesses to monitor instruction and data streams
US8140797B2 (en) Integrated circuit and method of securing access to an on-chip memory
US6823441B1 (en) Method of multiplexed address and data bus
JPH09179780A (en) Microprocessor device for supporting burst-enabled and cache-disabled memory access
KR100476895B1 (en) Interface device having variable data transfer mode and operating method thereof
US5428623A (en) Scannable interface to nonscannable microprocessor
KR100436098B1 (en) Method and apparatus for accessing a chip-selectable device in a data processing system
CA1252573A (en) Dual bus system
EP0383097A2 (en) Cache memory
US5638528A (en) Data processing system and a method for cycling longword addresses during a burst bus cycle
US20040186932A1 (en) DMA module and operating system therefor
JPS61166647A (en) Accessing for reading out information microprocessor and addressable memory
US20020166074A1 (en) Method and device for providing a low power embedded system bus architicture

Legal Events

Date Code Title Description
AS Assignment

Owner name: DAIMLERCHRYSLER CORPORATION, MICHIGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WARD, ALAN R.;LIN, HAITAO;REEL/FRAME:011681/0416

Effective date: 20010306

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: WILMINGTON TRUST COMPANY, DELAWARE

Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS - FIRST PRIORITY;ASSIGNOR:CHRYSLER LLC;REEL/FRAME:019773/0001

Effective date: 20070803

Owner name: WILMINGTON TRUST COMPANY,DELAWARE

Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS - FIRST PRIORITY;ASSIGNOR:CHRYSLER LLC;REEL/FRAME:019773/0001

Effective date: 20070803

AS Assignment

Owner name: WILMINGTON TRUST COMPANY, DELAWARE

Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS - SECOND PRIORITY;ASSIGNOR:CHRYSLER LLC;REEL/FRAME:019767/0810

Effective date: 20070803

Owner name: WILMINGTON TRUST COMPANY,DELAWARE

Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS - SECOND PRIORITY;ASSIGNOR:CHRYSLER LLC;REEL/FRAME:019767/0810

Effective date: 20070803

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: DAIMLERCHRYSLER COMPANY LLC, MICHIGAN

Free format text: CHANGE OF NAME;ASSIGNOR:DAIMLERCHRYSLER CORPORATION;REEL/FRAME:021779/0793

Effective date: 20070329

AS Assignment

Owner name: CHRYSLER LLC, MICHIGAN

Free format text: CHANGE OF NAME;ASSIGNOR:DAIMLERCHRYSLER COMPANY LLC;REEL/FRAME:021826/0001

Effective date: 20070727

AS Assignment

Owner name: US DEPARTMENT OF THE TREASURY, DISTRICT OF COLUMBI

Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS - THIR;ASSIGNOR:CHRYSLER LLC;REEL/FRAME:022259/0188

Effective date: 20090102

Owner name: US DEPARTMENT OF THE TREASURY,DISTRICT OF COLUMBIA

Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS - THIR;ASSIGNOR:CHRYSLER LLC;REEL/FRAME:022259/0188

Effective date: 20090102

AS Assignment

Owner name: CHRYSLER LLC, MICHIGAN

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:US DEPARTMENT OF THE TREASURY;REEL/FRAME:022902/0310

Effective date: 20090608

Owner name: CHRYSLER LLC,MICHIGAN

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:US DEPARTMENT OF THE TREASURY;REEL/FRAME:022902/0310

Effective date: 20090608

AS Assignment

Owner name: CHRYSLER LLC, MICHIGAN

Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS - FIRST PRIORITY;ASSIGNOR:WILMINGTON TRUST COMPANY;REEL/FRAME:022910/0498

Effective date: 20090604

Owner name: CHRYSLER LLC, MICHIGAN

Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS - SECOND PRIORITY;ASSIGNOR:WILMINGTON TRUST COMPANY;REEL/FRAME:022910/0740

Effective date: 20090604

Owner name: NEW CARCO ACQUISITION LLC, MICHIGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHRYSLER LLC;REEL/FRAME:022915/0001

Effective date: 20090610

Owner name: THE UNITED STATES DEPARTMENT OF THE TREASURY, DIST

Free format text: SECURITY AGREEMENT;ASSIGNOR:NEW CARCO ACQUISITION LLC;REEL/FRAME:022915/0489

Effective date: 20090610

Owner name: CHRYSLER LLC,MICHIGAN

Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS - FIRST PRIORITY;ASSIGNOR:WILMINGTON TRUST COMPANY;REEL/FRAME:022910/0498

Effective date: 20090604

Owner name: CHRYSLER LLC,MICHIGAN

Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS - SECOND PRIORITY;ASSIGNOR:WILMINGTON TRUST COMPANY;REEL/FRAME:022910/0740

Effective date: 20090604

Owner name: NEW CARCO ACQUISITION LLC,MICHIGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHRYSLER LLC;REEL/FRAME:022915/0001

Effective date: 20090610

Owner name: THE UNITED STATES DEPARTMENT OF THE TREASURY,DISTR

Free format text: SECURITY AGREEMENT;ASSIGNOR:NEW CARCO ACQUISITION LLC;REEL/FRAME:022915/0489

Effective date: 20090610

AS Assignment

Owner name: CHRYSLER GROUP LLC, MICHIGAN

Free format text: CHANGE OF NAME;ASSIGNOR:NEW CARCO ACQUISITION LLC;REEL/FRAME:022919/0126

Effective date: 20090610

Owner name: CHRYSLER GROUP LLC,MICHIGAN

Free format text: CHANGE OF NAME;ASSIGNOR:NEW CARCO ACQUISITION LLC;REEL/FRAME:022919/0126

Effective date: 20090610

AS Assignment

Owner name: CHRYSLER GROUP LLC, MICHIGAN

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:THE UNITED STATES DEPARTMENT OF THE TREASURY;REEL/FRAME:026343/0298

Effective date: 20110524

Owner name: CHRYSLER GROUP GLOBAL ELECTRIC MOTORCARS LLC, NORT

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:THE UNITED STATES DEPARTMENT OF THE TREASURY;REEL/FRAME:026343/0298

Effective date: 20110524

AS Assignment

Owner name: CITIBANK, N.A., NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:CHRYSLER GROUP LLC;REEL/FRAME:026404/0123

Effective date: 20110524

AS Assignment

Owner name: CITIBANK, N.A., NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:CHRYSLER GROUP LLC;REEL/FRAME:026435/0652

Effective date: 20110524

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., ILLINOIS

Free format text: SECURITY AGREEMENT;ASSIGNOR:CHRYSLER GROUP LLC;REEL/FRAME:032384/0640

Effective date: 20140207

AS Assignment

Owner name: FCA US LLC, MICHIGAN

Free format text: CHANGE OF NAME;ASSIGNOR:CHRYSLER GROUP LLC;REEL/FRAME:035553/0356

Effective date: 20141203

AS Assignment

Owner name: FCA US LLC, FORMERLY KNOWN AS CHRYSLER GROUP LLC,

Free format text: RELEASE OF SECURITY INTEREST RELEASING SECOND-LIEN SECURITY INTEREST PREVIOUSLY RECORDED AT REEL 026426 AND FRAME 0644, REEL 026435 AND FRAME 0652, AND REEL 032384 AND FRAME 0591;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037784/0001

Effective date: 20151221

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: FCA US LLC (FORMERLY KNOWN AS CHRYSLER GROUP LLC),

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:042885/0255

Effective date: 20170224

AS Assignment

Owner name: FCA US LLC (FORMERLY KNOWN AS CHRYSLER GROUP LLC),

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:048177/0356

Effective date: 20181113