Например TDA7294

Форум РадиоКот • Просмотр темы - CEC (HDMI/consumer electronics control)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт июл 29, 2025 12:53:44

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 10 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: CEC (HDMI/consumer electronics control)
СообщениеДобавлено: Сб ноя 06, 2010 23:20:05 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Сообщений: 7439
Откуда: г. Москва
Рейтинг сообщения: 0
Никто не делал вылавливание CEC комманд из HDMI интерфейса ?
Видюх к компу то с HDMI куча, но чтоб хоть в одной было вылавливание комманд с пульта от телека и прочего не видел, а хотелось бы...

Собственно и надо:
1. железный интерфейс от HDMI к чему то общепринятому - I2S, SPI и т.п.
2. какую то программную библиотеку на эту тему.

Видел в инете чтото по первой теме на рассыпухе, но не проверенное. Есть микросхема на эту тему - TDA9950 но вобще не нашел, где ее купить, не только в России.

Делитесь, кто что знает -))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CEC (HDMI/consumer electronics control)
СообщениеДобавлено: Вс ноя 07, 2010 11:19:01 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Сообщений: 7439
Откуда: г. Москва
Рейтинг сообщения: 0
Есть еще CH7322B, но тоже не найти


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CEC (HDMI/consumer electronics control)
СообщениеДобавлено: Вт ноя 16, 2010 11:39:22 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Сообщений: 7439
Откуда: г. Москва
Рейтинг сообщения: 0
Эх, сделал физическую часть, сделал битовую часть, начал уже разбор с фреймами.... и тут нашел, что аппаратный CEC есть в STM32F100 серии копеечных микроконтроллеров -)))
По разбору фреймов есть какие то наработки на ардуино форуме


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CEC (HDMI/consumer electronics control)
СообщениеДобавлено: Ср ноя 17, 2010 10:34:54 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Сб июн 12, 2010 16:19:17
Сообщений: 190
Откуда: Россия, Томск
Рейтинг сообщения: 0
Эх только хотел написать что в СТМ32 есть такая штука и не успел :)

_________________
С уважением, Денис Железняков aka ZiB
Мой блог: http://ziblog.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CEC (HDMI/consumer electronics control)
СообщениеДобавлено: Пт янв 07, 2011 15:28:40 
Родился

Зарегистрирован: Пт янв 07, 2011 14:14:41
Сообщений: 5
Рейтинг сообщения: 0
Облазил всякие зарубежные железячные форумы. Особо по этой теме ничего и нигде нет.
Всё что нашёл можно уложить в четыре пункта:

1. Существует зарубежный сайт где продаётся самодельный девайс для HDMI CEC to USB (фактически в виртуальный COM порт). Но цена неоправдана высока (хотя мне ли судить, если сам сделать не могу), но 3000-4000 рублей жаба давит тратить на функционал для компа, заключающийся лишь в "пауза-стоп-перемотка" с пульта телевизора. Да и не совсем понятно, что там с софтом (функционалом).

2. Нашёл ещё русских разработчиков, создавщих подобный девайс. Но направленность больше на умный дом - девайс может работать автономно, вещая CEC в ethernet сеть. Да и фирма эта OEM, девайс сама не делает и не продаёт. Проэкт этот она сделала для швейцарской фирмы (охранное оборудование). Зашёл на их сайт, нашёл конечное устройство на продажу - цена 12000-14000 рублей... не вариант :)

3. Реализация на ARDUINO. Смотрел. Возможно подходящий вариант. Но тоже не ясно, что там с софтом (одни исходники, скринов нет, описания тоже), так сходу и не видно возможности софта. Надо будет собрать исходнички да посмотреть... Опятьже летает в голове мысля - а зачам они огород городят на ардуино (пишут микропрограмму), если вероятно по тому же принципу (там CEC разделена на два сигнала Rx и Tx) можно было подобным же образом посадить шину HDMI CEC на COM порт и написать (вместо микропрограммы на ардуино), соответствующую программу для КОМ прота (я не спец, и могу конечно не знать каких-то физических ограничений по реализации КОМ порта).

