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

 
 
> Atmega8+24C256, Проблемы со стабильным чтением
OLEG_BOS
сообщение Aug 26 2006, 09:28
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 386
Регистрация: 1-12-05
Пользователь №: 11 639



Уважаемые знатоки прошу Вашей помощи. Бьюсь уже три дня и две ночи. sad.gif Перечитал кучу литературы и Data Sheets. Но так и немогу добится стабильной работы. Поэтому и решил обратится к Вам за помощью поскольку впервые начинаю работать с I2C.

Описание схемы: Связка Atmega8+M24LC256. Микросхема ЕЕPROM подключена к выводам TWI Atmega8.
Описание задачи: Читать содержимое ЕЕPROM с адреса 0х0000 по 0х0400.
Описание программы: Используется программа Software I2C (так как с Hardware TWI были еще большие проблеммы) написанная в IAR, с использванием части кода взятого на форуме - БОЛЬШОЕ спасибо Мах и Андрей http://nav2.livejournal.com/130205.html.
Описание проблеммы: Наблюдается крайне неустойчивое чтение M24LC256 (на тактовой частоте 70 КГц). Поначалу еще более менее наблюдается стабильное чтение порядка 10 байт. А далее ....Просто тихий Ужас sad.gif Микросхема просто отказывается читатся sad.gif Было проведенно множественное число экспериментов как с реальным железом, так и с использованием симулятора Proteus (в котором были полученны временные параметры сигналов SDA и SCL а также и всего протокола обмена (вроде все там в норме). Непонятно почему, но на каком то этапе чтения ЕЕPROM видает 0xFF (хотя в зашитом файле этого числа там просто нет !!!) sad.gif . Такое ощущение будто она просто переходит в пасивное состояние и шиной просто не управляет. Повторные последующие рестарты просто ухудшают ситуацию - микросхема не выдает даже первых стабильных 10 Байт.

Вопрос: Неужели все так печально с I2C ? sad.gif Может есть какой то "секрет" по работе с M24LC256 который не описан (или случайно пропущен мною) в Data Sheet ??? Читается ли у кого-либо M24LC256 с первого раза (без рестартов) стабильно как часы ?

Прошу Вашей помощи !!! Заранее багодарен. smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
OLEG_BOS
сообщение Aug 29 2006, 08:50
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 386
Регистрация: 1-12-05
Пользователь №: 11 639



Тема закрыта. Наконец удалось раздобыть двухканальный цыфровой осцылограф. Недоспав еще одну ночь, наконец разобрался в сути проблемы. Подрихтовав маленечко пограмму - Все заработало. smile.gif Микросхема наконец начала читатся стабильно. smile.gif Основной проблемой было то, что упор я делал на Proteus, надеясь что терминал I2C в нем работает правильно. Но на самом деле не все там "красиво", но все таки Proteus здорово помог мне в настройке временных параметров.
Все удалось проверить подключив Atmega8 к COM порту компа.

Все ответившим спасибо за поддержку. smile.gif

defunct - спасибо за код Hardware TWI, но к сожалению задача требует контроля прихода 8-го такта сигнала SCL перед ACK(NOT ACK). Поэтому все же пришлось использовать Software TWI.
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 29 2006, 12:59
Сообщение #3


кекс
******

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



Цитата(OLEG_BOS @ Aug 29 2006, 11:50) *
defunct - спасибо за код Hardware TWI, но к сожалению задача требует контроля прихода 8-го такта сигнала SCL перед ACK(NOT ACK). Поэтому все же пришлось использовать Software TWI.


?!

Зачем контроллировать "приход 8-го такта сигнала SCL"?Он же контроллером генерируется... И start/stop condition тоже...
Go to the top of the page
 
+Quote Post
OLEG_BOS
сообщение Aug 29 2006, 14:41
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 386
Регистрация: 1-12-05
Пользователь №: 11 639



Цитата(defunct @ Aug 29 2006, 15:59) *
Цитата(OLEG_BOS @ Aug 29 2006, 11:50) *

defunct - спасибо за код Hardware TWI, но к сожалению задача требует контроля прихода 8-го такта сигнала SCL перед ACK(NOT ACK). Поэтому все же пришлось использовать Software TWI.


?!

Зачем контроллировать "приход 8-го такта сигнала SCL"?Он же контроллером генерируется... И start/stop condition тоже...


Но я же говорю: так требует поставленная задача....Даю намек wink.gif : скажем перевод последовательных данных с шины I2C в их паральный вид с помощью сдвигового регистра.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- OLEG_BOS   Atmega8+24C256   Aug 26 2006, 09:28
- - rezident   А осциллографом сигналы в реальном железе не догад...   Aug 26 2006, 09:51
- - Shurmas   подтяжка на линиях есть ? Адрес тоже нужно устан...   Aug 26 2006, 10:39
|- - &-rey   и конденсатор к ногам питания на 100нФ   Aug 26 2006, 11:53
|- - OLEG_BOS   Цитата(&-rey @ Aug 26 2006, 14:5...   Aug 26 2006, 15:16
|- - Сергей Борщ   Цитата(OLEG_BOS @ Aug 26 2006, 18:16) Ска...   Aug 29 2006, 07:19
- - OLEG_BOS   Да и по поводу адреса: Микросхема M24LC256 адресо...   Aug 26 2006, 17:35
- - defunct   ЦитатаПонятное дело имеются подтягивающие резистор...   Aug 28 2006, 12:15
|- - Семён   >>Используется программа Software I2C (так к...   Aug 29 2006, 06:16
|- - defunct   Цитата(OLEG_BOS @ Aug 29 2006, 17:41) Но ...   Aug 29 2006, 15:00
|- - OLEG_BOS   Цитата(defunct @ Aug 29 2006, 18:00) Цита...   Aug 30 2006, 07:35
|- - defunct   Цитата(OLEG_BOS @ Aug 30 2006, 10:35) 1. ...   Aug 30 2006, 10:01
|- - OLEG_BOS   Цитата(defunct @ Aug 30 2006, 13:01) Цита...   Aug 30 2006, 11:03
- - General Dead   А не поделится ли кто нибудь исходником НА АССЕМБЛ...   Aug 29 2006, 19:35


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

 


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


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