Отговори на тема  [ 8 мнения ] 
PIC16F1503 SPI в slave режим 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Пет Яну 22, 2010 5:46 pm
Мнения: 680
Мнение PIC16F1503 SPI в slave режим
Гледах даташийта на PIC16F1503 и не ми стана ясно какви са ограниченията на SPI клока.
1. На страница 307 пише, че клока трябва да е високо Tcy + 20 ns и ниско още толкова.
2. На страница 171, точка 21.2.4 пише, че в sleep SPI slave си работи. Обаче колко е Tcy в sleep - безкрайност, защото няма клок за инструкциите.
3. На страница 174, 21.2.6 пише, че "Special care must be taken by the user when the MSSPx clock is much faster than the system clock."

По 3. личи, че SPI клока може да е повече от системния клок, но спецификациите казват друго. Не уточняват какво имат в предвид под "special care" и какви проблеми може да създаде по-бързия SPI clock.

Също така не казват каква е максималната честота на SPI клока в sleep

Аз ли съм пропуснал нещо или те не са специфицирали? Предполагам, че в sleep SPI clock-а ще може да издържи поне до 5MHz (Fosc max/4)


В конкретния случай не е толкова важно защото MCU-то харчи само 1mA при 16MHz INT RC клок така че просто ще го пусна на 16МHz и ще огранича SPI клока до 4MHz. Просто се чудя защо не са описали какъв ефект ще има SPI clock > System clock.

_________________
PIC SPBRG values calculator


Чет Фев 20, 2014 9:06 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: PIC16F1503 SPI в slave режим
Чакай, че пиша глупости! Значи master-a определя тактовата честота. Следователно няма проблем да му пуснеш по-висока, само трябва да си сигурен, че slave-a ще успява да си опреснява данните достатъчно бързо..
А честотата на SPI обикновено се определя от осцилатора, разделена на някакъв prescaler.

_________________
www.elkran.com


Чет Фев 20, 2014 10:55 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Пет Яну 22, 2010 5:46 pm
Мнения: 680
Мнение Re: PIC16F1503 SPI в slave режим
там е въпроса - мастера ми е способен на сравнително висока честота на клока - поне 20-30 MHz. Пика обаче едва ли ще може повече от десет. Въпроса е дали ще може 10 ... Никъде не пише. Освен да тествам ... не се сещам за друго. Само дето тестването ще ми отнеме повечко време - не трябва да има разни хвърчащи жици и т.н.. Трябва да приготвя малка програмка да върти от 0-255 и да пусна pass/fail на осцилоскопа да отчете дали ще приеме всеки байт правилно.

И все пак ми е чудно защо са писали, че в слейв режим зависи от тактовата честота.

_________________
PIC SPBRG values calculator


Пет Фев 21, 2014 1:34 am
Профил WWW
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Мар 22, 2010 8:52 pm
Мнения: 328
Мнение Re: PIC16F1503 SPI в slave режим
Доста често периферията в процесорите е синхронна. Т.е. клока на СПИ-а е синхронен на ЦПУ честотата. Малко наизуст го казвам, ама при АТ91САМ7 в ПДФ-а май си пишеше, че СПИ слейва трябва да бъде с 3 или 4 пъти по-ниска честота от тази на процесора. А какво става когато клока на процесора я спрян е интересен въпрос. Може би падащият фронт на ЧС трябва да го събуди :)


Пет Фев 21, 2014 6:06 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: PIC16F1503 SPI в slave режим
Все трябва да има някоя таблица или времедиаграма в даташита където са дадени разни времена за фронтове, нива и т.н. т.е. няма да га намериш като мегахерци, но все пак ще може да се ориентираш.

Едит: Виж страница 306 от даташита.

_________________
Мразя да мразя ...


Пет Фев 21, 2014 9:47 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение Re: PIC16F1503 SPI в slave режим
Интересно е какво е външното устройство, което да иска толкова бърза комуниказия, и то по СПИ?


Пет Фев 21, 2014 10:32 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: PIC16F1503 SPI в slave режим
Сега ако изхождаме от това как се реализира SPI, би трябвало да няма значение каква е тактовата честота на slave-a. Реално при трансфер мастър-а подава тактова честота и разменя съдържанието на буферите. Подчиненият единствено трябва да е успял да подготви информацията. Виж на колко време трябва да четеш и сметни дали малкия чип успява да си сметне там каквото трябва и да остане в очакване на предаване.
Поздрави!

_________________
www.elkran.com


Пет Фев 21, 2014 2:32 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Пет Яну 22, 2010 5:46 pm
Мнения: 680
Мнение Re: PIC16F1503 SPI в slave режим
@Vesko Ами те пишат какво става когато е приспан. Приема си байта докато си спи. Когато свърши контролера се събужда.

@palavrov там гледам - на 30 е времедиаграмата с означенията, на 307 е таблицата с времената. Не пише какво става в слейв режим

@didofen Както казах контролера работи в слейв - т.е. контролера е външното устройство. Не устройството изисква бързата комуникация, а цялата система. Т.е. трябва комуникацията да приключи бързо за да може да се изпрати байт до следващото устройство. На практика май не ми трябва толкова много 1MHz / 8 бита = 125 kB/s ... горе долу. Да речем че има 10 устройства - това прави 12500 обхождания в секунда. Обаче като вземем в предвид че е пълно със закъснения между изпращанията реално времето е доста по-малко.

@stoyanoff Ами то няма кой знае какво значение колко време ще му трябва на малкия контролер. Големия ще изпрати запитванията/командите на всичките устройства и като се върне до първото най-вероятно ще е успяло да си свърши работата. Така или иначе ще го измеря и ще му дам малко аванс за да е сигурно. Но не ми трябва отговор моментално. Трябва само изпращането да е приключило за да мине на следващия слейв.

... ок де. Не ми трябва толкова голяма скорост. При 1MHz няма да е готов следващия байт преди да е свършило изпращането. Просто съм свикнал винаги да проверявам даташита и ме озадачи защо няма нищо казано за това на каква скорост физически е способен слейв SPI модула. Няма лошо, че трябва да е синхронизиран и има изисквания спрямо честотата, но може да искам да намаля тактовата честота и да приспивам контролера докато приема.

_________________
PIC SPBRG values calculator


Нед Фев 23, 2014 4:49 pm
Профил WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 8 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 11 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни