-
Постов
707 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
Сообщения, опубликованные Gorby
-
-
По поводу того что физически разведены 3 линии, две приём передача для USB 3, и одна от USB2.0 я видел в описании стандарта (бегло читал его), но я надеялся что можно вообще выкинуть эти USB2.0 рудименты, если вся переферия у меня будет USB 3.0 совместимая.
Дать 5В на оконечнике от БП для меня не проблема, т.е по кабелю или привязанным к кабелю питание передавать для моей задачи нужды нет.
А рудименты являются частью стандарта. Их не выкинуть.
Дело не в том, что питания нет - оно есть. А в том, что в такую бочку меда (ЮСБ 3 10м с гальванической развязкой) эти чудаки добавили ложку дегтя (те самые проводки), убив развязку и самое главное, ЭМСовместимость.
И как вам тут уже советовали - самое адекватное решение вашей задачи - удаленный ПК со всей периферией, подключенный к локальной либо к глобальной сети. Тем более что и скоростей вам не надо больших.
-
В интернете нашёл вот такой кабель, с заоблачной ценой и всего 10-и метровый :
Дорогой друг! Нюансов в USB больше, чем иголок на свежей ёлке.
-
Хочу добавить про 10 000 часов. В той версии истории, что читал я, были несколько иные акценты. И вот эти акценты очень важны. А их переврали.
Сравните:
- было обнаружено, что так называемые "таланты" (причем неважно в какой области), посвятили своей профессии в среднем около 10000 часов. - это факты, обнаруженные при исследованиях
- занимайся чем-либо 10000 часов и ты будешь талант. - а это дедуктивное следствие, в общем случае неверное (недоказуемое). Проковыряйте в носу 10000 часов и что?
Ну так вот, при исследованиях "талантов" и их менее одаренных коллег выяснилось, что коллеги не тупее, а таланты не умнее. Просто таланты потратили на обучение НАМНОГО больше времени. И как раз это время в среднем и составило 10000 часов. И почти не зависит от профессии.
Как тут уже говорили, кто-то в армии выучил "три аккорда". А кто-то с шести лет в музыкальную школу ходил. Вот эта разница и называется "опыт". Я вас умоляю, какие 20 часов....
-
У меня не двух портовая память CY7C1041DV33
У неё нет такой возможности обращения к одним и тем же данным по разным портам
Да и не надо. Не о том речь.
Используйте Актив-ХДЛ!
Нарисуйте пути данных, а управление уже очевидным будет.
обратите внимание на часть "схемы" справа. С буквой М - сигналы на память. Внутренняя шина MUXERR - вход ФИФО. Шина UD - выход ФИФО.
M2D - двунаправленная шина данных микросхемы памяти (16 бит). M2A - адреса памяти. U11 и U7 -вот собственно две простые машинки, рулящие управлением. FIFO_FULL - внешний вход, собственно ЗАПРОС данных (имелся в виду фифо юсб контроллера). Если фулл, то данные НЕ слать. Данные из ФИФО наружу (UD) стробируются USBWRN (низкий уровень) по клоку IFCLK - формируется из основного клока.
А какие там проблемы с моделированием шин? Есть там конечно нюансы, но не страшные.
-
Так получается тут нужно реализовывать конечный автомат состояний?
Я просто чувствую что это вполне реализуемо, но нет идей и помощи более опытных товарищей. :laughing:
Да, конечный автомат нужен. Но он простой, один-два триггера.
Вы с частотами-то поосторожнее. Тщательно просчитайте, возможно ли в принипе добиться от Вашей памяти такой растактовки. Тут нужен в клеточку лист бумаги, карандаш и мозг. Оно само всё покажет. Если основной клок 100МГц и данные поступают на каждом втором такте - то у Вас просто нет шансов даже на запись - каким образом сформировать управляющие сигналы? Или делать асинхронщину на RC цепях. У Вас нету системного подхода. Сначала - растактовка памяти (управляющие сигналы формируются из виртуального клока, и это будет явно не 100МГц, а 180, 166 или рядом). Критерий - максимально выжать быстродействие ОЗУ при условии, что управление идет почти на макс скорости (половина системного клока).
Вижу сам, что сумбурно. Вы сами сразу всё увидите, как растактовку ОЗУ нарисуете.
-
я полагаю, никто до сих пор не понял какого конечного результата вы хотите добиться =)
Значит, у Вас такой задачи не стояло
Автору топика: вполне заурядная задача, смелее делайте и будет всё работать.
Не забудьте про довольно большие счетчики адресов, их сравнение, и результат этого сравнения.
Тут правильно советуют - операция записи в ОЗУ имеет приоритет перед чтением.
Работу с ОЗУ разбиваем на циклы. Цикл состоит из записи и потом чтения.
Если есть запрос на запись - пишем. Если есть запрос на чтение - читаем, пока не появится запрос на запись или не кончится чтение.
Если одновременно присутствует и запрос на запись, и на чтение, то в каждом цикле одно слово должно записаться, и одно-вычитаться.
Тут надо кропотливо поработать с таймингами ОЗУ.
Очень помогает моделирование в Моделсиме или что там у Вас есть.
-
* Что-то еще?
Убедитесь, что в ERRATA не упоминается такой случай.
Убедитесь, что в настройках компилятора выбран правильный процессор (при неверном выборе всё "как-бы" работает, но не так).
Наблюдатель влияет на объект. Отладчик Вам здесь не поможет. Лучшая отладка - пин на выход и осциллограф.
Урезайте код до минимально возможного, вычленяйте проблему. Проверьте, выполняется ли условие возникновения прерывания (ну например, счетчик тупо никогда не досчитывает до места , где должен вызвать прерывание).
Понизьте уровень оптимизации или совсем ее отключите.
Поскольку код урезан до минимального, смотрите его ассемблер глазами очень тщательно - например на предмет доступа к регистрам, куда не должен доступаться (управление прерываниями).
Удачи.
-
можно поподробнее про *.wlf файл (как я понял).
видел, пытался, но у меня ничего не получилось....
Ну да, vsim.wlf. Даблкликаем на нем мышкой и он открывается в среде Моделсим. И можно просматривать все сигналы.
Ну да, vsim.wlf. Даблкликаем на нем мышкой и он открывается в среде Моделсим. И можно просматривать все сигналы.Чуть сложнее. Запустить Моделсим.
File->Open <ваш VLF>
Затем руками команду
add wave -r /*
-
Вопрос: как сохранить симуляцию моделсима, чтобы потом не моделировать.
Проблема например для сохранения через скриншот экрана в том, что все сигналы не помещаются на один экран.
Да, можно сделать несколько скриншотов, а потом просто склеить.
Идеально было бы сохранить wave...
Кто-то сталкивался с такой проблемой?
Вам ли не знать?!
При симуляции образуется на диске длиннющий файл уж не помню с каким расширением.
Так вот, если на нем после кликнуть мышкой, то он откроется в моделсиме со всеми волнами. Правда только смотреть, моделировать уже нельзя.
-
Universal Serial Bus 3.0 Specification, page 391:
Спасибо! В точку!
Ну почему не на 1-10 странице?...
-
Здравствуйте.
Окружение: обычный современный лаптоп средней руки с одним ЮСБ 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.
Заранее благодарен за ответы.
-
Похоже, что проблема в том, что каждый байт передаваемый МАСТЕРОМ должен стробироваться сигналом SSEL, т.е. после каждого байта необходимо подымать SSEL в высокий, а затем опять ставить его в низкий.
Вот это действительно странно. Нет никакой необходимости стробировать с SSEL каждый байт. У вас верно сделано, SSEL на время передачи всех 4-х байт. Приемник обязан принимать. То, что первый байт принимается верно, подтверждает правильность выбранных режимов (там еще те грабли могут быть).
А что тут стремного, для SSP есть буфер FIFO, пока я работаю с обработкой одного прерывания, по SSP может уже прийти несколько байт, вот и вычитываю, пока входной буфер не опустеет. Нормальная практика!!!А вот тут немного не так. На самом деле при SPI тактовой (сколько там у вас? 40 кГц?) принятие символа - очень редкое событие. Это не 2 и не 10 MHz. Попробуйте сделать одно прерывание на один байт.
-
Что я делаю не так?
Разберитесь с условием while (SSP0MIS_RXMIS & SSP0MIS).
Очевидно же, что следующий байт придет только через достаточно большой интервал времени (относительно скорости процессора). Получается, вы несколько раз считываете один и тот же байт. Убедитесь, что при чтении первого байта сбрасывается флаг готовности.
А вообще как-то стремно: прерывание вызывается для каждого принятого байта отдельно, но внутри прерывания вы пытаетесь вычитать более одного. Разберите более подробно как работает m_SSP0.Read().
-
Так, наверно, и придецца делать. Некрасиво только как-то это выглядит.
Натурально, прячем некрасивости под термоусадку.
-
Очень нужна помощь
Помогите кто чем может! :rolleyes:
Поэтому прошу помочь наладить этот самый мостик из SPI-UART, который будет вменяемо передавать данные в две стороны.
УАРТ через ЮСБ - это не совсем УАРТ. ЮСБ - принципиально блочный интерфейс, а УАРТ - символьный.
Вам нужно изменить архитектуру программирующего софта.
ПК через ЮСБ->УАРТ передает Вспомогательному процессору блок данных (0.5 или 1 кБ) и команду, что с ними делать. Он отрабатывает команду, записывая блок в микросхему-таргет. Аппаратные подробности SPI никуда наверх не идут (только для индикации ошибок). Точно также и с чтением. Даем команду на чтение блока. Ждем. Потом блок вычитываем. На ПК детали SPI не видны.
А если хочется прямо с ПК рулить SPI ножками, то Avreal Вам в руки.
Удачи.
-
Прошу дать совет
Получу я свои 7200? ну хоть 5000 байт/с?
>>я должен увидеть скорость приема близкую к 7200 байт/с (115200/8/2).
Неправда. 115200/10=11,52 килобайт\сек. Это в идеале. Десять битов на посланный байт.
>>Пишу ПО в Билдере, использую стандартный API функции
Прочтите мой ответ "по буквам". А затем "слитно". Как быстрее? А почему? Правильно выбирайте функции.
Непременно получите. Удачи.
-
если тёплый пол сделан как надо, а его обычно правильно делают, то никаких проблем нет установить дополнительно сервовентили и управление циркуляционными насосами
Ага, если делать это языком.
Вы в курсе, что сервовентили бывают со временем срабатывания от 18 до 180 секунд? И на разное напряжение, от 12VDC до 230VAC. А еще разных диаметров, разные системы присоединения. И так во всем. То, что не запроектировано с самого начала, потом доделывается с очень большим трудом.
-
Лучше сразу с условиями - ТЗ по-моему довольно понятное.
Укажите кристалл - АВРы бывают сильно разные.
Функцию общения с микросхемой драйвера шагового двигателя - TMC260 - по телефону или как? Или тоже по SPI?
частота следования шагов плавно нарастает и убывает - "первый полк марширует..." - время как считается? Таймером или NOPами? А частота кварца где? А свободный таймер есть? А прерывания можно?
А так да, по-вашему довольно понятно :)
-
Откуда эта цифра? Почему нельзя меньше?
Эта цифра - из эмпирического правила, что зазор до чужого проводника должен быть раза в три больше, чем ширина дорожки.
На самом деле, гораздо бОльшую роль играет ширина самих трасс и толщина изоляционного материала до опорного слоя.
Конкретно для USB нужно обеспечить 90 Ом дифференциальный импеданс.
Пример: при трассах шириной 0.2мм , ширине зазора 0.22мм и толщине субстрата 0.1 мм импеданс примерно равен 87 Ом.
Далеко не каждый производитель предложит вам недорого такую плату (минимум - 4-слойку).
В Вашем случае, если длина трассы не превышает двух-трех сантиметров и нет особых требований по EMC, то париться вообще не следует - любые дорожки с любым зазором (в разумных пределах) будут работать.
-
Весь вопрос в том что вал металлический он явно будет вносить свое влияние в эту систему !
всем этим необходимо запитать небольшой мощности схемку порядка 100mw раположенную на валу и измеряющую момент на валу.
Завместо передающей катушки поставьте четыре постоянных магнита ортогонально. Тогда на "змейке" получите переменный ток. Его можно выпрямить и сгладить. На вашу мощность должно потянуть.
-
http://bankpatentov.ru/node/28944
собственно, никак не могу понять в чем ноу-хау... может кто из форумчан поможет.
Ну так там же все написано: отличается тиристорным ограничителем напряжения на катушках индуктивности. И еще последовательно с большими катушками включены мааааааленькие Ferrite Beads.
-
Едва ли это спасет, если там и правда ШИМ. ШИМ не может уменьшить проходящий ток, т.к. он работает только как ключ - открыт или закрыт. Если ток превысит номинал, то очень возможно, что закрыть открытый ключ он не сможет и сгорит.
Едва ли это правда. В драйверах ШД ШИМ как раз и используют для регулировки/ограничения тока. Ведь ключ работает на индуктивную нагрузку. И ток плавно нарастает. По достижении заданной величины тока ключ выключается до конца периода управления. Дальше процесс повторяется с некоторой частотой управления, которая в разы больше, чем скорость шагания. При это ставновится возможным питать двигатель от повышенного напряжения, что позволяет добиться более быстрого нарастания тока и как следствие, возможна работа на более высокой частоте шагов.
-
Вот еще идея, самодельного датчика.
Нужен сферический сосуд,
Гениально!
Совсем немного осталось до магнита на веревочке - и тогда точно уж никаких проблем со смачиваемостью\капиллярностью.
А, и тоже видеокамеру...
-
к сожалению, земля щупа осцилла стоит в 2-х сантах от синего провода, где земля.
Ну так нельзя. Если хотите показать питание процессора, то и станьте на его питание (на один из блокировочных конденсаторов). Уверяю Вас, согласно законам коммутации, Вы не увидите на конденсаторе тех пиков. Отверните от щупа земляной проводник с "крокодилом" и используйте пружинку из комплекта.
А плата что, односторонняя? - Вижу неметаллизированные отверстия. У Вас вообще есть земляной полигон?
Так вот то, что сейчас видим, это скорее всего прыгающая земля. От туда и пики наверх, когда она сильно ниже становится.А вот как бороть?
Может не надо с мельницами сражаться? Чтобы потенциал земли заметно скакал, токи должны быть десятиамперные. Или сопротивление земли порядка десятков Ом. Обследуйте землю на предмет неразрывности и низкого сопротивления.
Ищу толкового разработчика электрокардиографа
в Предлагаю работу
Опубликовано · Пожаловаться
Да не так страшен черт, как его малюют.
Нанимается толковый Quality менеджер и в течении года любой медицинский прибор ВНЕШНЕГО применения сертифицируется в Европе. Там в основном безопасность. Если нет явных косяков, то все идет гладко.