| Форум РадиоКот https://radiokot.ru/forum/ |
|
| EEPROM 24LC04B https://radiokot.ru/forum/viewtopic.php?f=61&t=195866 |
Страница 1 из 2 |
| Автор: | Trioni [ Ср дек 04, 2024 19:39:14 ] |
| Заголовок сообщения: | EEPROM 24LC04B |
Доброго дня. Начал изучать i2c и на отладке установлена EEPROM 24LC04B. Столкнулся с тем что не получаю от неё бит ACK. По скольку работаю в первый раз то не могу понять не исправна же сама микросхема/отладка или я выставил не верные адреса/тайминги даташит: https://static.chipdip.ru/lib/938/DOC011938526.pdf Картинка с анализатора: ![]() (отладка AX309, SPARTAN6, выходы вроде выставил корректно: SDA P12, SCL N12) |
|
| Автор: | BOB51 [ Ср дек 04, 2024 22:43:09 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Или ошибка в программе... |
|
| Автор: | Martian [ Ср дек 04, 2024 22:52:35 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Да, но это было бы лучше видно осциллографом, если имеется ввиду, что у мастера пин остался выходом с высоким уровнем. |
|
| Автор: | Trioni [ Чт дек 05, 2024 04:32:27 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Или ошибка в программе... А что может не так быть? По симуляции выход уходит в 'z' , да и как я понял slave же может всё равно просто на землю уронить линию, даже если мастер оставит высокий уровень. Осцилогоафа нету проверить. Делал на ардуинке i2c сканер и получал примерно такую же картину, из за чего сейчас в ступоре, ведь по моей логике всё должно было работать... |
|
| Автор: | shonty [ Чт дек 05, 2024 05:58:08 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Trioni писал(а): А что может не так быть? Всё что угодно. Мы даже не знаем, что у вас "так"))Trioni писал(а): ведь по моей логике всё должно было работать.. логика тут ни при чём. Вы лучше последовательность ваших действий опишите, начиная с первого и до того как ожидаете ACK. Trioni писал(а): или я выставил не верные адреса/тайминги И про это расскажите. Какую скорость задаёте?
|
|
| Автор: | Martian [ Чт дек 05, 2024 06:43:37 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
да и как я понял slave же может всё равно просто на землю уронить линию, даже если мастер оставит высокий уровень. Каким образом? Сопротивление верхнего ключа master против сопротивления нижнего ключа slave. Что будет посередине? Будет хрень, интерпретация которой логическим анализатором непредсказуема.Trioni писал(а): По симуляции выход уходит в 'z' так это симуляция или реальное устройство?
|
|
| Автор: | Trioni [ Чт дек 05, 2024 07:32:51 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
да и как я понял slave же может всё равно просто на землю уронить линию, даже если мастер оставит высокий уровень. Каким образом? Сопротивление верхнего ключа master против сопротивления нижнего ключа slave. Что будет посередине? Будет хрень, интерпретация которой логическим анализатором непредсказуема.Trioni писал(а): По симуляции выход уходит в 'z' так это симуляция или реальное устройство?1) Думал будет просто 'кз' через подтягивающий резистор и транзистор slave => линия просто лежит в нуле 2) устройство. (Код и симуляцию скину после работы уже только. Не думал что дойдёт) |
|
| Автор: | shonty [ Чт дек 05, 2024 11:11:56 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Trioni писал(а): (Код и симуляцию скину после работы уже только. Не думал что дойдёт) Код вторичен. Это всего навсего реализация алгоритма.А вы словами не можете выразить, что вы делаете и в какой последовательности. Trioni писал(а): Делал на ардуинке i2c сканер и получал примерно такую же картину, из за чего сейчас в ступоре, Возможно по этому результат и стабилен
|
|
| Автор: | jcxz [ Пт дек 06, 2024 00:36:50 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Картинка с анализатора: Какое-то странно длинное старт-условие.... ![]() Хотя конечно криминала здесь нет. Разрешение картинки такое, что понять по ней что-либо трудно. Например - не происходят ли фронты по SDA и SCL одновременно? Это может восприниматься ведомым как стоп-условие и тогда он конечно не станет выставлять ACK. Внутри ведомого фронт по SDA может чуть запоздать, и это будет выглядеть для него как СТОП. |
|
| Автор: | Trioni [ Пт дек 06, 2024 14:39:36 ] | ||
| Заголовок сообщения: | Re: EEPROM 24LC04B | ||
Какое-то странно длинное старт-условие.... Хотя конечно криминала здесь нет. Игрался просто с разными таймингами, в том числе давая больше времени на старт. Разрешение картинки такое, что понять по ней что-либо трудно. Например - не происходят ли фронты по SDA и SCL одновременно? Это может восприниматься ведомым как стоп-условие и тогда он конечно не станет выставлять ACK. Внутри ведомого фронт по SDA может чуть запоздать, и это будет выглядеть для него как СТОП. Скрин симуляции, вроде наложений нет, один такт scl разбивал на 4 мини-тактка
|
|||
| Автор: | Martian [ Пт дек 06, 2024 16:39:10 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Не понимаю. То устройство, то опять симуляция... Вы уж определитесь, где не работает. |
|
| Автор: | Trioni [ Пт дек 06, 2024 17:13:01 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Изначально же сказал: на устройстве не получаю бит ACK. Симуляцию скинул просто вместо сотен строчек кода, ясное дело там никакого ответного сигнала не будет. |
|
| Автор: | Martian [ Пт дек 06, 2024 18:18:55 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Изначально же сказал: на устройстве не получаю бит ACK. Ясно. Ну, шлите дальше красивые картинки.
Симуляцию скинул просто вместо сотен строчек кода, ясное дело там никакого ответного сигнала не будет. |
|
| Автор: | jcxz [ Пт дек 06, 2024 22:22:12 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Не понял - а какое отношение имеет эта картинка к скриншоту осциллографа из первого поста? Там совершенно ясно видны совершенно другие временные соотношения. К тому-же - даже по этой картинке - разве не видите странностей? Между рисками "1 мкс" и "19 мкс" попадает примерно ~8.5 периодов SCLK. Т.е. = 8.5/18e-6 = ~472 кГц. При том что по даташиту 24LC04B умеет максимум 400 кГц. Не многовато вы хотите от 24LC04B? На такую осц. она имеет полное право отвечать NACK. Добавлено after 6 minutes 29 seconds: Симуляцию скинул просто вместо сотен строчек кода, ясное дело там никакого ответного сигнала не будет. Да уж.... с логикой явно серьёзные проблемы.... Вы когда придёте к врачу лечить какую-то болячку, например - перелом, тоже скажете: "Доктор, давайте не будем делать рентген перелома, я вам просто нарисую как я думаю выглядит кость, а вы по моему рисунку и лечите". |
|
| Автор: | Trioni [ Сб дек 07, 2024 10:44:20 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Ну наверно можно завершать. Нормальных ответов я так и не получу всё равно. А скидывать код на 300+ строк вызовет лишь очередной виток вопросов о вечном, а если скину краткие выдержки то вопросы что "код не весь". Про тайминги отвечал ещё в первом посте. Где на картинке видно "T = 10uS", скрин симуляции был прилеплен что бы показать итоговое значение кода (например что sda уходит в Z-стейт) (далее уже самостоятельно не раз менял тайминги проверяя на 100 и 400кГц - отсюда и разности между картинкой и симуляцией) |
|
| Автор: | jcxz [ Сб дек 07, 2024 11:11:02 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Ну наверно можно завершать. Нормальных ответов я так и не получу всё равно. Чтобы получить "нормальный ответ", нужно сначала задать "нормальный вопрос".Чего вы до сих пор так и не сделали. И даже как видно - не стремитесь это сделать. ![]() Причём тут некий "код на 300+ строк", которым вы всё пугаете - вообще не понятно. |
|
| Автор: | shonty [ Сб дек 07, 2024 14:58:11 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Trioni писал(а): А скидывать код на 300+ строк вызовет лишь очередной виток вопросов о вечном, а если скину краткие выдержки то вопросы что "код не весь". Ну если стартовое_условие+адрес+проверка_состояния это 300+ строк, тогда лучше не нужно скидывать))Но код всегда вторичен) даже третичен, если не четверичен или пятеричен)) |
|
| Автор: | Trioni [ Сб дек 07, 2024 21:38:03 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Всем спасибо. Разобрался сам - неисправна микросхема EEPROM похоже(или её адрес). Смог достать дисплей на i2c и он вполне отзывается. |
|
| Автор: | Martian [ Сб дек 07, 2024 21:43:01 ] |
| Заголовок сообщения: | Re: EEPROM 24LC04B |
Увы, но это не указывает на неисправность EEPROM |
|
| Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|



