aaarrr 69 4 июля, 2023 Опубликовано 4 июля, 2023 · Жалоба 20 hours ago, MementoMori said: То есть нужно отправить 16 бит - два байта 0xA000 и на SO получим эхо. Отправить 16 бит и на следующем цикле CS получить эхо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 4 июля, 2023 Опубликовано 4 июля, 2023 · Жалоба 11 minutes ago, aaarrr said: Отправить 16 бит и на следующем цикле CS получить эхо. Вот: rg=0xA0; dt=0x00; while(1) { dtt=(uint16_t)rg<<8| dt; HAL_GPIO_WritePin(TLE_CS_GPIO_Port, TLE_CS_Pin, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi1, (uint8_t*)&dtt, 1, 5000); HAL_GPIO_WritePin(TLE_CS_GPIO_Port, TLE_CS_Pin, GPIO_PIN_SET); } Не получается эхо, SO притянуто к нулю, причем драйвером притянуто (на входе контроллера честное болтание ноги в воздухе) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 5 июля, 2023 Опубликовано 5 июля, 2023 · Жалоба On 7/4/2023 at 12:10 AM, vov4ick said: В паспорте пишут что SO в Z-состоянии только когда CS=1. В общем, выяснилась странная вещь. - У меня SO в логическом 0 независимо от CS. Была первая мысль, что сгорел какой-нибудь выходной транзистор, создав замыкание на массу. Но если на RESET подать 0, то SO переводится в Z-состояние. То есть нет реакции на изменение CS. Я проверял напряжение непосредственно на CS пине - оно меняется, но SO в Z не переходит. Как думаете, неисправность микросхемы? Тут ведь уже не скажешь, что я как-то неправильно SPI настроил, базовая штука не работает - перевод SO в Z при снятии выбора микросхемы. При этом сама функция перевода в Z, как таковая работает, при других условиях. Вывод - микросхема невосприимчива к CS? Ошибки монтажа тоже исключены -SO к земле ничто принудительно не тянет, проверено, до CS сигнал доходит, тоже проверено.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vov4ick 39 5 июля, 2023 Опубликовано 5 июля, 2023 (изменено) · Жалоба Возможно, дело в 3-вольтовом питании МК, хотя в паспорте про это не пишут, там пишут только что CS со слабой внутренней подтяжкой (10-50 мкА), то есть его пороги могут быть другими. Попробуйте этот выход МК переключить на открытый сток, на всякий случай проверить что он держит 5В. Может быть понадобится подтягивающий резистор к +5В. Изменено 5 июля, 2023 пользователем vov4ick Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 5 июля, 2023 Опубликовано 5 июля, 2023 · Жалоба 6 minutes ago, vov4ick said: Возможно, дело в 3-вольтовом питании МК, хотя в паспорте про это не пишут, там пишут только что CS со слабой внутренней подтяжкой (10-50 мкА), то есть его пороги могут быть другими. Тот факт, что МК, тем не менее, притягивает CS к нулю, что-нибудь значит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vov4ick 39 5 июля, 2023 Опубликовано 5 июля, 2023 (изменено) · Жалоба 12 минут назад, MementoMori сказал: Тот факт, что МК, тем не менее, притягивает CS к нулю, что-нибудь значит? Возможно, чтобы отпустило CS, оно должно подняться выше +3,3В. Кто его знает, почему. Может, если вход инверсный, они и пороги с другой стороны считают 😄 Других мыслей пока нет. Изменено 5 июля, 2023 пользователем vov4ick Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 5 июля, 2023 Опубликовано 5 июля, 2023 · Жалоба 18 minutes ago, vov4ick said: Попробуйте этот выход МК переключить на открытый сток, на всякий случай проверить что он держит 5В. Сделал и так, как вы сказали, и по другому - тупо подключал CS к земле и к +3 вольт, +5 вольт. Ни 5, ни 3 вольт на CS не переводят SO в Z состояние. Зато подключение RESET к GND - переводит. Но, допустим, предположим, что раз SO у нас не в Z, то CS каким-то образом, внутри микросхемы, притянуто к земле, то есть микросхема выбрана. Почему не идет эхо? Купить, что ли, для верности, еще одну микросхему и попробовать.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vov4ick 39 5 июля, 2023 Опубликовано 5 июля, 2023 · Жалоба 5 минут назад, MementoMori сказал: Но, допустим, предположим, что раз SO у нас не в Z, то CS каким-то образом, внутри микросхемы, притянуто к земле, то есть микросхема выбрана. Почему не идет эхо? По отпусканию CS идёт исполнение команды. Если CS не отпускается, то и команды не исполняются. Микросхема могла быть уже подгоревшей. Можно измерить, есть ли подтяжка внутри на CS как написано в паспорте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 5 июля, 2023 Опубликовано 5 июля, 2023 · Жалоба В вашей схеме ни какая "обвеска" обеих м/c не нарисована. В том числе, рекомендованная в ДШ - конденсаторы, подтягивающие резисторы. Они, вообще, есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 5 июля, 2023 Опубликовано 5 июля, 2023 · Жалоба 21 minutes ago, quark said: В вашей схеме ни какая "обвеска" обеих м/c не нарисована. В том числе, рекомендованная в ДШ - конденсаторы, подтягивающие резисторы. Они, вообще, есть? Контроллер - китайский модуль. Там все в порядке с обвязкой. ЧТо качается драйвера - резистор там нужен для подтяжки открытого стока выхода FAULT, на работу микросхемы его наличие или отсутствие не влияет. КОнденсатор есть, правда он не 47 nF, а 470 nF, но я не думаю, что это критично, припаян очень близко к микросхеме. Я сейчас даже померял напряжение именно на его контактах, все нормально, он на питании сидит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 5 июля, 2023 Опубликовано 5 июля, 2023 · Жалоба После включения питания обеих м/с, драйвер обычно раньше готов к работе, чем МК. Какое-то время, пока МК не возьмет на себя управление, входы драйвера болтаются в воздухе. Как драйвер отработает эту ситуацию - неизвестно. Рекомендую установить внешние подтягивающие резисторы 10К (к земле или к питанию драйвера) на все линии SPI и RESET. Чтобы сразу зафиксировать на них нужные начальные уровни сигнала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 206 6 июля, 2023 Опубликовано 6 июля, 2023 · Жалоба В 04.07.2023 в 18:21, MementoMori сказал: две микросхемы пробовал (предполагая, что первая неисправна) Логично предполагать, что из одного ларька будет одинаково неисправно всё, или же оно просто не то, но исправно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 6 июля, 2023 Опубликовано 6 июля, 2023 · Жалоба 8 hours ago, quark said: входы драйвера болтаются в воздухе. Как драйвер отработает эту ситуацию - неизвестно. Погодите... Включается питание, драйвер готов к работе и испытывает влияние болтающихся в воздухе ног. Но вот готов к работе МК, он передергивает RESET. Я ставил брейкпоинты и наблюдал - тяну RESET вниз, SO начинает болтаться в воздухе, отпускаю - SO переходит в лог.0. А дальше все под строгим контролем МК. 8 hours ago, quark said: екомендую установить внешние подтягивающие резисторы 10К (к земле или к питанию драйвера) на все линии SPI и RESET. RESET драйвера имеет внутреннюю подтяжку к питанию. Учитывая это, учитывая, что когда МК готов к управлению, он передергивает RESET, мне эта идея кажется сомнительной, но я попробую. 1 hour ago, Plain said: Логично предполагать, что из одного ларька будет одинаково неисправно всё, или же оно просто не то, но исправно. Разные ларьки были. Один ларек - это алиэкспресс) Второй - наш отечественный барыга из Чебоксар) У меня такой вопрос.. Схемотехнику и плату я уже 10 раз проверил, но вдруг.... хочу без платы подпаяться к микросхеме, может быть даже к следующей, которую достану. Тупо подать питание, подергать CS и посмотреть, что творится на SO в плане переключения в Z-состояние и в логический режим. Можно ли для такой простой задачи пренебречь принципами топологии и трассировки, то бишь проверить микросхему в условиях навесного монтажа? Если я минус питания подпаяю к брюху микросхемы, а 4 GND по углам проигнорирую, микросхема не обидится? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 6 июля, 2023 Опубликовано 6 июля, 2023 · Жалоба Все-таки подключите многканальный логический анализатор (тот же Saleae), и запишите всю процедуру, от включения и инициализации микросхемы до неполучения от нее ответа. Тут все очень просто: при соблюдении спецификации микросхема должна ответить. Если не отвечает- то проблемы в железе. Под набором сигналов я имею в виду все управляемые пины: SPI, CS, Reset, +5V. Кстати, непонятно в какой момент там питание +5V берется, и как его подача синхронизирована с запиткой МК (3.3V) и стартом коммуникации. Может просто времянку не выдерживаете (задержки между CS и клоком, например, идли между +5V и Reset, или Reset и началом общения), или фаза клока не та. Или микросхема отвечает, но Вы ее ответ не принимаете. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 6 июля, 2023 Опубликовано 6 июля, 2023 · Жалоба 8 minutes ago, Ruslan1 said: Все-таки подключите многканальный логический анализатор (тот же Saleae), и запишите всю процедуру, от включения и инициализации микросхемы до неполучения от нее ответа. Тут все очень просто: при соблюдении спецификации микросхема должна ответить. Если не отвечает- то проблемы в железе. Прошу прощения, что упираюсь рогом, вы ведете речь о протоколе, о сложных условиях спецификации. Я же хочу еще раз акцентировать внимание - микросхема не выполняет элементарную, прописанную в даташите вещь - не меняет состояние SO из Z и обратно по изменению сигнала на CS. Но делает это при манипуляциях с RESET. Как мне кажется, многоканальный логический анализатор тут никакой информации не даст. 13 minutes ago, Ruslan1 said: Может просто времянку не выдерживаете (задержки между CS и клоком, например, идли между +5V и Reset, или Reset и началом общения В контроллере много периферии инициализируется, так что дарйвер даже ждет какое-то время. После CS ставил паузу в 1 мсек. Фазы клока менял - посмотрите на предыдущей странице осциллограммы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться