Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ARM7 (LPC17xx)+HDD
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Allregia
Если такое уже было - плиз тките ссылку.

Волею судьбы и непосредственного начальства, перешел ко мне проект ушедшего коллеги. Есть уже в общем, готовый девайс, даталоггер, на LPC1764, который в одном случае вводит сигнал с АЦП и пишет его на SD, в другом наоборот - воспроизводит ее с SD через свой ЦАП. 10 бит пока достаточно.
В новое версии, коей мне придется заниматься, но (в смысле начальство) как обычно "желаю чтобы всё".
Ну а конктерно пока 3 вещи:
1) замену SD на USB-флешку
2) Ethernet (оно где-то услышало слова "вебсервер и SNMP)
3) замену SD на HDD.

Проц, если надо (100% надо), будет заменен на другой, но из того же семейства 17хх.

И если первые два пункта я хотя бы в общих чертах представляю как делать (а в конкретных - буду задалбливать уважаемое общество своими дурацкими вопросами, но позже), то третий - я с полной непонятке.
Переход на другой проц, за пределами этого семейства (LPC17xx) оно не разрешает. (Причины мне неизвестны.)
Винты на сегоднешний день существуют (по интерфейсам) - SATA, PATA, (IDE) и USB.

USB-винт пока не рассматриваются, поскольку как я понимаю, это частный случай п.1
Собственно, тема с HDD возникла в первую очередь из-за возросших требований с обьему данных, пока хватало накопителя до 4гб, использовали SD, теперь речь идет как минимум от нескольких сотнях гигабайт.
Плюс - несколько возрастают требования к скорости потока данных, предыдущий разработочик на SD не достиг новых требований.
USB получается очень "на грани", но скорее всего тоже не успеет.

Реализовать SATA на LPC17xx мне возможным не представляется (если неправ - переубедите).
PATA (IDE) - обычная параллельная шина, но поскольку в LPC17xx нет ни одного порта, в котором можно использовать биты 0-15 непрерывно, как шину данных, то придется работать через 8-битную шину, добавит пару внешних регистров.

Теперь собственно, вопросы:

1) буду раз услышать другой вариант, кроме как мултиплексированная 8/16 параллельная шина и эмуляция IDE.
SATA-винт предполагается подключать через переходник IDE-SATA.

2) какой реальной скорости записи и чтения потока даных, можно ожидать в этом варианте?
На сегоднешний день, задача в получении не более 2-3 мбайт/сек. Возможно ли это?

3) по программированию - может кто знает похожие реализации подключения IDE к микроконтроллеру? Интересуют команды т подпрограммы самого нижнего уровня.

4) NTFS нахалаву нет, так что FAT32, но как отформатировать 300-500 гю винт ? Винда не дает.

5) буду рад любой помощи.
aaarrr
Цитата(Allregia @ Aug 28 2010, 15:52) *
1) буду раз услышать другой вариант, кроме как мултиплексированная 8/16 параллельная шина и эмуляция IDE.
SATA-винт предполагается подключать через переходник IDE-SATA.

High Speed USB и соответствующий переходник. ИМХО, это лучше софтовой эмуляции PATA.

Цитата(Allregia @ Aug 28 2010, 15:52) *
2) какой реальной скорости записи и чтения потока даных, можно ожидать в этом варианте?
На сегоднешний день, задача в получении не более 2-3 мбайт/сек. Возможно ли это?

Возможно.

Цитата(Allregia @ Aug 28 2010, 15:52) *
4) NTFS нахалаву нет, так что FAT32, но как отформатировать 300-500 гю винт ? Винда не дает.

Отформатировать не виндой. Хоть бы и самим устройством можно.
igorsk
LPC17 это совсем не ARM7, если что smile.gif
Allregia
Цитата(aaarrr @ Aug 29 2010, 00:24) *
High Speed USB и соответствующий переходник. ИМХО, это лучше софтовой эмуляции PATA.


Лучше, но в LPC176х нет High Speed USB, есть только Full Speed, потому собственно, и возникла вся эта тема...

Цитата
LPC17 это совсем не ARM7, если что


Cortex M3, но в данном случае это неважно.
Dron_Gus
Для нормально работы PATA винта нужен контроллер с паралельной шиной 16 бит. Для примера AT91RM9200, AT91SAM9260 и тому подобные. LPC17** разве что ногодрыгством. Из кортексов могу порекомендовать STM32.
dimka76
Цитата(Allregia @ Aug 28 2010, 15:52) *
3) по программированию - может кто знает похожие реализации подключения IDE к микроконтроллеру? Интересуют команды т подпрограммы самого нижнего уровня.


http://elm-chan.org/fsw/ff/00index_e.html

Там были примеры для работы с винчестером
Allregia
Цитата(dimka76 @ Aug 30 2010, 11:57) *
http://elm-chan.org/fsw/ff/00index_e.html

Там были примеры для работы с винчестером


Спасибо, эту ссылку я знаю. Может есть еще какие?

