Jump to content

    

ser

Участник
  • Content Count

    55
  • Joined

  • Last visited

Everything posted by ser


  1. Добрый день! Не удается запустить SFP модуль, ядро отказывается его включать. Если притянуть TX_DISABLE модуля к земле все работает. Процессор i.MX287, ядро 5.6.2. DTS: ahb@80080000 { mac0: ethernet@800f0000 { phy-mode = "rmii"; pinctrl-names = "default"; pinctrl-0 = <&mac0_pins_a>; phy-supply = <&reg_board_3v3>; phy-reset-gpios = <&gpio4 13 0>; phy-reset-duration = <100>; phy-handle = <&ethphy0>; managed = "in-band-status"; status = "okay"; mdio { #address-cells = <1>; #size-cells = <0>; ethphy0: ethernet-phy@3 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <3>; max-speed = <100>; }; ethphy1: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; reg = <1>; max-speed = <100>; micrel,fiber-mode; sfp = <&fiber>; }; }; }; mac1: ethernet@800f4000 { phy-mode = "rmii"; pinctrl-names = "default"; pinctrl-0 = <&mac1_pins_a>; phy-supply = <&reg_board_3v3>; phy-handle = <&ethphy1>; status = "okay"; }; }; fiber: fiber { compatible = "sff,sfp"; i2c-bus = <&i2c0>; los-gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; mod-def0-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&sfp_pins_gpio>; tx-disable-gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>; tx-fault-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>; }; лог ядра: . . [ 2.875500] libphy: SFP I2C Bus: probed [ 2.879840] sfp fiber: Host maximum power 1.0W [ 2.888324] libphy: Fixed MDIO Bus: probed [ 3.005492] libphy: fec_enet_mii_bus: probed [ 3.021072] i2c /dev entries driver . . [ 200.551606] Micrel KSZ8081 or KSZ8091 800f0000.ethernet-1:03: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=800f0000.ethernet-1:03, irq=POLL) [ 211.842321] Micrel KSZ8041 800f0000.ethernet-1:01: attached PHY driver [Micrel KSZ8041] (mii_bus:phy_addr=800f0000.ethernet-1:01, irq=POLL) при подключении SFP модуля [ 493.262941] sfp fiber: SM: enter empty:detached:down event tx_clear [ 493.269402] sfp fiber: SM: exit empty:detached:down [ 493.274492] sfp fiber: SM: enter empty:detached:down event insert [ 493.280751] sfp fiber: SM: exit probe:detached:down [ 493.602920] sfp fiber: SM: enter probe:detached:down event timeout [ 493.626051] sfp fiber: module D-Link DEM-220T rev C1 sn S9121H3000239 dc 170316 [ 493.635527] sfp fiber: SM: exit waitdev:detached:down [ 507.866207] sfp fiber: SM: enter waitdev:detached:down event los_low [ 507.872739] sfp fiber: SM: exit waitdev:detached:down [ 508.803644] fec 800f4000.ethernet eth1: Link is Up - 100Mbps/Half - flow control off отключение кабеля [ 2035.134718] sfp fiber: SM: enter waitdev:detached:down event los_high [ 2035.141430] sfp fiber: SM: exit waitdev:detached:down [ 2035.587365] fec 800f4000.ethernet eth1: Link is Down
  2. GPIO и DTB

    Здравствуйте. Необходимо получить состояние порта GPIO1_24(вход), процессор IMX287, ядро Linux 3.16.1. поддержка sysfs интерфейса включена, в dtb файле прописано так: pinctrl@80018000 { pinctrl-names = "default"; bisy_pin_gpio1_24: bisy_pin_gpio1_24@0 { reg = <0>; fsl,pinmux-ids = < MX28_PAD_LCD_RD_E__GPIO_1_24 >; fsl,drive-strenght = MXS_DRIVE_4mA>; fsl,voltage = <MXS_VOLTAGE_HIGH>; fsl,pull-up = <MXS_PULL_DISABLE>; } что еще надо прописывать в DTB файле?
  3. Здравствуйте. Общее описание задачи. Прием сигнала LTC по SMPTE 12M-1, при этом прибор еще является разветвителем и имеет 3 выхода LTC. Вход и выход должны быть гальванически развязаны. Также прибор должен анализировать код и отображать его на дисплее. Вход и выход балансный. На данном этапе мало что понятно, информации кроме самого стандарта нет. Существуют ли готовые приемопередатчики этого сигнала? Или на чем они строятся? по стандарту: В найденной схеме светового пульта на входе SMPTE стоит LTC485, принять ей вроде как нормально, но для передачи ее уровень выходных напряжений велик.
  4. а я вот ничего холосего и класивого не вижу, если продолжить цитировать тот документ, что Вы начали: Цитата from Atmel AVR1020: Migration from ATxmega256A3/192A3/128A3/64A3 to ATxmega256A3U/192A3U/128A3U/64A3U т.к. программа писалась относительно давно, то немного подзабылось, что она еще и сама управляет этим передатчиком USART, соответственно когда я отключал USART на PD3 при конфигурировании, в остальной программе ничего не менялось... она так же выключала уже выключенный при конфигурировании UART, при этом даже если PD3 был сконфигурирован на выход он становился на вход, со всеми вытекающими... небольшая особенность a3u...
  5. Проблема решена, все дело оказалось в маленьком различии USART A3 и A3U, ну и невнимательности конечно... XMEGA A MANUAL XMEGA AU MANUAL всем спасибо
  6. собрано две платы макетных результат на обоих одинаковый, замыканий на землю и на соседние проводники нет, да и лог.1 на порту можно выставить PORTD_PIN3CTRL = PORT_INVEN_bm; но прямая запись в порт значения не работает имею ввиду если бы дефолтное значение влияло на работу то не работал бы еще один уарт например если же рассматривать структурную схему порта то выходная защелка отделена от элемента инвертирующего выход еще одним элементом на который приходит сигнал "OUT Override Enable" он видимо и не дает работать порту но модулей которые могут выйти на это пин всего два и оба отключены, да и структурная схема портов у 256a3 и 256a3u абсолютно одинаковая, как впринципе и основная часть даташита
  7. да, по умолчанию все ремапы выключены но мне кажется что это проблема не модуля, по какой то причине не работает сам порт на который должен выйти усарт. различий REMAP регистр тоже не делает если бы он влиял половина бы не работала
  8. к сожалению в даташитах не было найдено ответа на данный вопрос, адреса у регистров не менялись, модули атмел на данный порт не добавлял, на нем возможен выход двух модулей TCD0.OC0D и USARTD0, и это не объясняет почему не работает управление именно PD3, а остальные 50 выводов работают, в том числе и другие модули и без особенностей
  9. Доброго времени суток! Возникла следующая проблема готовый проект написаный и отлаженный под xmega256a3 понадобилось перенести на xmega256a3u. При этом перестал работать USARTD0, используется только на выход, порт PD3. Отключив USART было выяснено, что прямое управление портом вообще не работает, он глухо в лог.0, единственное на что он реагирует это инвертирование выходного сигнала. Есть подозрение что это может быть из-за модуля USB, но он пока не нужен... В еррате вообще тишина, все документы атмела говорят, что просто записывайте проект даже без перекомпиляции под a3u и все должно работать, хотя и с перекомпиляцей не работает.
  10. максимальное поддерживаемое разрешение 1600*1200(UXGA), один кадр при 24 битной записи это 46 Мбит, а при 32 битной записи 62 Мбита... удобнее я так думаю работать с 32 битной записью. информации на сколько можно раскочегарить Cyclone 3 я не нашел, есть только косвенная информация о плате Cyclone III FPGA Development Kit, на которой стоит DDR2 SDRAM и заявлено что она поддерживает разрешение UXGA и HDTV 1080p, и работает через память... на данном этапе сменить плис не проблема, главное понять, как все таки сделать лучше. плату расчитываю на 6 слоев, правда не знаю реально ли это впринципе для памяти DDR2... примеры разводки плат Altera пугают насчет преобразования частоты пока не решено, возможно она будет установлена константой 60Гц и прописана в EDID, а возможно входная 75 Гц допустим будет преобразовываться к 60 Гц, в настоящий момент думаю как проще, но с учетом на будущее
  11. DmitryR вы меня не правильно поняли, вопрос: относился к написанному далее: т.е. тактовая 200 МГц, а надо не менее 250 МГц, что влечет за собой смену семейства, подходят получается: - Arria II с тактовой 333Мгц - Stratix III с тактовой 400Мгц - Stratix IV, Stratix V с тактовой 400Мгц правильно я все понимаю? кто что порекомендует? обработка видео это конечно громко сказано, начальная задача выглядит так: 1. приняли сигнал допустим 1280*1024 2. разрезали на 4 части по 640*480 3. отправили на 4 выхода DVI/HDMI (пока не выбрано) как предполагаю чтение с памяти будет одновременным выводом, и специально резать на куски нет необходимости.
  12. не понимаю этот расчет... выбор плис был впринципе основан на Cyclone III FPGA Development Kit, BGA технология пока недоступна, поэтому был выбран TQFP корпус. причина по которой надо выбирать другую плис эта? на что тогда расчитан Cyclone III FPGA Development Kit, на котором установлено 256 MB DDR2 SDRAM??
  13. Доброе время суток. Появилась задача принять и обработать видео сигнал. Источник сигнала вход DVI на микросхеме TI TFP401, обработкой предположительно будет заниматься Altera Cyclone III EP3C16Q240C8N. Максимальная частота видеоданных у TFP401 по даташиту 165 МГц, а надо еще успеть записать и прочитать. Вот и вопрос какой тип памяти лучше применить SRAM, SDRAM или DDR SDRAM с учетом сложности разводки платы и программной реализации. Опыта работы с ПЛИС особо нет.
  14. хочу прикрутить AVR ISP mkII к Eclipse, но avrdude не видит программатор... параметры запуска: avrdude -p x256a3 -c avrisp2 через некоторое время молчания появляется сообщение в чем может быть проблема? P.S. С AVRStudio все работает нормально.
  15. это чтоб записать 2 байта в EEPROM надо городить такой огород? или попроще можно?
  16. Доброе время суток. Возникла такая проблема: Компилятор AVR GCC, контроллер ATxmega256a3. при подключении заголовочного файла <avr/eeprom.h> компилятор выдает следующие ошибки: d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:141:4: error: #error "Unknown EEPROM register(s) location." d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:197:1: error: invalid suffix "x__EEPROM_REG_LOCATIONS__" on integer constant d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:201:1: error: invalid suffix "x__EEPROM_REG_LOCATIONS__" on integer constant d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:215:1: error: invalid suffix "x__EEPROM_REG_LOCATIONS__" on integer constant d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:217:1: error: invalid suffix "x__EEPROM_REG_LOCATIONS__" on integer constant d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:300:1: error: invalid suffix "x__EEPROM_REG_LOCATIONS__" on integer constant d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:311:1: error: invalid suffix "x__EEPROM_REG_LOCATIONS__" on integer constant d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:313:1: error: invalid suffix "x__EEPROM_REG_LOCATIONS__" on integer constant d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:324:1: error: invalid suffix "x__EEPROM_REG_LOCATIONS__" on integer constant d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h: In function 'uint8_t eeprom_read_byte(const uint8_t*)': d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:197: error: 'EEWE' was not declared in this scope d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:216: error: 'EERE' was not declared in this scope d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h: In function 'void eeprom_write_byte(uint8_t*, uint8_t)': d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:300: error: 'EEWE' was not declared in this scope d:/winavr/lib/gcc/../../avr/include/avr/eeprom.h:326: error: 'EEMWE' was not declared in this scope понятно что надо что то указать (предположительно адреса), но вот что и куда не понятно...
  17. Доброе время суток! Возникла вот такая проблема при подключении PIC18F4550 к порту USB WinXP сообщает что "Устройство USB не опознано"... компилятор HI-TECH firmware микрочипа закомментированы строчки //#define USE_SELF_POWER_SENSE_IO //#define USE_USB_BUS_SENSE_IO питание от USB, на линиях резисторы по 36 Ом, на vusb конденсаторы 10 uF и 0,1 uF, кварц 20 МГц конфигурация контроллера: __CONFIG(1, HSPLL & USBPLL & PLLDIV5 & PLLPOSTDIV2 & FCMDIS & IESODIS); __CONFIG(2, VREGEN & PWRTDIS & BOREN & BORV20 & WDTDIS & WDTPS32K); __CONFIG(3, CCP2RC1 & PBADDIS & LPT1DIS & MCLREN); __CONFIG(4, STVREN & LVPDIS & ICPORTDIS & XINSTDIS & DEBUGDIS); __CONFIG(5, UNPROTECT); __CONFIG(6, UNPROTECT); __CONFIG(7, UNPROTECT);
  18. А что тогда считает PI EXPERT?? :( Схему смогу показать только в понедельник...
  19. ИМХО в данном случае на континус изначально нужно было ориентироваться, это повысило бы КПД, и микросхему пониже рейтингом можно было взять. Возникают только повышенные требования к выпрямительным диодам и сложнее стабилизировать ОС. Считаю, что дисконтинус - это удел нескольких десятков ватт, за 50Вт разумнее расчитывать на континус. У меня практически нет опыта проектирования на ТОП, некоторые вопросы может быть никогда бы не возникли если бы он был... Для меня, например, это было далеко не очевидно. :unsure: Для этого, как правило, достаточно подключить резистор последовательно с кондёром на ножке C (Control). Он есть и в типовой схеме; для континуса номинал резистора должен быть увеличен ом до 15-30. Хотя, форма переходных процессов при такой примитивной коррекции всё же оставляет желать лучшего. :( Да, ещё. Я бы всё-таки предложил рассмотреть возможность применения ETD39 сердечника: транс на меньшем габарите для такой выходной мощности требует очень тщательного изготовления, что в кустарных условиях не всегда достижимо. Заодно и потери уменьшатся, и связь обмоток можно сделать получше, и от континуса удастся уйти... Вообще континус вовсе не так плох, как об этом часто говорят. Требуется только аккуратность при расчёте частотно-зависимых параметров ОС, а преимуществ у такого режима немало. на ETD39 мотал, получилось тоже самое... похоже это все таки обратная связь, точнее ее частотная неустойчивость... хотя может быть еще гдето просчитался
  20. извиняюсь некорректно написал: вся обмотка 18 витков (69В) первая 5 витков (18В) вторая 13 витков (отвод на 47В)
  21. а что в Вашем пониманни должно происходить?;) я не спорю что коэффициент заполнения должен увеличиваться, но почему он становится максимальным? мне почему-то кажется что должен оставатся какой-то запас... Трансформатор: ETD34/17/11 материал феррита 3F3, зазор 0,8мм: индуктивность первичной обмотки 240uH(измеренная) количество витков 18+19(первая часть на каркасе, вторая поверх всех обмоток) обмотка обр. связи 4 витка вторичные: 5 витка(18В) 8 витка(47В) 5 витка(69В) половинки сердечника стянуты лентой (желтая такая)
  22. непонятно почему коэфициент заполнения приближается к максимальному при увеличении потребляемой мощности... мощность 50%: Мощность 80%: у кого какие мысли? :cranky:
  23. Выводы: Микросхему пришлось заменить на TOP249. И как показала практика, стабилизацию лучше заводить с двух больших напряжений (69В и 47В). Резисторы пришлось поставить с точностью 1%. Если стабилизацию брать по одному большему напряжению, то второе меньшеее напряжение не укладывается в необходимые нормы. Вариант стабилизации по всем 3 напряжениям тоже не увенчался успехом... На данный момент осталась одна проблема: при мощности > 50% трансформатор начинает трещать(звук такой как будто половинки стучат друг об друга)...
  24. Идея была, но она так и осталась идеей... Напряжение +3.3В обычно не стабизируют через дроссель групповой стабилизации. Через дроссель обычно пропускают напряжения +5В и +12В иногда еще отрицательные, но после дросселя все равно стоят делители через которые и идет стабилизация.