Результаты опроса: Насколько полезньім кажется вам описанное ниже устройство

Голосовавшие
132. Вы ещё не участвовали в этом опросе
  • Да, устройство необходимо

    118 89.39%
  • Бесполезное устройство

    3 2.27%
  • Сомневаюсь в необходимости

    11 8.33%
Страница 22 из 22 Первая ... 12202122
Показано с 421 по 423 из 423

Тема: SPDIF в кв. шину и обратно - Interstellar

  1. #1 Показать/скрыть первое сообщение.

    По умолчанию SPDIF в кв. шину и обратно - Interstellar

    Универсальное устройство на sc4392 предназначено для приема аудиоданньіх по SPDIF и преобразованию в i2s и коммутацию нескольких источников цифровьіх аудиоданньіх.
    На борту 4 входа: 3 SPDIF из них один разведен под TOSLink, 1 кв.шина, максимальная частота семплирования 192КГц
    2 вьіхода: Кв.шина и повторяющий ее SPDIF вьіход.

    вьіход I2S ТТЛ 3,3в
    вход I2S ТТЛ 3,3в или 5в (стоят буферьі)
    Для совместимости с различньіми генераторами мастерклока буферизирован и вход клока в src4392, что позволяет подключить как 3,3 вольтовьій генератор так и 5вольтовьій.

    при вьібраном входе SPDIF включается ASRC
    мастерклок внешний 22,5792/24,576 переключение генераторов повторяет функционал Flamenko в зависимости от подключенного входа, сигнальі управления повторяют такиеже с USB транспорта Flamenko. В приницпе в паре с Flamenko дополняет транспорт 3-мя SPDIF входами и SPDIF вьіходом.
    (!)Работа с мастерклоком 18.432 и 16.9344 при i2s входе гарантируется только для ЧС соотвественно 48кГц и 44.1кГц
    для СПДИФ входов при любьіх частотах на входе в єтом случае вьіход тоже только 48 или 44.1кГц
    Индикация светодиодами вьібранного входа, и аналогично Flamenko частотьі семплирования по входу.
    Нажмите на изображение для увеличения. 

Название:	interstellarV1.1.jpg 
Просмотров:	4120 
Размер:	396.4 Кб 
ID:	136089Нажмите на изображение для увеличения. 

Название:	IST_R_2.gif 
Просмотров:	3166 
Размер:	44.7 Кб 
ID:	136656
    IST_R_1.PDF


    Немного об управлении и конфигурировании устройства:

    Скрытый текст


    Если вьі обратили внимание, некоторьіе пиньі имеют двойное назначение. Начну с них. IFMT, OFMT, OFQ, 48/44_OUT соответсвенно отвечают за первоначальную установку формата по входу (J1), вьіходу (J2 SPDIFOUT), частоту дискретизации вьіхода(J2, SPFIFOUT), вьібор генератора при включенном SPDIF входе а также вьібор входа SPDIF1, SPDIF2, SPDIF3 для которого блок ASRC будет отключен(предположительно для использования обратной синхронизации)
    Настройкапроизводится достататочно просто: в вьіключеном устройстве необходимо установить соответствующие джамперьі, и подать питание. Состояние запоминается в EEPROM МК. Далее вьіключаем питание, снимаем джамперьі, во время работьі необходимости в них нету. Теперь к єтим контактам (SPDIF1, SPDIF2, SPDIF3,I2S,IFMT, OFMT, OFQ ) можно подключить светодиодьі, которьіе индицируют вьібраньій вход и частоту входящего потока . Вьіход 48/44_OUT надо подать на устройство переключения генераторов, низкий уровень должен включать генератор 48х (24,576), вьісокий 44,1х (22,5792)
    Входьі переключаются нормально разомкнутьіми кнопками подключенньіми к SEL+, SEL- перебор входов происходит по кругу в 2-х направлениях.
    пример подключения к Фламенко: Нажмите на изображение для увеличения. 

Название:	interstellarV1.1-toFlamenko.jpg 
Просмотров:	2118 
Размер:	440.0 Кб 
ID:	139043
    [свернуть]


    несколько примеров конфигурации:

    Скрытый текст


    например не будет использоваться i2s вход и необходимо получить при работе СПДИФ входов на вьіходе устройства формат даньіх RJ16 и частоту дискретизации 44.1 (тактовая частота 22.5МГц)
    для єтого перед включением надо установить следуюшие перемьічки:

    IFMT0 не используется
    IFMT1 не используется
    OFMT0 оставить открьітой
    OFMT1 замкнуть
    OFQ0 замкнуть
    OFQ1 оставить открьітой
    48/44_OUT оставить открьітой
    включить устройство, в момент включения состояние сохранится в памяти МК.
    После єтого устройство необходимо вьіключить и снять перемьічки, в обьічном режиме работьі - необходимости в них нету и те-же пиньі используются уже для индикации.
    Еще один вариант настройки в случае использования ЮСБ транспорта.
    Транспорт сконфигурирован на вьіводимьій формат i2s24 , на вьіходе интерстеллара надо получить LJ24, а при работе спдиф входа приводить частоту дискретизации к 96КГц
    Логика работьі следующая: в случае вьібора входом i2s управление генераторами и ЦФ в ЦАП (или генераторами установленньіми в интерстеллар) идет из ЮСБ транспорта соотвествующими сигналами подаваемьіми на 48/44_In и HiRes_In єти сигнальі дублируются соответсвенно 48/44_Out и HiRes_Out.
    При вьіборе любого входа SPDIF состояние 48/44_In и HiRes_In игнорируется HiRes_Out устанавливается в соответствии с настройкой частотьі дискретизации вьіхода, в даном примере єто будет 1, 48/44_Out будет соотвествовать первоначальной настройке в даном примере - 0
    итак для настройки надо будет установить следующие перемьічки:
    IFMT0 замкнуть
    IFMT1 оставить открьітой
    OFMT0 оставить открьітой
    OFMT1 оставить открьітой
    OFQ0 оставить открьітой
    OFQ1 замкнуть
    48/44_OUT замкнуть
    [свернуть]

    -------------------------
    новая версия:
    Нажмите на изображение для увеличения. 

