Opened 2 hours ago

Last modified 110 minutes ago

#491 new задача

Добавить поддержку нового субмодуля 4W02

Reported by: vlad Owned by: alx
Priority: высокий Milestone: 1 очередь
Component: VE-02 Keywords: 4w02
Cc:

Description (last modified by san)

Дополнение от san:
Субмодуль 4W02 был выпущен на замену 4W01 и 4W04 (в этих модулях использовался не совсем подходящий для задачи кофидек), нужно реализовать поддержку субмодуля в плате VE-02.
Разработчики субмодуля AlexLir и vlad протестировали субмодуль в плате МД02 и, имея практический опыт, в этом тикете описали необходимые настройки, чтобы разработчику не изучать кофидек.


Модуль 4W02 (двухканальный) предназначен для приема-передачи сигналов ТЧ 300..3400Гц в 2-хпроводном и 4хпроводном режиме с настраиваемыми номинальными уровнями приёма и передачи.

Интерфейс для управления кофидеком NAU88C22 - I2C, addr 0x34-RD 0x35-WR
Цифровой аудиоинтерфейс - PCM-A 2 канала по 8 бит a-law
Тип модуля - 10010(INT, TYPE3..0)

Сигналы для субмодуля (название согласно схеме VE-02, в скобках номер контакта):

DTX[1] и SDI[9] - переключение режима 2W/4W для канала 1 и канала 2. 0-4W, 1-2W.
FS[2]    - MasterClock 2048kHz
RESET[3] - PCM bit CLK 2048kHz
SDO[4]   - PCM SYN метка FS
SCLK[5]  - PCM_OUT выход данных из модуля
PCLK[6]  - PCM_IN  вход данных для модуля
DRX[7]   - I2C SDA
SCS[8]   - I2C SCL

Конфигурирование кофидека:

- Записать регистры:
        {0x00, 0x000}   // сброс
После сброса подождать 5мс.

        {0x07, 0x00A},  // FS 8kHz
        {0x01, 0x01D},  // micbias/abias/iobufen
        {0x04, 0x018},  // AIFMT=11 pcma/pcmb dataformat
        {0x05, 0x03E},  // pcm8 bit, a-law adc/dac  bit0-loop adc-dac
        {0x3C, 0x060},  // PCM8BIT=1, ADCOUT enabled
        {0x02, 0x1BF}, // LADC, LPGA и LBOOST включены  всё кроме sleep бита         
        {0x32, 0x001},  // mixer LDAC off, по умолчанию 1
        {0x33, 0x001},
        {0x31, 0x002},  // muxer        
        {0x03, 0x00F},  // LR DAC en, LR mix out en                 
        {0x06, 0x000}

Записать регистры с уровнями, согласно конфигурации.

  • Входной уровень Lin (-17..+6, шаг 1дБ):

Регистры 0x2D - канал 1, 0x2E - канал 2
Значение, записываемое в регистр вычислить по формуле

REG = (13.34*MW - Lin*1.4118). MW=1 для 4W, MW=2 для 2W

При записи регистра для применения настройки вместе со значением нужно установить бит 8 (|0x100)

  • Выходной уровень Lout(-17..+6, шаг 1дБ)

Регистры 0x34 - канал 1, 0x35 - канал 2
Значение, записываемое в регистр вычислить по формуле

REG = 0x30 + Lout

При записи регистра для применения настройки вместе со значением нужно установить бит 8 (|0x100)

Change History (4)

comment:1 by san, 2 hours ago

Description: modified (diff)

немного отформатировал

comment:2 by san, 2 hours ago

Дополню:
Субмодуль 4W02 был выпущен на замену 4W01 и 4W04 (в этих модулях использовался не совсем подходящий для задачи кофидек), нужно реализовать поддержку субмодуля в плате VE-02.
Разработчики субмодуля AlexLir и vlad протестировали субмодуль в плате МД02 и, имея практический опыт, в этом тикете описали необходимые настройки, чтобы разработчику не изучать кофидек.

comment:3 by san, 2 hours ago

Description: modified (diff)

comment:4 by san, 110 minutes ago

Ах да, отосительно 4W01 у субмодуля 4W02 есть "недостаток", у него нет цепей сигнализации, так-что это не полная замена, а только для случаев, когда отдельная сигнализация не требуется(большинству наших клиентов она не требуется). А вот 4W04 два новых субмодуля заменяют полностью. К сожалению мы не успели получить и освоить новый кофидек раньше, поэтому 4W04 был вынужденным промежуточным решением.

Note: See TracTickets for help on using tickets.