|
Новая плата на AT91RM9200, Вопросы по IDE |
|
|
|
Nov 5 2006, 14:37
|
Знающий
   
Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559

|
Цитата ИМХО, на PIO в любом случае получится тормоз. Насколько сильный тормоз? Хоть приблизительно? Цитата Единственный нормальный способ - поставить внешний контроллер с поддержкой DMA, но для AT91RM9200 он не подойдет Может стоить поискать другой процессор, с поддержкой IDE ?
|
|
|
|
|
Nov 5 2006, 15:15
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(COMA @ Nov 5 2006, 17:37)  Насколько сильный тормоз? Хоть приблизительно? Тут следует учитывать два вида торможения: - Собственно режима PIO IDE. Тут все не так уж и плохо: для режима PIO4 максимальная пропускная способность интерфейса составит 16.6 МБайт/с. - Общее торможение системы. Практически все ресурсы процессора уйдут на дрыганье ногами GPIO через достаточно медленную APB. Думаю, в конечном итоге может получиться скорость порядка 2-4 МБайт/с. Цитата(COMA @ Nov 5 2006, 17:37)  Может стоить поискать другой процессор, с поддержкой IDE ? Можно. Например, горячо любимые мною циррусы EP9312 и EP9315. У них есть IDE с поддержкой UDMA.
|
|
|
|
|
Nov 5 2006, 15:34
|
Знающий
   
Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559

|
Цитата Тут следует учитывать два вида торможения: - Собственно режима PIO IDE. Тут все не так уж и плохо: для режима PIO4 максимальная пропускная способность интерфейса составит 16.6 МБайт/с. - Общее торможение системы. Практически все ресурсы процессора уйдут на дрыганье ногами GPIO через достаточно медленную APB.
Думаю, в конечном итоге может получиться скорость порядка 2-4 МБайт/с. Не подходит  Цитата EP9312 и EP9315 352 PBGA Может что нибудь не из ARMов? Только не BGA.
|
|
|
|
|
Nov 5 2006, 17:07
|
Знающий
   
Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559

|
Цитата А какие существуют требования к скорости, и, главное, что Вы собираетесь делать с этими данными? Какая-нибудь обработка планируется? Пока еще не знаю, но не хочиться систему грузить только IDE шиной. Ну скажем, чтобы можно было читать аудипоток-mp3 с CD/DVD/HDD (музыку послушать). Ну и чтобы свободных ресурсов немножко оставалось  Цитата Ну, BGA у них "начального уровня" - целых 1.27мм между шарами. Ну это если уже есть пример трассировки то можно и на нем попробовать. На сколько слоев можно спроектировать плату?
|
|
|
|
|
Nov 5 2006, 17:30
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(COMA @ Nov 5 2006, 20:07)  Пока еще не знаю, но не хочиться систему грузить только IDE шиной. Ну скажем, чтобы можно было читать аудипоток-mp3 с CD/DVD/HDD (музыку послушать). Ну и чтобы свободных ресурсов немножко оставалось  Для прослушивания mp3 хратит и 100 кБайт/с. Цитата(COMA @ Nov 5 2006, 20:07)  На сколько слоев можно спроектировать плату? На 4 без проблем укладывается. У меня проводники/зазоры 6 mils, минимальный диаметр сверла 12 mils. Но можно сделать и с худшими нормами.
|
|
|
|
|
Nov 5 2006, 18:40
|
Знающий
   
Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559

|
Цитата На 4 без проблем укладывается. У меня проводники/зазоры 6 mils, минимальный диаметр сверла 12 mils. Но можно сделать и с худшими нормами. отлично. А посмотреть фотку платы или трассровку как нибудь возможно?
|
|
|
|
|
Nov 7 2006, 10:58
|
Группа: Новичок
Сообщений: 6
Регистрация: 1-11-05
Пользователь №: 10 377

|
А сколько стоило спаять первый макет.
|
|
|
|
|
Nov 8 2006, 11:05
|

Частый гость
 
Группа: Свой
Сообщений: 144
Регистрация: 5-08-05
Пользователь №: 7 382

