Page 1 of 15

Пишем лог на SD карточку

Posted: Sun Aug 26, 2012 8:29 pm
by serge__5518
Обсуждаем реализацию записи лога на SD карточку (miniSD, microSD).
По указанным ниже ссылкам, можно посмотреть два проекта с использованием SD.
http://microsin.net/programming/AVR/att ... layer.html
http://www.dharmanitech.com/search/labe ... %2F%20SDHC

Для начала можно обсудить варианты реализации :
1) Логер на SD встроенный в SECU.
2) Логер на SD с интерфейсом RS232.

Для встроенного логера надо делать схему сопряжения:
- питание 3.3В
- преобразователи уровней SPI (5В->3В)
Но удобно - вставил карточку в SECU и накатывай логи...

Для логера с интерфейсом RS232 требуется:
- МК (Tiny, Mega).
- Питание логера и оптронов SECU от бортовой сети.

Добавлено 08.10.2012 (STC).

Первая реализация логера для SECU-3 на Atmega8 лежит здесь:
Схема : http://subversion.assembla.com/svn/secu ... rSD/Schema
Исходный код : http://subversion.assembla.com/svn/secu ... SD/MegaApp
Консоль настройки логера : http://subversion.assembla.com/svn/secu ... erCnsl.exe

Re: Пишем лог на SD карточку

Posted: Sun Aug 26, 2012 9:04 pm
by STC
Думаю что эти 2 варианта примерно одинаковые по аппаратным затратам. И там и там требуется наличие как минимум микроконтроллера и SD карточки.
В случае с RS-232 нужен еще MAX232, он будет не только преобразовывать уровни но еще и питать оптроны. В случае с SPI, возможно нужны будут преобразователи уровней (5 <--> 3.3).
С точки зрения программной реализации, вариант с RS-232 проще, так как мне не нужно ничего менять в прошивке SECU-3. В случае с SPI мне нужно будет организовать выдачу байтов. C другой стороны, у тех, у кого блок SECU-3T с USB не смогут подключить этот логер, но у них есть 10-ти контактный разьем с SPI (он есть на всех SECU-3T).
Но думаю не проблема предусмотреть в логере и SPI и RS232 (для начала достаточно реализовать только один вариант, просто чтобы был задел на будущее).

Re: Пишем лог на SD карточку

Posted: Sun Aug 26, 2012 9:38 pm
by serge__5518
STC wrote:Думаю что эти 2 варианта примерно одинаковые по аппаратным затратам. И там и там требуется наличие как минимум микроконтроллера и SD карточки.
Я думал для встроенного (SPI) логера не нужен доп. МК....-(
STC wrote:
В случае с SPI, возможно нужны будут преобразователи уровней (5 <--> 3.3).
Преобразователи уровней наверно нужны будут в обоих случаях
SD карточки 3-х вольтовые.
Если снижать питание МК, то наверно для Max232 они будут нужны...
STC wrote: Но думаю не проблема предусмотреть в логере и SPI и RS232 (для начала достаточно реализовать только один вариант, просто чтобы был задел на будущее).
Ок!
Думаю, проще реализовать логер на RS232.
Правда, провода для питания логера от прикуривателя к SECU...не эстетично.-)
Для меня пока не понятно как сопрягать 3В МК и Max232.
Я уже подзабыл, что в даташите сказано по этому поводу.
Если завтра будет время, прикину схемку.
Конструктив - разъем RS232.
МК-??

Re: Пишем лог на SD карточку

Posted: Sun Aug 26, 2012 9:44 pm
by STC
Думаю ATmеga8 подойдет, есть небольшой запас. Вообще подойдет любой МК с SPI и UART
Можно взять max3232, у него питание 2.5...5.5В
Пример подключения есть тут http://subversion.assembla.com/svn/secu ... schema.jpg

МК хочешь запитать от 3.3В из-за SD карточки? Я не уточнял, может SD карточки толерантны к 5В?

Re: Пишем лог на SD карточку

