Ето ги и обещаното упътване - как се подкарват тия карти:
Основни правила при свързване - и не само!!!
Това при условие че процесора работи на 5В а картата на 3.3В.
Всички изводи на картата без захранване и клок се връзват през последователни резистори 1-2к и с ценери към маса за 3.3 волта. Трябва да имат и Pull Upр резистори към 3.3В от по 10-47к.
Клока на картата само трябва да се върже с Pull Down резистор към маса, защото само неговото Idle ниво е LOW. На него също трябва да има ценер за 3.3В.
За отбелязване е, че картата работи и ако на клока има не Pull Down, a Pull UP резистор - като на другите изводи.
Неизползваните крачета /тези които са само за SD карти/ и те с Пулл Уп резистори към 3.3В.
На захранващите пинове на слота трябва да има 3 електролита - 220мф, 47мф и 4.7мф. Това за да се избегне ресет на процесора при пъхане на картата, особенно на карти с голям капацитет.
Всички нива на сигналите освен клока са с активно ниско ниво и неактивно високо. Клока е наобратно по спецификация. Това е важно за конфигурирането на SPI порта на процесора.
SPI порта трябва да се конфигурира така: SMP=0; CKE=1; CKP=0;
Честотата на SPI порта се конфигурира като четотата на процесора се дели на делителя в SSPCON1 регистъра и може да е 1/64, 1/16, и 1/4.
Първоначалната честота на SPI порта трябва да е от 100 до 400 кХз - това по време на процеса на инициализиране на картата.
След това честотата може да варира от 0 до 25 мХз по спецификация.
Добре е захранването на картата също да може да се контролира от процесора, а също и изводите за защита от запис и за налична карта в слота. Това е задължително ако се предвижда картата да може да се слага и маха по време на работа, а не да е сигурно че е пъхната в началото - както е на моя проект.
Малко за инициализацията. Та значи всички пробвани от мене карти се инициализираха с инициализацията за MMC карти. Пробвах и доста модели маркирани като SD. По принцип SD картите би трябвало да се инициализират различно, ама явно и така бачкат. В приложения код е направена само инициализацията за MMC карти, но ако се наложи - лесно може да се преправи. То просто се добавят няколко команди.
Ми май това е. Ето ги и файлчетата:
Айде със здраве...
