SCP1000 Test Program
Initializing ......................................................
Resetting SCP1000 ASIC
Direct_Write Subroutine
NumBits = 8
RegAddr = $06 %00000110
ioByte = $01 %00000001
RegAddr = $18 %00011000
RegAddr = $1A %00011010
End Direct_Write
Get ASIC revision number
Direct_Read Subroutine
NumBits = 8
RegAddr = $00 %00000000
Result = $0000 %0000000000000000
NumBits = 8
Result = $0000 %0000000000000000
RegAddr = $00 %00000000
Result = $0001 %0000000000000001
End Direct_Read
ASIC rev number = 1
Read Status Register
Direct_Read Subroutine
NumBits = 8
RegAddr = $07 %00000111
Result = $0001 %0000000000000001
NumBits = 8
Result = $0000 %0000000000000000
RegAddr = $1C %00011100
Result = $0006 %0000000000000110
End Direct_Read
Status reg = $0006 %0000000000000110
Write value $05 to DATAWR register
Direct_Write Subroutine
NumBits = 8
RegAddr = $01 %00000001
ioByte = $D7 %11010111
RegAddr = $04 %00000100
RegAddr = $06 %00000110
End Direct_Write
Read DATAWR Register
Direct_Read Subroutine
NumBits = 8
RegAddr = $01 %00000001
Result = $0006 %0000000000000110
NumBits = 8
Result = $0000 %0000000000000000
RegAddr = $04 %00000100
Result = $00D7 %0000000011010111
End Direct_Read
DATAWR reg = $00D7 %0000000011010111
Write value $AA to EEPROM USERDATA1
Indirect_Write Subroutine
Direct_Write Subroutine
NumBits = 8
RegAddr = $02 %00000010
ioByte = $2A %00101010
RegAddr = $08 %00001000
RegAddr = $0A %00001010
End Direct_Write
Direct_Write Subroutine
NumBits = 8
RegAddr = $01 %00000001
ioByte = $AA %10101010
RegAddr = $04 %00000100
RegAddr = $06 %00000110
End Direct_Write
Direct_Write Subroutine
NumBits = 8
RegAddr = $03 %00000011
ioByte = $06 %00000110
RegAddr = $0C %00001100
RegAddr = $0E %00001110
End Direct_Write
End Indirect_Write.
Write value $9E to EEPROM USERDATA2
Indirect_Write Subroutine
Direct_Write Subroutine
NumBits = 8
RegAddr = $02 %00000010
ioByte = $2A %00101010
RegAddr = $08 %00001000
RegAddr = $0A %00001010
End Direct_Write
Direct_Write Subroutine
NumBits = 8
RegAddr = $01 %00000001
ioByte = $9E %10011110
RegAddr = $04 %00000100
RegAddr = $06 %00000110
End Direct_Write
Direct_Write Subroutine
NumBits = 8
RegAddr = $03 %00000011
ioByte = $06 %00000110
RegAddr = $0C %00001100
RegAddr = $0E %00001110
End Direct_Write
End Indirect_Write.
Read EEPROM USERDATA1
Indirect_Read Subroutine
Direct_Write Subroutine
NumBits = 8
RegAddr = $02 %00000010
ioByte = $29 %00101001
RegAddr = $08 %00001000
RegAddr = $0A %00001010
End Direct_Write
Direct_Write Subroutine
NumBits = 8
RegAddr = $03 %00000011
ioByte = $05 %00000101
RegAddr = $0C %00001100
RegAddr = $0E %00001110
End Direct_Write
Direct_Read Subroutine
NumBits = 8
RegAddr = $1F %00011111
Result = $00D7 %0000000011010111
NumBits = 8
Result = $0000 %0000000000000000
RegAddr = $7C %01111100
Result = $00AF %0000000010101111
End Direct_Read
End Indirect_Read.
EEPROM USERDATA1 = $00AF %0000000010101111
Read EEPROM USERDATA2
Indirect_Read Subroutine
Direct_Write Subroutine
NumBits = 8
RegAddr = $02 %00000010
ioByte = $2A %00101010
RegAddr = $08 %00001000
RegAddr = $0A %00001010
End Direct_Write
Direct_Write Subroutine
NumBits = 8
RegAddr = $03 %00000011
ioByte = $05 %00000101
RegAddr = $0C %00001100
RegAddr = $0E %00001110
End Direct_Write
Direct_Read Subroutine
NumBits = 8
RegAddr = $1F %00011111
Result = $00AF %0000000010101111
NumBits = 8
Result = $0000 %0000000000000000
RegAddr = $7C %01111100
Result = $009E %0000000010011110
End Direct_Read
End Indirect_Read.
EEPROM USERDATA2 = $009E %0000000010011110
End of program.