benmccrea opened a new pull request #1108: Fix/nrf52 i2c hang
URL: https://github.com/apache/mynewt-core/pull/1108
 
 
   The nRF52 TWI peripheral (I2C master) gets in a weird state when writing a 
reset byte out to the lp5523 (LED driver chip). Once in this state, the TWI 
will fail to output anything when I2C operations are attempted. A workaround is 
to reset the TWI by disabling and re-enabling it, after which it will function 
normally again. 
   The issue may be related to an errata documented in nRF52832 Rev 2 Errata 
v1.1, "TWIS: Stopped event occurs twice if the STOP event is triggered during a 
transaction".
   The attached image shows a Saleae capture of an offending frame that causes 
the issue. The first sign of trouble is a glitch on SDA at the end of the 2nd 
byte. Also note the double STOP condition at the end of the frame. 
   ![glitch during write to lp5523 reset 
register](https://user-images.githubusercontent.com/3791899/40212006-a8917e38-5a02-11e8-9557-b9b05cfc83ab.png)
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to