Opened 6 years ago

Last modified 6 years ago

#311 closed задача

Поддержка содуля 4W01 для платы VE-02 — at Initial Version

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

Description

Руководством компании поставлена задача реализовать поддержку модуля 4W01 платой VE-02. Для работы с этим модулем необходима ее поддержка в ПЛИС платы VE-02. В описании этого тикета я буду описывать, что требуется реализовать в ПЛИС.

Поддержка модуля 4W01 состоит из трех основных частей:

  1. идентификация модуля;
  2. обмен речевыми данными по каналу 64 кбитс;
  3. запись управляющей информации по шине 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

Прием/передача данных канала ИКМ должна соответствовать следующей диграмме:

Период импульсов SYN - 125 мкс.

Описание интерфейса I2C

Шина I2C должна передавать данные из ПЛИС в модуль. Каждая транзакция выполняется в соответствии с описанием шины здесь. Предполагается следующий алгоритм работы.

Транзакция инициируется процессором платы VE-02 следующим образом:

  1. CPU выполняет запись в регистр ПЛИС voice_cpu_data.
  2. CPU выполняет запись в регистр ПЛИС voice_cpu_addr.
  3. ПЛИС сбрасывает флаги в регистре voice_cpu_flag.
  4. ПЛИС передает в шину I2C стартовый бит.
  5. ПЛИС передает в шину байт 0xE2.
  6. ПЛИС передает в шину байт, записанный в регистр voice_cpu_addr.
  7. ПЛИС передает в шину байт, записанный в регистр voice_cpu_data.
  8. ПЛИС передает в шину стоповый бит (освобождает шину).
  9. ПЛИС устанавливает флаг готовности в регистре voice_cpu_flag.

После передачи каждого байта ПЛИС контролирует бит подтверждения от модуля и при его отсутствии (высокий уровень) устанавливает флаг ошибки (бит 1) в регистре voice_cpu_flag.

Тактовая частота линии SCL должна быть 400 кГц или немного ниже.

Примечание: два модуля разделяют одну и ту же линию SDA. При обращении к одному из модулей линия SCL другого модуля должна оставаться неактивной (высокий уровень).

Разное

Сигнал RESET имеет активный низкий уровень. Для сброса модуля переводится в низкий уровень. Условия сброса аналогичны модулям FS01 и FO01.

Change History (0)

Note: See TracTickets for help on using tickets.