P.S. Напомните плиз про ограничения, я помню что ФАТ32 ограничено размером файла (4гб), а что с размером диска?
Там, если мне память не изменяет, по LBA были какие-то ограничения. Я кое-что нашел в инете, но там рассматривают в основном ограничения. связанные с Int13 биоса и с виндой.
VslavX
Цитата(Allregia @ Aug 30 2010, 18:06) *
P.S. Напомните плиз про ограничения, я помню что ФАТ32 ограничено размером файла (4гб), а что с размером диска?
Там, если мне память не изменяет, по LBA были какие-то ограничения. Я кое-что нашел в инете, но там рассматривают в основном ограничения. связанные с Int13

Если ограничения собственно по самому ATA, то LBA48 поддержать обязательно, если хотите с современными винтами работать. Там несложно - описание в стандарте один небольшой подраздел занимает. Грубо говоря, в регистры номера сектора и дорожки теперь следует записывать не один байт, а два последовательно - и все значения стали 16-рарядными, таким образом расширяя адресацию секторов.
Allregia
Цитата(VslavX @ Aug 30 2010, 20:27) *
Там несложно - описание в стандарте один небольшой подраздел занимает. Грубо говоря, в регистры номера сектора и дорожки теперь следует записывать не один байт, а два последовательно - и все значения стали 16-рарядными, таким образом расширяя адресацию секторов.


Более-менее понятно, попробую еще погуглить, но на всякий случай -в ссылочку не ткнете? Пока я натыкаюсь на описание борьбы в этим в вин9х.

Поправьте если я ошибаюсь:
В старом варианте, LBA -28 bit, поэтому макс. размер диска при 512б секторе = 137438952960 =~127Gb (если считать что "гб"=1024*1024*1024) или 136гб если по 1000.
При LBA48 - предел уже 131071 терабайт.
В FatFS написано что
Volume size: Depends on FAT specs. (upto 2T bytes on 512 bytes/sector)
LBA там DWORD, получается 2^32*512=2047Gb,
в самом деле.

Для данной аппликации 2Т мне с головой хватит.


Altemir
Мндаааа.... Начальство же у вас... У нас был девайс, пишущий кучу звуковых потоков из E1 на винт PATA, так там стояли LPC2214 и матрица. Сейчас потребовалось значительно увеличить кол-во потоков и перейти на винт SATA. Не стали париться, выбрали OMAP L138
ukpyr
Цитата
1) замену SD на USB-флешку
для этого нужен USB host, нет ? где он у LPC17xx ?
наверно лучшее решение - переход на какой-нибудь ARM9/AVR32, установка Linux-a, там будет и USB host, и ф.с.на любой вкус.
MrYuran
Цитата(ukpyr @ Sep 1 2010, 09:54) *
для этого нужен USB host, нет ? где он у LPC17xx ?

Зря вы так, там USB OTG
Dir
Цитата(Dron_Gus @ Aug 30 2010, 09:57) *
Для нормально работы PATA винта нужен контроллер с паралельной шиной 16 бит. Для примера AT91RM9200, AT91SAM9260 и тому подобные. LPC17** разве что ногодрыгством. Из кортексов могу порекомендовать STM32.


Драфт DS на LPC17 с параллельной шиной дает надежду, что не все так мрачно

http://ics.nxp.com/products/lpc1000/datash...77x.lpc178x.pdf
Allregia
Цитата(ukpyr @ Sep 1 2010, 08:54) *
для этого нужен USB host, нет ? где он у LPC17xx ?


LPC1765,66,68,69
Цитата
наверно лучшее решение - переход на какой-нибудь ARM9/AVR32


Да, но как я говорил выше - этого сделать нельзя.
zltigo
QUOTE (Dir @ Sep 1 2010, 09:38) *
Драфт DS на LPC17 с параллельной шиной дает надежду, что не все так мрачно

До образцов-бы в течении, ну хотя-бы 2x месяцев добраться sad.gif. А то пока именно LPC2378 и LPC2468 по прежнему закладываются.
VslavX
Цитата(Allregia @ Aug 30 2010, 22:39) *
Более-менее понятно, попробую еще погуглить, но на всякий случай -в ссылочку не ткнете? Пока я натыкаюсь на описание борьбы в этим в вин9х.

Собственно спецификацию ATA-6 смотрите - в закромах должна быть.
Allregia
Цитата(VslavX @ Sep 1 2010, 12:51) *
Собственно спецификацию ATA-6 смотрите - в закромах должна быть.


Уже все нашел, всем спасибо.
Konst_777
Цитата(Allregia @ Aug 28 2010, 14:52) *
...
Ну а конктерно пока 3 вещи:
1) замену SD на USB-флешку
2) Ethernet (оно где-то услышало слова "вебсервер и SNMP)
3) замену SD на HDD.
...

Если будет Ethernet, то не лучше ли, подключится через Ethernet к внешнему NAS или медиаплееру?
VslavX
Цитата(Konst_777 @ Sep 1 2010, 19:48) *
Если будет Ethernet, то не лучше ли, подключится через Ethernet к внешнему NAS или медиаплееру?

Угу, и реализовать SAMBA или iSCSI smile.gif.
Хотя, FTP вполне реальный вариант.
Allregia
Цитата(Konst_777 @ Sep 1 2010, 19:48) *
Если будет Ethernet, то не лучше ли, подключится через Ethernet к внешнему NAS или медиаплееру?


Нет, эзернет не во все время работы подключен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.