Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:3
Форум » starterkit.ru » Embedded Linux
adv7180 автоопределение видеовхода (PAL/NTSC)
soldatic
Добавлено 27.01.2017 11:34
0
Сообщение: 1
soldatic
4

Пункты: 3394
Регистрация: 28.10.2015
Здравствуйте!
У нас такая ситуация: поставили изделия, в которых
задействовано видео АЦП adv7180.
Как-то не задумывались из-за цейтнота работали с камерой PAL, а заказчик закупил камеры NTSC.
При изменении в dtsi:
cam_std = <1>; // 0 - PAL(default), 1 - NTSC J , 2 - NTSC M
эти камеры работают.
У нас есть возможность перепрограммирования изделия у заказчика (приложение ), но нет возможности перепрошивки ядра.
1) Можно ли достучаться из приложения по i2c до adv7180 и поменять тип видеовхода?
2) Можно ли настроить adv7180 на автоопределение типа видеовхода.

Заранее, всем спасибо.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 27.01.2017 11:59 Редактировалось 27.01.2017 12:27 Сообщение: 2
sasamy
4.71

Пункты: 83552
Регистрация: 14.08.2009
1) Можно если в ядре включен I2C device interface (CONFIG_I2C_CHARDEV) - штатно включен если не изеняли конфиг. Еще потребуются утилиты i2c-tools, в buildroot

Target packages --->
Hardware handling --->
[*] i2c-tools

пример использования

http://trac.gateworks.com/wiki/Yocto/Video_In

там переключается видеовход но так можно изменить любые регистры

Стандарт устанавливает регистр 0x00

Цитата

#define ADV7180_INPUT_CTL 0x00 /* Input Control */

...............

/* Set CVBS input on AIN1 */
adv7180_write_reg(ADV7180_INPUT_CTL, adv7180_data.cam_std & 0xf0);

.................

switch (cam_std) {
case 1:
/* NTSC J */
adv7180_data.std_id = V4L2_STD_NTSC;
adv7180_data.cam_std = 0x40;
video_idx = ADV7180_NTSC;
break;
case 2:
/* NTSC M */
adv7180_data.std_id = V4L2_STD_NTSC;
adv7180_data.cam_std = 0x50;
video_idx = ADV7180_NTSC;
break;
default:
/* PAL */
adv7180_data.std_id = V4L2_STD_PAL;
adv7180_data.cam_std = 0x80;
video_idx = ADV7180_PAL;
}



2) Штатный драйвер Freescale (NXP) так и настроен, но с автоопределением стандарта CSI очень медленнo синхронизируется при пропадании сигнала (или комутации) и даже просто при включении - картинка медленно "крутится" вниз несколько секунд. В 3.10.17 драйвер измененный - он сразу настраивается на нужный стандарт. В других ядрах драйвер не измененный с автоопределением стандарта - даже если в DTS присутствует строки

cam_std = <1>; // 0 - PAL(default), 1 - NTSC J , 2 - NTSC M

она ни на что не влияет, повторюсь - такой драйвер только в ядре 3.10.17

http://starterkit.ru/html/index.php?name=forum&op=view&id=23575&num=2#23709
Спуститься к концу Подняться к началу
Персональная информация
soldatic
Добавлено 01.02.2017 11:07 Сообщение: 3
soldatic
4

Пункты: 3394
Регистрация: 28.10.2015
Cпасибо!
Все получилось с использованием i2c-tools:
i2cset -f -y 0 0x21 0x00 0x40 - для NTSC-J
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux