DatasheetQ Logo
Electronic component search and free download site. Transistors,MosFET ,Diode,Integrated circuits

DS1990 Просмотр технического описания (PDF) - Dallas Semiconductor -> Maxim Integrated

Номер в каталоге
Компоненты Описание
производитель
DS1990
Dallas
Dallas Semiconductor -> Maxim Integrated Dallas
DS1990 Datasheet PDF : 10 Pages
1 2 3 4 5 6 7 8 9 10
CRC ASSEMBLY LANGUAGE PROCEDURE Table 1
DO_CRC:
PUSH
PUSH
PUSH
MOV
ACC
B
ACC
B,#8
CRC_LOOP:
XRL
RRC
MOV
JNC
XRL
A,CRC
A
A,CRC
ZERO
A,#18H
ZERO:
RRC
MOV
POP
RR
PUSH
DJNZ
POP
POP
POP
RET
A
CRC,A
ACC
A
ACC
B,CRC_LOOP
ACC
B
ACC
DS1990A
; save the accumulator
; save the B register
; save bits to be shifted
set shift=8bits
;
; calculate CRC
; move it to the carry
; get the last CRC value
; skip if data=0
; update the CRC value
;
; position the new CRC
; store the new CRC
; get the remaining bits
; position the next bit
; save the remaining bits
; repeat for eight bits
; clean up the stack
; restore the B register
; restore the accumulator
CRC GENERATION
To validate the data transmitted from the DS1990A, the bus master may generate a CRC value from the
data as it is received. This generated value is compared to the value stored in the last eight bits of the
DS1990A. The bus master computes the CRC over the 8-bit family code and all 48 ID number data bits,
but not over the stored CRC value itself. If the two CRC values match, the transmission is error-free.
An example of how to generate the CRC using assembly language software is shown in Table 1. This
assembly language code is written for the DS5000 Soft microcontroller which is compatible with the
8031/51 Microcontroller family. The procedure DO_CRC calculates the cumulative CRC of all the bytes
passed to it in the accumulator. It should be noted that the variable CRC needs to be initialized to 0 before
the procedure is executed. Each byte of the data is then placed in the accumulator and DO-CRC is called
to update the CRC variable. After all the data has been passed to DO_CRC, the variable CRC will contain
the result. The equivalent polynomial function of this software routine is:
CRC = x8 + x5 + x4 + 1
For more details, see the Book of DS19xx iButton Standards.
8 of 10

Share Link: 

datasheetq.com  [ Privacy Policy ]Request Datasheet ] [ Contact Us ]