|
Algorithm Builder + SD card |
|
|
|
May 15 2007, 14:12
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Помогите организовать обмен данными ATMega8535 c SD Card. Нужно сначала записать данные в SD с ПК через RS-232, а потом читать в порт с частотой 8000 Гц (на ЦАП) или читать обратно в ПК. Читать и писать 512 байт получается, а больше облом. Исходный код на AB 5.00 прилогаю. (Есть робочий проєкт роботы ATMega8535 c LCD Siemens S65, могу выложить)
|
|
|
|
|
May 16 2007, 02:21
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Цитата(yarunt @ May 16 2007, 10:11)  (Есть робочий проєкт роботы ATMega8535 c LCD Siemens S65, могу выложить)
интересно посмотреть ,ну а ммс на билдере ....наверно вы первый.
|
|
|
|
|
May 16 2007, 03:39
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Цитата(hd44780 @ May 16 2007, 11:19)  Если не секрет, вы питали схему от 3.3 вольта или вешали какие-то преобразователи между мегой и картой? Питаю Мегу и карту от 3.3 вольта без преобразователя.
|
|
|
|
|
May 16 2007, 06:06
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
Цитата(Alex_1811 @ May 16 2007, 09:39)  Питаю Мегу и карту от 3.3 вольта без преобразователя. Понял. А этот ваш LCD графический? Если можете, киньте доку на hd44780@yandex.ru. Спасибо.
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
May 16 2007, 08:08
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Цитата(hd44780 @ May 16 2007, 14:06)  Понял. А этот ваш LCD графический? Если можете, киньте доку на hd44780@yandex.ru. Спасибо. Телефон Siemens M65,CX65,S65 видели, экран оттуда. Нормальной доки нет. Кое что вот
|
|
|
|
|
May 16 2007, 08:39
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Цитата(hd44780 @ May 16 2007, 16:24)  за доки спасибо.
Вы наверное работаете с картой по SPI? Если да, то правильно, за раз читает/пишет 1 сектор. Если хотите больше - как-то эмулируйте его родной интерфейс либо ищите контроллеры со свроенной поддежкой карт. SD подключил к SPI. Читать и писать один сектор(512 байт) получается, но мне нужно ~44кБ. Проблема в том что я не могу организовать запись данных в SD. Для моих нужд хватает Меги8535, так что использовать контроллеры со свроенной поддежкой карт не имеет смысла.
|
|
|
|
|
May 16 2007, 10:00
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 22-03-07
Из: Novosibirsk
Пользователь №: 26 415

|
Цитата(yarunt @ May 16 2007, 20:40)  Да ..через СПИ 512 байт. В MMC по SPI можно писать/читать любое количество последовательно идущих блоков. Года три назад делал на ATmega162 запись данных в MMC под FAT16. Было 32кБ внешней RAM.
|
|
|
|
|
May 16 2007, 20:09
|
Участник

Группа: Свой
Сообщений: 70
Регистрация: 3-03-05
Пользователь №: 3 029

|
Цитата(hd44780 @ May 16 2007, 23:15)  Да, на SPI только по 1 сектору. Ограничение интерфейса. Увы ... Проверял, так и есть. Таки нет. В файле Simplified Physical Layer Specification.PDF на стр.115 команды для чтения блока (файлег берется на сайте ассоциации SD ) CMD17 - READ_SINGLE_BLOCK читает один блок. CMD18 - READ_MULTIPLE_BLOCK читает последовательность блоков пока на карту не будет передана команда STOP_TRANSMISSION Другое дело что в МК памяти очень мало и накладные расходы на организацию передачи двух блоков по 512 байт будут может и больше чем вызов двух команд на чтение одного блока.
|
|
|
|
|
May 17 2007, 02:17
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Цитата(pitman @ May 17 2007, 04:09)  Таки нет. В файле Simplified Physical Layer Specification.PDF на стр.115 команды для чтения блока (файлег берется на сайте ассоциации SD )
CMD17 - READ_SINGLE_BLOCK читает один блок. CMD18 - READ_MULTIPLE_BLOCK читает последовательность блоков пока на карту не будет передана команда STOP_TRANSMISSION
Другое дело что в МК памяти очень мало и накладные расходы на организацию передачи двух блоков по 512 байт будут может и больше чем вызов двух команд на чтение одного блока. Мне не нужно хранить в памяти данны, просто нужно каждый байт данных писать сразу в порт (с частотой 8000 Гц)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|