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

 
 
> LPC1768+DMA+SSP, Как правильно сбросить переполненный канал
Golikov A.
сообщение Jan 19 2015, 16:36
Сообщение #1


Гуру
******

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



Всем привет!

Есть такая проблемка на LPC1768 настроен SSP в режиме slave
входные данные при помощи DMA перегружаться в буфер 1024 байта.

если на вход напихать данных так штук 2000, то буфер переполняется, для сброса этого дела
я
1. выключаю DMA каналы,
2. дожидаюсь что пропал битик включения канала
3. вычитываю буфер FIFO SSP
4. переинициализирую DMA канал

и мне приходит последний байт, хоть убейся об него...

Такая же переинициализация в середине обмена - все хорошо, а по переполнению вот такая фигня.

Кто сталкивался, как победить?

Как почистить кроме входного еще и выходной SPP FIFO?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Jan 20 2015, 10:41
Сообщение #2


Гуру
******

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



Пробросить один сигнал периферии на 2 ноги не выходит, видать там мультиплексор...

Цитата
И кто же мешает дополнять эти кадры padding-ом до некоторого нужного размера?
Надеюсь - хоть канальный уровень протокола обмена у вас какой-то прописан, который поможет определить фактическую длину кадра?

природная лень, помноженная на здравый смысл.
Разбитие входного сообщения и отправка его по частям сулит дикий гемор с детекцией и индикацией ошибок. А выравнивать все сообщения до максимально большого - просадка по скорости обмена. Если у вас есть хорошие идея я открыт. Мне предстоит еще езернет перепихать в CAN.
езернет - есесно ТСР, то есть получение по нему проблем не вызывает, приходит целая понятная посылка.


Цитата
Не надо. Это Вы что-то не так делаете. Ищите ошибку у себя. SSP (даже слэйв) в LPC не требует дёрганья CS на каждое слово.

не путаете модель LPC? Я сутки своему пытался объяснить что ему не надо дергать CS на каждый байт, а ему хоть бы хны, пока cs не дернешь второго байта не отдаетwink.gif... В мануале написано дергать каждый раз
Есть 3 режима SSP: SPI - требует дергать на каждый байт (мы говорим про слейв). Microwire - позволяет дергать на фрейм, но обмен идет через один по протоколу микроваер, то есть принимается каждый второй байт от мастера, а между ними считаются выходными байтами, и еще формат от тексаса, там обмен по 1 линии данных...
у филипса менялась реализация SSP, в каких то процах работает только так, в каких то можно на фрейм херачить.

Если у вас именно LPC1768 и есть SSP-slave который работает с кадровой синхронизацией я бы очень хотел это увидеть, потому что это решит некоторые мои проблемы


Цитата
Авторитета у вас нет laughing.gif
У нас если я скажу, что нужно переделать схему - переделывают, переразводят.
И в удалённых проектах, в которых участвовал - тоже.

Просто мой авторитет ниже руководства, которое эту плату через 1.5 недели отправит на другой конец света. И новый вариант я туда повезу сам если ее не успеют переделать за 1.5 недели, а ее не успеютsm.gif Во второй ревизии поправим, а пока надо решать что есть...


Цитата
Так перед тем как садиться схему делать и ПО писать, сперва следует мануал на МК изучить, чтобы такого не было

Да как бы 8 проект на этом проце, и все были с SSP, после такого некоторые свои виденья начинают казаться частями мануала. SSP-slave не было, потому вот так вышло.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Golikov A.   LPC1768+DMA+SSP   Jan 19 2015, 16:36
- - jcxz   Цитата(Golikov A. @ Jan 19 2015, 22:36) К...   Jan 20 2015, 03:34
- - Golikov A.   Не будет... Да сейчас я себе злобный буратино, но ...   Jan 20 2015, 08:04
|- - jcxz   Цитата(Golikov A. @ Jan 20 2015, 13:15) S...   Jan 20 2015, 08:15
- - Golikov A.   ЦитатаВы уверены? Вообще-то у канала нет бита выкл...   Jan 20 2015, 09:02
|- - jcxz   Цитата(Golikov A. @ Jan 20 2015, 15:02) б...   Jan 20 2015, 09:26
- - Golikov A.   ЦитатаУ Вас неоптимально сконфигурён DMA для SSP. ...   Jan 20 2015, 09:51
|- - jcxz   Цитата(Golikov A. @ Jan 20 2015, 15:51) ч...   Jan 20 2015, 10:04
|- - jcxz   Цитата(Golikov A. @ Jan 20 2015, 15:51) а...   Jan 20 2015, 10:35
- - Golikov A.   правильно не 1 микросекунда, а 100 тактов. И это в...   Jan 20 2015, 10:14
|- - jcxz   Цитата(Golikov A. @ Jan 20 2015, 16:41) П...   Jan 20 2015, 11:19
- - Golikov A.   ЦитатаНе хватает авторитета попросить схемотехника...   Jan 20 2015, 11:48
|- - jcxz   Цитата(Golikov A. @ Jan 20 2015, 17:48) К...   Jan 20 2015, 14:23
- - Golikov A.   ЦитатаЭто короткий проводок, может даже - сопля на...   Jan 20 2015, 14:43
|- - jcxz   Цитата(Golikov A. @ Jan 20 2015, 20:43) В...   Jan 20 2015, 16:27
- - Golikov A.   ну теперь разбивкой на пакеты будет сигнал CS, кот...   Jan 20 2015, 16:45
|- - jcxz   Цитата(Golikov A. @ Jan 20 2015, 22:45) п...   Jan 20 2015, 17:40
- - Golikov A.   Переписал, да чудо - чудесное. Наконец то заработа...   Jan 20 2015, 18:51
|- - jcxz   Цитата(Golikov A. @ Jan 21 2015, 00:51) П...   Jan 21 2015, 04:03
- - Golikov A.   однако ДМА поддерживается весьма небольшим числом ...   Jan 21 2015, 08:13
|- - jcxz   Цитата(Golikov A. @ Jan 21 2015, 14:13) о...   Jan 21 2015, 09:21
- - Golikov A.   Доступ к периферии у ДМА ограничен, не знаю можно ...   Jan 21 2015, 10:16
|- - jcxz   Цитата(Golikov A. @ Jan 21 2015, 16:16) Д...   Jan 21 2015, 10:55
- - Golikov A.   написано что периферийный блоки поддерживающие GP_...   Jan 21 2015, 11:22
|- - jcxz   Цитата(Golikov A. @ Jan 21 2015, 17:22) н...   Jan 22 2015, 03:09
- - Golikov A.   а синхронизация как? Прерывание по первому пришедш...   Jan 22 2015, 07:00
|- - jcxz   Цитата(Golikov A. @ Jan 22 2015, 13:00) а...   Jan 22 2015, 08:57
- - бомж   Цитата(Golikov A. @ Jan 19 2015, 18:36) В...   Feb 2 2015, 20:05
- - Golikov A.   ЦитатаЯ вот так справился с такой проблемой: ну пл...   Feb 2 2015, 20:52
|- - бомж   > ну плохо вы справились и не с той проблемой.....   Feb 3 2015, 22:17
- - Golikov A.   Цитата>читая из регистра данных вы вычитываете ...   Feb 4 2015, 06:01


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 23:03
Рейтинг@Mail.ru


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