roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 07:38

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: AVR + I2C
СообщениеДобавлено: 30 май 2009, 12:57 
Не в сети

Зарегистрирован: 29 апр 2009, 14:02
Сообщения: 81
Откуда: Екатеринбург
ФИО: Михаил
День добрый, поиском сразу ничего не нашлось, поэтому создам новую тему.
Есть задача считать с eeprom I2C 24c04 данные - 512 байт в SRAM ATMega16a, после они будут исковерканы (обработаны :) ), и сразу вернуть информацию взад.
Программа обработки на асме, это легко. Проблема именно в работе с I2C. С утра уже колупаю интернет, набрал даташитов, мануалов и прочих радостей, голова пухнет :)

Так вот, может есть у кого рабочие процедуры, чтоб их можно было использовать именно для считывания прошивки и ее записи?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 30 май 2009, 13:08 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
не стоит возвращать информацию взад )))

что конкретно вызывает вопросы? примеры работы с тви есть в даташите...
алгоритм работы с паматью описан в ДШ на память...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 30 май 2009, 13:18 
Не в сети

Зарегистрирован: 29 апр 2009, 14:02
Сообщения: 81
Откуда: Екатеринбург
ФИО: Михаил
Duhas, да, даташит и на мегу и на память само собой взял. Но как и любой чайник, мечтаю получить готовое решение (процедура на ассемблере "прочитать еепром в эту область памяти" и "записать вот отсюда в еепром"), которое без особых проблем работало бы на атмеге.
Имея это, намного проще понять как работает протокол и2с вообще и конкретно с такой памятью (24с04).
Больше всего настораживает при попытке сделать с нуля предупреждение во всех руководствах что хотя протокол и асинхронный, но надо очень внимательно выдерживать тайминги.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 30 май 2009, 13:19 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
и2ц писать самостоятельно думаем или тви встроенный юзать?

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 30 май 2009, 13:31 
Не в сети

Зарегистрирован: 29 апр 2009, 14:02
Сообщения: 81
Откуда: Екатеринбург
ФИО: Михаил
Дошло :)
Спасибо за намек, читаю даташит на мегу...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 30 май 2009, 14:22 
Если ограничишся 256байтами то В "исходниках" библиотека для работы с 24с02 на С в КВ.
Для больших размеров адрсация другая и она не подойдет, и прийдется исправлять.
Кажется в аппноутах на атмел.ком есть работа с памятью на асэме и С.


Вернуться к началу
  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 30 май 2009, 14:41 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
автор вроде на асме пишет....

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 31 май 2009, 14:15 
Не в сети

Зарегистрирован: 31 май 2009, 14:09
Сообщения: 18
Откуда: Челябинск
Конкретно сам проткол я расписал тут:
http://easyelectronics.ru/interface-bus-iic-i2c.html с картинками графиками и прочим. Скоро наверное выложу статью с готовым кодом. Если хочешь, могу замылить тебе готовый проект работы с часами реального времени на i2c, с памятью точно также.
Чиркани мне в мыльник я тебе запну проект (dihalt()dihalt.ru)
Правда там сделано тупо в лоб - на ожиданиях флага. Мне этот подход категорически не нравится (противоречит архитектуре моей кооперативной ОС которую я постепенно дотачиваю) поэтому я разрабатываю либу для полной аппаратной обработки ииц протокола на конечном автомате, но пока нет доступа к нормальному компу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 31 май 2009, 16:19 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
неужели сам огого посетил нас? :D

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 01 июн 2009, 09:17 
Не в сети
Аватара пользователя

Зарегистрирован: 27 ноя 2004, 00:42
Сообщения: 3339
Откуда: совсем Москва
ФИО: Григорий
ну да, посетил :)
а ты думаешь остался незамеченным наплыв посетителей с робофорума, когда шел разбор ошибок сайта DiHalt'a? :D

_________________
злой полицейский


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 01 июн 2009, 10:45 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
что верно то верно :) только вот в теме с ошибками не отписался :)

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 01 июн 2009, 10:52 
Не в сети

Зарегистрирован: 29 апр 2009, 14:02
Сообщения: 81
Откуда: Екатеринбург
ФИО: Михаил
Взял в итоге пример для работы с и2ц с этого сайта для 24с01 (если правильно помню), переработал все процедуры с С на асм (вроде без ошибок). Сейчас отлаживаю тестовую запись в 24с04.
Имеем: действие старт проходит, получаем АСК, отправляем адрес, получаем АСК, отправляем данные, получаем АСК, все хорошо, но в память ничего не пишется.

симуляция в протеусе 7.5 SP3
программа пишется в AVR Studio 4.16

Может кто подскажет где ошибка?

Не нашел как прикрепить файл, вот тут положил проекты для протеуса и авр студио
http://82.146.43.245/avr_24c04.rar


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 01 июн 2009, 10:59 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
А дебаггером AVR студии не пробовал проверять? Проверь, если не получится, я дома вечером проверю

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 01 июн 2009, 11:06 
Не в сети

Зарегистрирован: 29 апр 2009, 14:02
Сообщения: 81
Откуда: Екатеринбург
ФИО: Михаил
galex1981 писал(а):
А дебаггером AVR студии не пробовал проверять? Проверь, если не получится, я дома вечером проверю

В аврстудио код сам рабочий, на симуляцию сигналов TWCR реагирует адекватно, я дебаггером дальше в протеусе работаю, чтобы понять правильно ли код посылает и понимает сигналы (и посылает ли он и интерпритирует правильные сигналы).
Получаю что процедура тестовой записи пары байтов отрабатывает (везде есть контроль приема АСК, и если что переход по ошибке), но содержимое виртуальной 24с04 не меняется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AVR + I2C
СообщениеДобавлено: 01 июн 2009, 11:08 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Значит что то не правильно, если содержимое не меняется. Попробуй все таки еще и в AVR - дебаггером проверить, я понимаю что долго но он 100% верные результаты выдает (не доверяю я Протеусу)

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO