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

 
 
> Автомат передачи данных по SPI slave, Фифо на много слов, оптимизация
Golikov A.
сообщение Feb 25 2015, 16:07
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Всем привет!

задача такая, надо по SPI slave передать данные размером 32+64+6*32 бита и контрольная сумма (итого 37-38 байт)

SPI - slave, на частоте сравнимой с основным клоком, потому асинхронный, синхронизация по CS

Данные рождаются спонтанно, по каким-либо событиям, а забираются мастером как у того будет настроение, потому решил воткнуть фифо.

Посылка важна целиком, то есть если мастер бросил принимать в середине посылку, она должна быть отброшена разом, и следующая опять должна быть целиком.

В результате у меня получается такая схема:

SPI - передатчик, которому надо на вход выставить 8 битное данные, а он их выдавит асинхронно на выход. Он сигналом отмечает как забрал данные, и внешняя схема может выставлять следующие данные.

FIFO сделал параллельное, которое засасывает сразу всю посылку. Сделал его не одним фифо на (32+64+6*32) бит, а поставил 1+2+6 32 битных отдельных FIFO.

И вот теперь самое интересное. Надо как -то данные с выхода FIFO перепихать на вход SPI передатчика. И что-то у меня ничего умнее чем огромный мультиплексор на 9 8-битных слов в одно не получается. А еще по ходу перещелкивания он будет подсчитывать контрольную сумму, и добавить ее в конце, то есть мультиплексор 10-11 в 1. Ресурсы не жмут, но как-то не красиво выходит, может кто предложит какое-то более изящное решение?


Может 90 битный SPI будет более правильным решением?


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Feb 27 2015, 13:49
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



не работает оно 2 клоковое. Клок то у SPI не постоянный... Я с этого фифо и начинал, ан фиг вам... Прежде чем слово выдавиться надо его поклокать.

1. мне надо ограничить величину времени распространения сигнала от выхода FIFO через мультиплексор до ножки.
2. мне надо ограничить величину времени распространения сигнала от выхода FIFO до сдвигового регистра SPI, причем именно чтобы сигнал до него дошел и выставился на входах защелки стабильно.

вот только как это описывается...

по идее 1 это setup определяет, то есть задав setup для клока FIFO я сразу эту величину получу... (или холд все время путаю). И вот я сейчас думаю, наверное 2 тот же самый сетап.

время распространения сигнала от FIFO до любых других элементов, которые могут использовать его по своему усмотрению - это же setup? да?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Golikov A.   Автомат передачи данных по SPI slave   Feb 25 2015, 16:07
- - blackfin   Цитата(Golikov A. @ Feb 25 2015, 19:07) ....   Feb 25 2015, 16:39
- - SM   Если там 37-38 байт, то сделать FIFO на байт, так,...   Feb 25 2015, 17:03
- - Golikov A.   ЦитатаА зачем такой изврат? Нужно сделать один отд...   Feb 25 2015, 17:17
|- - des00   Цитата(Golikov A. @ Feb 26 2015, 01:17) к...   Feb 25 2015, 17:27
|- - blackfin   Цитата(Golikov A. @ Feb 25 2015, 20:17) Э...   Feb 25 2015, 17:30
||- - des00   Цитата(blackfin @ Feb 26 2015, 00:30) Вам...   Feb 25 2015, 17:35
|- - SM   Цитата(Golikov A. @ Feb 25 2015, 20:17) к...   Feb 25 2015, 17:48
- - Golikov A.   ЦитатаВам не знакомо такое явление, как регистр сд...   Feb 25 2015, 18:58
|- - blackfin   Цитата(Golikov A. @ Feb 25 2015, 21:58) т...   Feb 25 2015, 19:11
|- - SM   Цитата(Golikov A. @ Feb 25 2015, 21:58) В...   Feb 25 2015, 19:14
|- - des00   Цитата(Golikov A. @ Feb 26 2015, 02:58) а...   Feb 26 2015, 06:17
- - Golikov A.   ЦитатаНе все, конечно. Я бы сделал на трех счетчик...   Feb 25 2015, 20:39
|- - blackfin   Цитата(Golikov A. @ Feb 25 2015, 23:39) м...   Feb 26 2015, 04:40
- - Golikov A.   1. не обязательно, можно, но с учетом что клок SPI...   Feb 26 2015, 05:46
- - Golikov A.   мне же fifo надо, можно следить куда положено, отк...   Feb 26 2015, 09:05
|- - des00   Цитата(Golikov A. @ Feb 26 2015, 16:05) м...   Feb 26 2015, 15:39
- - Timmy   Цитата(Golikov A. @ Feb 25 2015, 19:07) Д...   Feb 26 2015, 09:42
- - Golikov A.   отбрасывается предыдущий пакет, заменяется на новы...   Feb 26 2015, 10:22
- - Golikov A.   Не все как раз наоборот. Быстро сляпать как раз н...   Feb 26 2015, 16:57
|- - blackfin   Цитата(Golikov A. @ Feb 26 2015, 19:57) О...   Feb 26 2015, 17:14
- - Golikov A.   да мне не исключить надо, мне бы как раз добавить....   Feb 26 2015, 17:23
|- - Timmy   Цитата(Golikov A. @ Feb 26 2015, 20:23) д...   Feb 26 2015, 20:29
- - Golikov A.   он не то что может быть, а он 100% не активен. пос...   Feb 26 2015, 20:36
- - SM   Вообще, междоменные переходы объявляют как set_fal...   Feb 27 2015, 09:22
|- - SM   Цитата(Golikov A. @ Feb 27 2015, 16:49) в...   Feb 27 2015, 15:41
- - SM   Вдогонку - такое FIFO придется делать на распредел...   Feb 27 2015, 17:04
- - Golikov A.   спасибо погляжу.   Feb 27 2015, 21:39


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

 


RSS Текстовая версия Сейчас: 1st September 2025 - 02:50
Рейтинг@Mail.ru


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