Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51
Паразитное излучение с модуля - WiFi) - OEM( - iMX6S - SK - Форум - starterkit.ru
Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:1
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:2
Форум » starterkit.ru » Процессорные модули » SK-iMX6S-OEM(-WiFi)
Паразитное излучение с модуля
Pavel Ivanchenko
Добавлено 26.12.2016 12:42 Редактировалось 26.12.2016 12:56
0
Сообщение: 1
Pavel Ivanchenko
Admin
4.39

Пункты: 91311
Регистрация: 24.03.2009
Пол: Мужчина
Цитата
Мы производим контроллер на базе ваших плат SK-iMX6S-OEM, ядро 3.14.14.

Мы купили более 300 плат. Сейчас проходим сертификацию конечного устройства на соответствие CE.

На данный момент при измерении уровней излучения есть несколько проблемных выбросов за допустимые нормы. Самый большой 250 МГц 5,5 дб.

Щупами ближнего поля обнаружена длинная дорожка вокруг чипов DDR и резистор R24 через которые идет тактирование 50 МГц от процессора на микросхему физики Ethernet.

Видно что выбросы происходят на нечетных гармониках частоты 50 МГц.

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

Логично предположить, что нужно искать "звенящие" интерфейсы и изменять настройки параметров их выходных буферов (на каждый пин идет два параметра которые можно напрямую связать с излучением).
Осмелюсь предположить, что параметр определяющий скорость нарастания фронта будет влиять на "богатство" спектральных составляющих, тогда как параметр эквивалентного последовательного сопротивления будет больше влиять на амплитуды гармоник.
Для простоты, пока не разберетесь где это настраивается, можете заменить R24 на 47-100Ом и посмотреть на результат по излучению.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 26.12.2016 13:18 Сообщение: 2
Pavel Ivanchenko
Admin
4.39

Пункты: 91311
Регистрация: 24.03.2009
Пол: Мужчина
Параметры пинов в старом ядре 3.0.35 задавались в боадфайле - в макросах определения периферии на порт.
В ядре 3.10.17 (вероятнее и во всех более свежих ядрах), параметры пинов передаются в dtsi файле, в структуре объявления пинов.
http://starterkit.ru/html/index.php?name=forum&op=view&id=26076&num=2#26194
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.12.2016 13:53 Сообщение: 3
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Спуститься к концу Подняться к началу
Персональная информация
NikitaUMC
Добавлено 26.12.2016 14:45 Сообщение: 4
NikitaUMC
0

Пункты: 359
Регистрация: 26.12.2016
Спасибо что создали тему.

Вопрос 1: Как можно отключить подачу прямоугольников 50 МГц через резистор R24 ??? с сохранением работы ОС, ибо даже выпаивание резистора оставляет короткий проводник от шара процессора до пятака резистора.


Вопрос 2: Как изменять настройки параметров их выходных буферов, чтобы завалить немножко фронты сигналов или снизить частоту тактирования GPIO чтобы уменьшить излучаемую энергию. Использованы все порты UART и несколько GPIO для линий RE-DE RS485, кнопки и интерфейса 1-wire. Прикладываю секцию настройки GPIO из нашего DeviceTree. Я так понимаю что нас интересуют числа 0x80000000 и 0x1b0b1. Помогите пожалуйста понять как вообще это настраивается, что эти числа значат.

Код

&iomuxc {
hog {
pinctrl_hog: hoggrp {
fsl,pins = <
/* FNC BUTTON*/
MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000
/* LOWER_V*/
MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x80000000
/* OVER_V*/
MX6QDL_PAD_EIM_CS1__GPIO2_IO24 0x80000000
/* NO POWER KNX*/
MX6QDL_PAD_EIM_CS0__GPIO2_IO23 0x80000000

/* UART4 - RS4851 DE */
MX6QDL_PAD_CSI0_DAT16__GPIO6_IO02 0x80000000
/* UART5 - RS4852 DE */
MX6QDL_PAD_CSI0_DAT18__GPIO6_IO04 0x80000000

/* 1-WIRE GPIO */
MX6QDL_PAD_DISP0_DAT0__GPIO4_IO21 0x80000000

/* SELF IDENTIFICATION */
MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x80000000
MX6QDL_PAD_EIM_OE__GPIO2_IO25 0x80000000
MX6QDL_PAD_EIM_WAIT__GPIO5_IO00 0x80000000
MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x80000000
// EIM_BCLK (not have gpio)
MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0x80000000
MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x80000000
MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x80000000
>;
};
};

uart2 {
pinctrl_uart2_oem: uart2-oem {
fsl,pins = <
MX6QDL_PAD_GPIO_7__UART2_TX_DATA 0x1b0b1
MX6QDL_PAD_GPIO_8__UART2_RX_DATA 0x1b0b1
>;
};
};

uart3 {
pinctrl_uart3_oem: uart3-oem {
fsl,pins = <
MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
>;
};
};

uart4 {
pinctrl_uart4_oem: uart4-oem {
fsl,pins = <
MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
>;
};
};

uart5 {
pinctrl_uart5_oem: uart5-oem {
fsl,pins = <
MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1
MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1
>;
};
};
};
Спуститься к концу Подняться к началу
Персональная информация
NikitaUMC
Добавлено 26.12.2016 14:48 Сообщение: 5
NikitaUMC
0

Пункты: 359
Регистрация: 26.12.2016
ок, по 0x1b0b1 прочитал, буду разбираться

что значит 0x80000000 в секции hog?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.12.2016 15:51 Редактировалось 26.12.2016 15:55 Сообщение: 6
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Цитата

Вопрос 1: Как можно отключить подачу прямоугольников 50 МГц через резистор R24 ???


насколько понимаю это тактирование eth phy - тогда можно отключить в убуте CONFIG_FEC_MXC - поменять define на undef

uboot-imx_3.10.31_1.1.0_beta-sk/include/configs/oem_imx6.h

/* #define CONFIG_FEC_MXC */
#undef CONFIG_FEC_MXC

это отключит сеть вместе с инитом тактирования с процессора.

Цитата

что значит 0x80000000 в секции hog?


https://github.com/SolidRun/linux-imx6-3.14/blob/linux-linaro-lsk-v3.14-mx6/Documentation/devicetree/bindings/pinctrl/fsl%2Cimx-pinctrl.txt#L33

пин не конфигурируется в ядре - в настройках пина остается то что было сконфигурировано до ядра, для GPIO - настройки по умолчанию после сброса.
Спуститься к концу Подняться к началу
Персональная информация
NikitaUMC
Добавлено 29.03.2017 11:56 Сообщение: 7
NikitaUMC
0

Пункты: 359
Регистрация: 26.12.2016
Получили соответствия по мощности электромагнитного излучения.

Проблема действительно была в тактировании eth phy.

Решением было добавление в dts файл конфиурации регистра PAD_CTL пина ENET_REF_CLK

&iomuxc {
fec {
pinctrl_enet_oem: enet-oem {
fsl,pins = <
MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b088

>;
};
};
};

это соответствует PAD_CTL_DSE_240ohm

Большое спасибо за помощь.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-iMX6S-OEM(-WiFi)