Jump to content

    

misyachniy

Свой
  • Content Count

    775
  • Joined

  • Last visited

Community Reputation

0 Обычный

About misyachniy

  • Rank
    Знающий
  • Birthday 10/14/1966

Контакты

  • Сайт
    http://njnmnp.narod.ru
  • ICQ
    0

Информация

  • Город
    Kyiv

Recent Profile Visitors

4627 profile views
  1. Я не об этом. Штамповка, литье, мехобработка, механические, тепловые расчеты и т.д., плохо согласуются с высокоскоростными интерфейсами, программированием. "Посыпать сверху" источниками питания и монтажом плат получиться уж очень респектабельно.
  2. Я не придирчивый, я внимательный к деталям, как требует Атола. У меня другое понимание респектабельности. Вот например два требования: - Уверенное владение современной САПР для разработки электронных устройств - Владение современной механической САПР, умение проектировать корпус и платы устройства в комплексе Сомневаюсь, чтобы респектабельная фирма вела проекты в нескольких разных системах проектирования. Да и соединять конструктора и печатных плат и корпусных/крепежных деталей наверное не очень респектабельно.
  3. У программистов "Тяп-ляп и в production" ;-)
  4. "Продуктовая" подразумевает производство питания. Может "производственная"?
  5. Сделать измерение не зависимо от типа окружающих предметов в принципе невозможно. Для начала нужно указать пределы размеров предметов которые являются целями. Указать какое время отведено на измерение, какой угол обзора. Этого достаточно для начала дискуссии. Применение TOF не ограничивается только измерением времени. Нужно еще понять где собственно сигнал в ответе. Настройка по фронту импульса будет работать при небольших изменения расстояния и отражающей способности предметов. Я работал с измерителями на тысячи метров. У них определеется центр масс отклика, соответсвенно нужно АЦП, плавающий порог, накопление измерений и т.д. Если выбрать лазер "не вредный" и вкачать достаточную мощность, то вероятно можно работать с компаратором по фронту. В ПЛИС Xilinx есть блоки для работы с высокоскоростными сигналами IODELAY2 и ISERDES. https://www.xilinx.com/support/answers/35783.html Их можно приспособить для измерения. Но в "дешевых" Spartan эти времена термозависимы и требуют рекалибровку. Virtex еще дороже.
  6. Мочить ацетоном не правильно. Нужно не снимая с оправки подключить к источнику напряжения и за счет джоулева тепла спечь "пирожок". Ацетон может привести к короткозамкнутым виткам.
  7. "Знание языка MATLAB и владение MATLAB." - языка MATLAB не существует. "Если специалист оценивает себя на 150к/месяц, то мы ждем его вакансию." - может резюме? Также, хотелось подробнее услышать логичное объяснение, как за работу стоимостью 70к работодатель собирается платить 150к?
  8. Я не против утверждения, что нужно соблюдать условия. Вопрос в чем же проблема? При разводке проекта, около 1,5 часа происходит попытка развести проект, потом останов с ошибкой, что некоторые цепи не разведены. Когда я заводил тактирование от кварцевого генератора в ПЛИС, то при разводке получал сообщение, что нужно использовать dedicated input. Картинку я выложил в стартовом посте. Разбираться с настройкой захвата/сдвига пока не получится, так как проект не собирается. //==== Сегодня разбирался с не разведенными сигналами и тактированием. Экспериментируя с отдельно взятым модулем нашел "уязвимое" место проекта. Если использовать для тактирования IODELAY2 примитив IBUFGDS то проект не собирается. Вот это место: Заменил IBUFGDS на IBUFDS. Кроме этого просмотрел сигнал sys_clk, который тоже не разводился. sys_clk формировался с 200 МГц выхода PLL делением на 2. Я перекомпоновал PLL на 100МГц и выбросил делитель. Проект стал "несобираться" заметно быстрее. Если раньше не менее 1,5 часа то сейчас, с размещенными 4-мя IODELAY2 в проекте, за 20 минут вылетает ошибка. Ошибка на каждый установленный IODELAY2: ERROR:PhysDesignRules:2164 - Issue with pin connections and/or configuration on block:<HG_KG/loop[0].iodelay_T>:<IODELAY2_IODELAY2>. The use of attribute DATA_RATE set DDR requires connectivity for the input pins CLK, IOCLK0 and IOCLK1. Клоки у меня подключены, проверил варнинги - нет выброшенных цепей. Ошибка "PhysDesignRules:2164" в Интернете дает всего 3 ссылки и только одна на английском. Проблема была в нарисованой схеме (adcinput_schematic.pdf) и решена. Вот совет: For debug purposes you can set the variable XIL_MAP_NODRC to bypass the error and produce an NCD file that can be examined in FPGA Editor. If there are connections on the clock net that are being removed between the logical design (input netlist) and the physical design (NCD) then it might help to apply an "S" property in the UCF file. Вот как им воспользовались: Doing this did allow me to find out which signal was missing (adc_fclk). Наверное у меня тоже сигнал отбрасывается из проекта. Завтра я установлю XIL_MAP_NODRC в 1 и посмотрю что получиться. Не понятно куда приложить "S" в ucf файле? Не понятно также почему в adcinput_schematic.pdf сигналы кадра и данных сразу не переводиться в одиночный вид, а отдельно каждый выравнивается?
  9. Спасибо всем за ответы. Попробую уточнить вопрос. Я написал прием данных полностью. Мне нужно выровнять данные из за разной длины дорожек - сдвинуть данные так чтобы они не дрожали. Потом я подровняю биты. При установке хотя-бы элемента IODELAY2 проект перестает разводиться. То есть вопрос не в банках и входах. Я уже проверял на "наполненность" ПЛИС обрезанием "лишних" узлов. Считаю, что вопрос именно в разводке IODELAY2. Читаю UG381, ищу слова delay и получаю: Вариант 1 Figure 1-1: Spartan-6 FPGA I/O Tile - нарисован прямой путь PAD->IOB->ISERDES2, а IODELAY2 сбоку. Вариант 2 Figure 2-1: SelectIO Logic Resources within the I/O Input Tile - idelay расположен между IOB и De-serializer ISERDES2 Вариант 3 страница 70: Each IOB in the Spartan-6 FPGA contains a delay line that can be configured either for use as an input delay or output delay, и картинка Figure 2-19: Delay Line Building Block Вариант 4 страница 72: A calibration mechanism is built into each IOB to compensate for the effects of temperature, voltage and process on the individual delays in the IODELAY2 block. This mechanism allows calibration of the IODELAY2 block against a known signal. In this mechanism the I/O clock applied to the IODELAY2 block is used as the known signal. Вот сижу и думаю- где расположен механизм задержки, один ли он, как его включить и настроить? Читаю xapp1064, вроде два механизма задержки. Вначале выравниваем клок на "ноль" на входной задержке, а потом используем IODELAY2. The Spartan-6 FPGA data capture mechanism is based on the input delay primitives (IODELAY2). The individual delay taps are not constant over PVT and therefore require regular calibration. Mechanisms to perform the regular calibration that allow continuous data capture are described in this section and shown in Figure 8. In this sort of data capture, it is important that the capture clock and input data delays are closely matched. To achieve this, the input clock must be routed through an input delay that is set to zero before being routed to either a BUFIO2 or a PLL through a BUFIO2. With this method, the insertion delay in the clock and data paths are equal, and the data delays can be varied to ensure data capture occurs in the middle of the data eye. Что такое "ноль" ? Короче, как мне вставить "модуль задержки" и управлять задержкой в сигнале(ах) данных?
  10. Пытаюсь заставить заработать матрицу со Spartan-6 LX45. Матрица типа GSеnsе2011/2022, распаяна на самодельной платке и присоединена к отладочному набору TЕ0600/0603. Матрица выдает 8 пар данных, клок и пиксельную частоту. В начале написал прием кадра по частям в компьютер. Получил изображение тестового одиночного сигнала который может генерировать матрица. Часть картинки "frame.png" На картинке видно дрожание данных. Остался последний этап - выравнивание данных. Текст модуля приема выкладываю целиком "data_chanel.v" Принцип приема простой: 1) С дифференциального тактового сигнала с помошю IBUFGDS получил два противофазных тактирующих сигнала; 2) Входные пары данны принял через IBUFDS; 3) Принятые сигналы через c IDDR2 выделил в виде "обычных"; 4) Сигналы сложил в 32 разрядные слова и записал в BRAM; В начале попробовал пример от производителя. В нем есть механизм поиска "глазка" и подстройки IODELAY2 Точнее часть примера. Ждал сборку проекта более двух часов - не дождался. Выбросил все надстройки, оставил только 4 модуля IODELAY2 (половина входных данных) - дождался отрицательного ответа: файл "aerosol_top.unroutes" WARNING:ParHelpers:360 - Design is not completely routed. HG_KG/pix_clk_DDR sys_clk Взял пример XAPP1064. Исходники от 2009, новее не удается скачать. Почему то десериализацию 1:12 не производит. Решил, что пусть уже буде 1:8. Тоже не разводится ERROR:Place:1170 - The BUFIO instance <HG_KG/serdes/inst_clkin/bufio2_inst> needs to have all of its IOB loads placed into its same half IO bank. However, due to user-specified constraints, the BUFIO instance <HG_KG/serdes/inst_clkin/bufio2_inst> and its IOB load <GS_OUT_TP<1>> cannot be placed in the same half IO bank. These constraints could be LOCATION or AREA constraints on <HG_KG/serdes/inst_clkin/bufio2_inst>, or <GS_OUT_TP<1>>, or other components connected to them, which could impose an implicit constraint on them. Please check user-specified constraints on all of these components to ensure their combination is not infeasible. "Обвинение" посерьезнее - требует переразвести плату. Нашел xapp524_mods_12bit_4ch, на VHDL, я в VHDL не силен :-( Нашел xapp1071_V6_ADC_DAC_LVDS.pdf и исходник к нему. но почему-то архив запаролен. Вроде как и информациии и примеров много и "почти все работает", а не выходит каменный цветок. Есть ли где проверенный вариант примера приема DDR данных с подобных устройств? Мне только IOBUF2 прикрутить. ;-) data_chanel.v
  11. Так и есть. Кроме того учитывается тип корпуса и качество изготовления. Нашего надежника "купили немцы", по этому не могу сказать точный номер американского военного стандарта 1995 года. Но знаю, что он(надежник) пользовался росийской программой для расчета. В эту программу вбита указанная методика. Мы составляли таблички, а он просто вносил данные и температуру окружающей среды. Рассчитанная по этой надежность удручает. Можно набрать в поисковике что-то типа "xilinx reliability text spartan" и найти чтото-типа "ug116.pdf". Расчитанная по ней надежность радует и разработчика и надежника. Но вопрос всегда упирается в "премку".
  12. Я не "надежник", по этому начну с банальностей которые мне понятны. 1)Ваше утверждение про тысячи и десятки тысяч лет трудно проверить, так как не приведено ссылки на исходные документы и методики расчета. 2) Вы пишете о MTTF, а спрашиваете о сбое. Не знаю как у вас, но на нашем предприятии, это разные понятия. 3) Реальные данные по надежности ПЛИС. Надежник посчитал по ГОСТ, который у нас в ходу по ПЛИС, и получил удручающие данные. В "гражданке" наверное можно применить ГОСТ 27.003-2016, у нас 1995 года. По этому словосочетание "реальные данные" зависит от принимающей/проверяющей стороны. Время от времени производители публикуют экспериментальные данные по надежности. Испытание микросхем годами естественно они не проводят, так как ко времени окончания испытаний, изделия морально устареют. По этому применяют формулы "год/за два" или "год за десять". Например, производитель имеет ввиду, что 1 год при +80 по Цельсию, это 2 при +65 и 1 год при +105 -10 лет. Приемлемо ли это для вашего заказчика? Какое количество экземпляров устройств участвовавших в эксперименте для него достаточно? 4) То, что стойка находится на уровне моря для расчета надежности имеет значение, но у меня есть сомнение, что микросхемы находятся на открытом воздухе и горизонтально к поверхности Земли. 5) Влажность 100% ???
  13. Это на JLCPCB? Я написал им в поддержку и получил ответ. "For the V-cut line , you can make them on GKO layer(outline/Profile/Keep-out)" Посмотрел у товарища, он заказывал платы через посредника в Китае, там есть файл гербера с V-CUT в имени.
  14. Читаем: https://techdocs.altium.com//display/ADOH/CAM+Editor+Panels+for+Fabrication+and+Assembly V-Scoring V-scoring is a viable solution, which applies a v shaped groove between board sections on both the top and bottom sides of the panel, leaving a thin connecting web remaining. All of the details of this process, such as blade angle and web thickness, and whether to apply jump-scoring (areas where the groove is disconnected, making the panel sturdier), must be passed on to the scoring machine operator. Currently, scoring machines require programming. Often this will be taken from non-CAD forms that you fill out indicating the data points and lines within your panel configuration. Some scoring companies will, however, be able to extract drill and line information from Gerber files, in which case you could design the scoring lines in the CAM Editor just how you want them. In any case, placing scoring lines on the top silkscreen layer will provide visual cues for the machine operator, which will be used in conjunction with the extracted and explicit information you provide. Информации около нуля. Читаем: https://www.altium.com/documentation/altium-designer/more-about-outputs-ad?version=18.1 A key part of the panelization process is defining how the individual boards are to be separated. There are two common approaches: V-groove panelization or breakaway-tab panelization. V-groove panelization is inexpensive and effective for rectangular shaped boards; non-rectangular boards must use breakaway tabs. To create breakaway-tab panelization, define a route tool path slot around the edge of each board, leaving small sections of remaining board that are perforated by a series of small holes, as shown in the adjacent image. Информация о (V-сut) V-groove отсутствует
  15. Трудно назвать ответы хорошими. 1)Самим разделять что? Проект или платы резать самим? 2) Изучать матчасть нужно не с помощью советов в разделе Печатные платы/ Изготовление ПП? А где?