4. Ну и наконец нашёл Австралийского производителя. У него есть ровно то что нужно - "коробочка" CEC-USB и необходимый софт (всё коммерческое, прилизанное). Цены правда пока не знаю, на мой запрос, они написали что устройство новое, и в продажу вот-вот должно поступить. Обещали в ближайшие дни написать стоимость и возможность пересылки в Россию. Полагаю цена опять же будет заоблачной и превысит 150-200 баксов.

У китайцев ещё полазил - там вообще тишина. Очень удивлён, что такая полезная и вобщем-то (ИМХО) дешёвая вещица не получила до сих пор широкого распространения...
Нашёл также и спецификацию на HDMI 1.3 (в которой находится и спецификация на CEC). Сижу вот читаю про реализацию протокола CEC. Умиляет некоторая наивность этого документа и ещё эти рисунки с человечками управляющими телевизором... На HDMI 1.4 талмут в свободный доступ не дают... да и не очень хотелось, там изменения по сути только в передаче 3D.

Видюха кстати такая имеется у Тошибы, только в ноутбуке и втроенная :)) Но HDMI CEC на ней честно работает, можно фильм с пультат телека остановить :)

Вобщем уныло всё. Думал приду на всё готовенькое, немного попаяю, немного понастраиваю... А тут такое дело.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CEC (HDMI/consumer electronics control)
СообщениеДобавлено: Пт янв 07, 2011 17:00:03 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Сообщений: 7439
Откуда: г. Москва
Рейтинг сообщения: 0
Да там все не так сложно.
Я быстренько добрался до получения пакетов от телека, а дальше пока к этой теме подостыл -))

Если кто желает продолжить и результат потом поделиться результатом с общественостью - могу дать кое какую вводную.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: CEC (HDMI/consumer electronics control)
СообщениеДобавлено: Пт янв 07, 2011 17:07:01 
Родился

Зарегистрирован: Пт янв 07, 2011 14:14:41
Сообщений: 5
Рейтинг сообщения: 0
Буквально только что наткнулся на один патент... и вероятно понял почему ни в одной видеокарте не реализован HDMI CEC.

Во всём виноват идиотский патент на управление персональным копьютером с телевизора посредством CEC (ну как же можно выдавать патент на велосипед). Неужели это не очевидно из самой сути CEC ??? Так нет же, выдали такой вот патент... И теперь никто не может делать видюхи с CEC без оплаты патента. А какой вендор будет оплачивать патент на такую малонужную в компе вещь?...
Вот такие дела.
Ссылку не даю, легко надёте: Патент США № 20080172504
поиском в гугле "United States Patent 20080172504".

Может тоже запатентовать какую-нибудь очевидную вещь. Ну например "Процесс мочеиспукания в положении стоя". И там уж либо сидя, либо плати :)

Делись наработками, надо ж как-то тему развивать :) Может я чего наковыряю, если ума хватит :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CEC (HDMI/consumer electronics control)
СообщениеДобавлено: Пт янв 07, 2011 17:24:02 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Сообщений: 7439
Откуда: г. Москва
Рейтинг сообщения: 0
Вобщем в некоторых схемах делают просто - подтягивают через через 27k резистор линию к +3.3в (порой даже без диода) и сразу на ногу микроконтроллера.
Работать скорее всего будет, но как то глубокого соответствия стандарту и защищенности от разных напастий судьбы не ощущается...
Покапавшись в разных аппликейшн нотах на тему CEC и описанию, получилось такое:
Вложение:
cec_hwd.PNG [11.14 KiB]
Скачиваний: 1392

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

С прерываниями на атмеловом арме по изменению состояни ноги чтото я или не разобрался, или патроны не той системы (чтото типа дребезга контактов), пока выкинул.

Для sam7s256 атмеловского.
чего достиг - выводятся на консоль пакеты пакеты опроса присутствия девайнос на шине и все -))
тошибовский 46 дюймовый телек такие раз в 3-4 минуты рассылает, ловятся.

#include "board.h"
#include "aic.h"
#include "pio.h"

#include <pit.h>
#include <utility/trace.h>


/* CEC Start Bit Timing Defintions, in us (10-6 s) */
/* Recieve Start */
#define Sbit_Min_LD 35 // Start Bit Minimum Low duration
#define Sbit_Max_LD 39 // Start Bit Maximum Low duration
#define Sbit_Min_TD 43 // Start Bit Minimum Total duration
#define Sbit_Max_TD 47 // Start Bit Maximum Total duration
/* Transmit Start */
#define Sbit_Nom_LD 37 // Start Bit Nominal Low duration
#define Sbit_Nom_HD 8 // Start Bit Nominal High Duration

/* Recieve Data */
#define Dbit_Min_TD 20 // Data Bit Minimum Total Duration
#define Dbit_Max_TD 28 // Data Bit Maximum Total Duration
#define Dbit_Sample 11 // Data Bit Sample time
/* Transmit Data */
#define Dbit_High_LD 6 // Data Bit Nominal Low duration
#define Dbit_High_HD 18 // Data Bit Nominal High Duration
#define Dbit_Low_LD 15 // Data Bit Nominal Low duration
#define Dbit_Low_HD 9 // Data Bit Nominal High Duration

#define Ack_HD 13 // Set High duration after ACK
#define Ack_sample 5 // The acknowledge is sampled after the low duration is transmitted.

/// PIT period value in µseconds.
#define PIT_PERIOD 100

/// Global timestamp in milliseconds since start of application.
volatile unsigned int timestamp = 0;
volatile int waiting_edge; // 1 - pos, 0 - neg
volatile int lasttimestamp;

#define IRQDELAY 2

//----------
// Local functions
//----------

//----------
/// Handler for PIT interrupt. Increments the timestamp counter.
//----------
void ISR_Pit(void)
{
unsigned int status;

// Read the PIT status register
status = PIT_GetStatus() & AT91C_PITC_PITS;
if (status != 0)
{
// Read the PIVR to acknowledge interrupt and get number of ticks
timestamp += (PIT_GetPIVR() >> 20);
}
}

//----------
/// Configure the periodic interval timer to generate an interrupt every
/// millisecond.
//----------
void ConfigurePit(void)
{
// Initialize the PIT to the desired frequency
PIT_Init(PIT_PERIOD, BOARD_MCK / 1000000);

// Configure interrupt on PIT
AIC_DisableIT(AT91C_ID_SYS);
AIC_ConfigureIT(AT91C_ID_SYS, AT91C_AIC_PRIOR_LOWEST, ISR_Pit);
AIC_EnableIT(AT91C_ID_SYS);
PIT_EnableIT();

// Enable the pit
PIT_Enable();
}

Pin output = {AT91C_PIO_PA31, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT};

enum _frame_state { B_START_L=0, B_START_H, B_1_L, B_1_H, B_2_L, B_2_H, B_3_L, B_3_H, B_4_L, B_4_H, B_5_L, B_5_H, B_6_L, B_6_H, B_7_L, B_7_H, B_8_L, B_8_H, B_EOM_L, B_EOM_H, ACK} frame_state;

///////////////////////////////////

void CECFramer(int eom, unsigned char val)
{
printf("FRAME 0x%.2x, oem %d\n", val, eom);
}

int lastdur, begval;
unsigned char recv_byte;

void AnalizeT(int level, int duration)
{
// ждем старт бит

if(frame_state == B_START_L)
{
if(level == 0 && (duration >= Sbit_Min_LD && duration <= Sbit_Max_LD))
{
lastdur = duration;
frame_state++;
}
else
{
frame_state = B_START_L;
}

return;
}

if(frame_state == B_START_H)
{
if(level == 1 && (duration + lastdur) >= Sbit_Min_TD && (duration + lastdur) <= Sbit_Max_TD)
{
recv_byte = 0;
frame_state++;
}
else
{
frame_state = B_START_L;
}

return;
}

// пошли данные
int bitnum = frame_state >> 1;

if(frame_state & 1) // wait H
{
if(level != 1 || (lastdur + duration) < Dbit_Min_TD || (lastdur + duration) > Dbit_Max_TD)
{
frame_state = B_START_L;
return;
}

frame_state++;

if(frame_state == ACK) // шлем ACK
{
CECFramer(begval, recv_byte);

frame_state = B_START_L;
}
else
{
if(begval)
recv_byte |= 1 << (8 - bitnum);
}
}
else // wait L
{
if(level != 0)
{
frame_state = B_START_L;
return;
}

begval = duration < Dbit_Sample;
lastdur = duration;
frame_state++;

return;
}
}