Posted: Sun Aug 26, 2012 10:03 pm
by serge__5518
STC wrote:Думаю ATmеga8 подойдет, есть небольшой запас. Вообще подойдет любой МК с SPI и UART
Можно взять max3232, у него питание 2.5...5.5В
Пример подключения есть тут http://subversion.assembla.com/svn/secu ... schema.jpg
Если схема рабочая то в принците вместо блютуза ставим МК.
и вопрос по сопряженияю МК 3В и max232 снимается.
STC wrote: МК хочешь запитать от 3.3В из-за SD карточки? Я не уточнял, может SD карточки толерантны к 5В?
Да, запитать от 3.3В из-за SD карточки.
Можно уточнить. Думаю SD карточка поймет МК, а вот уровня 3В линии от SD может нехватить для МК.
У меня было такое при подключении 3B флэш-памяти AT45xxx mege.Пришлось ставит преобразователь уровня на линию ответа -).

Re: Пишем лог на SD карточку

Posted: Mon Aug 27, 2012 6:21 am
by KOT
Я за отдельный логер на SD карту реализованный на меге8 или 48 ну или им подобные..
У меня к примеру нет на секу3т преобразователя ни юсб ни макс232, у меня отдельная коробочка с FTDI которую я подключаю к различным девайсам.
Короче я с Вами, если могу чем-либо помочь пишите в ЛС, мне нужен логер на SD и для секу и для инжа, особенно для последнего - надоело ноут возить, неудобно вкл/выкл тягать с собой

Re: Пишем лог на SD карточку

Posted: Mon Aug 27, 2012 9:02 am
by serge__5518
KOT wrote:Я за отдельный логер на SD карту реализованный на меге8 или 48 ну или им подобные..
У меня к примеру нет на секу3т преобразователя ни юсб ни макс232, у меня отдельная коробочка с FTDI которую я подключаю к различным девайсам.
Короче я с Вами, если могу чем-либо помочь пишите в ЛС, мне нужен логер на SD и для секу и для инжа, особенно для последнего - надоело ноут возить, неудобно вкл/выкл тягать с собой
А на инже тоже SECU?
Как к январю (бошу) прикрутишь логер?
Идея такая - что выдает SECU записывать на SD.

Re: Пишем лог на SD карточку

Posted: Mon Aug 27, 2012 11:37 am
by Serj_K
Для питания внешнего логера проще использовать 2 пальчиковых батарейки.
По цене - на SPI с преобразователем уровней и внешний с максом - разницы практически не будет. Ну и плату всё равно прийдётся делать и корпус нужен. Зато для внешнего прошивку не нужно трогать.

Re: Пишем лог на SD карточку

Posted: Mon Aug 27, 2012 1:01 pm
by KOT
serge__5518 wrote: А на инже тоже SECU?
Как к январю (бошу) прикрутишь логер?
Идея такая - что выдает SECU записывать на SD.
У меня другой протокол на инже, короче мне бы библиотеку работы с SD картой, еще чтоб поступающие ASCII символы записывались в текстовый файл, а формат флешки к примеру FAT.

А вот на счет данных было бы интересно сделать какой нибудь конфиг файл, в который можно было бы загнать протокол обмена, а затем скомпилировать прошивку. Я могу написать на асме протокол обмена, а вот с обменом с карточкой туговато выйдет, особенно если фат и текстовый файл...
Под секу конечно достаточно просто сохранять данные, которые шлет контроллер. Только сначала послать команду изменит дискриптор на всякий случай '!hq/r' А вот с микасом наверно и январем нужно слать запросы, вроде как полудуплексная связь.

Re: Пишем лог на SD карточку

Posted: Mon Aug 27, 2012 1:41 pm
by denami
Рабочие примеры из сти.
http://avrlab.com/node/156
http://avrlab.com/node/167
Но у меня заработало с картой 64 и 512 мб (доступные маленькие на момент проверки)
2гб и 4 гб не работало :(