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

 
 
> AT91SAM9263 и I2C, Не запускается.
sashad
сообщение Oct 26 2011, 14:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 6-07-05
Пользователь №: 6 587



Не идут синхроимпульсы через TWCK.
Сконфигурировал аппаратный TWI по даташит, пытаюсь записать байт, если выполнить пошагово в отладчике, то после AT91C_BASE_TWI->TWI_THR = data; обмен идет нормально.
Если выполнять код без остановки, то проходят 2 - 3 синхроимпульса, потом на порту устанавливается единица, причем процесс носит случайный характер, может застрять в 0 или 1, также варьируется количество синхроимпульсов.

Даже не знаю в какую сторону копать , ПулАП установлен 2,5кОм.

Если поставить останов на while, обмен также идет нормально, если после while, опять начинается ерунда, как будто процессор мешает работе модуля TWI, если ядро остановить отладчиком, то все нормально.

AT91C_BASE_TWI->TWI_THR = data;
while(!(AT91C_BASE_TWI->TWI_SR & AT91C_TWI_TXCOMP));
return;

Сообщение отредактировал sashad - Oct 26 2011, 14:56
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DpInRock
сообщение Nov 6 2011, 10:48
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
Да вообще-то это известный факт

Вот эта ветка тоже бы могла стать "общеизвестным фактом".

К слову, я действительно никогда не использую флаги ошибок периферии (любой). За бессмысленностью.
--
Ошибки не существует, пока не выяснены точно условия ее возникновения.
Ибо случайные сбои могут быть вызваны некачественным изготовлением микросхемы.
А вот регулярные - чаще всего ошибкой разработчиков.
И вот регулярные сбои достаточно легко определить. И задокументировать.

Пока вот такой задокументированности я не встречал. (Правда и не искал, ибо проблемы не стояло).

Сообщение отредактировал DpInRock - Nov 6 2011, 10:55


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
sasamy
сообщение Nov 6 2011, 12:21
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(DpInRock @ Nov 6 2011, 14:48) *
Пока вот такой задокументированности я не встречал. (Правда и не искал, ибо проблемы не стояло).


Проблема там - у TWI нет FIFO и он почти у всей линейки не подключен к PDC (только начиная с at91sam9g.. они догадались сделать это), любая незначительная задержка записи в регистр для передачи - контроллер автоматом отпраляет STOP и завершает ее.

Сообщение отредактировал sasamy - Nov 6 2011, 12:21
Go to the top of the page
 
+Quote Post
DmitryM
сообщение Nov 7 2011, 04:12
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(sasamy @ Nov 6 2011, 16:21) *
Проблема там - у TWI нет FIFO и он почти у всей линейки не подключен к PDC (только начиная с at91sam9g.. они догадались сделать это), любая незначительная задержка записи в регистр для передачи - контроллер автоматом отпраляет STOP и завершает ее.

Решается прерываниями.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sashad   AT91SAM9263 и I2C   Oct 26 2011, 14:54
- - sashad   Пришлось сделать програмный I2C   Nov 3 2011, 18:38
|- - aaarrr   Цитата(sashad @ Nov 3 2011, 22:38) Пришло...   Nov 3 2011, 19:31
- - Aleph   Попробуйте сразу после Цитата(sashad @ Oct 26...   Nov 4 2011, 09:07
- - DpInRock   Неча на TWI пенять. Работает безукоризненно.   Nov 4 2011, 12:27
|- - aaarrr   Цитата(DpInRock @ Nov 4 2011, 16:27) Рабо...   Nov 4 2011, 19:23
|- - sasamy   Цитата(DpInRock @ Nov 4 2011, 16:27) Неча...   Nov 6 2011, 10:25
- - Aleph   Цитата(aaarrr @ Nov 4 2011, 20:23) Работа...   Nov 4 2011, 23:01
- - SimpleSoft   Если посылаете 1 байт то сразу засылайте STOP, а п...   Nov 5 2011, 07:47
- - DpInRock   ЦитатаРаботает непредсказуемо на всей линейке AT91...   Nov 5 2011, 08:46
|- - aaarrr   Цитата(DpInRock @ Nov 5 2011, 12:46) Если...   Nov 5 2011, 09:21
- - DpInRock   Логично предположить, что если TWI работает с сотн...   Nov 5 2011, 10:57
|- - aaarrr   Цитата(DpInRock @ Nov 5 2011, 14:57) Логи...   Nov 5 2011, 12:32
||- - aaarrr   Цитата(DmitryM @ Nov 7 2011, 08:12) Решае...   Nov 7 2011, 08:03
||- - DmitryM   Цитата(aaarrr @ Nov 7 2011, 12:03) ...   Nov 7 2011, 19:26
||- - aaarrr   Цитата(DmitryM @ Nov 7 2011, 23:26) Мы го...   Nov 7 2011, 19:43
||- - DmitryM   Цитата(aaarrr @ Nov 7 2011, 23:43) Если в...   Nov 8 2011, 05:29
||- - aaarrr   Цитата(DmitryM @ Nov 8 2011, 09:29) ...не...   Nov 8 2011, 10:30
||- - DmitryM   Цитата(aaarrr @ Nov 8 2011, 14:30) Почему...   Nov 8 2011, 12:56
||- - aaarrr   Цитата(DmitryM @ Nov 8 2011, 16:56) Ну ды...   Nov 8 2011, 14:06
||- - singlskv   Цитата(aaarrr @ Nov 8 2011, 17:06) Дык уд...   Nov 8 2011, 18:28
|- - aaarrr   Цитата(sasamy @ Nov 6 2011, 16:21) Пробле...   Nov 7 2011, 09:16
- - *rust*   Полностью разделяю точку зрения aaarrr. Могу конкр...   Nov 11 2011, 09:40
- - sonycman   Цитата(*rust* @ Nov 11 2011, 13:40) Заста...   Dec 29 2011, 07:22


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 21:59
Рейтинг@Mail.ru


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