реклама на сайте
подробности

 
 
> Проблема с I2C интерфейсом контроллера тачскрина FocalTech FT5306, Нужно увеличить задержку при чтении регистров
Hoodwin
сообщение Jul 10 2014, 20:23
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Вот напоролись тут на следующую проблему. Имеется экран от Newhaven Display с емкостным тачем, основанном на чипе FT5306 от FocalTech. Он отказался работать по I2C в линуксе от TI, поставляемом вместе с стартер китом для AM3359. В процессе разбора полетов выяснилось, что чип немного туповат, и транзакция чтения его регистров на шине I2C вида S Addr|W REG S Addr|R Data P выдает обратно значение адреса регистра REG вместо данных Data. А все потому, что ARM слишком быстро шуршит сигналами, видимо чип (у него внутри 8051 на самом деле) не успевает обработать прерывание у себя там и выставить правильные данные в регистре передачи своего I2C-кора. Когда я переподключил дисплей к микроконтроллеру и стал медленнее сигналы дергать, то все там нормально читается.

В итоге имею такой вопрос. Можно ли научить линукс как-то притормаживать операцию чтения данных после выдачи первой части команды с номером регистра? И если можно, то как? Суть в том, что транзакция на шине состоит из двух частей, и драйвер вызывает ее одним вызовом I2C SMBUS API. Можно наверное попробовать это запатчить в яре, но мне эта идея не очень нравится, так как, по-хорошему, задержка нужна только для вполне конкретного типа i2c клиента, причем я еще даже не знаю точно какая она есть на самом деле. Известно пока, что 100 мкс мало, а 1000 мкс - достаточно. Может быть, можно как-то разбить само операцию на две более примитивные, но неделимые, и между ними вставить задержку? Тогда такой вызов можно будет перенести именно в драйвер для FT5306, и задержка будет только у него.

Еще замечено, что для чипа FT5406 такой задержки нет, и тач на дисплеях большего размера работает нормально.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01357 секунд с 7
ELECTRONIX ©2004-2016