• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Прошу помощи с подключением чипа по шине SDIO

M594OX

New member
Начали с того что купили отладку в одной питерской конторе. Получить схему отладки от этой конторы не получилось. У них ее просто нет. В интернете тоже найти не удалось. Здесь искал не особо тщательно. Могу выложить фото этого чуда, но это уже не принципиальный момент хотя и к отладке есть вопросы. На питание выходного усилителя там подано 5 вольт при том что в описании на чип написано подавать не более 3.6, но как то все работает.
Процессор у нас Cortex A9 от TI AM4376BZDN80. Отладка не идеально но как-то заработала на нашем процессоре на 0-ом порту SDIO. . На 1-ом порту работает совсем плохо. Постоянно отваливается. Отличия портов наш программист на видит. У драйвера от "малинки" инвертирован сигнал RESET. Чип инициализируется но практически сразу отваливается. В редких случаях доходит до обмена но совсем недолгого. Прошу глянуть на аппаратное "исполнение" и сказать может где на поверхности наш косяк? Буду благодарен за любые советы.
 

Вложения

M594OX

New member
Решил добавить по мелочи.... Отладка называется ESP_IOT Reference Board.
Схема, та что во вложении наша - именно в ее правильности есть сомнения.
Программист просил уточнить что отладка на первом порту не заработала совсем никак, а вот наша железка (та что во вложении) работает так как написано - постоянно отваливается. Даже не надеюсь что кто то из здесь присутствующих знает разницу между SDIO портами Sitara, на надеяться на чудо не запрещено...
 

nikolz

Well-known member
Начали с того что купили отладку в одной питерской конторе. Получить схему отладки от этой конторы не получилось. У них ее просто нет. В интернете тоже найти не удалось. Здесь искал не особо тщательно. Могу выложить фото этого чуда, но это уже не принципиальный момент хотя и к отладке есть вопросы. На питание выходного усилителя там подано 5 вольт при том что в описании на чип написано подавать не более 3.6, но как то все работает.
Процессор у нас Cortex A9 от TI AM4376BZDN80. Отладка не идеально но как-то заработала на нашем процессоре на 0-ом порту SDIO. . На 1-ом порту работает совсем плохо. Постоянно отваливается. Отличия портов наш программист на видит. У драйвера от "малинки" инвертирован сигнал RESET. Чип инициализируется но практически сразу отваливается. В редких случаях доходит до обмена но совсем недолгого. Прошу глянуть на аппаратное "исполнение" и сказать может где на поверхности наш косяк? Буду благодарен за любые советы.
начните с питания. Какой пиковый ток он обеспечивает. Сколько потребляет ARM?
 

M594OX

New member
ARM потребляет от своего собственного PMIC. А тот берет 5 вольт от 3-Амперного DC/DC. У нас своя собственная "материнская" плата с Cortex-A9. Это не отладочная плата. На периферию зарезервирован отдельный DC/DC NCP1529 (он 1-амперный), который также берет 5 вольт от 3-амперного DCDC.
То есть дочка может легко потребить 800 миллиампер (если освоит их конечно). На дочерней плате с ESP8266 только сам чип и стоит. Не греется совсем. Сигналы питания и RESET чистые насколько это позволяет увидеть осциллограф. Шум если и есть то не превышает 10 милливольт. В понедельник могу выложить фото с осциллографа.
Когда дело доходит до обмена по SDIO я успеваю увидеть сигналы на резонаторе 26 МГц. Уровень поднимается до 0.8 вольта приблизительно. Когда обмен заканчивается уровень падает до нуля - то есть встроенный генератор останавливается или глохнет. Щуп осциллографа (вносимая им емкость) не мешает резонатору.
Отладка подключенная к другому порту ведет себя аналогично и ее резонатору осциллограф тоже не мешает.
 

M594OX

New member
Еще несколько замеченных странностей озвучу на всякий случай.

1. Схему мы рисовали взяв за основу описание на чип. В описании на чип так как и в отладке, что нам досталась на шине SDIO стоят только последовательные резисторы по 100 Ом. Так мы и повторили на своей схеме. Но когда начались танцы с бубном то обратили внимание что те что у нас называются R18 и R19 (у нас сигналы FSMMCDAT2 FSMMCDAT3) на отладке заменены на 0 Ом руками с канифолью и пр. Тоже заменили - не помогло.

