Например TDA7294

Форум РадиоКот :: Просмотр темы - Мега8 + 24с16
Форум РадиоКот
https://radiokot.ru/forum/

Мега8 + 24с16
https://radiokot.ru/forum/viewtopic.php?f=61&t=82448
Страница 1 из 2

Автор:  Barisych [ Сб дек 22, 2012 13:17:07 ]
Заголовок сообщения:  Мега8 + 24с16

привет народ!
первый раз в жизни появилась нужда сохранять данные в 24с16.
пишу на асм...
пытаюсь запрограмировать 48 байт..
но прописываются только первые 16шт
я уже и логи снял с isprog :) делаю также ничего не получается!!!! 16 шт и всё :)
второй день башку ломаю!!!
подскажите пожалуйста где рыть???

Автор:  Dmitry Dubrovenko [ Сб дек 22, 2012 13:23:33 ]
Заголовок сообщения:  Re: Мега8 + 24с16

Barisych писал(а):
подскажите пожалуйста где рыть???
В коде программы.

Автор:  Barisych [ Сб дек 22, 2012 13:33:13 ]
Заголовок сообщения:  Re: Мега8 + 24с16

вот что получается...
в логере всё хорошо... а в протеусе (и железе) 24с16 не отпускает шину... не выдаёт АСК :(

Вложения:
i2c.GIF [64.17 KiB]
Скачиваний: 329

Автор:  Barisych [ Сб дек 22, 2012 13:40:58 ]
Заголовок сообщения:  Re: Мега8 + 24с16

Dmitry Dubrovenko писал(а):
Barisych писал(а):
подскажите пожалуйста где рыть???
В коде программы.

понятно что ..ПАЛАМАЛСЯ!!
но интересует не код!!!
а алгоритм правельной работы и2с у 24с16..

Автор:  Barisych [ Сб дек 22, 2012 13:53:02 ]
Заголовок сообщения:  Re: Мега8 + 24с16

rcall start_i2c

ldi BUF,0xA1
rcall TX_BAIT

ldi BUF,0x00
rcall TX_BAIT

;----------
======
ldi BUF,0x40
rcall TX_BAIT
таких посылок 16
======
rcall stop

потом повторяю ещё раз этот код но уже
ldi BUF,0xA1
rcall TX_BAIT

ldi BUF,0x10
rcall TX_BAIT
с начальным адресом следущих 16ти байт!!!!

первые 16байт записываютс а вторые 16 байт не записываются!

Автор:  Barisych [ Сб дек 22, 2012 14:06:47 ]
Заголовок сообщения:  Re: Мега8 + 24с16

после отправки первых 16ти (записи) байт... при приёме последнего байта АСК от 24ки в ноле.. тоесть всё хорошо!
потом стоп.. старт.. и в первомже байте АСК уже 1 :(
тоесть 24ка уже его не понимает! в чём проблема ?

Автор:  Dmitry Dubrovenko [ Сб дек 22, 2012 14:10:35 ]
Заголовок сообщения:  Re: Мега8 + 24с16

Barisych писал(а):
в логере всё хорошо
А откуда "логер" берётся?

Barisych писал(а):
24с16 не отпускает шину
Напрашивается вывод, что ошибка в ПП Stop.
Ну, а алгоритм подробно изложен в даташите.

Автор:  Barisych [ Сб дек 22, 2012 14:23:01 ]
Заголовок сообщения:  Re: Мега8 + 24с16

Dmitry Dubrovenko писал(а):
Barisych писал(а):
в логере всё хорошо
А откуда "логер" берётся?

Barisych писал(а):
24с16 не отпускает шину
Напрашивается вывод, что ошибка в ПП Stop.
Ну, а алгоритм подробно изложен в даташите.

специально для вас Dmitry Dubrovenko
на картинке разницу видите?

Вложения:
i2c2.GIF [9.01 KiB]
Скачиваний: 474

Автор:  Barisych [ Сб дек 22, 2012 14:47:07 ]
Заголовок сообщения:  Re: Мега8 + 24с16

В ПРОГЕ ЗАПИСИ ПЕРВЫХ 16ТИ байт поменял А0 на А1.. тоесть чтение а не запись...
тогда вторая группа из 16ти байт ПРОПИСЫВАЕТСЯ! а первая нет ! :)

Автор:  Dmitry Dubrovenko [ Сб дек 22, 2012 17:21:35 ]
Заголовок сообщения:  Re: Мега8 + 24с16

Я не вижу ни Ваших ПП, ни ответов на свои вопросы. :?

Автор:  Barisych [ Сб дек 22, 2012 20:13:53 ]
Заголовок сообщения:  Re: Мега8 + 24с16

Dmitry Dubrovenko писал(а):
Я не вижу ни Ваших ПП, ни ответов на свои вопросы. :?

ПП.. зачем на наих смотреть??? там всё пашит!!!
вопрос в другом! что делать после отправки первых двух байт с кодом устройства.. адресом и режимом.. и 16ти байт информации!!
итого 18! ЧТО ДЕЛАТЬ ДАЛЬШЕ???? КАК ВОГНАТЬ ВТОРУЮ СТРАНИЦУ!!!???

А КАКИЕ У ВАС ВОПРОСЫ?

Автор:  Barisych [ Сб дек 22, 2012 21:53:09 ]
Заголовок сообщения:  Re: Мега8 + 24с16

после записи первой страници 24ка во всех последующих передаваемых в неё байтах выдаёт АСК=1
тоесть делать ничего не хочет! память в железе реально прописывается!
тоесть нужно организовать запись второй страници!

Автор:  Barisych [ Вс дек 23, 2012 01:24:33 ]
Заголовок сообщения:  Re: Мега8 + 24с16

http://www.saleae.com/downloads
прога логера тут!

и в архиве снятый лог!! с программатора испрог!!! при програмировании 24с16

2 и 3 каналы ну типа сняты с макса с RX TX

Вложения:
untitled3.zip [226.26 KiB]
Скачиваний: 223

Автор:  shads [ Вс дек 23, 2012 09:07:11 ]
Заголовок сообщения:  Re: Мега8 + 24с16

Barisych писал(а):
после записи первой страници 24ка во всех последующих передаваемых в неё байтах выдаёт АСК=1
тоесть делать ничего не хочет! память в железе реально прописывается!
тоесть нужно организовать запись второй страници!

Может проблема в том что функция записи не проверяет готовность флэшки к работе.....

Дело в том, что флэшка, до определенного количества байт, принимает их в буфер.... а уже при превышении этого количества, или при получении команды стоп, приступает к реальной записи буфера во флэш..... в это время (какое то определенное время) флэшка занята и не будет отвечать на внешние команды..... Функция записи при общении с флэшкой должна определять, что та не отвечает, и крутится в цикле, ожидая ответа от флэшки....

Я у себя тут делал свой софтовый вариант, только для 24C64, все работает.....

Автор:  Barisych [ Вс дек 23, 2012 09:53:30 ]
Заголовок сообщения:  Re: Мега8 + 24с16

shads писал(а):
Может проблема в том что функция записи не проверяет готовность флэшки к работе.....

Дело в том, что флэшка, до определенного количества байт, принимает их в буфер.... а уже при превышении этого количества, или при получении команды стоп, приступает к реальной записи буфера во флэш..... в это время (какое то определенное время) флэшка занята и не будет отвечать на внешние команды..... Функция записи при общении с флэшкой должна определять, что та не отвечает, и крутится в цикле, ожидая ответа от флэшки....

Я у себя [code=http://asis-kbr.ru/forum/viewtopic.php?f=11&t=117]тут[/code] делал свой софтовый вариант, только для 24C64, все работает.....


Спасибо конечно! но в ваших исходниках я ненашол обработку ни 24с64 ни часов 1307. :(

Автор:  Barisych [ Вс дек 23, 2012 10:44:01 ]
Заголовок сообщения:  Re: Мега8 + 24с16

повозился ещё немного...
уменьшил количество передаваемых байт с 16 до 8 не помогло..
ставил паузу.. на тот случай если ещё происходит запись а я уже туда лезу.. не помогло!
получается мс просто после записи уходит в даун и оттуда уже больше не возвращается!!!
КАК ЕЁ ОТТУДА ВЕРНУТЬ????

кто посмотрел логи???
мне там не всё понятно!!! например что идёт в 24ку а что из неё???

Автор:  ibiza11 [ Вс дек 23, 2012 12:33:39 ]
Заголовок сообщения:  Re: Мега8 + 24с16

что-то я тоже не нашел)

Автор:  Barisych [ Вс дек 23, 2012 13:02:07 ]
Заголовок сообщения:  Re: Мега8 + 24с16

ibiza11 писал(а):
что-то я тоже не нашел)

что не нашол?

Автор:  Dmitry Dubrovenko [ Вс дек 23, 2012 13:17:41 ]
Заголовок сообщения:  Re: Мега8 + 24с16

Barisych писал(а):
там всё пашит!!!
Ну, если так уверены, зачем тогда спрашиваете?
Короче говоря, уговаривать я не собираюсь.
Разбирайтесь сами.

Автор:  Barisych [ Вс дек 23, 2012 13:22:51 ]
Заголовок сообщения:  Re: Мега8 + 24с16

кароче у меня ЗАРАБОТАЛО!!!
3 ДНЯ ТАНЦЕВ С БУБНОМ!!! не прошли даром!

выше я привёл логи и дал ссылу где скачать прогу для их просмотра (и снятия)
логи были сняты при програмировании 24ки в icprog106C.exe
там после завершения страници идёт несколько непонятных мне байт (на тот момент)
как тут выше писал shads .. что надо сделать проверку..
но не пояснил как это сделать.. полез в инет.. и на толкнулся на это!!!
http://piclist.ru/D-MC-24LC512-RUS/D-MC ... US.html#28
8.1 Чтение текущего адреса - это как раз те самые не понятные байты!!

и сделал так
RD_NAK:
rcall start_i2c

ldi BUF,0xA1
rcall TX_BAIT

rcall RX_BAIT

rcall stop

sbrc BITMAP,0

rjmp RD_NAK
===================

BITMAP,0 выставляется в ПП TX_BAIT
но после отправки байта принимаем байт выдавая NAK
в логах от прогера там на второй цикл уже был нармальный ответ!!!
а на стк-500.. там скорость синхры в 10 раз выше..
24ка откликнулась уже на 4ю посылку.. ПРОПИСАВ ВТОРУЮ СТРАНИЦУ!

вот логи! :)

Вложения:
untitled4.zip [3.58 KiB]
Скачиваний: 194

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/