GenaSPB 11 30 января, 2013 Опубликовано 30 января, 2013 · Жалоба непонятные типы - это из stdint.h - смысл типов надеюсь понятен. А что, у Вас ешё и процессор не от 3.3 питается? Что за 510 Ом? Антизвонные на 22..56 ом я ещё понимаю... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Citizen777 0 31 января, 2013 Опубликовано 31 января, 2013 · Жалоба непонятные типы - это из stdint.h - смысл типов надеюсь понятен. А что, у Вас ешё и процессор не от 3.3 питается? Что за 510 Ом? Антизвонные на 22..56 ом я ещё понимаю... Привожу Вам схему соединения ATMega128 и SD карт. . Atmega128 питается от 5 В, SD карта - от 3.3 В R2-R6 - 51 кОм подтягивающие к +3.3В R7-R10 - 510 Ом резисторы для согласования уровней 5В и 3.3В VD1-VD3 - защитные стабилитроны на 3.3 Вольт Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 31 января, 2013 Опубликовано 31 января, 2013 (изменено) · Жалоба Привожу Вам схему соединения ATMega128 и SD карт... Так, для справки: нормированная ёмкость стабилитрона BZX84C3V3 на 3.3 вольта при нулевом обратном смещении - 450 пикофарад. И процессор начинает эти 450 пикофарад через 510 ом заряжать... Ёмкость, разумеется, упадёт до сотни пикофарад при полутора вольтах (когда дойдём до порога переключения логики в карте)... Если ещё где-то нормированы скорости нарастания на клоке... Я даже не хочу предсказывать, как всё это будет работать в "боевом" применении. И не поможет никакое снижение скорости чередования импульсов - уже завалены фронты сигнала. Не говоря про то, что минимальный уровень логической "1" на входе ATMEGA128 должен быть 0.6 * VCC - что при 5.0 вольтах питания равно 3.0 вольта. Скажем так, запас никакой. Сделайте нормально всё здесь. Самое простое - снизить питание процессора до 3.3 вольта и выкинуть весь этот "огород". Если нужны 16 МГц - найти слегка другой процессор или применить трансляторы уровней вроде sn74lvc1t45 или что-ибудь специальное, для карточек. Изменено 1 февраля, 2013 пользователем IgorKossak избыточное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ut1wpr 0 31 января, 2013 Опубликовано 31 января, 2013 (изменено) · Жалоба Так, для справки...Я тоже ходил по этим граблям. Явно видно осциллографом завал фронта клока. Отказался от стабилитронов. Сделал просто делитель, причем ток через него выбирал побольше, входную емкость карточки тоже надо учитывать. Помогало, но не очень. Были сбои. Поставил параллельно верхнему плечу делителя форсирующую емкость в пару десятков пик - фронт заметно улучшился. Увеличивал емкость электролита возле карточки. Читать-писать стало заметно лучше. Но все равно проблемно. Вывод - или сопрягать уровни микросхемой-согласователем, или переводить МК на 3.3 Как только перевел - все менингиты снялись. В одну телегу впрячь не должно коня и трепетную лань.. :) Гена прав. Изменено 1 февраля, 2013 пользователем IgorKossak избыточное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 1 февраля, 2013 Опубликовано 1 февраля, 2013 (изменено) · Жалоба Я тоже ходил по этим граблям... УУУххх.... Вместо всех этих делителей и стабилитронов надо использовать резисторы + диоды шоттки закинутые на +питания карточки. Или вообще не использовать диоды, наверняка они и так в карточке для защиты стоят. Изменено 1 февраля, 2013 пользователем IgorKossak избыточное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Citizen777 0 1 февраля, 2013 Опубликовано 1 февраля, 2013 · Жалоба Так, для справки: нормированная ёмкость стабилитрона BZX84C3V3 на 3.3 вольта при нулевом обратном смещении - 450 пикофарад. И процессор начинает эти 450 пикофарад через 510 ом заряжать... Ёмкость, разумеется, упадёт до сотни пикофарад при полутора вольтах (когда дойдём до порога переключения логики в карте)... Если ещё где-то нормированы скорости нарастания на клоке... Я даже не хочу предсказывать, как всё это будет работать в "боевом" применении. И не поможет никакое снижение скорости чередования импульсов - уже завалены фронты сигнала. Не говоря про то, что минимальный уровень логической "1" на входе ATMEGA128 должен быть 0.6 * VCC - что при 5.0 вольтах питания равно 3.0 вольта. Скажем так, запас никакой. Сделайте нормально всё здесь. Самое простое - снизить питание процессора до 3.3 вольта и выкинуть весь этот "огород". Если нужны 16 МГц - найти слегка другой процессор или применить трансляторы уровней вроде sn74lvc1t45 или что-ибудь специальное, для карточек. Спасибо, Геннадий, за Ваш совет! Он оказался верным. Действительно, убрал стабилитроны и всё заработало. Правда, питание не менял, оставил 5В для Меги и 3.3В для карты. Инициализация проходит 100% без сбоев, чего раньше на наблюдалось. Данные пишутся тоже нормально. С чтением, правда, проблемы - с карты 512Мб читается, с карты 2Гб - не читается. Надо разбираться. А по поводу перехода процессора на 3.3В. Дело в том, что это довольно сложное устройство, уже отлаженное, неизвестно как оно поведёт себя при пониженном напряжении. Над этим надо ещё подумать. Может действительно проще поставить микросхему-согласовватель уровней и оставить всё как есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 2 февраля, 2013 Опубликовано 2 февраля, 2013 · Жалоба У HC карточек адресация не смещением, а номером блока. В моём проекте это есть... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mp41 0 11 февраля, 2013 Опубликовано 11 февраля, 2013 · Жалоба Так 2Гб карточка не должа быть HC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 11 февраля, 2013 Опубликовано 11 февраля, 2013 · Жалоба Я видел 2GB и HC и не HC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться