Jump to content

    

b-volkov

Свой
  • Content Count

    165
  • Joined

  • Last visited

Community Reputation

0 Обычный

About b-volkov

  • Rank
    Частый гость

Контакты

  • Сайт
    http://

Информация

  • Город
    г. Троицк

Recent Profile Visitors

1685 profile views
  1. Вожусь с IAP контроллера LPC43xx, (хотя думаю, и другие камни NXP не сильно отличаются в этом плане). В даташите указано, что команда "Prepare sectors" дается пред операцией стирания или записи во FLASH. Вопрос: как долго после этой команды сектора остаются "подготовленными"? Понятно, что перед стиранием секторов необходимо давать команду подготовки. А если сразу после стирания я хочу произвести запись во FLASH, мне снова надо давать "Prepare sectors"? Хорошо, если надо, то следующий вопрос: если в один и тот же сектор мне нужно производить несколько процедур записи подряд, то мне каждый раз надо его "подготавливать"?
  2. Dessignator для монтажки

    Всем спасибо!
  3. Озадачился созданием монтажной схемы в Альтиуме. Делать ее основе слоя шелкографии не вариант: местами слишком плотный монтаж и десигнатор в этом слое влезает далеко не везде. Возникает естественное желание сделать так, что бы контура компонентов и их номера отображались в отдельном слое. Насколько я понимаю, в PCB у компонента предусмотрено только две текстовые стороки: Designator, который выводится на шелкографию и Comment, который я хочу вывести на дополнительный слой. Вопрос: можно ли сделать так, что бы текст комментария автоматически приравнивался десигнатору? Иными словами, я хочу, что бы у меня было две строки десигнатора, одна для шелкографии, другая для монтажки. Уж больно не хочется вручную переписывать десигнатор в коментарий для каждого компонента. Пытался вписать в поле коментария "=Designator" - не помогло :)
  4. Не могу напрямую (без термального барьера) подключить SMD-площадки к определенным полигонам. Мои действия: 1. Создаю класс цепей "DirPolygonNets"и добавляю в него те самые цепи, к которым подключены эти полигоны. 2. В "Rules->Plane->Polygon Connect Style" создаю новое правило DirPolygonConnect. 3. В выпадающих списках выбираю "Net Class" и имя созданного мной класса "DirPolygonNets", а "Connect Style" = "Direct Connect" 4. Применяю изменения, делаю перерисовку и ...ничего. Термальный барьер на месте. А вот если а "Connect Style" = "Direct Connect" сделать в базовом правиле "PolygonConnect", которое распространяется на все объекты, то прямое подсоединение получается. Что я упустил?
  5. А если не секрет - что это за настройки и где их искать.
  6. В очередной раз решил посмотреть плату в 3D, и заметил, что ее цвет стал бежевым вместо зеленого. Начал разбираться и понял, что не отображается слой маски. Включен режим отображения "All Layers", в окне "View Configuration" все галочки стоят, в 2D маска есть. Другие PCB-файлы отображаются нормально, хотя настройки слоев у них те-же самые. В чем может быть дело?
  7. Подбирая розетку RG-45 со встроенным трансформатором столкнулся с тем, что существует куча различных вариантов их распиновки. Я нашел как минимум три варианта только для распиновки трансформатора, плюс у некоторых из них есть еще и разные варианты включения светодиодов. Вопрос: существует ли какой-то общепринятый, наиболее распространенный ( в том числе и у поставщиков) вариант? Или закладываться на то, что есть в ближайшем чип-дипе и надеяться на то, что он будет "доставаем" и плтлм.
  8. Спасибо большое! Именно это я и искал. Осталось придумать, как это купить...
  9. Насколько я понял, это просто специализированный АЦП, т.е., самому измерять синус/сосинус, считать позицию и кодировать ее в A/B. Я то надеялся, что есть ИС, которые сами все это сделают.
  10. Спасибо огромное!!! Время уменьшилось почти на порядок! Не знал о наличии такого режима у сетевух.
  11. Вначале я увидел задержку между переданным и принятым пакетом именно в Wireshark , а потом уже стал разбираться, на каком этапе она происходит. Собственная задержка ногодрыга на LPT ~1мкс (т.е., если запустить в мертвом цикле 0->1, то получается мегагерцовый меандр) 2) Так обслуживание UDP сводится только к вызову recvfrom(). Это блокирующая функция, пока пакет не получит - управление не вернет. Сразу после нее дергаю LPT. До ногодрыга профилировал с помощью QueryPerformanceCounter и видел, что recvfrom() выполняется миллисекунду с небольшим. Но что бы понять, где именно задержка, пришлось взять осциллограф. 3) Пинг - примерно та же 1мс. Если под асинхронным сокетом предполагается неблокирующий, то не использую, просто не знаю как
  12. Тактовая 200. Только вот тормозит не МК, а комп (точнее - винда), со своими гигагерцами. Задержка была измерена осциллографом от момента передачи пакета контроллером ( сигнал TX на RMII) до момента выхода из recvfrom() (ногодрыг на LPT) Конечно, можно увеличить длину пакета, но мне важнее не больше, а чаще :). Суть вопроса в другом: 1 мс - это нормальное "время реакции" винды на получение пакета, или я чего не так делаю? Если так оно и должно быть, то придется искать альтернативу ethernet, например возвращаться на старый добрый RS-422
  13. Реализуя связь комп-контроллер через UDP столкнулся с одной странностью. Обмен сделан просто, по принципу мастер-слейв: комп посылает пакет с командой/запросом, получив который контроллер отправляет ответный пакет. От компа к контроллеру пакет доставляется за вполне разумное время, меньше 100мкс. А вот с момента передачи пакета контроллером до момента, когда функция recvfrom() возвращает полученные данные проходит порядка 1мс. Это нормально, не слишком ли много для 100Мбит? Почти на порядок больше, чем время передачи 1.4к пакета.
  14. Есть приводы, снабженные квадратурными энкодерами с аналоговым (sin/cos) выходом. Нужно выполнить примерно 10х интерполяцию в обычный цифровой (А/В) квадратурный сигнал. Производитель предлагает платы, выполняющие эту функцию, но цены и сроки поставки нас не устраивают. Хочется самим сделать что-то подобное. По сему вопрос: нет ли для этого каких-нибудь специализированных чипов? Если важны характеристики sin/cos сигнала: униполярный 0.5-3в, максимальная частота 20кГц.