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

 
 
> вопрос по работе TWI
zoddy
сообщение Feb 18 2009, 04:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 4-12-05
Из: Екатеринбург
Пользователь №: 11 773



Всем доброго времени суток! Суть темы такая. Имеется небольшая отладочная макетная плата, на которой установлено два контроллера. Есть необходимость связать их по TWI. Линии TWI подтянуты к питанию через 10К резисторы. Для пробы для обоих контроллеров написаны простенькие программки ведущего и ведомого, с помощью которых происходит пересылка данных по 2-3 байта от ведущего к ведомому и обратно. Суть проблемы: наблюдается неустойчивая работа связи по TWI на больших скоростях, а на более низких скоростях обмен происходит нормально. Подскажите пожалуйста, как решить эту проблему?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ARV
сообщение Feb 18 2009, 06:19
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(zoddy @ Feb 18 2009, 07:53) *
Всем доброго времени суток! Суть темы такая. Имеется небольшая отладочная макетная плата, на которой установлено два контроллера. Есть необходимость связать их по TWI. Линии TWI подтянуты к питанию через 10К резисторы. Для пробы для обоих контроллеров написаны простенькие программки ведущего и ведомого, с помощью которых происходит пересылка данных по 2-3 байта от ведущего к ведомому и обратно. Суть проблемы: наблюдается неустойчивая работа связи по TWI на больших скоростях, а на более низких скоростях обмен происходит нормально. Подскажите пожалуйста, как решить эту проблему?

а разве по стандарту i2c подтяжки делаются 10-килоомными? и что вы подразумеваете под "большими" и "низкими" скоростями? стандартом i2c определено 2 скорости - 100 кбит/с и 400 кбит/с


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
zoddy
сообщение Feb 18 2009, 06:54
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 4-12-05
Из: Екатеринбург
Пользователь №: 11 773



Цитата(ARV @ Feb 18 2009, 11:19) *
а разве по стандарту i2c подтяжки делаются 10-килоомными? и что вы подразумеваете под "большими" и "низкими" скоростями? стандартом i2c определено 2 скорости - 100 кбит/с и 400 кбит/с

Согласно мануалу... в модуле TWI имеется Bit Rate Generator задающий период следования импульсов по линии SCL. В mege16, к примеру, частота этого генератора задается значениями регистра TWBR и битами TWPS1:TWPS0. Соответственно меняя значение этого регистра, я так понимаю, можно регулировать скорость передачи. В моем случае, при тактовой частоте обоих контроллеров 4МГц, стабильно данные начинают передаваться при TWBR>0x3f, а на меньших значениях происходит потеря некоторых байт. Мне в моем проекте необходимо передавать информацию с максимально возможной для этого интерфейса скоростью, поэтому этот вопрос весьма интересен :-)
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Feb 18 2009, 10:18
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Цитата(zoddy @ Feb 18 2009, 09:54) *
... В моем случае, при тактовой частоте обоих контроллеров 4МГц, стабильно данные начинают передаваться при TWBR>0x3f, а на меньших значениях происходит потеря некоторых байт.


Напомнило советский плакат: "В прошлом году собрали 29 центнеров с гектара, в этом - 13000 пудов по краю, в следующем - на 15% больше!"
Какая частота при значении 3F? Частота клока меньшается или увеличивается "при TWBR>0x3f"? Там ещё есть ограничение по частоте контроллера от частоты SCL. Дальше. Если "потеря некоторых байт" то надо смотреть программу выдёргивания байт из потока, может пока идёт операция с байтом на АСК уже опоздали... Клок стретчинг предусмотрен?

Сообщение отредактировал Maik-vs - Feb 18 2009, 10:21
Go to the top of the page
 
+Quote Post
zoddy
сообщение Feb 18 2009, 11:29
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 4-12-05
Из: Екатеринбург
Пользователь №: 11 773



Цитата(Maik-vs @ Feb 18 2009, 15:18) *
Напомнило советский плакат: "В прошлом году собрали 29 центнеров с гектара, в этом - 13000 пудов по краю, в следующем - на 15% больше!"
Какая частота при значении 3F? Частота клока меньшается или увеличивается "при TWBR>0x3f"? Там ещё есть ограничение по частоте контроллера от частоты SCL. Дальше. Если "потеря некоторых байт" то надо смотреть программу выдёргивания байт из потока, может пока идёт операция с байтом на АСК уже опоздали... Клок стретчинг предусмотрен?

Гм... Если Вы, многоуважаемый, хоть раз читали мануал по контроллерам AVR, то вполне бы наткнулись там на формулу
Fscl=Fclk/(16*TWBR*4^TWPS)...как вы думаете, что происходит с частотой?....:-)

А вообще ситуация обстоит в следующем... сперва ведущий отправляет SLA+R и читает несколько байт, затем после задержки в несколько тактов процессора отправляет SLA+W и скидывает на ведомый несколько байт, затем опять повторяем операцию чтения(читаем те же байты которые до этого отправляли)... и тут самое интересное... эти байты считываются неправильно!!!