2. Подтягивающих резисторов на питание 3.3 вольта с шины SDIO на отладке не было. У нас на ARM мы тоже используем встроенные PULL-UP но и эти (R4...R8)поставили на всякий случай. Их снос делу не помог. Когда обмен начинается что с ними что без них уровень вполне уверенно держится на 3.3 вольта.

3. На нашей дочерней плате сигнал RESET на самом чипе несмотря на подтяжку к 3.3 вольта держится на уровне 2.5 вольта. А на отладочной плате сигнал на самом чипе - 3.7 вольта! При этом он подтянут к 3.3! То есть стоит рядом с кнопкой RESET, подтягивающий резистор 5.1k у которого на одном пине 3.3 а на другом (тот который к кнопке и пину чипа) 3.7 вольта.
 

nikolz

Well-known member
посмотрите это, может что подскажет.
 

nikolz

Well-known member
вот это еще посмотрите:


  • Шаг 1
    ОБОРУДОВАНИЕ
    (Владельцы штанов WiFi переходят к программному обеспечению ниже)
    Вам понадобятся резисторы 6x33 ом (либо сквозные отверстия, либо SMT), немного провода и модуль ESP-12F.
    Некоторые варианты ESP-12E также должны работать, но есть некоторые, которые не имеют выводов GPIO9 и GPIO10, подключенных к краю, и другие, которые имеют другой вывод, чем перечисленный здесь. Из того, что я могу сказать, есть только один вариант ESP-12F (с надписью "ESP-12-F QIO L4" на задней панели), так что это более безопасная ставка. ESP-12F также имеет встроенный конденсатор 10uF через входной источник питания, что избавляет вас от необходимости добавлять его самостоятельно.
    Вероятно, вам нужно что-то, чтобы установить ESP-12F. Перфокарта-это прекрасно, как и картон или просто двусторонняя поролоновая лента на задней панели Пи. Независимо от того, что вы используете, убедитесь, что под антенной ничего нет, иначе дальность действия будет значительно уменьшена. Светодиод ESP-12F является хорошей меткой для начала этой области keepout.
    Я использую наружную двустороннюю пенопластовую ленту на своих самодельных платах, так как она жесткая, но не трудная для перемещения, и поднимает модуль достаточно, чтобы не закоротить его о доску. Творческое нанесение горячего клея или эпоксидной замазки также может хорошо работать.
  • 2

    Шаг 2

    Установите соединения между ESP-12F или-12E и шляпой Raspberry Pi. Держите провода короткими, насколько это возможно, и минимизируйте количество раз, когда они пересекаются друг с другом. Если вы используете магнитную проволоку или Kynar (стандартный синий провод выпуска), вы можете использовать более тяжелый датчик для 3,3 В и GND. В идеале длина проводов 6 сигналов SDIO должна быть одинаковой, но даже пара дюймов разницы не должна иметь значения. Если вы можете, держите SD_CLK близко к средней длине других проводов.
    Сигналы SDIO (имена, начинающиеся с "SD_") должны иметь последовательно расположенные резисторы 33 ом (между соединениями Pi и ESP-12F). Он может работать с другими немного большими значениями или вообще без резистора.
    Если вы используете 1-битный SDIO вместо 4-битного, опустите D2 и D3. Впрочем, для этого не так уж много веских причин.
    Конденсатор 10 мкФ или более может потребоваться между 3,3 В и GND рядом с модулем, хотя законный ESP-12F уже имеет на борту крышку питания 10 мкФ.
    Проводите его вот так:
    Сигнал SDIOШляпа RPiESP-12F pin / сигналESP-03 pin / сигнал
    CLK15 / GPIO2214 / SCLKФлэш-контакт 6 (CLK)
    УМК16 / GPIO239 / CS0Флэш-Контакт 1 (/CS)
    D018 / GPIO2410 / мисоФлэш-контакт 2 (DO)
    D122 / GPIO2513 / МОСИФлэш-Контакт 5 (DI)
    D2 (опционально для 1-битного)37 / GPIO2611 / GPIO9Флэш-контакт 7 (удержание)
    D3 (опционально для 1-битного)13 / GPIO2712 / GPIO10Флэш-контакт 3 (WP)
    -1 или 17 / 3,3 в8 / VCCМодуль 1 / VCC
    -2, 4, 14 или 20 / GND15 / GNDМодуль 8 / GND
    -27 / ID_SD3 / CH_PDМодуль 13 / CH_PD
    Обратите внимание, что сигнал CH_PD соединен с сигналом ID_SD. Это должно быть отображено как GPIO (GPIO0) и переключено на выход и управляемый низкий уровень, а затем снова переключено на вход, прежде чем драйвер будет загружен, чтобы сбросить модуль. Это будет добавлено в ближайшее время в драйвере.
    Столбец ESP-03 выше предназначен для людей, которые хотят использовать вместо него модуль ESP-03. Это требует пайки к выводам микросхемы SPI flash для некоторых сигналов. Вспышка SPI может быть сначала распаяна или оставлена на месте.
  • 3

    Шаг 3
    ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
    Начните со свежего изображения Raspbian SD 2016-05-10 или более поздней версии.
    Сетевое подключение к Pi требуется для первоначальной установки Raspbian для извлечения зависимостей для сборки модуля драйвера. Это может быть встроенный Ethernet модели B Pi, поддерживаемый адаптер USB-Ethernet или USB-WiFi или Pi Zero, подключенный через другой ПК через USB.
 

