15.08.2013 Views

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 ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Table 2.5 1 – Wire® Search Path Direction.<br />

Search Bit Position vs. Last Discrepancy Path Taken<br />

= Take the ‘1’ path.<br />

< Take the same path as last time (from the last ROM number found).<br />

> Take the ‘0’ path.<br />

The search algorithm also keeps track of the last discrepancy that occurs within the first<br />

eight bits of the algorithm. The first eight bits of the 64 – bit registration number is a family<br />

code. As a result, the devices discovered during the search are grouped into family types. The<br />

last discrepancy within that family code can be used to selectively skip whole groups of 1 –<br />

Wire® devices. The 64 – bit ROM number also contains an 8 – bit cyclic-redundancy-check<br />

(CRC). This CRC value is verified to ensure that only correct ROM numbers are discovered.<br />

2.3.7 1 – Wire® CRC Check<br />

Serial data can be checked for errors in a variety of ways. One common way is to include<br />

an additional bit in each packet being checked that will indicate if an error has occurred. The<br />

error detection scheme most effective at locating errors in a serial data stream with a minimal<br />

amount of hardware is the Cyclic Redundancy Check. The most significant byte in the ROM<br />

code of each 1 – Wire® device contains a CRC value based on the previous seven bytes of data<br />

for that part. When the host system begins communication with a device, the 8 – byte ROM is<br />

read, least significant bit first. If the CRC that is calculated by the host agrees with the CRC<br />

contained in byte 7 of the ROM data actually read, the communication is considered valid. If<br />

this is not the case, an error has occurred and the ROM code should be read again.<br />

The CRC can be most easily understood by considering the function as it would actually<br />

be built in hardware, usually represented as a shift register arrangement with feedback as shown<br />

25

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

Saved successfully!

Ooh no, something went wrong!