Если же частоту понижаем, выставив значение TWBR>0x3F то обмен происходит без потерь.

З.Ы. Для программы ведущего используется атмеловский драйвер(описан в AVR315), для ведомого написана небольшая программка на асме.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zoddy   вопрос по работе TWI   Feb 18 2009, 04:53
|- - Maik-vs   Цитата(zoddy @ Feb 18 2009, 14:29) Гм... ...   Feb 19 2009, 10:20
|- - zoddy   Цитата(Maik-vs @ Feb 19 2009, 15:20)...   Feb 19 2009, 11:04
|- - haker_fox   Цитата(zoddy @ Feb 19 2009, 19:04) Все ко...   Feb 19 2009, 12:41
|- - defunct   Цитата(haker_fox @ Feb 19 2009, 14:41) По...   Feb 19 2009, 23:18
|- - VladimirYU   Цитата(defunct @ Feb 20 2009, 02:18) .......   Feb 20 2009, 06:27
||- - zoddy   Цитата(VladimirYU @ Feb 20 2009, 11:27) М...   Feb 20 2009, 07:43
||- - haker_fox   Цитата(zoddy @ Feb 20 2009, 15:43) Огромн...   Feb 20 2009, 09:38
||- - Maik-vs   Рад, что мой пост так оживил тему! Собственно,...   Feb 20 2009, 13:38
||- - VladimirYU   Цитата(Maik-vs @ Feb 20 2009, 16:38)...   Feb 21 2009, 07:05
|- - ReAl   Цитата(defunct @ Feb 20 2009, 01:18) Авто...   Feb 26 2009, 21:07
|- - defunct   Цитата(ReAl @ Feb 26 2009, 23:07) Я, как ...   Feb 27 2009, 00:34
|- - ReAl   Цитата(defunct @ Feb 27 2009, 02:34) Рези...   Feb 27 2009, 10:26
|- - defunct   Цитата(ReAl @ Feb 27 2009, 12:26) Что тож...   Feb 27 2009, 12:02
|- - ReAl   Цитата(defunct @ Feb 27 2009, 14:02) Согл...   Feb 27 2009, 13:43
- - demiurg_spb   Чем выше скорость тем резче должны быть фронты. На...   Feb 18 2009, 09:06
- - IgorKossak   zoddy, Вам уже напоминали о резисторах подтяжки. 1...   Feb 18 2009, 17:44
|- - zoddy   Цитата(IgorKossak @ Feb 18 2009, 22:44) z...   Feb 19 2009, 08:01
- - DS   Господа знатоки ATMeg ! Есть ли способ вывест...   Feb 28 2009, 16:19
|- - defunct   Цитата(DS @ Feb 28 2009, 18:19) Есть ли с...   Feb 28 2009, 17:16
||- - DS   Цитата(defunct @ Feb 28 2009, 20:16) Сбро...   Feb 28 2009, 17:26
||- - defunct   Цитата(DS @ Feb 28 2009, 19:26) Таймаут н...   Feb 28 2009, 17:30
||- - DS   Цитата(defunct @ Feb 28 2009, 20:30) Тайм...   Feb 28 2009, 17:32
||- - defunct   Цитата(DS @ Feb 28 2009, 19:32) А как узн...   Feb 28 2009, 17:45
||- - DS   Цитата(defunct @ Feb 28 2009, 20:45) В сл...   Feb 28 2009, 18:01
|- - singlskv   Цитата(DS @ Feb 28 2009, 19:19) Господа з...   Feb 28 2009, 18:08
|- - DS   Цитата(singlskv @ Feb 28 2009, 21:08) Пок...   Feb 28 2009, 19:02
|- - singlskv   Цитата(DS @ Feb 28 2009, 22:02) Вот так п...   Feb 28 2009, 19:59
|- - DS   Цитата(singlskv @ Feb 28 2009, 22:59) Кар...   Feb 28 2009, 20:07
|- - singlskv   Цитата(DS @ Feb 28 2009, 23:07) Слэйв дер...   Feb 28 2009, 20:35
- - DS   А не может ли вызывать завис изменение режима SPI ...   Mar 1 2009, 00:13
- - defunct   ЦитатаА не может ли вызывать завис изменение режим...   Mar 1 2009, 01:06
|- - DS   Цитата(defunct @ Mar 1 2009, 04:06) Не до...   Mar 1 2009, 09:43
- - DS   Вот код, который вызывает неадекватное поведение 4...   Mar 1 2009, 11:46
- - DS   Блин, классическое "сам дурак" - Наводки...   Mar 1 2009, 13:00
- - SasaVitebsk   Цитата(DS @ Mar 1 2009, 17:00) Так и рожд...   Mar 1 2009, 16:34


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

 


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


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