|
А зачем собственно IDE мутить да на PIO ? Ведь USB OHCI в наличии ? как минимум не заморачиваясь особыми сложностями, достаточна реализвация OHCI и MassStorage. Ведь в любом слоучай файловый доступ писать . Кстати реализация USB Host + MassStorge займёт ,при наличии головы , месяц. а это лог подключения мультимедийной клавы с встроенным концентратором к рм9200 Код -I- USB STACK TEST Build Nov 6 2006 18:09:14 -I- CPU 199987 KHz -I- PCK 99993 KHz -I- PLLB 95993 KHz -I- 7/11/06 21:48:06 OHCI Revision 1.0 (10) OHCI controller state control: 0x000000bf HCFS=operational BLE CLE IE PLE CBSR=3 cmdstatus: 0x00000000 SOC=0 UHP_HcInterruptStatus: 0x00000020 FNO UHP_HcInterruptEnable: 0x80000057 MIE RHSC UE SF WDH SO UHP_HcInterruptDisable: 0x80000057 MIE RHSC UE SF WDH SO hcca frame #ADFD -I Installed HID driver -I Installed Generic Hub driver -D- UI > -I- Port 0. Fast device attached -D- Assign DeviceNum = 1 -D- Reset port complite -I- Setup address 1 -D- Added Pure device -I- USBDevice::Attached -I- malloc IF 200711cc, numif 1 -I- New device strings: Mfr=1, Product=2, SerialNumber=0 Length = 18 DescriptorType = 01 USB version = 1.10 Vendor:Product = 099a:800b MaxPacketSize0 = 8 NumConfigurations = 1 Device version = 1.02 Device Class:SubClass:Protocol = 09:01:00 Hub device class Configuration: bLength = 9 bDescriptorType = 02 wTotalLength = 0019 bNumInterfaces = 01 bConfigurationValue = 01 iConfiguration = 00 bmAttributes = a0 MaxPower = 98mA
Interface: 0 Alternate Setting: 0 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 00 bAlternateSetting = 00 bNumEndpoints = 01 bInterface Class:SubClass:Protocol = 09:01:00 iInterface = 00 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 81 (in) bmAttributes = 03 (Interrupt) wMaxPacketSize = 0001 bInterval = ff -I- USBBus::FindDrivers -I- USB hub found -I- Hub 3 ports detected -I- HUB Ganged power switching -I- HUB Standalone hub -I- HUB Global over-current protection -I- Power on to power good time: 98ms -I- Hub controller current requirement: 8mA -I- port 1 is removable -I- port 2 is removable -I- port 3 is not removable -I- HUB Local power source is good -I- HUB no over-current condition exists -I- Enabling power on all ports -I- Generic Hub driver claimed interface 200711cc -I- OK -I- HUB port 3 connection change -I- Portstatus 101, change 1, 12 Mb/s -I- portstatus 103, change 10, 12 Mb/s -D- Assign DeviceNum = 2 -I- Setup address 2 -D- Added Pure device -I- USBDevice::Attached -I- malloc IF 200713b4, numif 2 -I- Skipped 1 class/vendor specific interface descriptors -I- Skipped 1 class/vendor specific interface descriptors -I- New device strings: Mfr=1, Product=2, SerialNumber=0 Length = 18 DescriptorType = 01 USB version = 1.10 Vendor:Product = 099a:610a MaxPacketSize0 = 8 NumConfigurations = 1 Device version = 0.01 Device Class:SubClass:Protocol = 00:00:00 Per-interface classes Configuration: bLength = 9 bDescriptorType = 02 wTotalLength = 003b bNumInterfaces = 02 bConfigurationValue = 01 iConfiguration = 04 bmAttributes = a0 MaxPower = 0mA
Interface: 0 Alternate Setting: 0 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 00 bAlternateSetting = 00 bNumEndpoints = 01 bInterface Class:SubClass:Protocol = 03:01:01 iInterface = 00 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 81 (in) bmAttributes = 03 (Interrupt) wMaxPacketSize = 0008 bInterval = 0a
Interface: 1 Alternate Setting: 0 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 01 bAlternateSetting = 00 bNumEndpoints = 01 bInterface Class:SubClass:Protocol = 03:01:02 iInterface = 00 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 82 (in) bmAttributes = 03 (Interrupt) wMaxPacketSize = 0004 bInterval = 0a -I- USBBus::FindDrivers -D- HID probe called for ifnum 0 -I- USB device number 2 default language ID 0x409 -D- HID Multimedia Hub Keyboard Application(GenericDesktop.Keyboard) INPUT[INPUT] Field(0) Usage(8) Keyboard.00e0 Keyboard.00e1 Keyboard.00e2 Keyboard.00e3 Keyboard.00e4 Keyboard.00e5 Keyboard.00e6 Keyboard.00e7 Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(8) Report Offset(0) Flags( Variable Absolute ) Field(1) Usage(256) Keyboard.0000 Keyboard.0001 Keyboard.0002 Keyboard.0003 Keyboard.0004 Keyboard.0005 Keyboard.0006 Keyboard.0007 Keyboard.0008 Keyboard.0009 Keyboard.000a Keyboard.000b Keyboard.000c Keyboard.000d Keyboard.000e Keyboard.000f Keyboard.0010 Keyboard.0011 Keyboard.0012 Keyboard.0013 Keyboard.0014 Keyboard.0015 Keyboard.0016 Keyboard.0017 Keyboard.0018 Keyboard.0019 Keyboard.001a Keyboard.001b Keyboard.001c Keyboard.001d Keyboard.001e Keyboard.001f Keyboard.0020 Keyboard.0021 Keyboard.0022 Keyboard.0023 Keyboard.0024 Keyboard.0025 Keyboard.0026 Keyboard.0027 Keyboard.0028 Keyboard.0029 Keyboard.002a Keyboard.002b Keyboard.002c Keyboard.002d Keyboard.002e Keyboard.002f Keyboard.0030 Keyboard.0031 Keyboard.0032 Keyboard.0033 Keyboard.0034 Keyboard.0035 Keyboard.0036 Keyboard.0037 Keyboard.0038 Keyboard.0039 Keyboard.003a Keyboard.003b Keyboard.003c Keyboard.003d Keyboard.003e Keyboard.003f Keyboard.0040 Keyboard.0041 Keyboard.0042 Keyboard.0043 Keyboard.0044 Keyboard.0045 Keyboard.0046 Keyboard.0047 Keyboard.0048 Keyboard.0049 Keyboard.004a Keyboard.004b Keyboard.004c Keyboard.004d Keyboard.004e Keyboard.004f Keyboard.0050 Keyboard.0051 Keyboard.0052 Keyboard.0053 Keyboard.0054 Keyboard.0055 Keyboard.0056 Keyboard.0057 Keyboard.0058 Keyboard.0059 Keyboard.005a Keyboard.005b Keyboard.005c Keyboard.005d Keyboard.005e Keyboard.005f Keyboard.0060 Keyboard.0061 Keyboard.0062 Keyboard.0063 Keyboard.0064 Keyboard.0065 Keyboard.0066 Keyboard.0067 Keyboard.0068 Keyboard.0069 Keyboard.006a Keyboard.006b Keyboard.006c Keyboard.006d Keyboard.006e Keyboard.006f Keyboard.0070 Keyboard.0071 Keyboard.0072 Keyboard.0073 Keyboard.0074 Keyboard.0075 Keyboard.0076 Keyboard.0077 Keyboard.0078 Keyboard.0079 Keyboard.007a Keyboard.007b Keyboard.007c Keyboard.007d Keyboard.007e Keyboard.007f Keyboard.0080 Keyboard.0081 Keyboard.0082 Keyboard.0083 Keyboard.0084 Keyboard.0085 Keyboard.0086 Keyboard.0087 Keyboard.0088 Keyboard.0089 Keyboard.008a Keyboard.008b Keyboard.008c Keyboard.008d Keyboard.008e Keyboard.008f Keyboard.0090 Keyboard.0091 Keyboard.0092 Keyboard.0093 Keyboard.0094 Keyboard.0095 Keyboard.0096 Keyboard.0097 Keyboard.0098 Keyboard.0099 Keyboard.009a Keyboard.009b Keyboard.009c Keyboard.009d Keyboard.009e Keyboard.009f Keyboard.00a0 Keyboard.00a1 Keyboard.00a2 Keyboard.00a3 Keyboard.00a4 Keyboard.00a5 Keyboard.00a6 Keyboard.00a7 Keyboard.00a8 Keyboard.00a9 Keyboard.00aa Keyboard.00ab Keyboard.00ac Keyboard.00ad Keyboard.00ae Keyboard.00af Keyboard.00b0 Keyboard.00b1 Keyboard.00b2 Keyboard.00b3 Keyboard.00b4 Keyboard.00b5 Keyboard.00b6 Keyboard.00b7 Keyboard.00b8 Keyboard.00b9 Keyboard.00ba Keyboard.00bb Keyboard.00bc Keyboard.00bd Keyboard.00be Keyboard.00bf Keyboard.00c0 Keyboard.00c1 Keyboard.00c2 Keyboard.00c3 Keyboard.00c4 Keyboard.00c5 Keyboard.00c6 Keyboard.00c7 Keyboard.00c8 Keyboard.00c9 Keyboard.00ca Keyboard.00cb Keyboard.00cc Keyboard.00cd Keyboard.00ce Keyboard.00cf Keyboard.00d0 Keyboard.00d1 Keyboard.00d2 Keyboard.00d3 Keyboard.00d4 Keyboard.00d5 Keyboard.00d6 Keyboard.00d7 Keyboard.00d8 Keyboard.00d9 Keyboard.00da Keyboard.00db Keyboard.00dc Keyboard.00dd Keyboard.00de Keyboard.00df Keyboard.00e0 Keyboard.00e1 Keyboard.00e2 Keyboard.00e3 Keyboard.00e4 Keyboard.00e5 Keyboard.00e6 Keyboard.00e7 Keyboard.00e8 Keyboard.00e9 Keyboard.00ea Keyboard.00eb Keyboard.00ec Keyboard.00ed Keyboard.00ee Keyboard.00ef Keyboard.00f0 Keyboard.00f1 Keyboard.00f2 Keyboard.00f3 Keyboard.00f4 Keyboard.00f5 Keyboard.00f6 Keyboard.00f7 Keyboard.00f8 Keyboard.00f9 Keyboard.00fa Keyboard.00fb Keyboard.00fc Keyboard.00fd Keyboard.00fe Keyboard.00ff Logical Minimum(0) Logical Maximum(255) Report Size(8) Report Count(6) Report Offset(16) Flags( Array Absolute ) OUTPUT[OUTPUT] Field(0) Usage(3) LED.0001 LED.0002 LED.0003 Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(3) Report Offset(0) Flags( Variable Absolute ) -D- Getting report type 1 id 0 len 8 -D- hid_irq: report (size 8) (unnumbered) = 00 00 00 00 00 00 00 00 -I- input0: USB HID v1.00 Keyboard [ Multimedia Hub Keyboard ] -I- HID driver claimed interface 200713b4 -D- HID probe called for ifnum 1 -D- HID Multimedia Hub Keyboard Application(GenericDesktop.SystemControl) INPUT(1)[INPUT] Field(0) Usage(3) GenericDesktop.SystemPowerDown GenericDesktop.SystemSleep GenericDesktop.SystemWakeUp Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(3) Report Offset(0) Flags( Variable Absolute ) -D- Getting report type 1 id 1 len 1 -D- hid_irq: report (size 1) (numbered) = 01 -D- report 1 is too short, (0 < 1) -I- input0: USB HID v1.00 Device [ Multimedia Hub Keyboard ] -I- HID driver claimed interface 200713cc -I- OK
--------------------
Свет мой зеркальце, скажи, да всю правду расскажи я ль на свете всех тупее, бесполезней и пьянее? Ты - придурок. Спору нет! Но живет на белом свете вот ТАКИХ еще две трети!
|
|
|
|
|
Nov 8 2006, 11:50
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Ken@t @ Nov 8 2006, 14:05)  А зачем собственно IDE мутить да на PIO ? Ведь USB OHCI в наличии ? как минимум не заморачиваясь особыми сложностями, достаточна реализвация OHCI и MassStorage. Ведь в любом слоучай файловый доступ писать . Кстати реализация USB Host + MassStorge займёт ,при наличии головы , месяц. Во-первых, на плате уже стоит Линукс, так что с реализацией хоста и MassStorage заморачиваться не придется. Кстати, даже при наличии набитой знаниями и умениями головы, написание и отладка займет далеко не один месяц. Во-вторых, что мы получим в результате? А получим необходимость подключения моста USB->IDE и скорость около 900 Кбайт/с. По-моему, не вполне адекватная замена IDE. Цитата(Ken@t @ Nov 8 2006, 14:05)  а это лог подключения мультимедийной клавы с встроенным концентратором к рм9200
|
|
|
|
|
Nov 9 2006, 08:36
|

