Передача данных мк. Нужен совет.

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Вымогатель припоя
Аватара пользователя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Сообщение Alexeus »

Есть мк NEC в некотором промышленном устройстве, он передает данные последовательным интерфейсом (второй такой же мк их принимает). Используются линии 1)SCK -тактовая, 2)шина данных- содержит 8 бит. И 3)шина по лог.уровню которой определяется готовность мк к приему.

Используемые выводы имеют или функцию обычных портов или функцию последовательного интерфейса SerialIn, SerialOut, SCK. По даташиту максимальная частота предделителя для этого интерфейса fx/2^5 (32), при кварце 8мГц это 250кГц. (стоит 8мГц кварц)

Засада в том, что данные передаются с гораздо меньшей скоростью- около 2кГц/такт.

как так может быть? Хотел подставить вместо второго мк (мастера) свой- Мегу8 в режиме послед.передачи SPI, соответственно она и тактовать должна, так мега при кварце в 1Мгц на самом большом делителе все-равно намноооого быстее тактирует.
Реклама
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Вопрос-то в чём?
Используй не аппаратную, а программную реализацию протокола...
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 361
Зарегистрирован: Ср янв 21, 2009 00:45:33

Сообщение Lonleystranger »

Можно через MAX232 поэксперементировать, подсоединить к порту компа, определить скорость передачи, и потом уже ставить контроллер, запрограммировать на определенную скорость передачи - и вперед!
Вымогатель припоя
Аватара пользователя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Сообщение Alexeus »

определить скорость... если вы про USART, то там не через этот интерфейс. Просто последовательная передача.Скорость мне известна только так: 1байт за 7милисек. А аппаратно настроить SPI Меги8 не получается на такую скорость- не хватает делителя, очень уж скоростной режим получается.
Реклама
Эиком - электронные компоненты и радиодетали
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

Alexeus писал(а): По даташиту максимальная частота предделителя для этого интерфейса fx/2^5 (32)
А помоему 128...?
Alexeus писал(а): так мега при кварце в 1Мгц на самом большом делителе все-равно намноооого быстее тактирует.
Тактируй от часового :) При преддилителе 16 как раз получиться где-то 2 кГц. Или организуй "самодельный" SPI, частоту подберешь как раз с помощью циклов задержки.
Контактная информация:
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Сообщение Alexeus »

я в курсе, что на меге8 128 макс. делитель SPI, речь шла о мк НЕК и 2^5 это к нему относится и на борту у него кварц 8мГц прицеплен.

Если от часового тактовать, боюсь только на это и хватит мк :)

может генератор отдельно на шину посадить... на К561ЛА7 можно слабать.
Реклама
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

Я чёго-то не совсем понял... Так что нужно сделать-то??? Если заставить МК работать на высоких оборотах при низкой частоте SPI, то единственный вариант ручником организовывать последовательную передачу. Другой вариант , если требуется процессорное время, добавить ещё один контроллер, которому приходят данные от первого, а тот отправляет их дальше на болле низкой скорости.

Что касается режима работы SPI мк NEC, то надо точно посмотреть по даташиту и загруженной в него проги, возможно там установлен делитель частоты, если он есть, или сам SPI организован ручным способом...
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Сообщение Alexeus »

pirotehnick писал(а):Я чёго-то не совсем понял... Так что нужно сделать-то???
Хотелось бы что бы мк мега8 работал на высоких оборотах (8-14Мгц), а SPI тактовал импульсы 2кГц, но аппаратно это наверное невозможно (просто делителя не хватает)...
добавлять еще контроллер считаю лишним.
pirotehnick писал(а): Что касается режима работы SPI мк NEC, то надо точно посмотреть по даташиту и загруженной в него проги, возможно там установлен делитель частоты, если он есть, или сам SPI организован ручным способом...
Прибор промышленный, что там загружено неизвестно... но по даташиту его делителя так же не хватает для аппаратной реализации той частоты, на которой фактически работает его SPI. Возможно что эта частота тактуется другим МК, там блин в схеме наворочено, я еще до конца не разобрался...

Вот теперь понятно, либо програмно организовывать, либо пробовать тактовать извне. Но тратить мк только на тактовку не рационально.

вопрос тогда один: Может кто подскажет ссылки на работы с мк, где внешнее тактирование для интерфейса (не для самого мк) реализовано обычной логикой на микросхеме, типа к561ла7 и т.п.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Сообщение Alexeus »

ARV писал(а):а в чем проблема сделать программный SPI? программно можно хоть раз в сутки тактировать...
а как обычно это реализовывается? нужно прерывание по таймеру делать или как?
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

Просто берёшь и по временным диаграммам организуешь алгоритм передачи и приёма байта. Можно по прерываниям, зедержки по таймеру или по вложенным циклам, вообщем по разному можно сделать...
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»