реклама на сайте
подробности

 
 
> SAM7S и I2S кодек, Поделитесь примером
HeOHuKC
сообщение May 30 2010, 21:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 25-04-09
Из: г. Россошь
Пользователь №: 48 259



Здравствуйте уважаемые форумчане!
Третий день бьюсь с подключением к SAM7S I2S кодека, все делаю по апноту от атмела, а он отказываеться петь. Сто раз проверял сигналы на SSC порту логическим анализатором, все данные идут, частоты совпадают. WAV файл читаеться с флешки, файл тоже подготовлен тот, что нужно. Может кто поделится примером, для кодеков с внешним тактированием. Ибо уже сил никаких нету, кодек у меня используется Wolfson WM8714ED.

Сообщение отредактировал HeOHuKC - May 30 2010, 21:43
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
HeOHuKC
сообщение Jun 3 2010, 19:57
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 25-04-09
Из: г. Россошь
Пользователь №: 48 259



Что то никак не хочет петь мой кодек, вообщем решил я выбрать частоту дискретизации 48кГц. Кварц стоит на 18.432 мГц, через вывод PA31(PCK2) идет тактирование на кодек, при такой частоте кварца это 48 кГц (384fs). Я уже совсем ничего не пойму, анализатором всё проверил, данные идут, клок есть. Не понимаю что ему еще надо, может есть какие то нюансы которые я не учел ?
Код
Код
#define SLOT_BY_FRAME 2
#define BITS_BY_SLOT 16
#define FILE_SAMPLING_FREQ 48000

#define IRQ_LEVEL_I2S    5





void dac_init(void)
{    
///Clock 12 Mhz
    AT91PS_PMC pPMC = AT91C_BASE_PMC;

    pPMC->PMC_PCKR[2] = (AT91C_PMC_PRES_CLK | AT91C_PMC_CSS_MAIN_CLK);
    *AT91C_PMC_SCER = AT91C_PMC_PCK2;
    while( !(*AT91C_PMC_SR & AT91C_PMC_PCK2RDY) );
    *AT91C_PIOA_BSR = AT91C_PA31_PCK2;
    *AT91C_PIOA_PDR = AT91C_PA31_PCK2;
///SSC init
*AT91C_PIOA_PDR = AT91C_PA16_TK | AT91C_PA15_TF | AT91C_PA17_TD;
AT91F_SSC_CfgPMC();
*AT91C_SSC_CR = AT91C_SSC_SWRST;

AT91F_PDC_Close((AT91PS_PDC) & (AT91C_BASE_SSC->SSC_RPR));

AT91F_SSC_SetBaudrate(AT91C_BASE_SSC,MCK,FILE_SAMPLING_FREQ*(BITS_BY_SLOT*SLOT_BY_FRAME));

*AT91C_SSC_TFMR = (AT91C_SSC_FSOS_NEGATIVE | (((BITS_BY_SLOT-1)<<16) & AT91C_SSC_FSLEN)
         | (((SLOT_BY_FRAME-1)<<8) & AT91C_SSC_DATNB) | AT91C_SSC_MSBF | (BITS_BY_SLOT-1) );

*AT91C_SSC_TCMR = (((((BITS_BY_SLOT*SLOT_BY_FRAME)/2) -1) <<24) | ((1<<16) & AT91C_SSC_STTDLY) |
            AT91C_SSC_START_FALL_RF | AT91C_SSC_CKO_CONTINOUS| AT91C_SSC_CKS_DIV);

AT91F_PDC_SetTx ((AT91PS_PDC) &(AT91C_BASE_SSC->SSC_RPR),        // PDC SSC base address
                     (char *)wav_file,    // pointer to data
                     wav_size/2);// Number of 16 bits words

AT91F_PDC_SetNextTx ((AT91PS_PDC) &(AT91C_BASE_SSC->SSC_RPR),    // PDC SSC base address
                         (char *)wav_file,     // pointer to next data
                         wav_size/2);

*AT91C_SSC_PTCR = AT91C_PDC_TXTEN;
*AT91C_SSC_PTSR == AT91C_PDC_TXTEN;

AT91F_SSC_EnableTx (AT91C_BASE_SSC);

}


Сообщение отредактировал HeOHuKC - Jun 3 2010, 19:59
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- HeOHuKC   SAM7S и I2S кодек   May 30 2010, 21:42
- - aaarrr   Цитата(HeOHuKC @ May 31 2010, 01:42) Сто ...   May 30 2010, 21:57
- - HeOHuKC   aaarrr Спасибо, завтра опробую ваш код в действии ...   May 30 2010, 22:33
|- - aaarrr   Цитата(HeOHuKC @ May 31 2010, 02:33) каме...   May 30 2010, 22:42
- - HeOHuKC   Понятно, попробую поиграться с частотами Еще раз ...   May 30 2010, 22:45
|- - aaarrr   Цитата(HeOHuKC @ Jun 3 2010, 23:57) Не по...   Jun 3 2010, 20:09
- - HeOHuKC   Mute точно правильно подключен и интерфейс на коде...   Jun 3 2010, 20:21
- - aaarrr   Цитата(HeOHuKC @ Jun 4 2010, 00:21) В исх...   Jun 3 2010, 20:51
- - HeOHuKC   Спасибо, за информацию Исходник видел , у меня ...   Jun 3 2010, 22:16
|- - aaarrr   Цитата(HeOHuKC @ Jun 4 2010, 02:16) Пока ...   Jun 3 2010, 22:25
- - HeOHuKC   На USB уже плюнул, теперь выставил PLL на такую же...   Jun 3 2010, 23:15
- - HeOHuKC   Всё запустил играет но есть огромнейшая проблема....   Jun 4 2010, 00:26
- - HeOHuKC   Уже мозг сломал, выставляю FSLEN равный 16, играет...   Jun 5 2010, 19:51
|- - aaarrr   Цитата(HeOHuKC @ Jun 5 2010, 23:51) Что э...   Jun 5 2010, 21:41
- - HeOHuKC   С вашим примером то же самое пока не могу найти п...   Jun 7 2010, 15:37
|- - aaarrr   Цитата(HeOHuKC @ Jun 7 2010, 19:37) С ваш...   Jun 7 2010, 15:41
- - HeOHuKC   Текущий кодек Wolfson WM8714, пробовал ставить Cir...   Jun 7 2010, 16:42
- - aaarrr   А что с тактированием (MCLK, SCLK)? Выложите свои ...   Jun 7 2010, 17:46
- - HeOHuKC   Вот Код#define EXT_OC 18432000 // Exetrnal oc...   Jun 7 2010, 19:07
|- - aaarrr   Выходная частота PLL не укладывается в паспортный ...   Jun 7 2010, 19:28
- - HeOHuKC   У WM8714 стоит I2S режим, это высокий уровень на в...   Jun 7 2010, 19:59
- - HeOHuKC   Победил эту фигню, теперь играют два канала пробл...   Jun 10 2010, 13:30
|- - aaarrr   Цитата(HeOHuKC @ Jun 10 2010, 17:30) ...е...   Jun 10 2010, 16:00
- - HeOHuKC   Я проблем больше никаких не вижу, возможно это ос...   Jun 10 2010, 16:16


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 19:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016