[an error occurred while processing this directive] [an error occurred while processing this directive]
Связь двух процессоров по SPI. Посоветуйте, покритикуйте, выскажитесь(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено abivan 20 ноября 2001 г. 12:06

Почитал я архивы нашей конфы, но ответов на свой вопрос я не нашел.
Необходимо связать два процессора по SPI. Одно устройство Slave ( аппаратный, буфер на 2 байта). Выделяется дополнительная линия SlaveReady это линия готовности Slave к приему данных.
Дело в том, что после отправки мастером байта, слэйв должен убрать готовность и установить готовность вновь когда байт будет считан. Это правильно, или есть другие варианты?

Теперь проблема как убрать готовность. Готовность должна быть убрана сразу после прихода 8-го бита по SPI. После приема 8-го бита выставляется флаг прерывания, но мне от этого не легче, так как обработать этот флаг я сразу не могу.(одноуровневое прерывание)
Поэтому решил поставить лишний корпус с триггером. Сигнал CS сбрасывает READY, а SLAVE после чтения байта устанавливает триггер.
Если у кого есть другие варианты прошу высказываться.
Можно конечно применить процессор с двухуровневым прерыванием, но это более дорогой например PIC18C242-5.5$
Состав модуля, если кому необходимо. PIC16C63(SPI+USART-3.5$ )+триггер+FM25160(EEPROM+ОЗУ в одном флаконе – 1.16$)

С уважением, Иван

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru