SPI интерфес

Do you have a question? Post it now! No Registration Necessary

Threaded View
Привет All!

Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается, а вот прием с
приемом никак. Кто-нибудь сабж использовал? Hадо кодек проинициализировать с с
помощью сабжа. Интересует порядок инициализации сабжа и т.д.

     С уважением, Ivan Melnikov        Среда Октябрь 08 2003 21:17.


... "Хозяйство вести - не ... флагом трясти."

SPI интерфес

        Hi Ivan!

Wednesday October 08 2003, Ivan Melnikov wrote to All:

 IM> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается, а вот
 IM> прием с приемом никак. Кто-нибудь сабж использовал? Hадо кодек

знакомые грабли :)
когда я столкнулся с подобой проблемой в at90s8515, выяснил что SCLK дергается
только при передаче. поэтому нужно сначала делать запись в регистр данных
любого байта, а только потом читать из него.

 IM>      С уважением, Ivan Melnikov        Среда Октябрь 08 2003 21:17.

  Всего доброго.


SPI интерфес
Привет Andrey!

Четверг Октябрь 09 2003 15:24, Andrey Tischenko -> Ivan Melnikov:

 IM>> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается,
 IM>> а вот прием с приемом никак. Кто-нибудь сабж использовал? Hадо
 IM>> кодек
 AT> знакомые грабли :)

               Для меня нет. :(

 AT> когда я столкнулся с подобой проблемой в at90s8515, выяснил что SCLK
 AT> дергается только при передаче. поэтому нужно сначала делать запись в
 AT> регистр данных любого байта, а только потом читать из него.
 AT>

        Интересно... Попробую...

     С уважением, Ivan Melnikov        Суббота Октябрь 11 2003 14:23.

... "Пусть ХАЛЯВА будет вечной"

SPI интерфес
Добрый день, Ivan!

 IM> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается, а вот
 IM> прием с приемом никак. Кто-нибудь сабж использовал? Hадо кодек
 IM> проинициализировать с с помощью сабжа. Интересует порядок инициализации
 IM> сабжа и т.д.

Я использовал SPI в AT89S8252 в режиме Slave для связи с PC. Сначала тоже
были
проблемы с приёмом, контроллер возвращал обратно переданное к нему значение
пока не написал вот так:
                        mov     a,spsr                         ;запрос
состояния SPI
                        mov     SPDR,@r0                ;данные на передачу
                        anl     a,#080h                        ;проверка
приема
                        jz      m003                             ;если
принят байт
                        mov     a,SPDR                      ;то в
аккумулятор...

Это кусок не в обработчике прерывания от SPI, а в основном цикле, поэтому
получается,
что данные в каждом цикле программы записываются в SPDR независимо от того
принят
 байт  или нет.Как то некрасиво получилось, но заработало. А также я не
поверял бит
WCOL(Write Collision Flag) при записи в SPDR, а возможно надо было.

С уважением.
Шуньгин Александр
г. Новодвинск
Архангельской губернии






Re: SPI интерфес
Привет Alex!

Воскресенье Октябрь 12 2003 16:40, Alex Shungin -> Ivan Melnikov:

 IM>> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается,
 IM>> а вот прием с приемом никак. Кто-нибудь сабж использовал? Hадо
 IM>> кодек проинициализировать с с помощью сабжа. Интересует порядок
 IM>> инициализации сабжа и т.д.
 AS>
 AS> Я использовал SPI в AT89S8252 в режиме Slave для связи с PC. Сначала

        А в этом режиме атмел выдавал частоту или PC ?

 AS> тоже были проблемы с приёмом, контроллер возвращал обратно переданное
 AS> к нему значение пока не написал вот так:

        [... пропущено ...]

 AS> Это кусок не в обработчике прерывания от SPI, а в основном цикле,

        Я тоже обрабатываю не в обработчике прерывания

 AS> поэтому получается, что данные в каждом цикле программы записываются
 AS> в SPDR независимо от того принят байт  или нет.
 AS> Как то некрасиво получилось, но заработало.

        Почему ? Главное работает...

 AS> А также я не поверял бит WCOL(Write Collision Flag) при записи в

        Я его тоже не проверяю.

 AS> SPDR, а возможно надо было.
 AS>

        Зачем ?
        Ты какой установки в SPCR прописал ?
        Ты пробовал их менять ?
        Влияют на работу или не принципиально ?

     С уважением, Ivan Melnikov        Вторник Октябрь 14 2003 22:05.

... "Прежде чем говорить что думаешь, думай,что говоришь."

Re: SPI интерфес
Добрый день, Ivan!
 14 oct 03 17:43 Ivan Melnikov wrote to Alex Shungin

 IM>>> Пытаюсь запустить сабж на Atmele AT82LS8252, передача получается,
 IM>>> а вот прием с приемом никак. Кто-нибудь сабж использовал? Hадо
 IM>>> кодек проинициализировать с с помощью сабжа. Интересует порядок
 IM>>> инициализации сабжа и т.д.

 AS>> Я использовал SPI в AT89S8252 в режиме Slave для связи с PC.

 IM>         А в этом режиме атмел выдавал частоту или PC ?

Контроллер как Slave поэтому РС выдавал синхронизацию.

 AS>> тоже были проблемы с приёмом, контроллер возвращал обратно
 AS>> переданное к нему значение пока не написал вот так:

      [... пропущено ...]

  AS>> Это кусок не в обработчике прерывания от SPI, а в основном цикле,

 IM>         Я тоже обрабатываю не в обработчике прерывания

Если делать в прерывании, такая запись не сработает -  не факт, что данные
запишутся в SPDR сразу. Думаю именно для того чтобы убедится в записи данных
для передачи и нужен бит WCOL(Write Collision Flag).

 AS>> поэтому получается, что данные в каждом цикле программы
 AS>> записываются в SPDR независимо от того принят байт  или нет.
 AS>> Как то некрасиво получилось, но заработало.

 IM>         Почему ? Главное работает...

Плохо когда не понимаешь, что конкретно происходит. В какой момент
происходит запись в регистр не понятно.

AS>> А также я не поверял бит WCOL(Write Collision Flag) при записи в

 IM>         Я его тоже не проверяю.

 AS>> SPDR, а возможно надо было.

 IM>         Зачем ?

Чтобы убедится прошла запись в SPDR или нет.

 IM>         Ты какой установки в SPCR прописал ?

                        mov     SPCR,#040h

 IM>         Ты пробовал их менять ?
 IM>         Влияют на работу или не принципиально ?

Пока нет времени разбираться,  с рабочего проекта рассказываю, он работает.

С уважением.
Шуньгин Александр
г. Новодвинск
Архангельской губернии





Site Timeline