nikolz

Well-known member
вот это еще посмотрите:
  • ОБОРУДОВАНИЕ
    Установите соединения между ESP-12F или-12E и шляпой Raspberry Pi. Держите провода короткими, насколько это возможно, и минимизируйте количество раз, когда они пересекаются друг с другом. Если вы используете магнитную проволоку или Kynar (стандартный синий провод выпуска), вы можете использовать более тяжелый датчик для 3,3 В и GND. В идеале длина проводов 6 сигналов SDIO должна быть одинаковой, но даже пара дюймов разницы не должна иметь значения. Если вы можете, держите SD_CLK близко к средней длине других проводов.
    Сигналы SDIO (имена, начинающиеся с "SD_") должны иметь последовательно расположенные резисторы 33 ом (между соединениями Pi и ESP-12F). Он может работать с другими немного большими значениями или вообще без резистора.
    Если вы используете 1-битный SDIO вместо 4-битного, опустите D2 и D3. Впрочем, для этого не так уж много веских причин.
    Конденсатор 10 мкФ или более может потребоваться между 3,3 В и GND рядом с модулем, хотя законный ESP-12F уже имеет на борту крышку питания 10 мкФ.
    Проводите его вот так:
    Сигнал SDIOШляпа RPiESP-12F pin / сигналESP-03 pin / сигнал
    CLK15 / GPIO2214 / SCLKФлэш-контакт 6 (CLK)
    УМК16 / GPIO239 / CS0Флэш-Контакт 1 (/CS)
    D018 / GPIO2410 / мисоФлэш-контакт 2 (DO)
    D122 / GPIO2513 / МОСИФлэш-Контакт 5 (DI)
    D2 (опционально для 1-битного)37 / GPIO2611 / GPIO9Флэш-контакт 7 (удержание)
    D3 (опционально для 1-битного)13 / GPIO2712 / GPIO10Флэш-контакт 3 (WP)
    -1 или 17 / 3,3 в8 / VCCМодуль 1 / VCC
    -2, 4, 14 или 20 / GND15 / GNDМодуль 8 / GND
    -27 / ID_SD3 / CH_PDМодуль 13 / CH_PD
    Обратите внимание, что сигнал CH_PD соединен с сигналом ID_SD. Это должно быть отображено как GPIO (GPIO0) и переключено на выход и управляемый низкий уровень, а затем снова переключено на вход, прежде чем драйвер будет загружен, чтобы сбросить модуль. Это будет добавлено в ближайшее время в драйвере.
    Столбец ESP-03 выше предназначен для людей, которые хотят использовать вместо него модуль ESP-03. Это требует пайки к выводам микросхемы SPI flash для некоторых сигналов. Вспышка SPI может быть сначала распаяна или оставлена на месте.
 

nikolz

Well-known member
в указанной ссылке есть сообщение:
"Я использую 33-омные резисторы в своем производственном дизайне. Я выбрал это методом проб и ошибок, используя область видимости, чтобы определить, какое значение привело к самым чистым сигналам на каждом конце шины. Я использовал значения от 33 до 200 Ом. "
В другом сообщении говорится, что модуль плохо работает с 50 Ом.
 
Сверху Снизу