Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

PIC18F2525 аппаратный (MSSP)SPI

Пт апр 21, 2017 02:19:17

Доброго времени суток.Разбираюсь с аппаратный (MSSP)SPI, до этого использовал только программный, физику процесса знаю.Но вот с аппаратным стопор...Использую MPLAB8.92 и эмулятор MPLAB SIM.
Вроде все настраиваю согласно даташиту,но вот в логическом анализаторе ничего нет.
Работа в режиме Мастера.
Вот сама программа.




Есть вопрос, как переключаться между прием/передача и пуск процесса?

Re: PIC18F2525 аппаратный (MSSP)SPI

Пт апр 21, 2017 03:21:27

Пересылка в буфер модуля и есть начало передачи.
Как и начало приема.
Потому что прием и передача в SPI - это одно и то же. И происходят они В ОДНО И ТО ЖЕ ВРЕМЯ.
Мастер от слейва отличает лишь формирование клоков. Данными они обмениваются по кольцу.

Re: PIC18F2525 аппаратный (MSSP)SPI

Пт апр 21, 2017 03:53:17

Спасибо, это в принципе понял из даташита.Что одновременно прием и передача на рис.зеленым цветом.
Для пуска передачи/приема нужно записать SSPPUF и TRIS bit, красный цвет.
Почему в эмуляторе нету движения, понять не могу?...
Вложения
1.png
(37.22 KiB) Скачиваний: 712

Re: PIC18F2525 аппаратный (MSSP)SPI

Пт апр 21, 2017 09:02:02

А почему бы в железе не проверить ?

Re: PIC18F2525 аппаратный (MSSP)SPI

Пт апр 21, 2017 16:09:37

EclipsV писал(а):Спасибо, это в принципе понял из даташита.Что одновременно прием и передача на рис.зеленым цветом.
Для пуска передачи/приема нужно записать SSPPUF и TRIS bit, красный цвет.
Почему в эмуляторе нету движения, понять не могу?...

TRIS должен быть сконфигурирован на клоках как ВЫХОД, то есть быть равен НУЛЮ.

Re: PIC18F2525 аппаратный (MSSP)SPI

Сб апр 22, 2017 04:13:50

То есть TRISC и TRISB используемых MSSP сбрасываю в ноль.Хорошо...но почему, то все равно тишина. Через неделю должен новый PICkit3 подойти, в железе посмотрю.Спасибо за помощь!

Re: PIC18F2525 аппаратный (MSSP)SPI

Сб апр 22, 2017 13:09:01

У меня такое ощущение, что Вы даташит читаете лишь там, где есть картинки.
TRIS означает tri-state - третье состояние пина - отключенный ВЫХОД. Вход при этом присоединен всегда. То есть все входы должны иметь TRIS=1, чтобы их не шунтировал выходной буфер порта, а все выходы должны иметь TRIS=0.
И это собственно к модулю SSP отношения не имеет. Это функции ПОРТОВ, которые, естественно, должны соответствовать функциям подключаемых модулей. Кроме того, для пинов с аналоговыми альтернативными функциями нужно отключить эти функции.

Re: PIC18F2525 аппаратный (MSSP)SPI

Пн апр 24, 2017 02:16:57

В каком пункте описывается TRIS =>tri-state ? SPI я настраиваю согласно 17.3.3.(ENABLING SPI I/O).Для мастера TRISC(port SPI)=clear, TRISA(port SPI)=set.

Re: PIC18F2525 аппаратный (MSSP)SPI

Пн апр 24, 2017 07:17:33

EclipsV писал(а):В каком пункте описывается TRIS =>tri-state ?

Это традиционное для Микрочипа название регистра управления выходным буфером (его третьим состоянием)
В даташите на Ваш контроллер нет побитно расписанного регистра TRIS, но в других есть:
Изображение
Но дело не в этом.
На самом деле, модуль MSSP в режиме мастера весь подключен к порту С. Точнее к трем его разрядам 3...5.
Сиречь, TRISA не имеет никакого отношения к SPI-мастер.
Конфигурация мастера SPI по TRISC будет следующей:
TRISC[3]=0 (SCK) выход клоков
TRISC[4]=1 (SDI) вход данных (не обязательно, контролируется самим модулем)
TRISC[5]=0 (SDO) выход данных
Подключенный к порту А[5] сигнал SS используется только в слейве.

Re: PIC18F2525 аппаратный (MSSP)SPI

Пн апр 24, 2017 08:40:40

Про расшифровку TRIS, ясно.Я говорил конкретно про RA5.Конфигурацию такую пробовал и эмуляторе MPLAB SIM не работает.Хочу в железе посмотреть.

Добавлено after 59 minutes 47 seconds:
Спасибо за помощь!Решил освоить протэус...посмотрел в нем,все работает.Надо значит лучше читать доки по MPLAB SIM.
Ответить