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

 
 
> Битые данные из RX_FIFO MAX3107
PCaban
сообщение Oct 29 2012, 08:40
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 3-12-06
Пользователь №: 23 075



Всем доброго времени суток. Проблема - может быть кто сталкивался.

Имеется устройство (к сожалению, не моей разработки), и в нем MAX3107, стоящий на макетной плате в качестве моста между SPI-интерфейсом проца (CC5515) и одним устройством с UART. UART - полнодуплексный, 921600. SPI - от 6 до 15 МГц. CS SPI-интерфейса расходится еще на три устройства, которые в данной конфигурации спят. Обмен через мост идет пакетами по 64 байта.

На передачу связка работает без нареканий. При приеме же наблюдаю следующее - в вынимаемом из приемного FIFO потоке байт попадаются перестановки или вставки последовательностей байт из свежепринимаемых пакетов. Например, прилетели пакет P1 и за ним пакет P2. Последовательность вынимаемого из FIFO может выглядеть так:

P1[1], P1[2],..., P1[18], P2[1], P2[2], P1[19], P1[20], P1[30], P1[31], P1[21],..., P1[29], P1[30], P[31].

Последовательность получается длиннее на длину "вклинившихся" кусков.

Пробовал читать как одинарными обращениями к регистру RHR, так и пакетом (запись "0" в 0х00 MAX, затем пачка чтений). При одинарных обращениях ошибка возникает заметно реже (1-2 в 32 мбайтах потока), чем при пакетных (1 ошибка на 30-40 кбайт). При пакетной записи проблема отсутствует (проверяли логическим анализатором/бордой для приема UART на 921600).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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