Jump to content

    

iiv

Свой
  • Content Count

    2229
  • Joined

  • Last visited

Everything posted by iiv


  1. Добрый день, есть МК, к одной выходной ноге которого подключено N цифровых оптокоплеров (Si8620BD-B-IS). По даташитам с МК нога может до 40мА давать. Напряжение на МК и ноге 3.3В Раньше у меня было N=40 оптокоплеров, все работало классно и надежно. Недавно поменял и нарастил конструкцию, теперь стало N=160. Заметил, что про 10кГц все тоже надежно работает, а при 1МГц почти всегда есть пропуски. Если считать, что 1МГц и 40мА, при 160 оптокоплеров в параллель, то на каждый мне надо 250мкА или около 70пФ паразитной емкости. В даташите входной ток не нашел, паразитная емкость ноги на землю 3пФ. Гипотез две 1. у меня в проводах 70пФ набегает (там от МК до оптокоплеров примерно 30см), 2. либо таки сами оптокоплеры потребляют с пина около 250мкА. Скажите, пожалуйста, правильно ли я понимаю, что мне надо поставить какой-то повторитель, и, если да, то что? Мосфет драйвер на 3.3В вроде не бывает, а что еще может существенно больше 100мА дать на частоте где-то до 5МГц? Спасибо!
  2. Позвольте вдогонку задать ламерский вопрос в тему. А если в линуксе открыть браузер и рисовать все на javascript, прокинув коммуникацию на местный процесс (даже сервер стартовать локально не надо, только сокет зацепить). Как я понимаю, средства современного JS довольно хороши, если нужна быстрая графика то WebGL в помощь. Наружу сорсы не видны, внутри можно по крайней мере обфурсить. Все остальное - в выполнялке, и как я понимаю, все бесплатно. Понятно, что на очень слабом линуксе Qt наверное будет быстрее ездить, но если линукс не совсем тормознутый и 1ГБ оперативки есть, чем такой вариант будет существенно хуже Qt, и почему таких вариантов почти нет в готовых устройствах?
  3. Спасибо большое, всем помогавшим и сочувствовавшим! Пробовал и в конфиг параметры передать: ./configure --with-float-abi=hard и в Makefile make CFLAGS='-mfloat-abi=hard' и даже залинковать soft include на hard include и дописывал дополнительно -march=armv7-a, -mfpu=neon, а в одной из попыток попробовал поставить --disable-multilib все разы падает, иногда правда проходит дальше, но все равно собирается не правильно и вникают ошибки. Скажите, пожалуйста, правильно ли я понимаю, что единственное оставшееся решение собирать на обычном компе, то есть crosscompile, мне правда надо, чтобы компилятор после сборки работал на arm, то есть на самой плате de10-nano, то есть какая-то часть сборки-проверки рабочести компилятора должна быть опущена, так? Спасибо!
  4. пока именно этого и хотелось избежать, если не решится через линукс, то это наверное единственное решение...
  5. Добрый день, есть ембеддед линукс, вернее его вариант на DE10-Nano или DE0-Nano-SoC на нем стоит с очень стародавним репозитарием на http://feeds.angstrom-distribution.org/feeds/v2016.12/ в котором нет lapack/blas, и есть желание собрать gcc, по возможности новее (или какой получится) с исходников, но чтоб там точно был gfortran и не менее С++14. Пробовал gcc-10.2, gcc-9-3, gcc-linaro-7.5 собирать там, и кросскомпиллить на 20.04 убунте. Во всех случаях после пары часов сборки возникает ошибка: Гугление на эту ошибку приводит к тому, что надо установить -mfloat-abi=hard во время компиляции. Я пробовал собирать с такими флагами: дополнительно засовывал в Makefile в каждый вызов компилера '-mfloat-abi=hard' но падать не перестает. В репозитарии прикомпилленого gfortran нет, в linaro подходящего уже собраннного gcc, который содержит хотя бы c,c++,fortran - тоже нет. Пожалуйста, посоветуйте, что я делаю не так и куда правильно надо поместить эту опцию, чтобы избавитться от ошибки компилляции gcc c сорсов? Спасибо!
  6. Спасибо большое, за ответ! Да, я хочу как-то и, действительно, по возможности не отключая консоль. У меня в аппаратуре запланирована DE10-Nano борда и один супервизор на atmega2560 с ардуиновским загрузчиком. У этой DE10-Nano на борту и есть два выхода - один как ком-порт через ftdi232, а один - как полноценный USB OTG. Мне бы надо иметь возможность менять прошивку на atmega2560 с ардуиновским загрузчиком через avrdude. Подключить могу хоть на ftdi232, хоть на USB OTG. На на ftdi232 висит линукс консоль, и, похоже ее убить не очень просто. На USB OTG есть проблема с драйверами, борда видна в lsusb, но не видна в /dev/ttyACM0, то есть usb-devices показывает: и, понятно, avrdude ее не видет. А как через zmodem пустить avrdude, у него же какой-то свой протокол и avrdude его повидимому не поймет? Спасибо!
  7. Все-таки я что-то тут не понимаю... Переставил линукс на более свежий (вместо 2014 на 2016, более позднего вроде нет). Имею после выполнения консоль, повешенную на первый процесс: но никак не могу найти, где запустился init с такими аргументами. /etc/init.d как у всех нормальных линуксов у меня нет... Подскажите, пожалуйста, где искать, или подскажите, как поднять ком-порт на USB, как я вопрошаю в соседней ветке:
  8. так нету... и пока не понимаю, как поставить, так как systemctl | grep -i -n cdc дает пустоту, в то же время opkg list | grep -i cdc находит kernel-module-g-cdc и Ядро еще не компилил, ибо боюсь :) последний раз делал для PC в 1995 и многое с того времени забылось :( Скажите, пожалуйста, а можно как-то без перекомпилляции ядра обойтись, и, если да, скажите, пожалуйста, как? Спасибо! PS: Странно, еще раз перегрузил, получил дополнительно в dmesg но нужного /dev/ttyACM0 так и не появилось...
  9. Добрый день, имею DE10-Nano и, как написано в иструкции по ссылке https://www.glennklockwood.com/sysadmin-howtos/terasic-de10-nano.html я активировал OTG USB, повесил на него хаб и воткнул туда WiFi - и эта часть заработала. Теперь я хочу туда воткнуть обычную борду с 2560 атмегой, которая бы общалась с DE10-Nano через компорт. При втыкании имею в dmesg то есть как-то она распозналась, в lsusb она есть, но видна только по ID: а вот в /dev/ нет ни /dev/ttyACM0, ни /dev/ttyUSB0, да и вообще ничего не появляется, если втыкнуть и вытыкнуть. Как я понимаю, проблема в ядре, вернее модуле для ACM, но lsmod показывает: то есть usb_f_acm есть, но он почему-то ничего в /dev/ не генерит. Пожалуйста, подскажите, в каком направлении копать, чтобы получить /dev/ttyACM0! Спасибо!
  10. Спасибо большое, Eddy_Em!!! да, действительно, agetty убить можно, у меня удалось остановить респаун только через хотя пока так /dev/ttyS0 пока еще не работает, как я хочу, но, возможно, пока еще не все попробовал.
  11. Спасибо за ответ! Если бы все было бы так, яб не спрашивал... С консоли я запустить программу могу, но мне надо перенаправить получаемый ввод-вывод на char-device, так как другая программа только с таким char-device работать может...
  12. второй семестр нумерики любого ВУЗа по специальности "вычислительная математика" причём пройти на следующий уровень нельзя, если не умеешь такие задачи решать. Поэтому я реально не понимаю ТС, что он всячески уповает только на точность вычисления матриц, забывая что он возводит в квадрат обусловленность, пренебрегает оценкой разброса сингулярных чисел и согласованности правой части с левыми сингулярными векторами. В теме много ключевых слов вам насоветовали, но вы к ним не прислушиваетесь, а жаль, и, именно из-за этого вам и кажется, что вы "переоткрываете Америку".
  13. Добрый день, есть борда с yocto-linux (de10-nano или de0-nano-soc). У борды есть линукс консоль, которая зацеплена на COM порт. Хочется отключать консоль превращая ее в /dev/xxx для того, чтобы использовать этот девайс для загрузки прошивки в контроллере, который висит на этом ком-порте. В остальное время хочется, чтобы этот контроллер продолжал обычным образом видеть все, что есть на этой консоли - то есть как-бы одновременно быть супервизором линукса. Как я понимаю, могу запустить в этой консоле программу, которая небуфферизовано будет читать и писать stdio / stdout создать char-device вызвав int mknod(const char *pathname, mode_t mode, dev_t dev); но вот как я должен подцепить stdio на вход char-device и stdout на выход char-device - пока не понимаю. Пожалуйста, подскажите! Спасибо! ИИВ
  14. не верное утверждение, гуглите на методы регуляризации, в том числе Тихоновские, и читайте мои комментарии выше.
  15. Спасибо большое, за советы и комментарии! Да, Вы полностью правы, именно это я вопрошаю - вариантов-то обычно много, а начинаешь разбираться, и реально ничего не понятно, а когда становится понятно, то обнаруживается, что не подходит. Спасибо за ссылки - очень познавательно, почему-то про NXP не подумал, буду в ближайшее время детально ситары и гетерогенные i.mx6 разбирать, по крайней мере, чтобы лучше понимать как оно все там устроено. в каких-то пределах Вы правы, и именно отдельный контроллер я и брал, вернее сотню :) То есть на данный момент пользую Cyclone SoC, у которого все пины плиски задействованны на I/O и по нему идет трафик около 700МБайт/с на вход и около 10МБ/с туда-сюда с линукс процессором, но в самой аппаратуре имеется еще 3 восьмибитника у которых суммарно 200 их пинов зацеплены на кучу медленных и нтерфейсов (SPI, I2C, UART, 1wire и обычные GPIO). На данный момент оно как-то на уровне тестов функционирует. Хотя расстраивает то, что на коммуникацию линукс процессора Cyclone SoC с этими тремя восьмибитниками уходит до половины времени одного ядра и команды должны быть в реальном времени, из-за этого приходится использовать несколько пинов с плисовой части для синхроимпульсов для этих восьмибитников. То есть если бы все было в одном кристалле, ИМХО, было бы несказанно удобнее. Я понимаю, что можно перейти на две борды с Сyclone SoC или вместо восьмибитников подцепить какую-нибудь плиску, и там наделать кучу софт-процессоров, но криво как-то все это получается. Думал, что последнее время уже появились красивые решения. PS: я бы и от Сyclone SoC отказался бы, если бы смог как-то забирать трафик от 16 АЦПшек и сразу на линукс процессоре обрабатывать, но тут, похоже все пока без вариантов. Спасибо! Черт, видел же два года назад анонс, но так как тогда их еще не было, забыл, а сейчас даже есть SoM, надо взять на попробовать, спасибо!
  16. Я может что-то не понимаю, но вот задачи типа: 1. воткнем на ноги линукс процессора SPI, пустим по нему 20МБит/с трафика с АЦПшки, или не реализуется вообще на обычном линуксе из-за скорости, или на время этой коммуникации ядро линукса блокируется так, что в этот момент на процессоре что-то считать уже не реально. 2. с точностью хотя бы микросекунда включать-выключать GPIO, и делать это хотя бы 50% всего времени, Много раз наблюдал такое на A10, A13, A20, Arm9, но, каюсь, на последних процессорах не пробовал, хотя предполагаю, что ничего не изменилось - это же задачи для МК (даже 8-ми битных), а не для обычного процессора.
  17. скажите, пожалуйста, а как режим реального времени для общения с переферией на слабом процессоре реализуется?
  18. Спасибо большое, Jury093, полностью разделяю Вашу позицию с плиской+линукс и являюсь активным пользователем такой связки (хоть на двух кристаллах), хоть на оном уже лет 10 как. Просто думал, что жизнь на месте не стоит и появилось что-то удобное в разработке. На плиске у меня всяко в разы медленнее разработка получается, хотя конечно DE10 (Cyclone 5 SoC) - очень удобная борда - там и на плиске можно хорошо считаться, и процессор не тормознутый, я несколько проектов уже на Cyclone SoC сделал. Спасибо большое за ответ! Скажите, пожалуйста, а, правильно ли я понимаю, что и слабый и сильный процессор имеет доступ ко всей памяти, но только слабый процессор - к переферии и есть софтверные способы как попросить линукс ядро посадить (или даже скомпилировать) процесс на слабый процессор, а как - на сильный? согласен :) , тоже заметил, и, из-за этого перешел на термин "плиска" - все-таки мы на русскоговорящем форуме :)
  19. Спасибо большое, Jury093 и _pv! Да, про ситары - я как-то мимо прошел, буду смотреть детально. так не удобно же, хочется без плясок поставить линукс и вот как на этом циклоне, слать на /dev/fpga прошивку, но хочется именно, чтобы в прошивке была МК программа, а не комплект софтпроцессора, к которому довольно не тривиально прикручена программа для этого софт-процессора. С Cyclone SoC - работал и сейчас работаю, ИМХО, сложность входа в тему, если не знаешь всех тонкостей FPGA все-таки довольно большая. Просто думал, что за последние несколько лет, когда такие bigLITTLE архитектуры навтыкали в каждый мобильник, это уже должно доступно быть на уровне "ардуинки" с порогом входа школьника.
  20. Добрый день, вот из каждого утюга все вещают, что сейчас все используют контроллеры с процессорами в одном SoC (как сейчас почти в каждом мобильнике). А где на какой простой и понятной борде это можно попробовать? То есть я хочу, чтобы был линукс на процессоре со всеми стандартными компилерами и памятью 2+ гигабайт. И хочу, чтобы был контроллер, который мог бы в реальном времени обслуживать GPIO и всякую стандартную периферию типа SPI, I2C, UART, и имел бы какое-то понятный и простой, желательно DMA интерфейс общения линукса с этим контроллером + необходимые способы синхронизации. Вроде все обычное, но никак не могу нагуглить ничего. Понимаю, что можно использовать Терасиковские DE0, у которых Cyclon SoC и он может выполнить то, что я написал, но хочется все-таки контроллер, а не FPGA. Скажите, пожалуйста, на какой демоборде такое возможно и на какие правильные слова гуглить, чтобы такое найти! Спасибо!
  21. странно, а я думал, что у вас все в железе уже давно работает, или я что-то не понимаю?
  22. Спасибо большое, Милливольт за ответ, и, с запозданием (не сразу заметил, простите) поздравляю Вас с "accepted" этой публикации. скажите, пожалуйста, а использовать логарифмический усилитель (что-то типа AD8307) на каждую пару антенн приемника и потом через низкочастотный дифференциальный усилитель на АЦПшку не пробовали, так вроде проще всего собрать было бы и схема за пару дней разводится.
  23. Милливольт, позвольте, пожалуйста, вопрос Вам задать. Как я понимаю, Вы пробовали наблюдать этот эффект на 433МГц, а пробовали ли Вы на каких-то других частотах, и, если да, скажите, пожалуйста, менялась ли интенсивность наблюдаемого явления?
  24. так правильно, там оратор, на которого вы ссылаетесь, как раз 100мл берет, где и есть те самые 5.5 молей.