void SendACK()
{
int timeout = timestamp + Ack_HD;

PIO_Set(&output);

while(timestamp < timeout ) ;

PIO_Clear(&output);
}

int main()
{
Pin leds[] = { PINS_LEDS };

TRACE_CONFIGURE(DBGU_STANDARD, 115200, BOARD_MCK);
printf("-- Getting Started Project %s --\n\r", SOFTPACK_VERSION);
printf("-- %s\n\r", BOARD_NAME);
printf("-- Compiled: %s %s --\n\r", __DATE__, __TIME__);

// Configuration
ConfigurePit();

Pin input = {AT91C_PIO_PA30, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_INPUT, PIO_DEGLITCH}; // GPIO
// Pin input = {AT91C_PIO_PA30, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_DEGLITCH}; // INT
Pin output = {AT91C_PIO_PA31, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT};

PIO_Configure(&leds[0], sizeof(leds) / sizeof(Pin));
PIO_Set(&leds[0]);
PIO_Clear(&leds[1]);

PIO_Configure(&input, 1);
PIO_Configure(&output, 1);
PIO_Clear(&output);


// AIC_ConfigureIT(AT91C_ID_IRQ1, AT91C_AIC_SRCTYPE_EXT_NEGATIVE_EDGE | AT91C_AIC_PRIOR_HIGHEST, ISR_IRQ1);
waiting_edge = 0;
lasttimestamp = 0;
// AIC_EnableIT(AT91C_ID_IRQ1);


int lasttimestamp, state, laststate = 1;
frame_state = B_START_L;

////

while(1)
{
state = PIO_Get(&input);

if(state)
{
PIO_Set(&leds[0]);
PIO_Clear(&leds[1]);
}
else
{
PIO_Set(&leds[1]);
PIO_Clear(&leds[0]);
}

if(laststate != state)
{
int val = timestamp;
AnalizeT(!state, val - lasttimestamp);
lasttimestamp = val;
}

laststate = state;
}


return 0;
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CEC (HDMI/consumer electronics control)
СообщениеДобавлено: Ср янв 12, 2011 12:22:28 
Родился

Зарегистрирован: Пт янв 07, 2011 14:14:41
Сообщений: 5
Рейтинг сообщения: 0
Тем временем пришёл ответ от Австралийского производителя:
Цитата:
Thank you for your patience while I have tried to find out more details re the ID#842, "HDMI CEC Control Box".

Unfortunately, our Factory has been very slow over the past week and I have once again made Inquiries on your behalf.

I hope to contact back to you very soon with details as required.

Best Regards,
Chris Bailey.
Manager
sales@converters.tv


Новый год он и в австралии - новый год :) Ладно, жду дальше (блин, хоть бы цену написал примерную, любят тянуть кота за хвост).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CEC (HDMI/consumer electronics control)
СообщениеДобавлено: Вт окт 25, 2011 06:26:59 
Родился

Зарегистрирован: Ср янв 19, 2011 04:10:39
Сообщений: 1
Рейтинг сообщения: 0
USB - HDMI-CEC Adapter:
http://www.tested.com/news/usb-to-cec-a ... ideo/2789/
http://www.missingremote.com/news/2011- ... dapter-pcs
http://www.pulse-eight.com/store/produc ... x#overview

Железо "The CEC adapter ships on September 26 for $47.98."

http://www.pulse-eight.com/store/produc ... #downloads Windows Driver
http://packages.pulse-eight.net/ XBMC for Ubuntu Latest stable version + OpenELEC+Pulse Latest stable version: r8629

Кто-нибудь пробовал как оно в работе?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y