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

 
 
> Hardware i2c in Atmega8, проблеммы с организацией апппаратного i2c
AlekseyPS
сообщение Oct 13 2006, 10:37
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 7-09-06
Пользователь №: 20 152



Пытаюсь организовать i2c аппаратно на Atmega8. (кварц 11,0592)
Не возникает признака завершения операции (TWINT) после того как выставляю START...
На линиях SCL, SDA появляется генерация ...

Вот код:
Процедура инициализации.

// set pull-up resistors on I2C bus pins
sbi(PORTC, 5); // i2c SCL on ATmega8
sbi(PORTC, 4); // i2c SDA on ATmega8
// set i2c bitrate 100k
сbi(TWSR, TWPS0);
сbi(TWSR, TWPS1);
outb(TWBR, 12);
sei();

void i2cSendStart(void)
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN)
ожидаю когда прийдет признак выполнения команды ...
while (!(TWCR & (1<<TWINT)))
..... он так и не приходит ....
Как быть???
;
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
defunct
сообщение Oct 15 2006, 03:03
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



перед sei() вставить:

TWCR = (1 << TWEN);

при каждой записи в TWCR не забывать устанавливать TWEN.
Go to the top of the page
 
+Quote Post
fredo
сообщение Mar 31 2008, 22:38
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 13-09-06
Пользователь №: 20 357



Подскажите, есть вопрос по i2с в atmege. Какое максимальное расстояние между контроллерами допустимо при частоте порядка 100кГц? Есть ли какие то ограничения на топологию звезда/шина ?
Go to the top of the page
 
+Quote Post
QuickWitted
сообщение Apr 4 2008, 08:26
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 322
Регистрация: 21-06-07
Из: СНГ
Пользователь №: 28 596



Цитата(fredo @ Apr 1 2008, 03:38) *
Какое максимальное расстояние между контроллерами допустимо при частоте порядка 100кГц?


Зависит от экрана...
(по спецификации линии должны чередоваться с землёй в плоском шлейфе)

Цитата(fredo @ Apr 1 2008, 03:38) *
Есть ли какие то ограничения на топологию звезда/шина ?


Естественно шина... (звезда глючить при выс частотах и больших расстояниях будет)

А по первоначальной теме тут
http://electronix.ru/forum/index.php?showt

Сообщение отредактировал QuickWitted - Apr 4 2008, 08:28


--------------------
Сайт с разработками http://www.mindrunway.ru/
Go to the top of the page
 
+Quote Post
ReAl
сообщение Apr 4 2008, 09:14
Сообщение #5


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(fredo @ Apr 1 2008, 00:38) *
Подскажите, есть вопрос по i2с в atmege. Какое максимальное расстояние между контроллерами допустимо при частоте порядка 100кГц?

В даташите есть ограничение на ёмкость линии связи (ну, не совсем ограничение, просто один из параметров специфицируется на ёмкостях до 400пФ), там же формула по максимальному значению сопротивления подтяжки в зависимости от ёмкости шины, если то максимальное значение приравнять минимальному, то получим ограничение ёмкости шины для 100кГц около 1000пФ.
Даже если ограничится 400пФ и выбросить 100пФ на ёмкости выводов десятка повешенных на шину микросхем, при использовании кабеля UTP 5kat (где-то 50-55пФ/метр по спецификации, точно не помню) - выходит можно метров 5-6 суммарной длины кабелей сделать.
У меня работало где-то на 1-1.5 метрах суммарной длины просто скрученного в четвёрку МГТФ-а с тремя ведомыми устройствами, больше не пробовал.

Существует стандарт-не-стандарт-может-рекомендация ACCESS.bus - это применение I2C "на столе", "в комнате", мультимастерный вариант, там специфицирован даже разъём (GND,SCL,VCC,SDA) и формат кадра. Ограничений именно на длину там не помню, по ёмкоcти кажется те же 1000пФ, по сопротивлению - чтобы на дальнем конце VCC село не ниже 4,5В.
У каждого устройства на шине рекомендуют в обе линии врезать последовательные резисторы 56 Ом, поджтяжка одна на основном блоке (он и питание раздаёт).


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 04:45
Рейтинг@Mail.ru


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