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

 
 
 
Reply to this topicStart new topic
> Максимальная скорость SPI, Чему равно 100ns+100ns?
XVR
сообщение Aug 16 2007, 11:37
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Читаю даташиты от PIC18F45J10 и не могу понять - то ли у меня проблемы с арифметикой, то ли в них написан какой то бред sad.gif



В DS39682C написано (параграф 15.3.5, страница 150), что максимальная частота обмена по SPI (в мастер моде) Fosc/4, т.е. 10 MHz (что явно написано в качестве примера прямо в тексте - 10 Mbps)



Т.е. длительность одного бита - 100ns.



Далее, смотрю на диаграммы и времена SPI (figure 23-11 & table 23-15 на странице 318)

Смотрю времена установки и удержания входных данных по отношению к клоку (SDIx/SCKx) -

не менее 100ns+100ns, итого 200ns, что в 2 раза превышает длительность одного бита (т.е. скорость обмена не должна быть меньше 5 MHz)



Кому верить?



Go to the top of the page
 
+Quote Post
VicDzen
сообщение Aug 17 2007, 06:35
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 21
Регистрация: 8-08-07
Пользователь №: 29 644



Да это у них такая непонятка есть во всех даташитах в разделе SPI, советую не обращать внимание а использовать в качестве постулата что 10 МГц работает отлично (при правильной разводке платы smile.gif ).
Если уж можно установить в качестве ЦЛК FOSC/4, значит данные будут идти с такой частотой, иначе это будет уход от стандарта SPI, и никакая периферия не заработает при таком тайминге.

Успехов !


--------------------
Deliberandum est diu, quod statuendum est semel.
Go to the top of the page
 
+Quote Post
XVR
сообщение Aug 17 2007, 10:54
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(VicDzen @ Aug 17 2007, 10:35) *
Да это у них такая непонятка есть во всех даташитах в разделе SPI, советую не обращать внимание а использовать в качестве постулата что 10 МГц работает отлично (при правильной разводке платы smile.gif ).
Если уж можно установить в качестве ЦЛК FOSC/4, значит данные будут идти с такой частотой, иначе это будет уход от стандарта SPI, и никакая периферия не заработает при таком тайминге.


Я как бы догадываюсь, что работать будет (хотя по datasheet'у и не должно), меня очень интересует какие на этой частоте есть запасы по времянкам - у меня этот SPI проходит через комутатор на CPLD (XC9572XL) и мне надо определится, смогу ли я заставить это все работать на 10 MHz, или придется понижать тактовую.
Go to the top of the page
 
+Quote Post
VicDzen
сообщение Aug 17 2007, 11:04
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 21
Регистрация: 8-08-07
Пользователь №: 29 644



Цитата(XVR @ Aug 17 2007, 13:54) *
Я как бы догадываюсь, что работать будет (хотя по datasheet'у и не должно), меня очень интересует какие на этой частоте есть запасы по времянкам - у меня этот SPI проходит через комутатор на CPLD (XC9572XL) и мне надо определится, смогу ли я заставить это все работать на 10 MHz, или придется понижать тактовую.

На сколько я знаю, В ЦПЛД всегда можно поигратся с выводами и отсимулировать что получится по сдвигам/задержкам, а 10 МГц это не такая уж и большая частота по сравнению с теми задержками что дает ПЛМ, так что думаю проблем не будет. Кстати, скорости работы ПИКа все равно врядли хватит для обработки данных на такой скорости, для каких задач-то использоваться будет, если не секрет ?


--------------------
Deliberandum est diu, quod statuendum est semel.
Go to the top of the page
 
+Quote Post
XVR
сообщение Aug 17 2007, 13:59
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(VicDzen @ Aug 17 2007, 15:04) *
На сколько я знаю, В ЦПЛД всегда можно поигратся с выводами и отсимулировать что получится по сдвигам/задержкам, а 10 МГц это не такая уж и большая частота по сравнению с теми задержками что дает ПЛМ, так что думаю проблем не будет.


'Поиграться и отсимулировать' можно, но если я не знаю какие задержки реально допускает PIC, то с чем я буду играться?

Да и 10 MHz это тоже не очень мало - в текущем варианте разводки CPLD есть задержки около 80ns, что явно больше, чем можно sad.gif

Цитата
Кстати, скорости работы ПИКа все равно врядли хватит для обработки данных на такой скорости, для каких задач-то использоваться будет, если не секрет ?
Собственно CPLD соединяет 3 устройства - PIC/DataFlash/JTAG (Xilinx FPGA). Скорость нужна на связке DF->JTAG для ускорения процесса загрузки FPGA. Загружаться будет под управлением внешней тактовой частоты (25 MHz) непосредственно из DF в FPGA JTAG, минуя PIC.

Так что скорость работы самого PIC'а не критична, но так как другая часть коммутатора явно будет работать более чем в 2 раза быстрее, то хотелось бы и PIC запустить на максимальной скорости, осталось только выяснить, какая она, максимальная.
Go to the top of the page
 
+Quote Post
VicDzen
сообщение Aug 20 2007, 10:42
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 21
Регистрация: 8-08-07
Пользователь №: 29 644



Хоть убейте, не понял зачем в вашей задаче такая скорость работы SPI smile.gif, ну да ладно. А допустимые параметры для данных относительно ЦЛКа можно элементарно вычислить из характеристик самого ЦЛК + некоторый допуск. И еще раз повторюсь что 10 МГц не такая уж и большая частота. А лучше всего использовать 5 МГц, в основном из-за того что при передаче большого объема данных через SPI все равно даже 5МГц ПИК не поятнет, смысла запускать его на такой скорости не вижу. Не серчайте, если что, это мое ИМХО


--------------------
Deliberandum est diu, quod statuendum est semel.
Go to the top of the page
 
+Quote Post
XVR
сообщение Aug 20 2007, 18:16
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(VicDzen @ Aug 20 2007, 14:42) *
Хоть убейте, не понял зачем в вашей задаче такая скорость работы SPI smile.gif , ну да ладно.


Хотелось максимально использовать возможности по скоростям, хотя это в данном случае и не критично

Цитата
А допустимые параметры для данных относительно ЦЛКа можно элементарно вычислить из характеристик самого ЦЛК + некоторый допуск.


В том и проблема, что эти характеристики противоречивые - в одном месте datasheet'а написано 10 MHz, в другом - менее 5 MHz

Цитата
И еще раз повторюсь что 10 МГц не такая уж и большая частота.


Увы, XC9576XL -10 не тянет даже 10 sad.gif Да и не надо.

Цитата
А лучше всего использовать 5 МГц,


5 не получится - следующая частота 2.5 MHz (Tcy/16)

Цитата
в основном из-за того что при передаче большого объема данных через SPI все равно даже 5МГц ПИК не поятнет, смысла запускать его на такой скорости не вижу. Не серчайте, если что, это мое ИМХО
PIC запущен на 40 MHz (10mips), в процессе програмирования DataFlash он будет закачивать массив из CPLD и выгружать его обратно на максимальной скорости. Никакой дополнительной обработки передаваемых данных не нужно, так что PIC может успеть все передать и на 10 MHz SPI. С другой стороны запись переданного массива в DF потребует соизмеримого времени, так что скорость собственно передачи не очень критична, ну и черт с ней.
Go to the top of the page
 
+Quote Post

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

 


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


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