Jump to content

    

Odiemus

Участник
  • Content Count

    40
  • Joined

  • Last visited

Everything posted by Odiemus


  1. Требуется разработать собрать и предоставить реально работающий собранный физически образец прототипа устройства, не абстрактную модель. Устройство предполагается построить по принципу "прокладки": с одной стороны (лицевой) на шлейфе имеет 50-pin CF-разъём и при подключении выглядит как обычная CompactFlash-карта, работающая в любом из трёх режимов (которые упомянуты в документации CF-карт), с другой стороны подключен накопитель (жёсткий диск (sata/pata любой)), на который пишутся-читаются записываемые-читаемые через CF-интерфейс данные. В каком формате данные будут храниться на самом накопителе роли никакой особой не играет, главное чтобы скорость передачи не проседала сильно, т.е., если накопитель допускает 150мб/сек запись, то со стороны CF скорость должна составлять хотя бы 90% от скорости накопителя. Прочитать записанные данные мы потом сможем подключив наше устройство к обычной читалке CF-карт. Объёмы подключаемых (и эмулируемых) накопителей в районе от 100Гб до 4Тб, размер накопителя опрелеляется при старте устройства. Энергопотребление самого устройства в районе нескольких ватт. Критичным для устройства является чрезвычайно корректная реализация CF-интерфейса. От CF-хоста питание потребляться не должно, питание устройства и накопителя будет собственное (аккумуляторное). Пользовательский интерфейс представляет из себя разъёмы CF, IDE (SATA или PATA), +12V питание и тумблер Вкл-Выкл. Работающий образец может быть выполнен как угодно, в рамках разумного, хоть франкенштейн на макетке лежащей в картонной коробке от обуви, но чтоб суммарно все компоненты устройства занимали примерный объём, скажем, пары телефонов iPhone5 сложенных стопкой, работало по нажатию тумблера Вкл. Реализовывать на плис или чём-то еще это на усмотрение проектировщика. Cколько эт может затянуть по срокам, по финансам? Какова стоимость первого физического прототипа? Я сам нахожусь в москве. Где находятся разработчики мне, по большому счёту, всёравно, мне главное получить работающее устройство, с полной схемой, BOM, исходниками прошивки, скомпилированной прошивкой. Для вопросов и связи пишите здесь или в личку, далее свяжемся по тлф. После появления работающего образца далее уже будут вопросы оптимизации по материалам, размерам, изготовление pcb etc.
  2. Цитата(novikovfb @ Nov 26 2017, 19:54) доводилось купить эмулятор 3,5" флопиков через USB Flash, т.е. к компу (древний встроенный комп в формфакторе PC104) через интерфейс гибких дисков подключена флешка. На эмуляторе даже сделали возможность создания до 99 образов дискет на одной флешке и переключение между этими образами с помощью кнопок. Так что - ничего особенного, просто редкая задача. С подобными флоппиками всё гладко поскольку там допотопный MFM-интерфейс. Это всё для компов! Компы работают в IDE, который через переходники проходит туда-обратно без проблем. Мой хост карту и в хвост и в гриву имеет через mmio, как я понимаю, это в ide не преобразуешь. поэтому и возникла проблема.
  3. Цитата(_pv @ Nov 25 2017, 11:42) а генерирующее устройство - чужой закрытый черный ящик из которого только один CF наружу торчит и надо непременно им прикидываются или доступны ещё какие-нибудь другие интерфейсы? генератор данных именно "черный ящик" на который повлиять невозможно и из выходов есть только на CF-карточку, которую он понимает.
  4. Цитата(x736C @ Nov 24 2017, 10:21) Я погорячился. SATA 1 — это до 150 Мбайт/с. Такие объемы через гигабитный линк не пролезут. Надо понимать, сколько данных в секунду генерирует ваша установка. непрерывный поток на запись порядка 60-70 мб/сек. Чтобы CF-карты могли писать такое без запинок им приходится делать "предпрогрев" allocate'ом большого файла с уже последующей записью внутрь файла самих данных.
  5. Цитата(x736C @ Nov 23 2017, 17:56) Как вам вариант с выгрузкой данных по гигабитному проводному ethernet? Я так понимаю, у вас в основном односторонний поток данных на карту. такое очень даже прокатит, если будет работать то были идеи и попробовать разнести оптическим линком CF от всего остального в пространстве, оптоволокно намного легче меди, намного эластичнее и расстояния допускает бОльшие. А есть переходник CF->Ethernet?
  6. Цитата(x736C @ Nov 23 2017, 14:44) В диапазоне от 100Гб до 4Тб кроме HDD/SSD трудно что-то представить. Вас бы устроил более качественный адаптер CF-SD с нормальной скоростью и надежностью работы? Но даже при наличии 2-4 карт объем все равно будет ограничен и не дотянет до нескольких сотен гигабайт. 100 гиг это скорее на время отладки, а при эксплуатации чем больше, тем лучше, и 4 тера, и 12, сморя на какой хард у меня денег хватит. Вот по причине объёма sd и не устраивают. Для замены накопителя надо всю установку обесточивать, поэтому хочется накопитель пореже сменять, оптимально раз в сутки.
  7. Цитата(_pv @ Nov 23 2017, 12:46) так может просто SD без wifi? чтобы геморрой по поддержке разных форматов CF взял на себя CF->SD готовый адаптер. тем более что по wfif не обязательно в реальном времени все данные прокачивать, SD карта может быть просто буфером на сотню ГБ. я почитал отзывы об этом совсем недавно появившемся адаптере.... он от силы 10 мб/сек скорость даёт, и жутко ненадёжный. В общем его в топку!
  8. Народ, уже прочитавший тему и прочитающий, я сейчас поясню. Проблема не в том чтоб IDE интерфейснуть через CF, это я и сам могу спаять на рассыпухе за день. CompactFlash поддерживает два дополнительных режима работы, PC Card Memory Mode и PC Card I/O Mode, которые для неё являются основными, и эти режимы работы карты просто так рассыпухой или релюшками в IDE (PATA) не утаптываются. IDE режим, в котором CF в самоделках чаще всего использует, является лишь подмножеством первых двух. И таки есть устройства которым критична работа с картой именно в memory mode и i/o mode, например, фотокамеры. Если к подобным устройствам подрубить IDE то они не будут с ним работать. Отсюда ноги и растут у проблемы: Требуется именно реализовать полный и очень корректный интерфейс CompactFlash, со всеми его регистрами и сигналами, и уж далее, как хранилище, к нему пристроить что-то недорогое, простое и доступное. Вот по причине интерфейса CF я и упомянул плис... Я подозреваю, что на плисах сата1-сата2-сата3 уже чуть ли не в готовых библиотеках присутсвует, ибо распространено. Открытый вопрос: есть ли полная поддержка всего протокола CF, и соотв вопрос в том во что выльется реализация CF если её еще нет. Цитата(atman @ Nov 22 2017, 16:07) Все ваши переходники предназначены для того, чтобы CF карту превратить в винчестер IDE или SATA. Человеку же надо винчестер превратить в CF карту. ))) Мое имхо, что для IDE винчестера это вполне просто сделать, т.к. формат IDE и CF - практически одно и тоже. Т.е. простой переходник с некоторой логикой. Значительно сложнее это реализовать с винчестером SATA, да еще и без потери скорости. Широко известные конвертеры SATA <-> IDE китайского производства работают только в режиме SATA-1 (до 1.5Гб). Винты SATA2-3 с ними часто вообще не работают. Таким образом необходимо искать приличную микросхему-преобразователь из SATA в IDE с поддержкой протоколов UDMA-133 и SATA2-3 Если делать это на ПЛИС - у топик стартера глаза из орбит вылезут, когда он узнает стоимость микросхем ПЛИС с трансиверами на 6гб/с (что требуется для реализации интерфейса SATA-3). Вообще я мог бы взяться, но сумма проекта может быть для автора неинтересна. Для начала можно и на PATA сваять, UDMA6 до 133 мб/с поддерживает, если взлетит то тогда уже можно будет думать о sata. Если SATA, то и SATA3 не обязательно, даже SATA1 вполне хватит по производительности. Почему не прокатит просто "провода кинуть" - выше объяснил. Небольшие потери скорости допустимы, но стабильные и предсказуемые. Вместо HDD/SSD можно применить и любой другой накопитель, главное требование к накопителю - распространённость, чтобы можно было купить недорого на любой барахолке, скорость, надёжность хранения (не терять уже записанное при пропадании элетропитания, не умирать от вибрации). Сами CF-карты в принципе, всему удовлетворяют, кроме цены, ну и где-нить в деревенском магазине хард еще можно купить, а вот CF с большим объёмом и приличной скоростью - фиг. Франкенштейны из переходников CF-SD + SD-WiFi рассматривались, но, во-первых, работающее по отдельности не всегда гладко работает будучи собранным в комплекс, во-вторых, у вайфай непредсказуемые задержки, нестабильная и не оч большая скорость работы, особенно в городских условиях помех, эт основное, что отвращает по SD-WiFi, ну и питание там... нехилое получится, может сжирать больше чем CF. Я, как сетевой инженер, знаю что такое вайфай, он в данном приложении не прокатит абсолютно никак, прокатят исключительно проводные или оптические интерфейсы,но оптика не дешевая.... хотя..... И я не просто так попросил озвучить примерные сроки и стоимость, не забывайте анек: каждый бедный по-своему: кто-то бедный - хлеб неначто купить, а кто-то бедный - бриллианты мелковаты. Посему мне надо четко представлять во что этот проект может вылиться, соотв имеет смысл затеваться или нет.
  9. Цитата(Molotov @ Nov 22 2017, 10:36) Может готовый какой-нибудь переходник есть? У китайцев смотрели? Или в компьютерном магазине. Ищите в компьютерном магазине. Смотрел, везде смотрел, нету нигде ни у кого. Именно по этой причине и создал тему.
  10. Запуск rainbow 1.1

    Спаял я версию Rainbow 1.1 по мере сборки проверил питание - работает. запаял сетевой контроллер, запаял RJ45, запаял flash (AT45DB642D) и AT91RM9200. как рекомендовали, включил - на терминале побежали 'CCCCC' x-modem'а, типа работает. попробовал залить romboot.bin - вроде как залился, но после него на консоли тишина. было предположение что это потому что память еще не впаяна. Впял память. Ситуация не изменилась. Пробовал сам собрать romboot из исходников на heavy-online.ru и залить, пробовал залить уже готовый romboot.bin оттуда же, пробовал заливать который поставляется атмелом - изменений нет. Есть-ли какие рекомендации как узнать-проверить в каком месте у меня затык? MAX2323 пашет и проц работает (судя по тому что на терминал откликается), но дальше - молчок. может у проца какая-то часть вылетела при его монтаже?
  11. Цитата(THK @ Dec 27 2007, 15:07) Может память битая? У других вроде работает. ЗЫ. У меня получилось и для HY57V561620FTP-H и для HY57V561620BT-H SDRAMC Configuration Register = 0x2A913959 может и память.. а может и что-то другое.... память вполне может быть виновна так как была выпаяна из DIMM'ов но на моей плате так же почему-то не получается ничего прошить во flash, вылетает по ошибке. как раз flash новый ставился, купленный. u-boot даже не может его проверить - сразу exception вылазит. а так как пока нет возможности выпаять микросхемы неповредив ничего рядом я попробую собрать еще одну плату... посмотрю, там я уже поставлю память новую и flash пока только 1 чип повешу, чтоб в случ чего не загубить второй, дорогие они
  12. Цитата(THK @ Dec 14 2007, 11:24) Разве эти настройки не для Heavi с 16 мБ? В Bootloader с сайта Heavi-online это значение. У Вас, как Вы писали гдето на форуме, HY57V561620BT-H - 64 мБ? кстати, у меня стоит 2 штуки HY57V561620 - мне из неё удалось использовать только первые 16 метров попытки доступа выше оканчиваются крахом системы.
  13. Запустил таки rainbow v1.1., загрузил по сети Linux, смонтировал initrd и запустил с него busybox Flash 2 шт. at45db642d = суммарно 16 метров, чипы новые, куплены в магазине. память 2 шт. HY57V561620FTP-H = суммарно 64 метра, выпаяна из модуля DIMM методом электроплитки. кварц 18.432 MHz. Есть пара неясных моментов омрачающих жизнь: 1. RomBoot во Flash прописывает себя нормально, U-Boot он тоже прописывает нормально, из Flash потом они прекрасно друг друга грузят! Но как только я пытаюсь, следуя инструкциям с heavy-online, прошить и ядро во flash я вылетаю по -F- Data Abort detected. При этом когда я делаю Erase Dataflash то никаких ошибок не происходит. 2. Память работает!, но тоже странно. При указании в u-boot её объёма 16 метров всё работает нормально. Если же я указываю что у меня 32 метра, или (честно) 64 метра - тест памяти тоже практически сразу после начала вылетает по -F- Data Abort detected. Аналогично если я пытаюсь работать с Flash: КодU-Boot> fsinfo ### filesystem type is JFFS2 Scanning JFFS2 FS: \ -F- Data Abort detected вроде после первых непропаев памяти, после устранения которых все заработало, я сидел с увеличительным стеклом и проверял и пайку Flash, и пайку памяти, и пайку CPU. Как узнать что же это именно глючит?
  14. 1. если под tool-chain понимается компилятор + libc - пересобирать ничего не надо. если компилятор компилит а линкер линкует - значит все работает! 2. утилита mkimage собирается автоматом при сборке u-boot. 3. какой дистрибутив - абсолютно фиолетово! в который раз уже говорю! Цитата4. Если я хочу использовать ядро 2.6.21.1, то мне нужно http://www.kernel.org/pub/linux/kernel/v2.....6.20.1.tar.bz2 и на него наложить http://maxim.org.za/AT91RM9200/2.6/2.6.21-at91.patch.gz я правильно понимаю ? нет. неправильно. если берется самое последнее ядро с kernel.org то оно, как правило, уже содержит в себе все пачти от всяких maxim.org.za и иже с ними. патчи надо накладывать только если по какой-то причине это еще не вошло в ядро.
  15. Сидел ковырялся в romboot'е и, сдуру, закоментил (ifdef'ами) в коде инициализации SDRAM такой кусочек: Кодstatic void AT91F_InitSdram() {         int *pRegister; #if 0         //* Configure PIOC as peripheral (D16/D31)                 AT91F_PIO_CfgPeriph(                 AT91C_BASE_PIOC, // PIO controller base address                 0xFFFF0030,                 0         ); #endif                  //*Init SDRAM После прошивки такого ромбута плата перестала подавать всякие признаки жизни Как-то можно её резетнуть? как-то обнулить flash? как-то вообще узнать что с ней происходит? При включении питания она CCC X-Modem'а, как раньше, не выдаёт. Просто тишина на консоли. ни на DBGU, ни на последовательном порту (проверял перестановкой джамперов). Пробовал разные комбинации джамперов J2/J3/J13 - ноль реакции Что могло случиться? Проц умер? Память накрылась? Flash? что???
  16. непропаи или битое железо?

    Цитата(dch @ Jun 13 2007, 16:13) хорошая утилитка тестирования SDRAM, запускается из под Linux-а, хорошо бы найти отдельно стоящую версию. http://pyropus.ca/software/memtester/ Премного благодарен!!! Попробую!!
  17. Запуск rainbow 1.1

    ЦитатаКварц на 16, памяти 64 мегабайта (2 чипа HY57V561620CT-H). ---- Перепаял кварц на 18.432, после чего успешно стартанул u-boot от heavy: AT91F_LowLevelInit(): Debug channel initialized press any key to enter bootloader Load U-BOOT from dataflash[c0008000] to SDRAM[20f00000] Set PLLA to 180Mhz and Master clock to 45Mhz and start U-BOOTя U-Boot 1.1.1 (May 4 2006 - 11:47:26) U-Boot code: 20F00000 -> 20F1BC3C BSS: -> 20F20554 RAM Configuration: Bank #0: 20000000 32 MB Unknown flash manufacturer 0x00900090 Flash: 0 kB DataFlash:AT45DB642 Nb pages: 8192 Page Size: 1056 Size= 8650752 bytes Logical address: 0xC0000000 Area 0: C0000000 to C0007FFF (RO) Area 1: C0008000 to C001FFFF (RO) Area 2: C0020000 to C0027FFF Area 3: C0028000 to C083FFFF *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial eth: setting MAC address to 12:34:56:78:9a:bc PHY not connected!! Link: 100baseTX Full Duplex Hit any key to stop autoboot: 0 ## Booting image at 10020000 ... Bad Magic Number u-boot> ------------ Но меня смущает RAM Configuration: Bank #0: 20000000 32 MB Сколько памяти на плате прописывается в bootrom при компиляции. эту цифру он потом и выводит, можно хоть 512 метров прописать ЦитатаУ меня-то памяти 64 mtest тоже ругается: Testing 20000000 ... 21ede000: Iteration: 1 FAILURE (read/write) @ 0x20edddac: expected 0x003b776c, actual 0xffc48894) вот это похоже на непропаи ножек памяти! у меня примерно такое было с самодельным тестом памяти - пишем одно а читается совсем другое.
  18. запуск rtc DS1307

    Цитата(PrSt @ May 16 2007, 14:17) ознакомся с следующими топиками (в них мы рассматривали момент присеоединения ramdisk ) : http://electronix.ru/forum/index.php?showtopic=25634 http://electronix.ru/forum/index.php?showtopic=29261 это я уже чуть ли не наизусть изучил... вдоль и поперек перечитывал... до дыр в мониторе... Цитата+ к всему в ядре нада включить поддержку initrd обязательно, или при помощи initramfs ессно поддержки всяких initrd и initramfs включены! иначе стал бы я спрашивать в чем засада? похоже собака порылась в двух местах: 1. параметры mkfs при создании в образе ext2fs. похоже всякие закручивания гаек типа минимума размера секторов и прочей служебной инфы (чтоб высвободить побольше места на самом образе диска) возимели действие и, похоже, это было тоже составляющей невидимости образа диска в памяти. 2. изначально я сделал размер образа диска initrd около 1 метра, похоже что ядру этого было слишком-мало, что ли?... увеличил до 2 Мб вроде как что-то стало работать. что именно, п.1 или п.2 виноват, я точно сказать не могу, так как после какого-то момента стало выдавать не сообщение о том что не может обнаружить образ рамдиска, а то что: "RAMDISK: Loading 1024KiB [1 disk] into ram disk..." не прокатывает. после того как я очутился на этом этапе я выполнил п.2 и у меня образ диска увиделся. теперь всё умирает на невидимости linuxrc и busybox вообще: Код...... ds1307 0-0068: setting the system clock to 2007-05-25 03:39:09 (1180064349) RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 2048KiB [1 disk] into ram disk... done. VFS: Mounted root (ext2 filesystem). Freeing init memory: 108K Failed to execute /linuxrc.  Attempting defaults... Kernel panic - not syncing: No init found.  Try passing init= option to kernel. хотя я кернелу честно передал все параметры и '/linuxrc' - это как раз и есть значение переданое в переменной 'init': КодU-Boot> printenv ...... bootargs=mem=16M initrd=0x20800000,0x500000 root=/dev/ram init=/linuxrc rw ....... U-Boot> если смонтировать образ initrd то всё честно лежит на местах: Кодroot@usbr:/usr/src/arm/busybox# mount -o loop ./initrd2.img /mnt/initrd/ root@usbr:/usr/src/arm/busybox# ls -l /mnt/initrd/ total 17 drwxr-xr-x    2 root     root         2048 May 25 03:20 bin drwxr-xr-x    3 root     root         1024 May 25 03:39 dev lrwxrwxrwx    1 root     root           11 May 25 03:39 linuxrc -> bin/busybox drwx------    2 root     root        12288 May 25 03:39 lost+found drwxr-xr-x    2 root     root         1024 May 25 03:20 sbin drwxr-xr-x    4 root     root         1024 May 25 03:20 usr root@usbr:/usr/src/arm/busybox# ls -l /mnt/initrd/bin/busybox -rwxr-xr-x    1 root     root       581684 May 25 03:20 /mnt/initrd/bin/busybox root@usbr:/usr/src/arm/busybox# file /mnt/initrd/bin/busybox /mnt/initrd/bin/busybox: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked (uses shared libs), stripped root@usbr:/usr/src/arm/busybox# да, еще кернел ругался что не может открыть initial console, но я ему помог её открыть уже не ругается... буду далее разбираться что за фигня о5 происходит... :-/ получается что ramdisk ядро смонтировало, видит, но вот linuxrc или что-то еще выполнить ну никак не может
  19. Цитата(Odiemus @ May 23 2007, 23:04) это уже инетереснее.. т.е. отключить вывод RESET проца от всей схемы, потом на всю схему выдать RESET, который попадёт на флэшку, и удерживая его активным отдельно резетнуть проц чтоб он начал грузиться при неработающей флэшке?... я правильно понял? Я правильно понял! Net RESET33 засадил на землю джампером, предварительно вообще сняв с платы J19, включил питалово - заработал x-modem !!! дальше как обычно прошил romboot всё, вопрос исчерпан. благодарю! плата живёт!
  20. Цитата(Petka @ May 23 2007, 15:03) Для того, что бы активизировать встроенный загрузчик и отключить загрузку с флэшки я при закороченом переферийном ресете перезагружал сам контроллер. это уже инетереснее.. т.е. отключить вывод RESET проца от всей схемы, потом на всю схему выдать RESET, который попадёт на флэшку, и удерживая его активным отдельно резетнуть проц чтоб он начал грузиться при неработающей флэшке?... я правильно понял?
  21. Цитата(dch @ May 23 2007, 05:13) Странно, разве что D16-D31 стали outpiut-ами, проверить питание есть ли 3.3V, 1.8V и генерацию кварцев с утра питание успел проверить - в норме! за осцилографом.. хм... полезу сегодня вечером, но у меня осцил до 5 MHz макс
  22. запуск rtc DS1307

    Цитата(PrSt @ May 15 2007, 17:13) у меня поднялись на моей плате нормально... щяс он тикают ядро 2.6.19 что б поднялись нада включить I2C и в RTC саму 1307 Главное не ставить галочку - "тестировать часы" и на ФС сделать mknod -m 777 /dev/rtc c 254 0 а потом через date зарядить время и hwclock -w (важно: busybox должен дыть с поддержкой этой команды) и а вот мне пока так и не удалось заставить ядро увидеть ramdisk вот ужо которую ночь бъюсь.. 2COMA: конфиг ядра пока здесь
  23. запуск rtc DS1307

    Цитата(COMA @ Apr 12 2007, 17:33) Добрый день, кто-нибудь запустил DS1307 на плате RainBow? Работает! в ядре 2.6.21.1 есть даже родная поддержка! Код........ at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc0 AT91 Real Time Clock driver. i2c /dev entries driver ds1307 0-0068: rtc core: registered ds1307 as rtc1 at91_i2c at91_i2c: AT91 i2c bus driver. ........ ds1307 0-0068: setting the system clock to 2007-05-14 21:53:52 (1179179632) ......... как видно даже время из часов прочиталось!
  24. Запуск Linux на плате RainBow v1.1

    Цитата(Playnet @ Apr 1 2007, 14:18) Ага, давайте делать для инициализации файлы на все материнки, которые существуют, в i686... Пусть пользователи радуются жизни, добавляя конкретно свою плату! Ну вот чем i686 настолько отличается, что правки конфига достаточно? У них что, одинаковые мосты? Контроллеры питания и температур? У всех один набор шин? Там общего только архитектура. На ix86 сделано так потому что делалось с оглядкой на конечных пользователей, которые не будут новый конфиг для каждой конкретной платы писать. На ix86 есть статусные и информационные регистры из которых можно всегда прочесть какими характеристика обладает та или иная железка (например, сколько строк/колонок у памяти). А вообще поддержка кадой индивидуальной платы закладывается в OS, это прост Вам, наверное, не приходилось заводить какунить PC-шную мать пытаясь использовать все установленные на ней сенсоры и прочие финтифлюшки. Посмотрите, для примера, комментарии в CVS changelog для кода и сам код инициализации чипсетов во freebsd... там ужас что творится! Но со встраиваемыми решениями это нормальная ситуация, плату один раз собрали, в софт сразу, зная что есть на плате, заложили все параметры, настроили чтоб работало, встроили и забыли.
  25. Запуск rainbow 1.1

    Цитата(Dron_Gus @ Apr 28 2007, 04:08) В адресах 0xC0000000 проверять нечего. Это логический адрес флешки. Не более. А с памятью - попробуйте мой тест. Я его тут где-то выкладывал. Мне помог. запустил таки!! оказалось проблемы с непропаями и с инициализацией SDRAM.