-
Постов
114 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Kruftin
-
-
Т.е. получил я от хоста 00 00 80 06 00 01 00 00 40 этим хост запрашивает GET_DESCRIPTOR_DEVICE и указывает что хост хочет увидеть 0x40, т.е. 64 байта дескриптора. Дескриптор устройства + Дескриптор Конфигурации + Дескриптор строки не дадут 64 байта, хотя может это максимальный размер.
Ну т.е по логике после запроса хоста я просто сразу же кидаю ему все дескрипторы и после этого анализирую завершение транзакции и всё жду когда он определит моё устройство как флешку. Аппаратный анализатор наверно дорого стоит.
-
Я Агурова итак читаю. В процессоре имеется регистр передачи конечной точки, который вмещает один байт и глубиной 64 байта. Т.е. под пакетом как я понимаю и подразумевается посылка одного байта. Все данные передаются через нулевую конечную точку. И ещё вопрос должен ли USB сниффер ловить все передачи с устройства?
Распишу подробнее алгоритм:
1)включил usb контроллер
2)выставил в каждой конечной точке включение и готовность конечной точки к ответу на запрос
3)глобально разрешил работы конечных точек, задал скорость 1,5 Мбит/с
4)дождался выставления бита завершения транзакции, считал последовательно байты от хоста после каждого чтения дожидаясь выставления бита завершения транзакции.
5)после получения запроса - конфигурационного пакета начинаю посылать данные к хосту, пробовал послать и по 1 байту и несколько - безрезультатно.
Подскажите кто пользовался процессорами с USB какой там порядок посылки ответного дескриптора.
-
Опубликовано · Изменено пользователем Kruftin · Пожаловаться
Здравствуйте!
Не подскажете как должно происходить подтверждение данных отправленных device устройством на хост.
Т.е. хост прислал запрос на дескриптор устройства, далее необходимо послать этот дескриптор. Так вот вопрос: хост отвечает ACK на каждый байт принятый от устройства или только на весь дескриптор?
Т.е. получил я от хоста 00 00 80 06 00 01 00 00 40, что по байтам мне ему послать, т.е. сразу начать посылку элементов дескриптора?
-
НПОА? ЛС у вас переполнено похоже
-
А посылать данные на девайс, подключенный к ПК посредством USB снифферов нельзя?
-
Опубликовано · Изменено пользователем Kruftin · Пожаловаться
Добрый день!
Подскажите пожалуйста что нужно сделать, чтобы при вводе в браузере определённого ip адреса с процессора приходила страничка с текстом.
Т.е. если посылать в цикле ethernet frame с ethernet-type IPv4 и в заголовке TCP (внутри данных IP пакета) указать порт 80. Кадр с мак адресом ПК и IP. Т.е. заголовки TCP посылаются в поле данных пакета IPv4? Если есть возможность опишите механизм действий подробнее, чтобы по запросу в браузере сделать страничку данных с процессора с Ethernet. Без использования реализации TCP\IP стека такой простой тест можно сделать?
-
Ещё вопрос по многоблочному чтению:
после посылки команды CMD12 на завершение чтения приходит ответ 0х00, а затем на линии держится высокий уровень, т.е. нет ожидания в один байт и сигнала busy, но всё считалось и верно. Может кто сталкивался с этим?
-
Опубликовано · Изменено пользователем Kruftin · Пожаловаться
Вопрос в следующем: при записи по SPI я пишу несколько мегабайт и на пути могут встретиться бэд кластеры, то они будут проигнорированы(заменены контроллером внутри микроСД на рабочие) или просто запись в них не пройдёт и надо для всех данных включить CRC?
-
Опубликовано · Изменено пользователем Kruftin · Пожаловаться
Карточка на 2Гб почему-то совсем не откликается на CMD0 (
Всё работает :yeah: была ошибка в коде...
-
Опубликовано · Изменено пользователем Kruftin · Пожаловаться
Я делаю следующее:
1)Послал команду CMD24( в качестве ответа получил нули см пункты 2-3)
2)Послал 0xFF 2 раза
3)Послал token 0xFE
5)Затем передаю данные пакета циклом по 32 бита за посылку for(i=0;i<128;i++)
Первые 20 байт - это принятые данные после посылок(посылаю всегда 0xABCDEF12 ), остальное то, что принято после посылки token(т.е. во время посылки нули) и каждой посылки данных + CRC(и вопрос ещё как я понял по умолчанию СRC отключён?)
Ещё раз всё поправил ка надо и в итоге после посылки token 0xFE на 5-ом принятом байте(в это время посылаются данные на запись) вижу значение 0x09, которое говорит об ошибки token - out of range.
-
Инициализация прошла, а вот запись что-то не проходит. Послал Data Token как для команды 24, на следующей посылке получил ответ нули (вопрос на какой посылке надо считать ответ token? ) и затем получаю всякие разные данные при отправке моих посылок всего 512 байт это нормально? после отправки СRC в ответе все FF. Карточка на 1Гб, карточка на 2Гб вообще отказалась сброситься.
-
А адрес блока для команд 17,18, 24 как формируется, если блок по 512 байт? Т.е. посылаю команду и указываю для первого блока адрес 1, а для второго 2 или 1, а затем 513?
-
А точно, что-то я про это забыл. Всё теперь понятно, буду пробовать что-то записать и считать пока в одноблочном режиме.
-
Дак тогда ошибки будут возможны, поскольку как microSD отличит CRC от данных(интересуют случаи когда контроль отключён и включён)?
-
Опубликовано · Изменено пользователем Kruftin · Пожаловаться
Ну SPI умеет делать посылки и по 4 бита, но тут то мне нужно получается послать два байта контроля и байт единиц и только после этого послать ещё запрос на считывание байта ответа так?
-
Тогда ещё такой вопрос при посылке пакета после data token следуют данные пакета, так вот их размер от 1 до 2048 байт. Т.е. при отключенном контроле CRC как карточка поймёт, что вот я послал пакет из 5 байт например и мне нужно прислать ответ? Конечно в документации написано, что в конце стоит стоп бит единица, ну т.е. если отключён контроль CRC, то нужно послать два нулевых байта и один бит единицу после этого?
-
Тогда ещё вопрос: после того как записали блок в 512 байт в команде на запись какой будет следующий адрес блока(не 0x201 будет его значение)?
А по структуре регистров CSD, CID почитать в документации общей на SD карты?
http://www.piclist.ru/S-MMC-SD-Cards-RUS/S...-Cards-RUS.html
-
Не подскажите как, поподробнее?
-
Опубликовано · Изменено пользователем Kruftin · Пожаловаться
Подскажите возможно ли реализовать запись и чтение с помощью интерфейса SPI на microSD карту без реализации на ней файловой системы FAT32. Т.е. как с контроллера просто использовать microSD карту для хранения данных. Если обязательно нужно организовывать файловую систему, то подскажите поподробнее как это сделать, заранее благодарен за полезные ссылки. Сейчас разбираюсь с модулем FatFS
-
Всё понятно, спасибо. Добавлю смещение на вход.
-
Опубликовано · Изменено пользователем Kruftin · Пожаловаться
Дак неадекватная работа микросхемы начинается когда питание на входе меньше 0,9 Вольт, а напряжение питания подавали и 10 и 15В. Конденсатор ставили и на входе и на выходе и нагрузку подключали, результат тот же ниже 0.9В - режим насыщения. Завтра приведу полную схему подключения.
-
Опубликовано · Изменено пользователем Kruftin · Пожаловаться
Питается от +5 и доводили до +15 Вольт, Vee на землю подцеплено, Vпит +5
-
-
Сейчас частота вертикальной развертки 60,9 Гц(должно быть 60), горизонтальной 46 Гц (должно быть 47,8) http://tinyvga.com/vga-timing/800x600@60Hz Разрешение пытаюсь сделать 800 на 600, в результате получаю мигания монитора белым цветом раз в три секунды где-то, причем еле-еле заметные. Подаю на цвета все три напряжение постоянное в 0,7 В.
Разработка отладочной платы
в Объявления пользователей
Опубликовано · Изменено пользователем Kruftin · Пожаловаться
Просто Си компилятор, который соответствовал ассемблеру у нас дописывается и выйдет в конце этого кода. Тогда и соберём coremark.
Пока все работы направлены на выпуск нового процессора P2 ну и создаём для него отладочную плату, чтобы к выходу процессора она уже была.
Вся фишка в том, что программа у нас автоматически на аппаратном уровне уйдёт по клеткам(пользователю не нужно что-то очень особенное делать для распараллеливания). Ну и результат операций хранится в коммутаторе, а не в регистрах, хотя регистры у нас тоже имеются(т.е. мы ссылаемся с помощью значка @ на результат операции). Клетки могут выполнять каждая свою задачу или объединяться по две клетки(например) на одну задачу, остальные две каждая на свои задачи и всё это без перезагрузки процессора(это и есть реконфигурация).
Приведу простой пример кода на ассемблере (хотя Си89 у нас тоже есть, правда не оптимальный):
Более подробно тут http://multiclet.com/community/projects/ex...%83%D1%80%D1%8B