Opened 6 years ago
Last modified 6 years ago
#311 closed задача
Поддержка модуля 4W01 для платы VE-02 — at Version 2
Reported by: | alx | Owned by: | alx |
---|---|---|---|
Priority: | высокий | Milestone: | 1 очередь |
Component: | VE-02 | Keywords: | |
Cc: |
Description (last modified by )
Руководством компании поставлена задача реализовать поддержку модуля 4W01 платой VE-02. Для работы с этим модулем необходима ее поддержка в ПЛИС платы VE-02. В описании этого тикета я буду описывать, что требуется реализовать в ПЛИС.
Поддержка модуля 4W01 состоит из трех основных частей:
- идентификация модуля;
- обмен речевыми данными по каналу 64 кбитс;
- запись управляющей информации по шине i2c.
Подключение модуля 4W01 к ПЛИС
Выводы ПЛИС | |||
---|---|---|---|
Сигнал | Направление | Модуль 1 | Модуль 2 |
Идентификация | |||
VCC | к ПЛИС | G11, J16, J15 | D15, F15, F16 |
GND | к ПЛИС | G16 | D16 |
Интерфейс TDM | |||
CLK | от ПЛИС | M10, E6 | M12, R10 |
SYN | от ПЛИС | E8 | P11 |
IN | от ПЛИС | D8 | N12 |
OUT | к ПЛИС | C8 | N13 |
Интерфейс I2C | |||
SDA | вход/выход | C9 | |
SCL | от ПЛИС | E9 | K15 |
Разное | |||
RESET | от ПЛИС | E5 | R11 |
Идентификация модуля
Идентификация модуля 4W01 производится по наличию высокого уровня на линиях VCC и низкого кровня на линии GND (см. таблицу выше). Если на указанных линиях одного и/или другого модуля присутствует указанная комбинация, значит в плату VE-02 установлен модуль 4W01, и ПЛИС должна работать с интерфейсами в соответствии с написанным далее.
Описание интерфейса TDM
Прием/передача данных канала ИКМ должна соответствовать следующей диграмме:
На линиях CLK должен быть меандр частотой 2048 кГц. Период импульсов SYN - 125 мкс.
Описание интерфейса I2C
Шина I2C должна передавать данные из ПЛИС в модуль. Каждая транзакция выполняется в соответствии с описанием шины здесь. Предполагается следующий алгоритм работы.
Транзакция инициируется процессором платы VE-02 следующим образом:
- CPU выполняет запись в регистр ПЛИС voice_cpu_data.
- CPU выполняет запись в регистр ПЛИС voice_cpu_addr.
- ПЛИС сбрасывает флаги в регистре voice_cpu_flag.
- ПЛИС передает в шину I2C стартовый бит.
- ПЛИС передает в шину байт 0xE2.
- ПЛИС передает в шину байт, записанный в регистр voice_cpu_addr.
- ПЛИС передает в шину байт, записанный в регистр voice_cpu_data.
- ПЛИС передает в шину стоповый бит (освобождает шину).
- ПЛИС устанавливает флаг готовности в регистре voice_cpu_flag.
После передачи каждого байта ПЛИС контролирует бит подтверждения от модуля и при его отсутствии (высокий уровень) устанавливает флаг ошибки (бит 1) в регистре voice_cpu_flag.
Тактовая частота линии SCL должна быть 400 кГц или немного ниже.
Примечание: два модуля разделяют одну и ту же линию SDA. При обращении к одному из модулей линия SCL другого модуля должна оставаться неактивной (высокий уровень).
Разное
Сигнал RESET имеет активный низкий уровень. Для сброса модуля переводится в низкий уровень. Условия сброса аналогичны модулям FS01 и FO01.
Change History (2)
comment:1 by , 6 years ago
Summary: | Поддержка содуля 4W01 для платы VE-02 → Поддержка модуля 4W01 для платы VE-02 |
---|
comment:2 by , 6 years ago
Description: | modified (diff) |
---|