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

 
 
 
Reply to this topicStart new topic
> скорость передачи данных по SPI
Dubov
сообщение Apr 30 2014, 16:30
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



Модель MSP430F47197. Подключен только кварц 32768Гц. SPI в режиме слейва
Какова максимально достижимая передача данных(частота клока от мастера)

Код инициализации:
CODE

int main( void )
{
volatile unsigned int i;

WDTCTL = WDTPW+WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP11PF; // Configure load caps

// Wait for xtal to stabilize
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0x47FF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG)); // OSCFault flag still set?



//SPI init
P1SEL |= BIT6+BIT7; // SPI1pins select
P2SEL |= BIT0; // SPI_CLK pin select
UCA1CTL1 = UCSWRST; // **Put state machine in reset**
UCA1CTL0 |= UCSYNC+UCCKPL+UCMSB; //3-pin, 8-bit SPI master
UCA1CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt

//while(!(P3IN&0x01)); // If clock sig from mstr stays low,
// it is not yet in SPI mode

//PIO init

P1DIR |= BIT5; // P1.5 output: BUSY signal
P1IE |= BIT4; // P1.4 Interrupt enabled CONVST signal
P1IES &= BIT4; // P2.7 hi/low edge
P1IFG &= ~BIT4; // P2.7 IFG Cleared

_BIS_SR(LPM4_bits + GIE); // Enter LPM4, enable interrupts

return 0;
}
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 30 2014, 23:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Dubov @ Apr 30 2014, 21:30) *
Модель MSP430F47197. Подключен только кварц 32768Гц. SPI в режиме слейва
Какова максимально достижимая передача данных(частота клока от мастера)

В datasheet MSP430F47197 на стр.51 в примечаниях к таблице USCI (SPI slave mode) (see Note 1, Figure 23, and Figure 24) приведена формула для расчета. Согласно нее для питания 3В получается что-то около 3,33МГц, для 2,2В - около 2,27МГц.
Go to the top of the page
 
+Quote Post
_pv
сообщение May 1 2014, 20:48
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(rezident @ May 1 2014, 05:40) *
В datasheet MSP430F47197 на стр.51 в примечаниях к таблице USCI (SPI slave mode) (see Note 1, Figure 23, and Figure 24) приведена формула для расчета. Согласно нее для питания 3В получается что-то около 3,33МГц, для 2,2В - около 2,27МГц.

там в формуле еще и задержки мастера присутствуют так что частоты могут быть больше.
у msp430g2553 те же цифры в даташите, на 10МГц работало при 3.3В, причем даже с несколько кривыми клоками (отнюдь не 50% duty cycle).
другое дело что если частота MCLK будет 32кГц без FLL, то ему даже через DMA 2 такта надо на перекладывание байта в память, то есть получится только 128кГц для 32кГц. ну а без ДМА процессором так все 8-10 тактов будет.
Go to the top of the page
 
+Quote Post
rezident
сообщение May 1 2014, 22:29
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(_pv @ May 2 2014, 01:48) *
у msp430g2553 те же цифры в даташите, на 10МГц работало при 3.3В, причем даже с несколько кривыми клоками (отнюдь не 50% duty cycle).

"Работало" вовсе не означает, что будет работать во всем диапазоне темперетур и напряжений питания. Цифры в даташите приведены с учетом гарантированной производителем рабочей частоты. Я потому так и написал: "согласно нее" (т.е. согласно формулы из даташита).
Цитата(_pv @ May 2 2014, 01:48) *
другое дело что если частота MCLK будет 32кГц без FLL, то ему даже через DMA 2 такта надо на перекладывание байта в память, то есть получится только 128кГц для 32кГц. ну а без ДМА процессором так все 8-10 тактов будет.

Это конечно, так. Но исходный вопрос был про максимальную рабочую частоту SPI, а не про рабочую частоту ядра, необходимую, для "выгребания" потока данных на максимальной частоте SPI. wink.gif
Go to the top of the page
 
+Quote Post
Dubov
сообщение May 3 2014, 18:47
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



Спасибо за советы. Хочу использовать MSP430 в качестве эмулятора АЦП для хост-процессора. Самого АЦП нет, приходится как-то выкручиваться, Реализую логику работы АЦП на том что есть(MSP430), даные ктороые надо выдавать как отсчёты просто беру из массива, циклически выдавая по SPI.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 11:31
Рейтинг@Mail.ru


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