Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Сообщение 1essor1 »

Предположим, что один порт вв у одного мк настроен как выход, у другого мк порт настроен на вход. они соединены между собой. вопрос- с какой максимальной частотой можно подавать данные на выход, чтобы второй успевал их прочитать и заносить скажем в оперативу, или если перефразировать - то какое минимальное время задержки может быть между циклами чтения входных данных, так, чтобы обеспечить максимальную скорость передачи.ведь переключение лог уровней не мгновенное, наверное должны быть какие то ограничения?
Я так понимаю для таких существует допустим SPI, а если его допустим опустить в данном контексте)
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 202
Зарегистрирован: Пн сен 26, 2011 13:48:25
Откуда: Харьков

Сообщение slavokhire5 »

Для atmega128 вроде бы задержка чтения составляет до (тактовая частота)/1,5
http://www.gaw.ru/html.cgi/txt/doc/micr ... h128/7.htm, рисунок 31
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Сообщение 1essor1 »

Хорошо, почитал) а теперь о задаче более конкретно - необходимо передать с одного мк на другой 8-10 16битных чисел, при том ведомый должен считать байт, писать его в оперативку, читать следущий, записать его и так далее, когда все передастся то на передачу пауза, в ведомом происходит обработка и выполнение необходимых операций, а затем снова передача свежих данных. Как лучше всего это реализовать, в сторону каких интерфейсов смотреть. Оба мк будут в пределах 30см друг от друга, связь конечно же по проводам. И еще необходимо быстродействие передачи
Прорезались зубы
Аватара пользователя
Сообщения: 202
Зарегистрирован: Пн сен 26, 2011 13:48:25
Откуда: Харьков

Сообщение slavokhire5 »

ну, интерфейс SPI на расстоянии сантиметров 30 на 7МГц шел нормально.

хотите бОльшую скорость и есть много лишних ног - делайте параллельную передачу. ведущий выкидывает 1 байт на какой-нибуть порт и ожидает подтверждение приема от ведомого. выйдет, думаю, в несколько раз быстрее

на высоких частотах нужно позаботиться о помехозащищенности и обращать внимание на правильность разводки
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

1essor1 писал(а):в сторону каких интерфейсов смотреть
Да хоть на RS232
1essor1 писал(а):И еще необходимо быстродействие передачи
Конкретнее в цифрах
Ставим плюсы: )
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Сообщение 1essor1 »

slavokhire5, ,благодарствую! Действительно, отдать один порт под это не проблема, так и сделаю)
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

неужели нужны скорости передачи больше 7МГц?
Ставим плюсы: )
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Сообщение 1essor1 »

Пардон, кажется, накосячил с расчетами, прошу сильно не бить молодого кота) тут походу вообще черепашьи скорости :))) . за менее чем 1мс получить и записать в оперативу ориентировочно 20 байт
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Подскажите, как инициализировать порт что бы АЦП работало.
Сделал инициализацию на ввод во, как Z состояние, он не заработал. А когда просто убрал её, то всё заработало. :dont_know:
Друг Кота
Аватара пользователя
Сообщения: 20117
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

pokk писал(а):Подскажите, как инициализировать порт что бы АЦП работало.
Телепаты в отпуске. Что за МК?
Как правило, достаточно только запустить АЦП и выбрать соотв. канал АЦП.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Gudd-Head писал(а): Как правило, достаточно только запустить АЦП и выбрать соотв. канал АЦП.
Хорошо, а то я думал без инициализации порта не совсем верно хоть и работает =)
МК mega128
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

менее чем 1мс получить и записать в оперативу ориентировочно 20 байт
получаем 20кбайт/сек и больше - тут только SPI... UART можно еще попробовать на скорости 1Мбит, но тут трудности возникают из-за самого принципа его работы.
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 202
Зарегистрирован: Пн сен 26, 2011 13:48:25
Откуда: Харьков

Сообщение slavokhire5 »

TWI / I2C вполне утянет такую скорость.
+ I2C - масштабируемость. до 255 устройств по 2-м (3-м) проводам
+ SPI - выше скорость. но требует на каждое новое устройство +1 вывод для управления. или дешифратор, но это уже лишняя микросхема ==> дороже, лишнее место на плате, больше потребление и т.д.

ну и SPI проще программно реализуется, ИМХО)
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Alexeyslav писал(а): получаем 20кбайт/сек и больше - тут только SPI... UART можно еще попробовать на скорости 1Мбит, но тут трудности возникают из-за самого принципа его работы.
20 байт/0,001с = 20000Б/с = 156,2кб/с. между этим числом и 1 Мбит/с разве нет больше значений? Если связь между двумя контроллерами, то не обязательно использовать стандартную скорость.
Ставим плюсы: )
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

единичка круглее. Темболее что передать 20 байт надо меньше чем за 1мс, чем меньше время передачи тем больше свободы маневра... вдруг там прерывания будут возникать во время передачи? чуть задержатся - и все просрочено. Жаль что в AVR нет аппаратного DMA.
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Сообщение 1essor1 »

Ого, обсуждения пошли) только я не понял, какова максимальная скорость SPI? потянет ведь? связать действительно нужно всего лишь два мк
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Alexeyslav писал(а):чем меньше время передачи тем больше свободы маневра...
чтобы что-то принять/получить не нужно ждать пока идет прием/передача нужно лишь обработать_прерывание_приема/запустить_передачу. пока идет прием/передача битов - контроллер работает на своей частоте и выполняет другие задачи.
Ставим плюсы: )
Chettuser

Сообщение Chettuser »

Не пинайте чайника, а подскажите, пожалуйста:
Пришлось заняться PIC18ми
нашёл конфиг на PIC18F1320
Спойлер

Код: Выделить всё

#pragma config WDT = OFF
#pragma config OSC = INTIO2
#pragma config MCLRE = OFF
#pragma config PWRT = ON
#pragma config DEBUG= OFF
#pragma config LVP = OFF
#pragma config FSCM = OFF
#pragma config IESO = OFF
#pragma config BOR = OFF
#pragma config STVR = OFF
#pragma config CP0 = OFF
#pragma config CP1 = OFF
#pragma config CPB = OFF
#pragma config CPD = OFF
#pragma config WRT0 = OFF
#pragma config WRT1 = OFF
#pragma config WRTB = OFF
#pragma config WRTC = OFF
#pragma config WRTD = OFF
#pragma config EBTR0 = OFF
#pragma config EBTR1 = OFF
#pragma config EBTRB = OFF
Я хочу под другой камень написать PIC18F14K50. Где искать все эти

Код: Выделить всё

 FSCM, CPD, ...
на свой МК? Где они прописаны?
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

В соответствущем инклуднике.
Контактная информация:
Chettuser

Сообщение Chettuser »

Это всё хорошо, но я сравнил перед тем как задать вопрос здесь, ничего общего. Таких там не попадается :(
Ответить

Вернуться в «Разные вопросы по МК»