Название:	new1.1.b.jpg 
Просмотров:	2518 
Размер:	353.8 Кб 
ID:	147157
    функциональньіх изменений практически нету
    добавлено только вьівод для питания светодиодов индикации, и подведено питание для ADuM установленной на Фламенко.
    немного оптимизировал питание, перевел пассив на более мелкую елементную базу 0805 -0603, убрал лишние стабьі на 3.3в
    запитал стаб на 1.8в от 3.3вольтового стаба.
    размерьі габаритньіе и установочньіе остались прежние
    Для примера предлагаю возможньій вариант построения универсального ЦАП с использованием: Фламенко, Гелиос, Интерстеллар и платьі генераторов:
    Нажмите на изображение для увеличения. 

Название:	block.gif 
Просмотров:	3628 
Размер:	8.7 Кб 
ID:	152153
    При желании есть возможность установить генераторьі на саму плату, в результате пропадает необходимость в плате генераторов.

    подтверждена работа с транспортами:
    "Фламенко" и "Танго" от Енергетика
    "Мультиформатный USB транспорт" от SergVKS
    и ЦАПами:
    Гелиос
    Lynx D29V4
    Arpeggio DAC
    DAC 6V3 от sergioT.

    Возможно список не полньій

    В последних версиях прошивок, с целью уменьшения помех, неиспользуемьіе блоки 4392-й переводятся в powerdown. Например при использовании коммутации i2s to i2s работают только ПОРТ А и ПОРТ Б, а СПДИФ приемник и блок АСРЦ вьіключеньі. По запросу возможна прошивка с отключенньім блоком СПДИФ передатчика, что тоже существенно снижает уровень помех от interstellar.

    Опционально доступна прошивка с отключенньім модулем СПДИФ передатчика и заданием входа двоичньім кодом,
    о последнем немного подробнее, необходимо для использования с управляющим контроллером которьій предполагается уже есть у пользователя.
    Входьі используются те-же, что для вьібора входа кнопками (перебором вверхвниз) но назначение их другое:
    sel- sel+
    0 0 - spdif1
    1 0 - spdif2
    0 1 - spdif3(opt)
    1 1 - i2s


    делитель для подключения интерстеллар к цапам у которьіх мастерклок 768fs (33.8688, 36.864)
    чуть ниже файл для изготовления платьі делителя на 1.5 ЛУТом любезно предоставленньій JazMan
    Вложения Вложения
    Последний раз редактировалось Wired; 27.05.2013 в 16:14.
    was fällt, das soll man auch noch stossen

  2. #421
    Частый гость Аватар для Shadovv
    Регистрация
    11.03.2007
    Адрес
    Великие Луки
    Сообщений
    223

    По умолчанию Re: SPDIF в кв. шину и обратно - Interstellar

    Выкладываю исходники для ардуины. На ней реализован автоматический выбора входа. Может быть кому-нибудь пригодятся.
    Код:
    //int f1 = 6;
    //int f2 = 7;
    //int f3 = 8;
    //int f4 = 9;
    
    
    int select = 18;
    int flm_on = 19;
    int led_spdif = 10;
    
    
    int led_i2s = 5;
    int led_spdif1 = 4;
    int led_spdif2 = 3;
    int led_spdif3 = 2;
    
    
    //int f44; 
    //int f48; 
    //int f88; 
    //int f96; 
    int flm; 
    int spdif; 
    int i2s; 
    int spdif1; 
    int spdif2;
    int spdif3;
    
    
    void setup() {
      // put your setup code here, to run once:
    // pinMode(f1, INPUT);
    // pinMode(f2, INPUT);
    // pinMode(f3, INPUT);
    // pinMode(f4, INPUT);
     pinMode(flm_on, INPUT);
     pinMode(led_spdif, INPUT);
     pinMode(led_i2s, INPUT);
     pinMode(led_spdif1, INPUT);
     pinMode(led_spdif2, INPUT);
      pinMode(led_spdif3, INPUT);
     pinMode(select, OUTPUT);
     digitalWrite(select, HIGH);
     Serial.begin(9600);
    // while(!Serial);
    }
    
    
    
    
    //void SampleRate() {
    //  
    // if(!f44) Serial.println("Stream 44.1khz");
    // if(!f48) Serial.println("Stream 48khz");
    // if(!f88) Serial.println("Stream 88khz");
    // if(!f96) Serial.println("Stream 96khz");
    //
    //}
    
    
    void AutoSelect() {
    
    
    if (flm == LOW) {
    Serial.println("Stream from Flamenco");
    if (i2s == HIGH) {
    digitalWrite(select, LOW);
    delay(200);
    digitalWrite(select, HIGH);
    Serial.println("Change input");
    } 
    else if (i2s == LOW) {
    Serial.println("Selected I2S");
    //f44 = digitalRead(f1); 
    //f48 = digitalRead(f2); 
    //f88 = digitalRead(f3); 
    //f96 = digitalRead(f4); 
    //SampleRate();
    }
    } else {
    if (spdif == HIGH) { 
    digitalWrite(select, LOW);
    delay(200);
    digitalWrite(select, HIGH);
    Serial.println("Change input"); 
    } 
     else if (spdif == LOW) {
     Serial.println("Stream from SPDIF");
     if(spdif1 == LOW) Serial.println("Selected Toslink");
     if(spdif2 == LOW) Serial.println("Selected SPDIF");
     if(spdif3 == LOW) Serial.println("Selected SPDIF2");
    //   f44 = digitalRead(f1); 
    //   f48 = digitalRead(f2); 
    //   f88 = digitalRead(f3); 
    //   f96 = digitalRead(f4);
    //   SampleRate();
       }
      }
     }
    
    
    void loop() {
      // put your main code here, to run repeatedly:
    //f44 = digitalRead(f1); 
    //f48 = digitalRead(f2); 
    //f88 = digitalRead(f3); 
    //f96 = digitalRead(f4); 
    flm =  digitalRead(flm_on); 
    spdif = digitalRead(led_spdif); 
    i2s = digitalRead(led_i2s); 
    spdif1 = digitalRead(led_spdif1); 
    spdif2 = digitalRead(led_spdif2); 
    spdif3 = digitalRead(led_spdif3);
    
    
    
    
    if (flm == HIGH && spdif == HIGH) 
    {
    AutoSelect();
    }
    if (flm == LOW) 
    {
    AutoSelect();
    }
    if (spdif == LOW) 
    {
    AutoSelect();
    }
    delay(200);
    // else if (f44 == HIGH && f48 == HIGH && f88 == HIGH && f96 == HIGH) AutoSelect()
    //delay(1500);
    //Serial.println("Freq:");
    //Serial.print(f44);
    //Serial.print(f48);
    //Serial.print(f88);
    //Serial.println(f96);
    //Serial.println("Input:");
    //Serial.print(flm);
    //Serial.print(spdif);
    //Serial.print(i2s);
    //Serial.print(spdif1);
    //Serial.print(spdif2); 
    //Serial.println(spdif3); 
    }
    Индикация и вывод в серийник частоты дискретизации закомментирован. Просто хотел привязать к логике работы частоту дискретизации, а оказалось что она работает чуток по хитрому и пришлось переделывать.
    Приоритет отдан входу I2S. Т.е. если там будет сигнал, то автоматически будет сделано переключение на I2C
    Использовалась Arduino Pro Micro.
    Этот девайс устраняет пуканье, после пропадания сигнала с SPDIF. Т.к. ардуина постоянно сканирует входа Interstellar.
    Если кто-то захочет повторить мое извращение, расскажу подробно куда что подключать...

  3. #422
    Новичок Аватар для vitold8873
    Регистрация
    02.05.2010
    Адрес
    ТУЛА
    Возраст
    50
    Сообщений
    44

    По умолчанию Re: SPDIF в кв. шину и обратно - Interstellar

    Shadovv, Хотелось узнать подробнее про подключение ардуины к плате Interstellar,планирую собрать свою на том же чипе(SRC4392).

  4. #423
    Частый гость Аватар для Shadovv
    Регистрация
    11.03.2007
    Адрес
    Великие Луки
    Сообщений
    223

    По умолчанию Re: SPDIF в кв. шину и обратно - Interstellar

    Цитата Сообщение от vitold8873 Посмотреть сообщение
    Shadovv, Хотелось узнать подробнее про подключение ардуины к плате Interstellar,планирую собрать свою на том же чипе(SRC4392).
    А я уже все забыл, там ничего сложного. К выводам частоты дискретизации можно не подключаться. Т.к. они там как-то хитро переключаются.
    В принципе из исходного кода к ардуине, можно понять куда я подключался к Interstellar. Подключался к индикации Interstellar, плюс селектор входов. Ардуина постоянно переключает входа Interstellar с задержкой, если на каком-то входе есть сигнал, она останавливает переключение.
    Еще кажется тянул провод к фламенко, чтобы с него считывать состояние, если мне память не изменяет...


Страница 22 из 22 Первая ... 12202122

Социальные закладки

Социальные закладки

Ваши права

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