Comments 12
Для выпайки таких микросхем есть специальный паяльник с полым жалом и встроенным насосом, но его, естественно, надо приобретать специально для старых устройств. Ищется по фразе "desoldering gun".
В 80-х культура проектирования плат еще не знала, что нужно соблюдать thermal relief на земле. У меня есть специальные трубки для отделения контактов от платы, но их нагрев полностью уходил в плату. В домашних условиях пришлось создать большой шар из сплава Розе и гонять его по всей линии контактов минут 10, чтобы нагреть и саму плату, и контакты чипа.
Esher ты молодец! Хорошую задачку выбрал для изучения программирования ПЛИСов.
Но все же я настаиваю на том, что бы вернуть в схему FIFO. :)
Спорно ) Лучший эксперимент с FIFO показал, что лучше пропустить 1 фрейм из 32000 в секунду, чем через 32 секунды получить секундный лаг
Почему секундный ? Судя по расхождению частот, при глубине FIFO в 32 сэмпла получится "лаг" длиной в 32/32000 = 0.001 сек. При этом сбой синхронизации будет происходить один раз в 32 сек.
Ошибся в расчетах ) Тем не менее, я получал слышимый пропуск в чуть ли не в полсекунды (по ощущениям) уже через некоторое время после работы, и со временем он становился более отчетливым.
Чтобы пропусков совсем не было, надо получать mclk из clk_inh, проще всего это сделать с помощью отдельной микросхемы PLL. Можно и внутри FPGA, но не уверен, что FPGA на Tang Nano может работать на достаточно высокой частоте чтобы это хорошо работало.
Проблема в том, что все clk входящие в демуксер неровные, ch_id[0] 32001Hz, ch_id[1] 64003Hz, а clk_inh 256004Hz например. mclk же нужен для ровного тактования bck/wclk/mclk для чипа трансивера.
Следующим шагом должен быть перенос всего MT-32 в ПЛИС :)
Добавляем SPDIF в легендарный Roland MT-32