DESIGN OF A CUSTOM ASIC INCORPORATING CAN™ AND 1 ...

DESIGN OF A CUSTOM ASIC INCORPORATING CAN™ AND 1 ... DESIGN OF A CUSTOM ASIC INCORPORATING CAN™ AND 1 ...

acumen.lib.ua.edu
from acumen.lib.ua.edu More from this publisher
15.08.2013 Views

From Figure 2.15, the input data gets exclusive-or’d with the output of the eighth stage of the shift register. The shift register can be considered mathematically as a dividing circuit. The input data is the dividend, and the shift register with feedback acts as a divisor. The resulting quotient is discarded, and the remainder is the CRC value for that particular stream of input data, which resides in the shift register after the last data bit has been shifted in. The final result (CRC value) is dependent on the past history of the bits presented. Therefore, it would take an extremely rare combination of errors to escape detection by this method [17]. 2.3.8 1 – Wire® Commands After initialization has been completed and the bus master has detected a presence pulse on the bus, it can issue one of the following ROM function commands: READ ROM [33h] – This command allows the bus master to read a device’s 8 – bit family code, unique 48 – bit serial number, and 8 – bit CRC code. This command can only be used if there is a single slave device on the bus. If more than one slave (See Figure 2.1) is present on the bus, a data collision will occur when all slaves try to transmit at the same time (open drain will produce a wired – AND result). The resultant family code and 48 – bit serial number will result in a mismatch of the CRC. SEARCH ROM [F0h] – When a system is initialized, the bus master might not know the number of devices on the 1 – Wire® bus or their registration numbers. The SEARCH ROM command allows the bus master to use a process of elimination to identify the 64 – bit ROM codes of all slave devices on the bus. The process is the repetition of a simple 3 – step routine on each bit of the ROM by the bus master: read a bit, read the complement 27

of the bit, then write the desired value of that bit. After one complete pass, the bus master knows the contents of the ROM in one device. The remaining number of devices and their ROM codes can be identified by additional passes. MATCH ROM [55h] – This command followed by a 64 – bit ROM sequence, allows the bus master to address a specific slave device on a bus topology having one or more slaves. Only the device that exactly matches the 64 – bit ROM sequence will respond to the following memory function command. All slaves that do not match the 64 – bit ROM sequence wait for a reset pulse. SKIP ROM [CCh] – This command can save time in a single slave network by allowing the bus master to access the memory functions without providing the 64 – bit ROM code. If more than one slave is present on the bus and, for example, a read command is issued following the SKIP ROM command, data collision will occur on the bus as multiple slaves transmit simultaneously (open-drain pulldowns produce a wired – AND result). All iButtons and 1 – Wire® devices support at least some basic set of ROM function commands such as those previously mentioned. The number of supported ROM functions depends on the device itself but most importantly, these ROM functions (there are a total of 9) have the same command number regardless of the iButton or 1 – Wire® device being used. After a ROM function command has been successfully executed, the bus master may then provide any one of the memory function commands specific to the device being addressed. (See device documentation for specific number and type of memory functions as these can be different for each device and also not all devices support these commands.) This allows further data and other transactions to take place between the bus master and slave devices. 28

From Figure 2.15, the input data gets exclusive-or’d with the output of the eighth stage of the<br />

shift register. The shift register can be considered mathematically as a dividing circuit. The<br />

input data is the dividend, and the shift register with feedback acts as a divisor. The resulting<br />

quotient is discarded, and the remainder is the CRC value for that particular stream of input data,<br />

which resides in the shift register after the last data bit has been shifted in. The final result (CRC<br />

value) is dependent on the past history of the bits presented. Therefore, it would take an<br />

extremely rare combination of errors to escape detection by this method [17].<br />

2.3.8 1 – Wire® Commands<br />

After initialization has been completed and the bus master has detected a presence pulse<br />

on the bus, it can issue one of the following ROM function commands:<br />

READ ROM [33h] – This command allows the bus master to read a device’s 8 – bit<br />

family code, unique 48 – bit serial number, and 8 – bit CRC code. This command can<br />

only be used if there is a single slave device on the bus. If more than one slave (See<br />

Figure 2.1) is present on the bus, a data collision will occur when all slaves try to transmit<br />

at the same time (open drain will produce a wired – <strong>AND</strong> result). The resultant family<br />

code and 48 – bit serial number will result in a mismatch of the CRC.<br />

SEARCH ROM [F0h] – When a system is initialized, the bus master might not know the<br />

number of devices on the 1 – Wire® bus or their registration numbers. The SEARCH<br />

ROM command allows the bus master to use a process of elimination to identify the 64 –<br />

bit ROM codes of all slave devices on the bus. The process is the repetition of a simple 3<br />

– step routine on each bit of the ROM by the bus master: read a bit, read the complement<br />

27

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!