Перейти к содержанию
    

Программная реализация интерфейса

Обсуждения не получилось, ну да ладно. Давайте поговорим о ловле начала синхронизации. Прежде всего надо условиться о терминологии. Вы согласны, что в вашем коде чтение синхроноги идёт каждые 3 такта?

getsyn: sbis porta,synpin
        rjmp getsyn

То есть, после завершения кода можно сказать, что переход 0-1 наступил не позднее 3 тактов назад.

А как Вы считаете эти такты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

О чем это все. Для 'ARINC-429' скорость максимум 100 кбод. Обязательно отклонение частоты, но не более 1%. Если это для отечественного применения, то необходимо "вкурить" РТМ1495 (изм.3). Реализуется программно без проблем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

О чем это все. Для 'ARINC-429' скорость максимум 100 кбод. Обязательно отклонение частоты, но не более 1%. Если это для отечественного применения, то необходимо "вкурить" РТМ1495 (изм.3). Реализуется программно без проблем.

Необходимо программно реализовать интерфейс типа ARINC-429.

Может слово типа не просто так?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет всем!!!

Есть идея для слайва. Поставить внешний 22 разрядный сдвигающий регистр и с помощью него принимать информацию от МАСТЕРА а в контроллер загонять уже параллельный код.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообщем по SPI не кошерно такделать. Тобишь дергать ножкой до или после приема.

Во вторых Синхро прерывистый по 22 шт в слове

Мастера делаю на основе уже готового устройства. Мастер нужен для тестирования потом СЛАЙВА

Какие еще вопросы

ДА и еще как вы узнаете когда дергать надо

 

если взять USART в синхронном режиме вместо SPI, у него в атмеге можно менять длину слова от 5 до 9 бит, то есть принять два байта по 8 бит, а потом поменять длину принимаемого байта на 6.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может слово типа не просто так?

Может и так скорее всего ... Плотно этим уЖе занимается 'ELCUS', а уж про "прикладным" задачам по авионике здесь "не место" (ИМХО), остальное - ширпотреб или очередной "курсовик" :)

+

Кстати можно подумать о использовании MSPI режима ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет всем!!!

Есть идея для слайва. Поставить внешний 22 разрядный сдвигающий регистр и с помощью него принимать информацию от МАСТЕРА а в контроллер загонять уже параллельный код.

Аааа... Наконец то ...

Вам это во 2-м посте предложили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только вот не очень хочется ставить 6шт кр555ИР16 может порекомендуете какой нибудь регистр. Требования: возможность последовательной и параллельной загрузки данных, выходы параллельных данных с третьим состоянием

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только вот не очень хочется ставить 6шт кр555ИР16 может порекомендуете какой нибудь регистр. Требования: возможность последовательной и параллельной загрузки данных, выходы параллельных данных с третьим состоянием

 

А я не случайно сразу написал: CPLD. Вы бы уже разобрались как там и чего за то время, что пытаетесь "превратить карася в порося" ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как Вы считаете эти такты?

Ну как, по рабоче-крестьянски. Если synpin=0, то sbis выполняется за 1 такт, потом выполняется rjmp за 2 такта, опять читается, и опять, и опять. Т.о., чтение ноги осуществляется через каждые три такта, согласны? Можете сделать чтение через два такта?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полностью согласен с вами уважаемый =GM= на чтение 3 такта меньше еще не кто не придумал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть идея для слайва. Поставить внешний 22 разрядный сдвигающий регистр

у Вас же есть в контроллере регистр сдвига :wacko:

ну тогда и контроллер на россыпи соберите

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы какой регистр сдвига имеете ввиду

Изменено пользователем stalknr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну как, по рабоче-крестьянски. Если synpin=0, то sbis выполняется за 1 такт, потом выполняется rjmp за 2 такта, опять читается, и опять, и опять. Т.о., чтение ноги осуществляется через каждые три такта, согласны?

В своём Сообщении #40 я говорил о минимальной и максимальной задержке (относительно фронта синхро) чтения процессором линии данных! И правильнее будет не 3-5 а 2-5

Можете сделать чтение через два такта?

Наверное можно если цикл развернуть

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полностью согласен с вами уважаемый =GM= на чтение 3 такта меньше еще не кто не придумал

Вообще-то, чтение за два такта я придумал, как бы за один ухитриться...

В своём Сообщении #40 я говорил о минимальной и максимальной задержке (относительно фронта синхро) чтения процессором линии данных! Наверное можно если цикл развернуть

Ну так, разверните.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...