|
|
  |
Связь ADSP-2106 и EP9312 по SPI, В ADSP-2106 используется SPORT |
|
|
|
Nov 28 2006, 17:42
|

Участник

Группа: Новичок
Сообщений: 42
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 373

|
Здравствуйте! Задача следующая. Необходимо организовать двусторонний обмен информацией между ADSP-2106 и EP9312, используя на первой SPORT, а на второй SPP в режиме SPI (пытаюсь Motorola SPI). Причем, линии синхронизации и фреймов общие, а данных - раздельные. Столкнулся с проблемой. При передаче ПЕРВОГО слова длиной в байт от 9312 (смотрел на осциллографе - выглядит как в мануале) к 2106 куда-то пропадают от 2 до 4 первых бит (в зависимости от настроек SPORT). Оставшиеся 4-6 бит застревают во входном буфере. При передаче следующего слова по всей видимости его первые 2-4 бита запоняют буфер, и формируется сигнал прерывания, оставшиеся 4-6 бит снова застревают. Кто-нибудь встречался с подобным? С чем может быть связана такая ситуация? Как можно организовать обмен? Вся каверза ситуации состоит в том, что если я (2106) пытаюсь сразу ответить на принятое слово, то натыкаюсь на занятые остатками слова каналы синхронизации и фреймов, что лишает возможности передавать осмысленную информацию. Буду рад любым мыслям и соображениям на сей счет.
Прикрепленные файлы
dg1.bmp ( 65.03 килобайт )
Кол-во скачиваний: 29
dg2.bmp ( 58.06 килобайт )
Кол-во скачиваний: 24
--------------------
Мне триста лет - я выполз из тьмы...
|
|
|
|
|
Nov 29 2006, 16:17
|

Участник

Группа: Новичок
Сообщений: 42
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 373

|
В dg3 регистр конфигурации приема ADSP-2106. Записываю значение 0x00013071, к примеру.
2 aaarrr Как я понял, SPI в чистом виде подразумевает, что мастер - это передающий, т.е. клоки и фреймы генерирует передатчик. В SPORT есть возможность передавать, используя эти сигналы извне. Но так как каналы клоков и фреймов общие, последней возможностью воспользоваться, на мой взглад, невозможно. Что касается прерывающихся клоков, то, как я понял, Motorola SPI требует клоков только во время передачи битов. Но это касается передачи данных от 2106.
2 etoja К сожалению, проект уже большей частью давно реализован с помощью этой платы. Поэтому последовать вашему совету не могу. Спасибо.
2 Miron Была такая мысль. Обстоятельно к ней не подходили за извращенностью оной. Пробовали скомпилировать прогу на EP9312 для 4-битного слова, запускали, передавали одно слово, затем компилировали под 8-битное, запускали, и все передавалось как надо. Но вот если совершать переконфигурацию порта передатчика в процессе выполнение программы, то ровным счетом ничего не меняется (первые 4 бита первого из 8-битных слов также ныряют в бездну вслед за 4-битным словом).
ЗЫ. Создал даже таблицу результатов... № Late Active Low Rising Edge Left 0 0 0 0 - 1 0 0 1 4 2 0 1 0 4 3 0 1 1 3 4 1 0 0 - 5 1 0 1 - 6 1 1 0 3 7 1 1 1 2 Здесь в столбцах Late, Active Low, Rising Edge приведены значения битов LAFS, LRFS, CKRE регистра конфигурации приемника соответственно, а в столбце Left - количество непринятых первых битов первого слова ("-" - отсутствие вообще какой-либо принятой информации, прерывание заполнения входного буфера не принято).
Прикрепленные файлы
dg3.bmp ( 124.65 килобайт )
Кол-во скачиваний: 16
--------------------
Мне триста лет - я выполз из тьмы...
|
|
|
|
|
Nov 29 2006, 16:57
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(metalkain @ Nov 29 2006, 16:17)  Как я понял, SPI в чистом виде подразумевает, что мастер - это передающий, т.е. клоки и фреймы генерирует передатчик. В SPORT есть возможность передавать, используя эти сигналы извне. Но так как каналы клоков и фреймов общие, последней возможностью воспользоваться, на мой взглад, невозможно. Что касается прерывающихся клоков, то, как я понял, Motorola SPI требует клоков только во время передачи битов. Но это касается передачи данных от 2106. Клоки и фреймы генерирует не передатчик, а мастер. Передавать и принимать могут оба независимо. Вам нужно уяснить следующий момент: сигнал фрейма в SPORT является синхронным, т.е. его изменения отслеживаются по фронтам/спадам клока, а SFRM в SPI - это асинхронный сигнал выборки. Таким образом, полностью потери битов избежать не удастся. Цитата(etoja @ Nov 29 2006, 09:35)  Вместо ADSP2106 используйте LPC2106 - быстродействие вырастет, а аппаратура уменьшится. С подобными предложениями выступайте в Free Talks.
|
|
|
|
|
Nov 30 2006, 17:54
|

Участник

Группа: Новичок
Сообщений: 42
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 373

|
2 aaarrr Благодарю за полезную информацию. Похоже, будет принято решение перейти на RS232
--------------------
Мне триста лет - я выполз из тьмы...
|
|
|
|
|
Nov 30 2006, 22:42
|
Участник

Группа: Новичок
Сообщений: 30
Регистрация: 27-05-06
Пользователь №: 17 496

|
Цитата(aaarrr @ Nov 29 2006, 16:57)  ... а SFRM в SPI - это асинхронный сигнал выборки. Таким образом, полностью потери битов избежать не удастся. Вроде в режиме TI SPI, SFRM привязывается к SCLK, по крайней мере так изображено на временной диаграмме, в вот у Motorola SPI, судя по все той же временной диаграмме действительно SFRM не привязан к SCLK. Вопрос к metalkain, почему вы выбрали именно Мотороловский режим?
|
|
|
|
|
Dec 1 2006, 18:15
|

Участник

Группа: Новичок
Сообщений: 42
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 373

|
Цитата Вопрос к metalkain, почему вы выбрали именно Мотороловский режим? В 9312 есть еще два интерфейса, реализованных на SSP, но визуально мне они показались еще более несовместимыми, да и на практике положительного результаты не показали.
Прикрепленные файлы
dg4.bmp ( 65.69 килобайт )
Кол-во скачиваний: 31
dg5.bmp ( 91.83 килобайт )
Кол-во скачиваний: 23
--------------------
Мне триста лет - я выполз из тьмы...
|
|
|
|
|
Dec 1 2006, 21:36
|
Участник

Группа: Новичок
Сообщений: 30
Регистрация: 27-05-06
Пользователь №: 17 496

|
Цитата(metalkain @ Dec 1 2006, 18:15)  Цитата Вопрос к metalkain, почему вы выбрали именно Мотороловский режим? В 9312 есть еще два интерфейса, реализованных на SSP, но визуально мне они показались еще более несовместимыми, да и на практике положительного результаты не показали. Как раз TI SSP выглядит более предпочтительней Моторолы, так как SCLK у TI непрерывно идут и SFRM привязан к SCLK, так же как и у ADSP.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|