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

 
 
> USI I2C выбор частоты
John851
сообщение May 3 2010, 15:12
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 2-05-09
Пользователь №: 48 549



Добрый вечер,

у меня такая проблемка: mega8 и tiny2313 соединены по I2C. У меги8 интерфейс реализован на модуле TWI (Master), а у tiny2313 на USI(Slave). Оба МК работают от внешних кварцев на 8МГц.

Сделал я небольшой протокол по которому мега 8 отсылает байт tiny2313. Он принимает этот байт и решает че делать в зависимости от него: включить или выключить светодиод на одной из ног. Программа которую я зашил в мегу должна была в бесконечном цикле отправлять сначала байт включить светодиод, ждать секунду, затем отправлять выключить светодиод, потом опять ждать секунду и тд.

Проблема состоит в том что когда я все запустил, светодиод загорался и погасал в рэндомном порядке, так как практически через раз мастер пропускал ACK, слэйв пропускал или принимал с ошибками байт от мастера (все это я наблюдал на отладочных светодиодах). Вообщем мучался я мучался часа 4, все перепробовал и вот в конце решил сменить частоту шины со 100 Кгц до 400КГц. Врезультате все заработало.

Может кто объяснить почему мне помогла смена частоты? Неужели это все из за обрезанного по возможностям USI?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Арк К
сообщение May 11 2010, 07:49
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 8-05-08
Пользователь №: 37 363



Как обычно, никто не в состоянии здесь сказать что-либо по моей проблеме sad.gif
Поэтому всё приходится делать самому.
Короче, поставил в tiny25 фуз, отвечающий за деление тактовой частоты на 8 и всё встало на свои места. теперь работают на 90 кГц мастера и часы и тинька.
Однако, хотя формально проблема решена, осадочек остался. ПОчему USI при тактовой частоте кристалла 8МГц допускает какие-то выверты на шине (видно по осциллоскопу), а при 1МГц - нет ??? Кто-нибудь с таким сталкивался?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- John851   USI I2C выбор частоты   May 3 2010, 15:12
- - Duhas   или из-за ужасной кривости конструкции..   May 4 2010, 01:13
- - John851   всмысле? USI кривое или у меня монтаж кривой?   May 4 2010, 11:57
- - Duhas   я про монтаж/разводку и прочее...   May 4 2010, 12:54
- - John851   хм ну так то у меня все собрано на макетной плате,...   May 4 2010, 13:18
- - skripach   Резисторы есть? и какие?   May 4 2010, 14:49
- - John851   есть 10ком   May 4 2010, 15:08
|- - ILYAUL   Цитата(John851 @ May 4 2010, 19:08) есть ...   May 4 2010, 15:31
- - John851   не вижу смысла тогда в создании I2C, это сейчас он...   May 4 2010, 15:36
|- - ILYAUL   Цитата(John851 @ May 4 2010, 19:36) не ви...   May 4 2010, 15:44
- - John851   доверил это дело библиотечной функции, вот ее код ...   May 4 2010, 16:13
|- - ILYAUL   Цитата(John851 @ May 4 2010, 20:13) довер...   May 4 2010, 16:25
- - John851   да я хотел уже было эту функцию основательно прове...   May 4 2010, 16:27
|- - ILYAUL   Цитата(John851 @ May 4 2010, 20:27) да я ...   May 4 2010, 16:54
- - Александр Куличок   Вы хотя бы код проложили к сообщению. А то гадать ...   May 6 2010, 00:12
- - Арк К   У меня совсем уж невероятная проблема тоже связанн...   May 6 2010, 05:30
- - John851   я конечно могу выложить исходники, но не вижу в эт...   May 6 2010, 15:34


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

 


RSS Текстовая версия Сейчас: 14th August 2025 - 06:06
Рейтинг@Mail.ru


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