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

 
 
> Автомат передачи данных по 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

Сообщений в этой теме
- 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
- - Golikov A.   не работает оно 2 клоковое. Клок то у SPI не посто...   Feb 27 2015, 13:49
|- - 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 Текстовая версия Сейчас: 23rd July 2025 - 17:24
Рейтинг@Mail.ru


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