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

Gorby

Свой
  • Постов

    707
  • Зарегистрирован

  • Посещение

  • Победитель дней

    4

Сообщения, опубликованные Gorby


  1. С таким пониманием подобного проекта вам не стоит им заниматься. Здесь и не только здесь было много подобных. Знаю не по наслышке, а изнутри и результаты двух групп очень грамотных и толковых, разрабатывавших подобные проекты - не позавидуешь. Хотелось бы демонстрации какого-либо сертификата, хотя бы и из Украины и предвкушаю ваше отрезвление (а может даже депрессию) через год-другой.

    Да не так страшен черт, как его малюют.

    Нанимается толковый Quality менеджер и в течении года любой медицинский прибор ВНЕШНЕГО применения сертифицируется в Европе. Там в основном безопасность. Если нет явных косяков, то все идет гладко.

     

  2. По поводу того что физически разведены 3 линии, две приём передача для USB 3, и одна от USB2.0 я видел в описании стандарта (бегло читал его), но я надеялся что можно вообще выкинуть эти USB2.0 рудименты, если вся переферия у меня будет USB 3.0 совместимая.

     

    Дать 5В на оконечнике от БП для меня не проблема, т.е по кабелю или привязанным к кабелю питание передавать для моей задачи нужды нет.

    А рудименты являются частью стандарта. Их не выкинуть.

     

    Дело не в том, что питания нет - оно есть. А в том, что в такую бочку меда (ЮСБ 3 10м с гальванической развязкой) эти чудаки добавили ложку дегтя (те самые проводки), убив развязку и самое главное, ЭМСовместимость.

     

    И как вам тут уже советовали - самое адекватное решение вашей задачи - удаленный ПК со всей периферией, подключенный к локальной либо к глобальной сети. Тем более что и скоростей вам не надо больших.

  3.  

    Дорогой друг! Нюансов в USB больше, чем иголок на свежей ёлке.

     

    И если цена за Корнинг в 100 долл. для вас заоблачна, то позабудьте навсегда об удлинителях. Ибо среди них есть такие, что и тыщу стоят за ОДИН модуль. А нужно два.

     

    Как несчастный обладатель трех экземпляров этого самого Корнинга на 10 метров (куплен на Амазоне), имею рассказать следующее:

    - эти уроды использовали очень хороший тонкий и прочный оптический кабель (можно завязать узлом), НО в этой же оболочке провели два тооооненьких проводка питания для "той" стороны. От него даже мышь не питается, только хаб с собственным питанием. То есть в наличии гальваническая связь и электромагнитные помехи. Гореть им в аду за это.

     

    - может не все знают, но USB 3.0 включает в себя параллельный и независимый USB 2.0. Поэтому только настоящая 3.0 периферия воспользуется всеми преимуществами. То есть две USB 2.0 камеры воткнутые в USB 3.0 хаб, в большинстве случаев нормально работать не будут (ограничение по полосе суммарно на всех около 30-35МБ/с).

     

    - Не получится удлинить USB 3.0, просто пробросив через оптику его высокоскоростную часть. ИБО у него есть и USB 2.0 линк, по которому они сначала договариваются, а потом переходят на USB 3.0. Его функциональность надо обеспечить в полном объеме через ТУ ЖЕ оптику.

     

    - Как уже говорилось, неявные ограничения присутствуют в протоколе, задержках и тд. В результате вы получаете ПОЛУ совместимое устройство. Например, у меня не заработали на USB 3.0 две профессиональные видеокамеры uI IDS. Тупо не грузятся, не определяются. А вот с использованием Хаба USB 2.0 прекрасно заработали (имеется в виду через оптический удлинитель). Хотя лично я полагаю, что там имеют место косяки в железе и драйверах производителя камер (они на Cypress , Spartan 6) - там прямо видно, как грузятся прошивки FPGA, затем фирмварь USB контроллера. Самое тонкое, так сказать, место. И напоролись в этом месте на особенности реализации оптического линка, который сделать полностью стандартным физически невозможно. Такие дела.

     

    Извините, если резко. Припекло.

     

  4. Хочу добавить про 10 000 часов. В той версии истории, что читал я, были несколько иные акценты. И вот эти акценты очень важны. А их переврали.

     

    Сравните:

    - было обнаружено, что так называемые "таланты" (причем неважно в какой области), посвятили своей профессии в среднем около 10000 часов. - это факты, обнаруженные при исследованиях

     

    - занимайся чем-либо 10000 часов и ты будешь талант. - а это дедуктивное следствие, в общем случае неверное (недоказуемое). Проковыряйте в носу 10000 часов и что?

     

    Ну так вот, при исследованиях "талантов" и их менее одаренных коллег выяснилось, что коллеги не тупее, а таланты не умнее. Просто таланты потратили на обучение НАМНОГО больше времени. И как раз это время в среднем и составило 10000 часов. И почти не зависит от профессии.

     

    Как тут уже говорили, кто-то в армии выучил "три аккорда". А кто-то с шести лет в музыкальную школу ходил. Вот эта разница и называется "опыт". Я вас умоляю, какие 20 часов....

  5. У меня не двух портовая память CY7C1041DV33

    У неё нет такой возможности обращения к одним и тем же данным по разным портам

    Да и не надо. Не о том речь.

    Используйте Актив-ХДЛ!

    Нарисуйте пути данных, а управление уже очевидным будет.

     

    обратите внимание на часть "схемы" справа. С буквой М - сигналы на память. Внутренняя шина MUXERR - вход ФИФО. Шина UD - выход ФИФО.

    M2D - двунаправленная шина данных микросхемы памяти (16 бит). M2A - адреса памяти. U11 и U7 -вот собственно две простые машинки, рулящие управлением. FIFO_FULL - внешний вход, собственно ЗАПРОС данных (имелся в виду фифо юсб контроллера). Если фулл, то данные НЕ слать. Данные из ФИФО наружу (UD) стробируются USBWRN (низкий уровень) по клоку IFCLK - формируется из основного клока.

     

    А какие там проблемы с моделированием шин? Есть там конечно нюансы, но не страшные.

     

    post-1002-1443175768_thumb.png

  6. Так получается тут нужно реализовывать конечный автомат состояний?

    Я просто чувствую что это вполне реализуемо, но нет идей и помощи более опытных товарищей. :laughing:

    Да, конечный автомат нужен. Но он простой, один-два триггера.

     

    Вы с частотами-то поосторожнее. Тщательно просчитайте, возможно ли в принипе добиться от Вашей памяти такой растактовки. Тут нужен в клеточку лист бумаги, карандаш и мозг. Оно само всё покажет. Если основной клок 100МГц и данные поступают на каждом втором такте - то у Вас просто нет шансов даже на запись - каким образом сформировать управляющие сигналы? Или делать асинхронщину на RC цепях. У Вас нету системного подхода. Сначала - растактовка памяти (управляющие сигналы формируются из виртуального клока, и это будет явно не 100МГц, а 180, 166 или рядом). Критерий - максимально выжать быстродействие ОЗУ при условии, что управление идет почти на макс скорости (половина системного клока).

     

    Вижу сам, что сумбурно. Вы сами сразу всё увидите, как растактовку ОЗУ нарисуете.

     

  7. я полагаю, никто до сих пор не понял какого конечного результата вы хотите добиться =)

     

    Значит, у Вас такой задачи не стояло :biggrin:

     

    Автору топика: вполне заурядная задача, смелее делайте и будет всё работать.

    Не забудьте про довольно большие счетчики адресов, их сравнение, и результат этого сравнения.

     

    Тут правильно советуют - операция записи в ОЗУ имеет приоритет перед чтением.

    Работу с ОЗУ разбиваем на циклы. Цикл состоит из записи и потом чтения.

    Если есть запрос на запись - пишем. Если есть запрос на чтение - читаем, пока не появится запрос на запись или не кончится чтение.

    Если одновременно присутствует и запрос на запись, и на чтение, то в каждом цикле одно слово должно записаться, и одно-вычитаться.

    Тут надо кропотливо поработать с таймингами ОЗУ.

    Очень помогает моделирование в Моделсиме или что там у Вас есть.

  8. * Что-то еще?

     

    Убедитесь, что в ERRATA не упоминается такой случай.

     

    Убедитесь, что в настройках компилятора выбран правильный процессор (при неверном выборе всё "как-бы" работает, но не так).

     

    Наблюдатель влияет на объект. Отладчик Вам здесь не поможет. Лучшая отладка - пин на выход и осциллограф.

    Урезайте код до минимально возможного, вычленяйте проблему. Проверьте, выполняется ли условие возникновения прерывания (ну например, счетчик тупо никогда не досчитывает до места , где должен вызвать прерывание).

    Понизьте уровень оптимизации или совсем ее отключите.

    Поскольку код урезан до минимального, смотрите его ассемблер глазами очень тщательно - например на предмет доступа к регистрам, куда не должен доступаться (управление прерываниями).

     

    Удачи.

  9. можно поподробнее про *.wlf файл (как я понял).

     

     

    видел, пытался, но у меня ничего не получилось....

     

    Ну да, vsim.wlf. Даблкликаем на нем мышкой и он открывается в среде Моделсим. И можно просматривать все сигналы.

     

    Ну да, vsim.wlf. Даблкликаем на нем мышкой и он открывается в среде Моделсим. И можно просматривать все сигналы.

     

    Чуть сложнее. Запустить Моделсим.

    File->Open <ваш VLF>

     

    Затем руками команду

    add wave -r /*

     

     

     

  10. Вопрос: как сохранить симуляцию моделсима, чтобы потом не моделировать.

     

    Проблема например для сохранения через скриншот экрана в том, что все сигналы не помещаются на один экран.

    Да, можно сделать несколько скриншотов, а потом просто склеить.

     

    Идеально было бы сохранить wave...

    Кто-то сталкивался с такой проблемой?

    Вам ли не знать?!

     

    При симуляции образуется на диске длиннющий файл уж не помню с каким расширением.

    Так вот, если на нем после кликнуть мышкой, то он откроется в моделсиме со всеми волнами. Правда только смотреть, моделировать уже нельзя.

  11. Здравствуйте.

     

    Окружение: обычный современный лаптоп средней руки с одним ЮСБ 3.0 и двумя ЮСБ 2.0 портами под управлением Вин 8. Есть две промышленные видеокамеры uEye (разные - одна цветная, другая - ч\б). Есть специализированный софт для камер Cocpit, где можно играть с параметрами и наглядно видеть скорость потока данных и сбои. Обе камеры - ЮСБ 2.0 HS, построены на Cypress 68013.

     

    Наблюдения:

    Обе камеры включены в ЮСБ 2 порты на одной стороне лаптопа. Очевидно, используется один хост-контроллер и внутренний хаб.

    - при суммарном потоке данных с камер более 35 мБ/с начинают пропадать кадры. Это согласуется с пропускной способностью одного хоста и хаба за ним.

    - если одну из камер переключить на находящийся с другой стороны разъем ЮСБ 3.0, то удается достичь вдвое более высокий поток данных, до 60-70 Мб/с. Это подверждает версию о том, что на ЮСБ 3.0 стоит отдельный хост-контроллер.

     

    Сейчас самое странное:

    Теперь обе камеры включены в порты 4-портового ЮСБ 3.0 хаба, имеющего внешнее питание. Аплинк порт хаба подключен к ЮСБ 3.0 порту лаптопа. Всё определяется, работает, но как и прежде, при суммарном потоке данных с камер более 35 мБ/с начинают пропадать кадры. Это ни с чем не согласуется. Как будто нет никакого ЮСБ 3.0 транспорта. Как так может быть? Ожидалось, что при использовании ЮСБ 3.0 хаба оба порта с устройствами ЮСБ 2.0 будут работать с максимальной пропускной способностью ДВУХ портов (то есть ДВА по 35 мб/с).

     

    Крамольная мысль: неужели чтобы достичь бОльшей скорости, девайсы за хабом тоже должны быть 3.0 ?

     

    Можете как-то прокомментировать?

    Хаб - самый обычный ISIDU , даже без управления питанием.

    В дальнейшем предполагается разработка собственного хаба на TI TUSB8041.

     

    Заранее благодарен за ответы.

     

  12. Похоже, что проблема в том, что каждый байт передаваемый МАСТЕРОМ должен стробироваться сигналом SSEL, т.е. после каждого байта необходимо подымать SSEL в высокий, а затем опять ставить его в низкий.

    Вот это действительно странно. Нет никакой необходимости стробировать с SSEL каждый байт. У вас верно сделано, SSEL на время передачи всех 4-х байт. Приемник обязан принимать. То, что первый байт принимается верно, подтверждает правильность выбранных режимов (там еще те грабли могут быть).

     

    А что тут стремного, для SSP есть буфер FIFO, пока я работаю с обработкой одного прерывания, по SSP может уже прийти несколько байт, вот и вычитываю, пока входной буфер не опустеет. Нормальная практика!!!

    А вот тут немного не так. На самом деле при SPI тактовой (сколько там у вас? 40 кГц?) принятие символа - очень редкое событие. Это не 2 и не 10 MHz. Попробуйте сделать одно прерывание на один байт.

  13. Что я делаю не так?

     

    Разберитесь с условием while (SSP0MIS_RXMIS & SSP0MIS).

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

     

    А вообще как-то стремно: прерывание вызывается для каждого принятого байта отдельно, но внутри прерывания вы пытаетесь вычитать более одного. Разберите более подробно как работает m_SSP0.Read().

     

  14. Очень нужна помощь :wacko: Помогите кто чем может! :rolleyes:

    Поэтому прошу помочь наладить этот самый мостик из SPI-UART, который будет вменяемо передавать данные в две стороны.

     

    УАРТ через ЮСБ - это не совсем УАРТ. ЮСБ - принципиально блочный интерфейс, а УАРТ - символьный.

    Вам нужно изменить архитектуру программирующего софта.

     

    ПК через ЮСБ->УАРТ передает Вспомогательному процессору блок данных (0.5 или 1 кБ) и команду, что с ними делать. Он отрабатывает команду, записывая блок в микросхему-таргет. Аппаратные подробности SPI никуда наверх не идут (только для индикации ошибок). Точно также и с чтением. Даем команду на чтение блока. Ждем. Потом блок вычитываем. На ПК детали SPI не видны.

     

    А если хочется прямо с ПК рулить SPI ножками, то Avreal Вам в руки.

     

    Удачи.

  15. Прошу дать совет

    Получу я свои 7200? ну хоть 5000 байт/с?

     

    >>я должен увидеть скорость приема близкую к 7200 байт/с (115200/8/2).

    Неправда. 115200/10=11,52 килобайт\сек. Это в идеале. Десять битов на посланный байт.

     

    >>Пишу ПО в Билдере, использую стандартный API функции

    Прочтите мой ответ "по буквам". А затем "слитно". Как быстрее? А почему? Правильно выбирайте функции.

     

    Непременно получите. Удачи.

  16. если тёплый пол сделан как надо, а его обычно правильно делают, то никаких проблем нет установить дополнительно сервовентили и управление циркуляционными насосами

     

    Ага, если делать это языком.

    Вы в курсе, что сервовентили бывают со временем срабатывания от 18 до 180 секунд? И на разное напряжение, от 12VDC до 230VAC. А еще разных диаметров, разные системы присоединения. И так во всем. То, что не запроектировано с самого начала, потом доделывается с очень большим трудом.

  17. Лучше сразу с условиями - ТЗ по-моему довольно понятное.

     

    Укажите кристалл - АВРы бывают сильно разные.

     

    Функцию общения с микросхемой драйвера шагового двигателя - TMC260 - по телефону или как? Или тоже по SPI?

     

    частота следования шагов плавно нарастает и убывает - "первый полк марширует..." - время как считается? Таймером или NOPами? А частота кварца где? А свободный таймер есть? А прерывания можно?

     

    А так да, по-вашему довольно понятно :)

  18. Откуда эта цифра? Почему нельзя меньше?

    Эта цифра - из эмпирического правила, что зазор до чужого проводника должен быть раза в три больше, чем ширина дорожки.

     

    На самом деле, гораздо бОльшую роль играет ширина самих трасс и толщина изоляционного материала до опорного слоя.

     

    Конкретно для USB нужно обеспечить 90 Ом дифференциальный импеданс.

    Пример: при трассах шириной 0.2мм , ширине зазора 0.22мм и толщине субстрата 0.1 мм импеданс примерно равен 87 Ом.

    Далеко не каждый производитель предложит вам недорого такую плату (минимум - 4-слойку).

     

    В Вашем случае, если длина трассы не превышает двух-трех сантиметров и нет особых требований по EMC, то париться вообще не следует - любые дорожки с любым зазором (в разумных пределах) будут работать.

  19. Весь вопрос в том что вал металлический он явно будет вносить свое влияние в эту систему !

    всем этим необходимо запитать небольшой мощности схемку порядка 100mw раположенную на валу и измеряющую момент на валу.

     

    Завместо передающей катушки поставьте четыре постоянных магнита ортогонально. Тогда на "змейке" получите переменный ток. Его можно выпрямить и сгладить. На вашу мощность должно потянуть.

  20. http://bankpatentov.ru/node/28944

     

    собственно, никак не могу понять в чем ноу-хау... может кто из форумчан поможет.

    Ну так там же все написано: отличается тиристорным ограничителем напряжения на катушках индуктивности. И еще последовательно с большими катушками включены мааааааленькие Ferrite Beads.

  21. Едва ли это спасет, если там и правда ШИМ. ШИМ не может уменьшить проходящий ток, т.к. он работает только как ключ - открыт или закрыт. Если ток превысит номинал, то очень возможно, что закрыть открытый ключ он не сможет и сгорит.

     

    Едва ли это правда. В драйверах ШД ШИМ как раз и используют для регулировки/ограничения тока. Ведь ключ работает на индуктивную нагрузку. И ток плавно нарастает. По достижении заданной величины тока ключ выключается до конца периода управления. Дальше процесс повторяется с некоторой частотой управления, которая в разы больше, чем скорость шагания. При это ставновится возможным питать двигатель от повышенного напряжения, что позволяет добиться более быстрого нарастания тока и как следствие, возможна работа на более высокой частоте шагов.

  22. Вот еще идея, самодельного датчика.

    Нужен сферический сосуд,

     

    Гениально!

    Совсем немного осталось до магнита на веревочке - и тогда точно уж никаких проблем со смачиваемостью\капиллярностью.

    А, и тоже видеокамеру...

  23. к сожалению, земля щупа осцилла стоит в 2-х сантах от синего провода, где земля.

     

    Ну так нельзя. Если хотите показать питание процессора, то и станьте на его питание (на один из блокировочных конденсаторов). Уверяю Вас, согласно законам коммутации, Вы не увидите на конденсаторе тех пиков. Отверните от щупа земляной проводник с "крокодилом" и используйте пружинку из комплекта.

     

    А плата что, односторонняя? - Вижу неметаллизированные отверстия. У Вас вообще есть земляной полигон?

     

    Так вот то, что сейчас видим, это скорее всего прыгающая земля. От туда и пики наверх, когда она сильно ниже становится.

    А вот как бороть?

    Может не надо с мельницами сражаться? Чтобы потенциал земли заметно скакал, токи должны быть десятиамперные. Или сопротивление земли порядка десятков Ом. Обследуйте землю на предмет неразрывности и низкого сопротивления.

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