Перейти к содержанию
    

Сделал контроллер занимающийся сбором информации

Есть необходимость скидывания информации на FlashDisk (с поддержкой Plug&Play) в виде файлов и папок, что бы потом слить эти файлы и папки на PC.

Ядро на котором сделан контроллер не имеет USB, посоветовали использовать

микруху ISP1362

В USB и Fat16, Fat32, Plug&Play, не шарю, помогите плиз кто что знает.

Наработки, исходники, советы и ссылки на интересующую меня информацию всё приветствуется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да это будет сложновато. Суть конечно проста. Необходимо определится с протоколом по которому будете работать. Я когда год назад это делал ничего толкового не нашел. Есть протокол работы USB дисковода еще какие-то но про flash я ничего не нашел. Вроде ка у CYPRESS есть исходники такого устройства. Я например взял flash и просто просканировал всю ее структуру команд, после чего реализовал на своем контроллере. (Кстати есть вопрос про philips'овский контроллер я его сегодня заказываю, как он вообще работает если вы с ним работали). По сути я исходников дать не могу, так как эти устройства мы продаем, но подсказать чего конкретное можно без проблем.

На счет FAT лучше брать 16 - это проще (вот ссылка на один из вариантов описания, я сам не каких документов не скачивал просто скопировал первые 512 байт после форматирования в Windows со своей флеш, а далее методом проб и ошибок сделал таблицы и простую файловую систему http://home.teleport.com/~brainy/fat16.htm). Plug&Play windows сам разберется (как впрочем и Linux, даже под DOS будет подключатся без проблем, если конечно же дрова есть).

P.S. Вроде я тут по словам в форуме встречал людей, которые - это делали. С миру по нитке может и поможем поднять устройство. Могу сказать так, незная ничего об этом протоколе я запустил его за 3 дня, а полностью работающее устройство получил за 2 недели. (Кстати я работаю над такими заказми давольно часто, так что если есть интерес это можно обсудить).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С philips-ом я не работал, просто посоветовали т.к. он поддерживает On-The-Go.

Plug&Play должен быть реализован в моём контроллере для определения FlashDisk-а, как сделать не знаю, может кто подскажет.

У меня есть подозрения что для различных FlashDisk-ов (PenDrive) нужно писать свои разные дрова поддержки так ли это подскажите?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это не так елси работаете с ОС поддерживающей PnP. Дрова в Windows поддерживают практически все варианты Mass Storage Device (MSD) именно по этому протокулу вам и надо работать. На счет OTG зачем он в системе сбора информации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мой контроллер является самостоятельным устройством не подключенным к PC или системе АСУТП. FlashDisk будет являться средством переноса накопленной информации на PC. Поэтому контроллер должен независимо от PC поддерживать работу с FlashDisk-ом, записывать на него инфу в виде файлов и папок, что б потом на PC можно было с ними работать. Для реализации этой функции как мне объяснили и надо OTG.

Может я и заблуждаюсь, тогда объясните мне плиз к чему стремиться для реализации это фенкции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я просто не очень понял изначально задачу. Похоже, что вы хотите подключить обычную USB-флеш для закачки на нее информации. Возможен вариант, что у вас уже есть память на устройстве и ее просто по USB надо слить на PC - это другой разговор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот именно я хочу подключить обычную Флэш-usb к своему контроллеру и с соблюдением "правил" её файловой системы слить на неё инфу в виде файлов, с возможностью создания папок... полноценная работа с диском. Что б потом воткнув её в PC работать нормальными файлами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто чем может помогите.

Наработки, исходники, ссылки на интересующую меня инфу, всё приветствуется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Идея ясна. Действительно OTG - это то, что вам надо. Я точно не в курсе чего там с ISP1362 работать начну с ним только недели через две но по Pdf вроде все не плохо. Для того, чтобы работать с флэш дисками вам придется реализовать два основных протокола общения: 1 - с применением Interrupt линии; 2 - Bulk режим. Как точно они там называются я не помню. Но точно знаю, что 1 более не рекомендован для использования. Хотя отмечу, что на нем дофига флешей сделано. Рекомендую, так как это ваше устройство, использовать флэш типа Pen Drive (как вы это отметили), она работает по одной Bulk линии и по ней передает команды и данные.

Для начала вам придется написать драйвер для USB контроллера. Если с этим проблем не возникнет, далее написать или где-то скачть UHCI или OHCI контроллер (имеется ввиду программу), повидимому убрав из него операцинно зависимый код (хотя если у вас на "вычислителе" ОС стоит, то для нее возможно все уже есть) вы сможете получить управление вашим USB каналом. Далее надо где - то надыбать протокол общения с флеш устройством. И по управлять им (например, угробить его файловую систему или, что-то в этом роде). Вам обязательно потребуется уметь работать с FAT16 и FAT32 - это не очень сложно программы в инете я где-то видел. Основное действие - это определить размер диска, прочитать файловую систему, создать новый файл (папку) и закачть данные (это самое простое действие). --Извеняюсь за ошибки постоянно отвлекают--

Незнаю насколько принципиально использовать любую флеш, я бы посаветовал использовать флеш уже с готовой файловой ситемой и просто лить по определенным адресам информацию (если конечно это возможно).

Кстати похоже для реализации вашей задачи можно использовать просто хост контроллер типа SL811HS. Он позволит управлять флешью без проблем и ног у него поменьше, да кстати и проги под него есть все - это точно сам недавно с ним работал. Просто OTG нужен для задач где устройство иногда становится перефирией, а в вашем случае вроде это не так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Осмелюсь предложить альтернативный вариант, который сам использую сейчас. В моем устройстве необходимо иметь съемный флэшь-носитель и обеспечить совместимость по файловой системе с РС. Я взял CompactFLASH + файловую систему от LLC (FAT12/16). Есть исходники указанной файловой системы на нашем FTP.

В чем преимущество?

1. Интерфейс CompactFLASH и с программной и с аппаратной точки зрения проще, чем USB.

2. Есть исходники файловой системы, которые можно включать в проект своего МК или портировать под него.

3. Нет необходимости реализовывать USB-Host :)

4. CompactFLASH дешевле USB-FLASH :biggrin:

 

P.S. Вместо CompactFLASh можно с успехом и теми же преимуществами взять MMC или SD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да это так, он дешевле и возможно проще, но присутсвие этого интерфейса во всех PC по умолчанию не наблюдается. Хотя есть переходники ... на USB к примеру.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый olefil, можно поподробней о работе с контроллер SL811HS

Как посредством данного контроллера работать с флэш?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Этот контроллер построен по спецификации OTG, а соответсвенно может быть как оконечным устроством, так и хостом. Программа для работы с контроллером существует (в плане драйвер ввода-вывода). Эта прога лежит на сайте cypress'а и работает вроде как полностью (я просто перепачил некоторые вещи, которые были не удовлетворительны с точки зрения моего девайса). Кароче после запуска тех текстов вы можете подконектить любое устройство и скачать его дескрипторы. Далее после того, как вы разобрались, что устройство подсоединенное к SL811HS - это флеш, вы можете работать с ней как с флешью по соответсвующему ей протоколу. Принципиально все! На счет схемы подключения у них там примеры в pdf есть, собирал ровно по ним все работает, проблем не было. Единственная проблем с SL811HS - это то, что он Iso линию только на 240 байт держит, а все остальное просто здорово, ну или близко к этому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По данной теме есть очень интересный контроллер ALi M5637 (M5636).

ALi's M5637 USB2.0 On-The-Go (OTG) IDE device controller provides a single-chip solution for USB 2.0-based IDE device application with On-The-Go capability. With built-in USB 2.0 PHY and OTG circuitry, M5637 also integrates an advanced host controller & peripheral controller with bi-directional ping-pong buffers for maximized USB2.0 throughput operation.

 

Other than the embedded general IDE controller with PIO, DMA and UDMA transfer protocol to support IDE based devices, as CD/DVD-ROM, CD/DVD-RW, Hard-Disk and Compact Flash (CF) devices, ALi M5637 also embeds a powerful 8-bit MCU engine to handle the operations among the USB host, peripheral, OTG and IDE controllers.

 

Augmented with built-in SRAM memory buffer and optional external DRAM support, M5637 provides excellent system design flexibility and yet cost-effective solution to enable feature differentiation for various state-of-the-art mobile applications, such as USB2.0-to-IDE Bridge or mobile rack applications with capabilities of data copy, exchange, information sharing, or even CD/DVD playback and record support, etc.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...