• Система автоматизации с открытым исходным кодом на базе 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 Ом.
 
Сверху Снизу