Other Parts Discussed in Thread: ALP, USB2ANY
Hi,
I have a setup of Host PC --> Serializer --> Deserializer --> MCU (s32k144) as in below picture,
I am writing a script using Analog Launch pad to read and write on remote slave, The device ID are Seriailizer ID: 0x18, Deserializer ID: 0x5A, and the Slave ID: 0x6C, register address: 0x10
Here is the script,
import time val = board.ReadI2C(0x18, 0x06, 1) time.sleep(0.1) print "Read Deserializer Address from Serializer: ", hex(val) val = board.ReadI2C(0x5A, 0x00, 1) time.sleep(0.1) print "Actual Deserializer ID: ", hex(val) board.WriteI2C(0x18, 0x03, 0xDA) #Enabling pass through time.sleep(0.1) board.WriteI2C(0x18, 0x07, 0x6C) #Setting Slave ID time.sleep(0.1) board.WriteI2C(0x18, 0x08, 0x6C) #Setting Slave alias time.sleep(0.1) print "Writing to remote slave..." val = board.WriteI2C(0x6C, 0x10, 0x03) time.sleep(0.1) print "Reading From remote slave..." val = board.ReadI2C(0x6C, 0x10, 1) time.sleep(0.1) print "Read Data:" , val
Here is the ALP output,
When we run the script in ALP for the first time, the Write function is properly writing to the MCU, but Read function is not working at all. When I try to run the Script again, entire communication got stuck. I am not getting any response even from serializer or deserializer. In MCU code, I2C is in Fast mode (400 KHz), Clock stretching is properly enabled.
Here is a example of write on salve ID: 0x6C and register address 0x83, data: 52, 0F, 05, 08, 6E. I2C Write to MCU is properly working.
Reading from salve ID: 0x6C and register address 0x83, data length = 5 (expecting to read 52, 0F, 05, 08, 6E), but I am getting below response.
The I2C read not working as expected and entire i2c communication got hung up.
Here is the Serializer and Deserializer register configuration,
//SERIALIZER Register Configuration
[REGISTERS]
Device = ALP Nano 1 - DS90UB949, Connector 1
Comments = ""
Date = 05/30/2023
Time = 20:03:48
Reg = 0,0x0000,0x18
Reg = 0,0x0001,0x00
Reg = 0,0x0003,0xDA
Reg = 0,0x0004,0x80
Reg = 0,0x0005,0x00
Reg = 0,0x0006,0x5A
Reg = 0,0x0007,0x00
Reg = 0,0x0008,0x00
Reg = 0,0x0009,0x00
Reg = 0,0x000A,0x46
Reg = 0,0x000B,0x00
Reg = 0,0x000C,0x17
Reg = 0,0x000D,0x20
Reg = 0,0x000E,0x00
Reg = 0,0x000F,0x00
Reg = 0,0x0010,0x00
Reg = 0,0x0011,0x00
Reg = 0,0x0012,0x00
Reg = 0,0x0013,0x88
Reg = 0,0x0014,0x00
Reg = 0,0x0015,0x01
Reg = 0,0x0016,0xFE
Reg = 0,0x0017,0x1E
Reg = 0,0x0018,0x7F
Reg = 0,0x0019,0x7F
Reg = 0,0x001A,0x01
Reg = 0,0x001B,0x00
Reg = 0,0x001C,0x00
Reg = 0,0x001D,0x00
Reg = 0,0x001E,0x01
Reg = 0,0x001F,0xF6
Reg = 0,0x0020,0x00
Reg = 0,0x0021,0x00
Reg = 0,0x0022,0x25
Reg = 0,0x0023,0x00
Reg = 0,0x0024,0x00
Reg = 0,0x0025,0x00
Reg = 0,0x0026,0x00
Reg = 0,0x0027,0x00
Reg = 0,0x0028,0x01
Reg = 0,0x0029,0x20
Reg = 0,0x002A,0x20
Reg = 0,0x002B,0xA8
Reg = 0,0x002C,0x00
Reg = 0,0x0030,0x00
Reg = 0,0x0031,0x00
Reg = 0,0x0032,0x00
Reg = 0,0x0033,0x00
Reg = 0,0x0034,0x00
Reg = 0,0x0035,0x00
Reg = 0,0x0036,0x00
Reg = 0,0x0037,0x00
Reg = 0,0x0038,0x00
Reg = 0,0x0039,0x00
Reg = 0,0x003A,0x00
Reg = 0,0x003B,0x00
Reg = 0,0x003C,0x00
Reg = 0,0x003D,0x00
Reg = 0,0x003E,0x00
Reg = 0,0x003F,0x00
Reg = 0,0x0040,0x14
Reg = 0,0x0041,0x55
Reg = 0,0x0042,0x00
Reg = 0,0x0043,0x00
Reg = 0,0x0044,0x80
Reg = 0,0x0045,0x00
Reg = 0,0x0046,0x00
Reg = 0,0x0047,0x00
Reg = 0,0x0048,0x0D
Reg = 0,0x0049,0x00
Reg = 0,0x004A,0x02
Reg = 0,0x004B,0x00
Reg = 0,0x004C,0x00
Reg = 0,0x004D,0x00
Reg = 0,0x004E,0x00
Reg = 0,0x004F,0x00
Reg = 0,0x0050,0x97
Reg = 0,0x0051,0xA1
Reg = 0,0x0052,0x1E
Reg = 0,0x0053,0x00
Reg = 0,0x0054,0x28
Reg = 0,0x0055,0x0C
Reg = 0,0x0056,0x2A
Reg = 0,0x0057,0x00
Reg = 0,0x0058,0x00
Reg = 0,0x0059,0x00
Reg = 0,0x005A,0xDD
Reg = 0,0x005B,0x20
Reg = 0,0x005C,0x02
Reg = 0,0x005D,0x06
Reg = 0,0x005E,0x44
Reg = 0,0x005F,0x20
Reg = 0,0x0060,0x22
Reg = 0,0x0061,0x02
Reg = 0,0x0062,0x00
Reg = 0,0x0064,0x10
Reg = 0,0x0065,0x00
Reg = 0,0x0066,0x00
Reg = 0,0x0067,0x00
Reg = 0,0x0068,0x00
Reg = 0,0x0069,0x00
Reg = 0,0x006A,0x00
Reg = 0,0x006B,0x00
Reg = 0,0x006C,0x00
Reg = 0,0x0070,0x00
Reg = 0,0x0071,0x00
Reg = 0,0x0072,0x00
Reg = 0,0x0073,0x00
Reg = 0,0x0074,0x00
Reg = 0,0x0075,0x00
Reg = 0,0x0076,0x00
Reg = 0,0x0077,0x00
Reg = 0,0x0078,0x00
Reg = 0,0x0079,0x00
Reg = 0,0x007A,0x00
Reg = 0,0x007B,0x00
Reg = 0,0x007C,0x00
Reg = 0,0x007D,0x00
Reg = 0,0x0080,0x00
Reg = 0,0x0081,0x00
Reg = 0,0x0082,0x00
Reg = 0,0x0083,0x00
Reg = 0,0x0084,0x00
Reg = 0,0x0090,0x00
Reg = 0,0x0091,0x00
Reg = 0,0x0092,0x00
Reg = 0,0x0093,0x00
Reg = 0,0x0094,0x00
Reg = 0,0x0098,0x00
Reg = 0,0x0099,0x00
Reg = 0,0x009A,0x00
Reg = 0,0x009B,0x00
Reg = 0,0x009C,0x00
Reg = 0,0x009D,0x00
Reg = 0,0x009E,0x00
Reg = 0,0x009F,0x00
Reg = 0,0x00A0,0x00
Reg = 0,0x00A1,0x00
Reg = 0,0x00A2,0x00
Reg = 0,0x00A3,0x00
Reg = 0,0x00C0,0x00
Reg = 0,0x00C1,0x00
Reg = 0,0x00C2,0xA8
Reg = 0,0x00C3,0x00
Reg = 0,0x00C4,0x68
Reg = 0,0x00C5,0x00
Reg = 0,0x00C6,0x00
Reg = 0,0x00C7,0x40
Reg = 0,0x00C8,0xC0
Reg = 0,0x00C9,0x00
Reg = 0,0x00CA,0x00
Reg = 0,0x00CB,0x00
Reg = 0,0x00CC,0x00
Reg = 0,0x00CE,0xFF
Reg = 0,0x00D0,0x00
Reg = 0,0x00D1,0x00
Reg = 0,0x00D2,0x00
Reg = 0,0x00D3,0x00
Reg = 0,0x00E0,0x00
Reg = 0,0x00E1,0x00
Reg = 0,0x00E2,0xA8
Reg = 0,0x00E3,0x00
Reg = 0,0x00E4,0x68
Reg = 0,0x00E5,0x38
Reg = 0,0x00E6,0x00
Reg = 0,0x00E7,0x00
Reg = 0,0x00F0,0x5F
Reg = 0,0x00F1,0x55
Reg = 0,0x00F2,0x42
Reg = 0,0x00F3,0x39
Reg = 0,0x00F4,0x34
Reg = 0,0x00F5,0x39
Reg = 0,0x00F6,0x00
Reg = 0,0x00F8,0x00
Reg = 0,0x00F9,0x00
//DESERIALIZER Register Configuration
[REGISTERS]
Device = ALP Nano 1 - DS90UB926, Connector 1
Comments = ""
Date = 05/30/2023
Time = 20:04:11
Reg = 0,0x0000,0x5A
Reg = 0,0x0001,0x04
Reg = 0,0x0002,0x00
Reg = 0,0x0003,0xF0
Reg = 0,0x0004,0xFE
Reg = 0,0x0005,0x1E
Reg = 0,0x0006,0x00
Reg = 0,0x0007,0x18
Reg = 0,0x0008,0x00
Reg = 0,0x0009,0x00
Reg = 0,0x000A,0x00
Reg = 0,0x000B,0x00
Reg = 0,0x000C,0x00
Reg = 0,0x000D,0x00
Reg = 0,0x000E,0x00
Reg = 0,0x000F,0x00
Reg = 0,0x0010,0x00
Reg = 0,0x0011,0x00
Reg = 0,0x0012,0x00
Reg = 0,0x0013,0x00
Reg = 0,0x0014,0x00
Reg = 0,0x0015,0x00
Reg = 0,0x0016,0x00
Reg = 0,0x0017,0x00
Reg = 0,0x0018,0x00
Reg = 0,0x0019,0x01
Reg = 0,0x001A,0x00
Reg = 0,0x001B,0x00
Reg = 0,0x001C,0x0B
Reg = 0,0x001D,0xA0
Reg = 0,0x001E,0x00
Reg = 0,0x001F,0x00
Reg = 0,0x0020,0x00
Reg = 0,0x0021,0x00
Reg = 0,0x0022,0x46
Reg = 0,0x0023,0x10
Reg = 0,0x0024,0x08
Reg = 0,0x0025,0x00
Reg = 0,0x0026,0x83
Reg = 0,0x0027,0x84
Reg = 0,0x0028,0x00
Reg = 0,0x0029,0x00
Reg = 0,0x002A,0x00
Reg = 0,0x002B,0x00
Reg = 0,0x002C,0x00
Reg = 0,0x002D,0x00
Reg = 0,0x002E,0x00
Reg = 0,0x002F,0x00
Reg = 0,0x0030,0x00
Reg = 0,0x0031,0x00
Reg = 0,0x0032,0x10
Reg = 0,0x0033,0x25
Reg = 0,0x0034,0xFA
Reg = 0,0x0035,0x00
Reg = 0,0x0036,0x00
Reg = 0,0x0037,0x00
Reg = 0,0x0038,0x00
Reg = 0,0x0039,0x00
Reg = 0,0x003A,0x00
Reg = 0,0x003B,0x02
Reg = 0,0x003C,0x00
Reg = 0,0x003D,0xA0
Reg = 0,0x003E,0x00
Reg = 0,0x003F,0x10
Reg = 0,0x0040,0x43
Reg = 0,0x0041,0x03
Reg = 0,0x0042,0x03
Reg = 0,0x0043,0x00
Reg = 0,0x0044,0x30
Reg = 0,0x0045,0x70
Reg = 0,0x0046,0x00
Reg = 0,0x0047,0x00
Reg = 0,0x0048,0x0F
Reg = 0,0x0050,0x03
Reg = 0,0x0051,0x10
Reg = 0,0x0052,0x00
Reg = 0,0x0053,0x01
Reg = 0,0x0054,0x80
Reg = 0,0x0055,0x00
Reg = 0,0x0056,0x08
Reg = 0,0x0057,0x00
Reg = 0,0x0058,0x00
Reg = 0,0x0059,0x3F
Reg = 0,0x005A,0x20
Reg = 0,0x005B,0x20
Reg = 0,0x005C,0x00
Reg = 0,0x005D,0x00
Reg = 0,0x005E,0x00
Reg = 0,0x005F,0x00
Reg = 0,0x0060,0x00
Reg = 0,0x0061,0x00
Reg = 0,0x0062,0x00
Reg = 0,0x0063,0x00
Reg = 0,0x0064,0x10
Reg = 0,0x0065,0x00
Reg = 0,0x0066,0x00
Reg = 0,0x0067,0x00
Reg = 0,0x0068,0x00
Reg = 0,0x0069,0x00
Reg = 0,0x0070,0x00
Reg = 0,0x0071,0x00
Reg = 0,0x0072,0x00
Reg = 0,0x0073,0x07
Reg = 0,0x0074,0x07
Reg = 0,0x0075,0x08
Reg = 0,0x0076,0x00
Reg = 0,0x0077,0x00
Reg = 0,0x0078,0x00
Reg = 0,0x0079,0x00
Reg = 0,0x007A,0x00
Reg = 0,0x007B,0x4D
Reg = 0,0x007C,0x02
Reg = 0,0x0080,0x00
Reg = 0,0x0081,0x00
Reg = 0,0x0082,0x00
Reg = 0,0x0083,0x00
Reg = 0,0x0084,0x00
Reg = 0,0x0090,0x00
Reg = 0,0x0091,0x00
Reg = 0,0x0092,0x00
Reg = 0,0x0093,0x00
Reg = 0,0x0094,0x00
Reg = 0,0x0098,0x00
Reg = 0,0x0099,0x00
Reg = 0,0x009A,0x00
Reg = 0,0x009B,0x00
Reg = 0,0x009C,0x00
Reg = 0,0x009D,0x00
Reg = 0,0x009E,0x00
Reg = 0,0x009F,0x00
Reg = 0,0x00C0,0x00
Reg = 0,0x00C1,0x00
Reg = 0,0x00C4,0x00
Reg = 0,0x00C5,0x00
Reg = 0,0x00C8,0x40
Reg = 0,0x00C9,0x00
Reg = 0,0x00CA,0x00
Reg = 0,0x00CB,0x00
Reg = 0,0x00CC,0x00
Reg = 0,0x00E0,0x00
Reg = 0,0x00E1,0x00
Reg = 0,0x00E2,0x00
Reg = 0,0x00E3,0x00
Reg = 0,0x00F0,0x5F
Reg = 0,0x00F1,0x55
Reg = 0,0x00F2,0x42
Reg = 0,0x00F3,0x39
Reg = 0,0x00F4,0x32
Reg = 0,0x00F5,0x36
Reg = 0,0x00F6,0x00
Reg = 0,0x00F8,0x00
Reg = 0,0x00F9,0x00
I gone through multiple discussions and forums. They have mentioned about configuring only Serializer part. Am I missing any part? Do we need to set any register in deserializer as well?