# US 5,708,831 A · Method of bus address assignment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,708,831 A
- Document ID: US5708831A
- Status: Granted
- Kind: A
- Application number: 08/202,166
- Filed: 1994-02-25
- Granted: 1998-01-13
- Earliest claimed: 1993-03-18
- Assignees: Temic Telefunken microelectronic GmbH
- Inventors: Josef Schon
- Web page: https://patentgrep.com/patent/US5708831A

## CPC

- H04L 61/5038: for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
- G06F 12/0669: {with decentralised address assignment}
- H04L 61/5092: by self-assignment, e.g. picking addresses at random and testing if they are already in use
- H04L 2101/604: Address structures or formats
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

To connect the various stations of a data processing system, a bus system is used, to which all users have access. In accordance with the invention, a method for automatic assignment of bus addresses is provided, whereby each user generates a random address that is enquired by a control unit. After clashes recognized by the control unit, this method is repeated until each user has been assigned a clear address.

## Claims

### Claim 1

A method of assigning bus addresses for a data processing system, the data processing system including a plurality of transmitting and receiving stations and a control unit (master), in which communication between the stations and the control unit and between the stations themselves is via a bus system, the method of assigning bus addresses to the stations comprising:
a) transmitting with the control unit a command for address generation to the stations,
b) in response to the command for address generation, determining in each station a respective random address from a preset value range on the bus,
c) inquiring with the control unit, starting with a lowest address of the preset value range on the bus, whether a station with a respective address exists, and
d) in response to the inquiring step, sending a reply to the control unit by any station having the address inquired about by the control unit;
wherein if the control unit receives a reply from a station indicating that a station having that respective address exists, and the reply contains no errors and is therefore a valid reply, the control unit informs that station which sent a reply that the respective address of that station has been accepted,
setting an address flag in a station that has been informed that the respective address of that station has been accepted by the control unit,
wherein if the control unit receives a reply from a station which contains an error and is therefore a non-valid reply, the control unit does not acknowledge the station sending the non-valid reply, and
wherein after receiving a reply containing an error which is therefore a non-valid reply,
changing with the control unit previously valid addresses to addresses in an ascending sequence starting from a lowest possible address, and
performing steps a) to d) excluding previously assigned addresses from the preset value range on the bus for the respective random addresses.

### Claim 2 (depends on 1)

A method according to claim 1, wherein the stations are combined into groups and wherein the control unit transmits to the stations in groups to command address generation.

### Claim 3 (depends on 1)

A method according to claim 1, wherein a reply from a station which contains an error and is therefore a non-valid reply occurs when the reply contains a transmission error indicating to the control unit that two or more stations have the same address inquired about by the control unit.

### Claim 4 (depends on 1)

A method according to claim 1, wherein at least the reply sent from a station includes a cyclic redundancy code, and wherein the control unit uses the cyclic redundancy code to determine whether a reply contains an error and is therefore a non-valid reply.
