Здравствуйте, уважаемые гуру.
Имеем девайс IIC (датчик температуры), висящий на Kintex 7. Все это подключается к стандартному контроллеру IIC в XPS и Microblaze.
И вроде как все оно работает, НО. Если попробовать сделать обмен типа "прочитать температуру": 1. Записать адрес датчика температуры 2. Записать регистр датчика температуры (0 - MSB темперетары) 3. Repeated Start 4. Записать адрес датчика температуры 5. Прочитать температуру 6. Стоп
То до п. 4 включительно все нормально, а потом контроллер IIC вылетает с ошибкой "потеря арбитража". При этом, если вместо "Repeated Start" поставить "Stop", а затем "Start", то все нормально работает.
Внимание, вопрос: кто-нибудь сталкивался с подобным? Какие могут быть причины, и как бороть?
Соединение точка-точка, никаких других мастеров на этой шине нет. Датчик мастером быть не умеет и не пытается. На Чипскопе и осцилле до п. 4 включительно все выглядит как надо.
Всем заранее спасибо за помощь.
|