Частый гость
 
Группа: Свой
Сообщений: 90
Регистрация: 17-03-06
Пользователь №: 15 322

|
Рекомендую еще ссылки: http://www.fh-augsburg.de/~hhoegl/proj/comet/(особенно версия 1.04 - много чего прикрутили к AT91RM9200) Кстати, может кто-нить рассмотрит возможность подключения Audio/Video/PS2 for Keyboard? Т.е. неплохо было бы для Audio собрать необходимые сигналы на PLS(PLD) разъеме. Тоже самое и для Video аналогичное сотворить. Типа кому надо - сами доделали бы платки расширения...
|
|
|
|
|
Nov 9 2006, 08:43
|
Знающий
   
Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559

|
Я планировал разработать простую плату, 2-х слойку. Хотел вывести свободный порт на разъем, и подключить IDE устройство. Схема - взял за основу плату RainBow. Просто выкинул лишнее(мне не нужное). Трассировка PCB - тоже макимальна приближенна к оригиналу. Но теперь думаю вывести разъем Compact Flash и использовать для подключения IDE. Вот думаю, смогу ли я все это разместить на 2-х слойке? P.S. Вообще есть желание перейти на другой процессор, можно и не ARM. Требования простые: - взрослые интерфейсы - PCI, IDE. - желательно наличие сопроцессора - хорошая поддержка со стороны Linux, чтобы можно поставить нормальный взрослый дистр. - желательно не БГА Пока присматриваюсь к MPC5200, но отпугивает то, что БГА и "хорошая" цена. Есть вариант попробовать с MIPS. Но все это тема для отдельного разговора, и другой ветки форума
|
|
|
|
|
Nov 9 2006, 15:36
|

