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

 
 
> Как правильно сконфигурировать SSC на передачу 32-битного слова., at91sam7s
Bulat
сообщение Dec 21 2009, 14:21
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



Мне необходимо передавать 32-битное слово с частотой 100 кГц и с паузой перед началом передачи в 4 такта. За основу взял стандартный пример, но существенно упростил его. Использую непрерывный режим передачи, а также не пользуюсь выводом TF. То есть, в основном цикле программы регулярно опрашиваю бит ENDTX регистра статуса и после его установки останавливаю работу SSC, обновляю буфер и вновь запускаю передатчик.
Код
//++++++++++++++++++++++++++--SSC--+++++++++++++++++++++++++++++++++++++++++++++

void AT91F_SSC_Conf ()    
{    
    // Setup ssc
        AT91F_SSC_CfgPMC();            /* Enable MCK clock   */
  
    // pio Special configuration
        AT91F_SSC_CfgPIO();
  
    //* Disable interrupts
    AT91C_BASE_SSC->SSC_IDR = 0xfff;

    //* Reset receiver and transmitter
    AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST | AT91C_SSC_TXDIS;

    //* Define the Clock Mode Register
        AT91C_BASE_SSC->SSC_CMR = 92;                                            //100 кГц

     //* Write the Transmit Clock Mode Register
    AT91C_BASE_SSC->SSC_TCMR =  (4<<16) & AT91C_SSC_STTDLY | AT91C_SSC_START_CONTINOUS | AT91C_SSC_CKI | AT91C_SSC_CKO_CONTINOUS | AT91C_SSC_CKS_DIV;

     //* Write the Transmit Frame Mode Register
    AT91C_BASE_SSC->SSC_TFMR =  (32<<0) & AT91C_SSC_DATLEN;
}


//AT91F_SSC_Start
void AT91F_SSC_Start(void)
{  
  AT91C_BASE_SSC->SSC_CR = AT91C_SSC_TXEN;
  AT91C_BASE_SSC->SSC_THR = datA;  //Запись 32-битного слова в буфер передатчика                                                      
}


// AT91F_SSC_Stop
void AT91F_SSC_Stop(void)
{  
  
    //* Reset receiver and transmitter
        AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST | AT91C_SSC_TXDIS;

}


Правильно ли так конфигурировать SSC без использования PDMA-контроллера? И значительно ли разгружает процессор использования PDMA при передачи?
Go to the top of the page
 
+Quote Post



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

 


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


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