sc16is752 exception

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

sc16is752 exception

1,238 Views
liuyongzhao027
Contributor II
Hi:
    I want to expand some uart ports with sc16is752 based on embeded linux OS. There are 6 sc16is752 chips on iic bus at 100k/s clock rate. When testing, some exception appeared.
    Testing conditions:
        a. baud rate 9600
        b. 512B per second
        c. dual full duplex, loopback, self-transmitting and self-receiving.
    Sometimes, maybe only two chips work. other chips could send data, but no recieving. At Last Day, maybe ABC are ok, DEF can not work; And Second Day, maybe DEF are ok. 
    Sometimes, one chip's interruption pin generate interruption frequently, so that, the linux kernel halted.
    
    So, How many sc16is752 could be used at most on iic bus at the same time? What make the chips unstable?
Labels (1)
Tags (1)
0 Kudos
5 Replies

1,011 Views
igorpadykov
NXP Employee
NXP Employee

Hi jo

one can set 2-3 sc16is752 on one i2c line and check if this helps.

Probably there is instability due to timeouts caused by i2c bus contentions.

Also one can check hardware running baremetal tests

https://community.nxp.com/thread/463569 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,011 Views
liuyongzhao027
Contributor II

Hi igor,

Thanks for your reply!

I'd tryed lots of tests, most are stress testing. I want to know if or not many chips be pluged on i2c bus that make i2c bus electrical characteristic worst.

In the future, I will poll the ports time sharing, and may there is lest data. I wrroy about there are too many chips makes the timeout or other errors.

em, at lest, the os won't halted by frequent interruptions.

Have a greate day

jo

0 Kudos

1,011 Views
igorpadykov
NXP Employee
NXP Employee

Hi jo

one can try to avoid frequent interrupts adding software delays

between accesses to sc16is752.

Also pay attention to lock-up problems described on below link

I2C reset 

Best regards
igor

0 Kudos

1,011 Views
liuyongzhao027
Contributor II

Hi igor,

Excuse me, may be I'd find the reason.

SC16IS752 has two address pin, but there are 16 address. "Table 32. SC16IS752/SC16IS762 address map" in the datasheet finger out A0/A1 could be connected to Vdd, Vss, SCL or SDA. so, there are (2 ^ 4 = )16 address. In our use case, "A1->Vdd A0->SCL" and "A1->Vdd A0->SDA" dosen't work! After taking down the two chips, is ok!

0 Kudos

1,011 Views
liuyongzhao027
Contributor II

Hi igor,

Thank you!

Is usefull for me that link. and i think there is the "I2C lock up" problem just some minutes ago. I2C SCL line is LOW and SDA is HIGH. What i can do is poweroff.

I will try it adding software delays and roll polling sc16is752.

Thanks for your help!

jo

0 Kudos