Частый гость
 
Группа: Свой
Сообщений: 90
Регистрация: 17-03-06
Пользователь №: 15 322

|
Цитата(COMA @ Nov 9 2006, 11:43)  Требования простые: - взрослые интерфейсы - PCI, IDE. - желательно наличие сопроцессора - хорошая поддержка со стороны Linux, чтобы можно поставить нормальный взрослый дистр. - желательно не БГА  Может на это посмотришь: http://www.zflinux.com/zfx86.htmlProcessor Core: * 32 bit "X86" CPU * 33-133 MHz operation * 8KB cache * Floating point unit * Supports SDRAM * Maximum 256MB memory space Expansion buses: * PCI host bridge controller, supports up to three external PCI masters * Full ISA bus, including address, data, control, interrupts, and DMA channels Peripheral interfaces: * Two channel UltraDMA IDE controller * Two USB ports (OHCI compliant) * Floppy disk controller * Two serial ports * IRdA port on one serial port * IEEE-1284 parallel port * AT keyboard and PS/2 mouse ports * Access Bus interface, with SM Bus and I2C Правда такой же БГА..
|
|
|
|
|
Nov 9 2006, 16:10
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 23-04-06
Пользователь №: 16 404

|
Цитата(ssps @ Nov 9 2006, 18:36)  Processor Core: * 32 bit "X86" CPU * 33-133 MHz operation ... Правда такой же БГА..  Ну если в эту сторону курить то можно и RDC8610 рассмтотреть http://www.rdc.com.tw/eng/product_more.asp?pid=63The R8610 is a high performance and fully static 32-bit RISC microcontroller with the compatibility of Windows based, Linux and most popular 32-bit RTOS. It also integrates 16KB write direct map L1 cache, PCI rev. 2.1 32-bit bus interface at 33 MHz, SDRAM/ROM/memory controller, IPC (Internal Peripheral Controllers with DMA and interrupt timer/counter included), Fast Ethernet MAC, FIFO UART, 10/100M MAC and USB2.0 Host within a single 216-pin LQFP package to form a system-on-a-chip (SOC). It provides an ideal solution for the embedded system and communications products (such as thin client, NAT router, home gateway, access point and tablet PC) to bring about desired performance. есть всё кроме IDE и в LQFP216 ( правда шаг 0.4 но не БГА) А IDE можно и внешней микросхемой будет дёшево и сердито. PS: А помоему не для BGA на полноценный контроллер памяти + PCI + IDE банально ног не хватит
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|