PCaban 0 29 октября, 2012 Опубликовано 29 октября, 2012 · Жалоба Всем доброго времени суток. Проблема - может быть кто сталкивался. Имеется устройство (к сожалению, не моей разработки), и в нем 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). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться