Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Опять про SSC на AT91SAM7S
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Edmundo
Вот и я встал на скользкий путь программирования SSC. Жизнь так сказать заставила smile.gif
Возник сразу вопрос. У меня задача такая. Есть массив, хочу его гнать по SSC через PDC следующим макаром: 1 байт неважно чего, 7 байт данных (и т.д.). Синхронизация -- внешняя на ногу TK. Фреймовые сигналы вообще не важны.

Самая простая настройка передатчика
Код
    AT91F_SSC_Configure (AT91C_BASE_SSC,
        MCK, // \arg System Clock Frequency
        0,// \arg Expected Baud Rate Frequency
        0, // \arg Receiver Clock Parameters
        0, // \arg mode Register to be programmed
        0x2 | AT91C_SSC_CKI, // \arg Transmitter Clock Parameters
        7); // \arg mode Register to be programmed

приводит к тому, что перед данными в течении 3-х клоков мусор (0-1-0). Я думал, что мусор будет в течении 1 клока (минимальный фреймовый сигнал), но не 3. И почему 1 -- ведь AT91C_SSC_DATDEF не взведен. В общем непонятно.

Дальше я пытался различными настройками удлинить фрейм до необходимых мне 8 бит, чтобы данные шли после. Но никакие настройки не влияли -- неизменно первые три клока заполнялись разного рода фигней, и только потом шли данные. Только AT91C_SSC_STTDLY влияет, 5 бит если поставить, то все как надо. Но тут проблема, что при перегоне большого массива через PDC эта задержка я так понимаю только один раз будет.

Может кто посоветует с настройками.
Edmundo
Ладно, проехали smile.gif
Пришлось фрейм завести и сменить тип старта на falling edge. Хотя все равно криво работает, что-то вещь эта отвратная довольно. SSC-раздел даташита уже наизусть выучил, а все равно так как должен, не фурычит. Полного ДМА не получилось, но пока времени разбираться нету.
Shuuura
Цитата
Полного ДМА не получилось, но пока времени разбираться нету.

У меня все работает. Через SSC+PDC заливаю прошивку Cyclon-а из flash. Использую все аппаратные ножки. Правда в прошивке вначале идет несколько десятков FF, явно для синхронизации, может они спасают. Заработало сразу, даже осцилографом смотреть не стал.
Edmundo
Цитата(Shuuura @ May 18 2006, 09:26) *
У меня все работает. Через SSC+PDC заливаю прошивку Cyclon-а из flash. Использую все аппаратные ножки. Правда в прошивке вначале идет несколько десятков FF, явно для синхронизации, может они спасают. Заработало сразу, даже осцилографом смотреть не стал.

Сейчас пробую передатчик SSC в мастер-режиме, то есть синхронизация от делителя. Пришлось немного перекроить идею. Вроде работает лучше, чем от внешнего клока.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.