|
I2S, кодек, помогите разобраться с интерфейсом |
|
|
|
Jan 16 2010, 18:05
|
Местный
  
Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345

|
Здравствуйте. Скажите, можно ли управлять подачей фреймов на выводе TF? импульсы формируются на выводе, сразу после конфигурации ssc. Если я настраиваю старт работы передатчика по перепаду фрейма (AT91C_SSC_START_RISE_TF| AT91C_SSC_CKO_DATA_TX в регистре TCMR), то передатчик работает постоянно, даже если в буфере и нет данных, отправляя default значение. Я понимаю, что ssc в основном предназначен для работы с кодеками, но мне нужно организовать обмен между устройством и блоком управления для него следующим образом: Блок управления реагирует на нажатие кнопки и отсылает пакет данных, принимает ответ и "молчит" до следующего нажатия. Управляемое устройство принимает данные по положительному перепаду фрейма, фрейм должен быть длиной в один бит - устройство готовое, закрытое и изменению не подлежит. Можно ли формировать фрейм только, когда это нужно?
Сообщение отредактировал Daria - Jan 16 2010, 18:05
|
|
|
|
|
 |
Ответов
|
Feb 18 2010, 20:21
|
Местный
  
Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345

|
Здравствуйте. Есть аудио-кодек PCM3794. Управляется по I2C или SPI. Обмен данными - по I2S. У меня в процессоре(AT91SAM7x)нет I2S и никогда им не пользовалась  Посмотрела в даташите описание протокола, решила, что можно передавать по SPI. В режиме slave, фреймы кодека(LRCK) заведены на NPCS0 SPI. Пишу данные только в один канал, когда LRCK в низком уровне. В качестве теста передаю отсчеты синуса угла(через 10 градусов), старший байт, потом младший. на выходе кодека - непонятный шум Подскажите, можно ли использовать вместо I2S SPI? Может, кто-нибудь кинет ссылку, где про этот протокол почитать? Может, нужен какой-то особый формат данных? Очень жду ответа
|
|
|
|
|
Feb 26 2010, 19:43
|
Местный
  
Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345

|
Цитата(aaarrr @ Feb 18 2010, 23:42)  Для работы с I2S нужно было задействовать SSC. Почитайте вот этот документ, все должно стать понятно. аааrrr, большое спасибо! После долгих мучений с SPI все-таки переделала на SSC, как здесь сказано, и все получилось! Только вопрос - почему, если надо читать два канала, используют второй млдуль SSC(у меня второго нет  )? RF и RK берут с TF и TK - почему нельзя так же завести их в одном модуле? и читать не по положительному фронту фрейма, а по перепаду? Пробовала, получилась фигня. Но не понятно почему  но все равно, главное работает
|
|
|
|
|
Feb 26 2010, 22:53
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Daria @ Feb 26 2010, 22:43)  Только вопрос - почему, если надо читать два канала, используют второй млдуль SSC(у меня второго нет  )? RF и RK берут с TF и TK - почему нельзя так же завести их в одном модуле? и читать не по положительному фронту фрейма, а по перепаду? Пробовала, получилась фигня. Но не понятно почему  Вообще, ноги у этого ограничения растут из ерраты на RM9200 (а пример написан именно для него): Цитата The SSC receiver does not support reception of the last data sequence of a frame that overlaps a new start of frame, regardless of the mode of detection of the start condition. For example, this prevents reception of the last data of a TDM bus. На SAM'ах этой ошибки нет, так что должен работать прием для двух каналов.
|
|
|
|
Сообщений в этой теме
Daria I2S, кодек Jan 16 2010, 18:05 aaarrr А нужен ли SSC в данном случае? Событие происходит... Jan 17 2010, 10:10 Daria Цитата(aaarrr @ Jan 17 2010, 13:10) А нуж... Jan 17 2010, 11:45 aaarrr Да я вообще имел в виду "ногодрыганье" -... Jan 17 2010, 12:09 Daria Цитата(aaarrr @ Jan 17 2010, 15:09) Да я ... Jan 17 2010, 15:00  aaarrr Цитата(Daria @ Jan 17 2010, 18:00) А как ... Jan 17 2010, 19:12   Daria Цитата(aaarrr @ Jan 17 2010, 22:12) Вообщ... Jan 17 2010, 21:07 aaarrr Т.е. передается 32 шестнадцатибитных слова, каждое... Jan 17 2010, 21:38 Daria Цитата(aaarrr @ Jan 18 2010, 00:38) Т.е. ... Jan 18 2010, 19:54  aaarrr Цитата(Daria @ Jan 18 2010, 22:54) Нет, F... Jan 18 2010, 20:03   Daria Цитата(aaarrr @ Jan 18 2010, 23:03) Тогда... Jan 18 2010, 20:42    aaarrr Цитата(Daria @ Jan 18 2010, 23:42) Ох. а ... Jan 18 2010, 20:58     Daria Цитата(aaarrr @ Jan 18 2010, 23:58) Или з... Jan 19 2010, 20:07      aaarrr Цитата(Daria @ Jan 19 2010, 23:07) А, кст... Jan 19 2010, 20:28  Daria Цитата(aaarrr @ Feb 18 2010, 23:42) Для р... Feb 20 2010, 14:29   aaarrr Цитата(Daria @ Feb 20 2010, 17:29) А писа... Feb 20 2010, 18:19 rsv Цитатана можно ли использовать вместо I2S SPIя ког... Feb 20 2010, 19:08 Daria Кодек PCM3794
Там вроде есть четыре режима: I2S, Л... Feb 21 2010, 14:37  aaarrr Цитата(Daria @ Feb 21 2010, 17:37) ...Но ... Feb 21 2010, 23:06   Daria А что такое дельта-сигма модуляция?
В кодеке ЦАП... Feb 23 2010, 18:28 Designer56 Такой способ размена разрешения (разрядности) на в... Feb 23 2010, 18:37 Daria Здравствуйте.
Такая проблема - работают два модуля... Mar 14 2010, 11:49 aaarrr Цитата(Daria @ Mar 14 2010, 14:49) Можно ... Mar 14 2010, 17:51  Daria Цитата(aaarrr @ Mar 14 2010, 20:51) Можно... Mar 14 2010, 19:38 aaarrr Да, именно так. Mar 14 2010, 19:47 Daria Может, не по теме, но продолжение задачи
Кто-нибуд... Mar 31 2010, 18:13
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|