Страница 235 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 12, 2011 20:02:45
kiahack
AI_Disable писал(а):
Попробуйте прогуляться по ссылкам на
этой страничке
Это первое что я сделал...
Из всех предложенных там плат я не нашёл поддерживающую 16 мегу...
да и "имена" выводов(кроме выделеных жирным):
1 DCD Детектор принимаемого сигнала линии
2
RXD Вход данных
3
TXD Выход данных
4 DTR Готовность информационного терминала
5
SG (GND) Корпус (Земля)
6 DSR Готовность передатчика
7 RTS Запрос передачи
8 CTS Очистить для передачи
9 RI Индикатор вызова
Мне ничего не говорят...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 12, 2011 21:10:50
Gudd-Head
kiahack писал(а):да и "имена" выводов Мне ничего не говорят...
Обычные выводы СОМ-порта.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 12, 2011 21:31:27
kiahack
Спасибо! )
я нашёл такое соответствие...
Код: Выделить всё
Распиновка:
DSR+RTS ---> SCK
DTR ---> MOSI
TD ---> RTS
CTS ---> MISO
GND ---> GND
+5 ---> +5
ТУТ
Но эт не то к сожалению...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 21:12:46
david_8907
ммм возник такой вопрос -- есть МК-регистратор, который должен считать число импульсов по линии ...
в принципе стандартный вариант -- поставить таймер и опрашивать ноги, а можно это делать с компаратора, чтобы импульс случайно не попал в период обработки прерывания и не был бы пропущен ?
я так понимаю, если задержка компаратора 750нс и частота МК 20МГц, а на обработку импульса потребуется 2 операции -- то время обработки импульса будет -- 1мкс ? (задержка на обработку прерывания 4 такта, сложение - 2 такта ; один такт 50нс )
и таким образом максимальная частота импульсов на линии ~ 1МГц?
в принципе нужна не частота, а точность подсчета импульсов -- рабочая частота будет в пределах 100Кгц
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 21:17:46
AI_Disable
david_8907 писал(а):...в принципе стандартный вариант -- поставить таймер и опрашивать ноги...
В принципе, стандартный вариант - использовать внешние прерывания. Тогда точно ничего не пропустите.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 21:26:42
rus-us
AVR(tiny2313 и выше) + C (CVAVR)
Хочу завести счетчик секунд, через прерывание по переполнению буфера, от 0 и до 65000(int), или еще лучше до 86400+ (long int). А далее отталкиваясь от этого счетчика вычислять нужные интервалы времени в программе.
Вопрос:
не будут ли такие действия слишком ресурсоемкими для микроконтроллера?
Можно ли завести счетчик на год(31 536 000), без вреда для производительности МК?
Строго не судите, я пока учусь.
Спасибо!
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 21:36:33
AI_Disable
rus-us писал(а):Хочу завести счетчик секунд, через прерывание по переполнению буфера
Wut? Какого буфера?
rus-us писал(а):от 0 и до 65000(int), или еще лучше до 86400+ (long int).
Тут непонятные цифры, взятые, видимо, из воздуха.
----
Если нужна скорость - старайтесь не использовать 32битные переменные. А для подсчёта секунд вообще достаточно одной 8 битной переменной (а то и вообще удаётся устроить как рас 1 прерывание в секунду). Используйте прескаллеры таймеров и режим СТС.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 21:44:38
david_8907
AI_Disable писал(а):david_8907 писал(а):...в принципе стандартный вариант -- поставить таймер и опрашивать ноги...
В принципе, стандартный вариант - использовать внешние прерывания. Тогда точно ничего не пропустите.
мм использовать спец порты ? а они будут работать на максимальной частоте ? не учитывая задержку на формирование прерывания ?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 21:48:49
david_8907
rus-us писал(а):AVR(tiny2313 и выше) + C (CVAVR)
Хочу завести счетчик секунд, через прерывание по переполнению буфера, от 0 и до 65000(int), или еще лучше до 86400+ (long int). А далее отталкиваясь от этого счетчика вычислять нужные интервалы времени в программе.
Вопрос:
не будут ли такие действия слишком ресурсоемкими для микроконтроллера?
Можно ли завести счетчик на год(31 536 000), без вреда для производительности МК?
Строго не судите, я пока учусь.
Спасибо!
считай сам, формирование прерывания занимает 4 такта процессора, само сложение займет вероятно тактов 2
а вот как ты будешь реализовывать вычисления нужных интервалов -- не знаю, так что сам считай .... за основу бери тактовую частоту процессора
если просто завести таймер и считать секунды, то особой нагрузки не будет(опять таки зависит от дальнейших действий после прерывания)
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 22:09:17
AI_Disable
david_8907 писал(а):мм использовать спец порты ? а они будут работать на максимальной частоте ? не учитывая задержку на формирование прерывания ?
Что понимается под "максимальная частота?". Внешнее прерывание происходит мгновенно (для точных цифр - см. даташит). Так что время "срабатывания" прерывания гораздо меньше минимально возможного периода тактирования ядра контроллера. Да, на обработку прерывания, в лучшем случаи, уйдёт порядка 10 тактов, так что если грубо прикинуть, максимальная частота, при которой импульсы не будут пропускаться Fтакт/10.
И при этом практически не останется времени, для исполнения основной программы, так что в таких случаях рациональнее использовать таймер, для подсчёта количества импульсов (использовать внешнее тактирование этого таймера).
За всеми подробностями - в даташит.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 22:48:55
rus-us
AI_Disable писал(а):rus-us писал(а):Хочу завести счетчик секунд, через прерывание по переполнению буфера
Wut? Какого буфера?
rus-us писал(а):от 0 и до 65000(int), или еще лучше до 86400+ (long int).
Тут непонятные цифры, взятые, видимо, из воздуха.
----
Если нужна скорость - старайтесь не использовать 32битные переменные. А для подсчёта секунд вообще достаточно одной 8 битной переменной (а то и вообще удаётся устроить как рас 1 прерывание в секунду). Используйте прескаллеры таймеров и режим СТС.
имел ввиду - переполнению таймера.
по цифрам: 65000 сек - это почти 18 часов(почти максимальное значения для INT), 86400 - сутки(это уже LONG INT).
Суть вопроса:
Мне в программе нужно с полтора десятка таймеров(счетчиков времени) на разное время с шагом 1секунда.
По переполнению таймера высчитываю минимальную, нужную для меня единицу времени - 1 секунда.
Вот дальше у меня сомнения.
Что лучше:
- Заводить на каждый случай свой счетчик секунд (может быть несколько штук одновременно).
- Или, создать один счетчик и считать секунды по кругу от 0 до 43200(12 часов).
А в основном цикле, по необходимости, брать текущее значения счетчика приплюсовывать к нему нужный интервал и дальше ждать пока новое значение не совпадет со счетчиком.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 22:57:31
AI_Disable
Разумеется, лучше сделать один счётчик. А ещё, если вам жестоко нужна скорость, можно хранить секунды, минуты и часы в разных переменных.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 23:28:16
urry
мне - так ни разу не понятно, чем 1 счетчик лучше массива счетчиков на массив событий ...
хозяин -барин...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 15, 2011 23:44:58
AI_Disable
urry писал(а):мне - так ни разу не понятно, чем 1 счетчик лучше массива счетчиков на массив событий ...
Если 1 счётчик, то и апдэйтить нужно только одну переменную.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс окт 16, 2011 07:30:46
david_8907
AI_Disable писал(а):Разумеется, лучше сделать один счётчик. А ещё, если вам жестоко нужна скорость, можно хранить секунды, минуты и часы в разных переменных.
а зачем юзать счетчик ? а нельзя так -- в массив записываешь разность интервалов между соседними событиями
например нужно выдать 1
в 12 00
12 30
12 45
в массиве будет х(разница между текущим временем и 12 00), а далее уже подсадятся 30 мин и 15 минут
то есть таймер отработает до 12 00 и затем его нужно перенастроить на интервал в 30 мин
тут правда придется сортировать массив с датами
зато никаких счетчиков и вычитаний, просто установка значения таймера из памяти, или вы все про это и говорили ?

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс окт 16, 2011 19:26:17
Челюскин
Друзья, помогите пожалуйста новичку со схемой и прошивкой. Разрабатываю схему дист. сигнализации, есть 6 датчиков на вскрытие и 6 на пропадание потока (на схеме) и передачей по 2-х проводной линии в др. помещение с помощью UARTa с последующей индикацией. прошивку и схему родил сам, читая книги и задавая вопросы на форуме. Спаял - не работает. горят все диоды "на вскрытие" и на "авария потока". на подкл/откл. линии реакции никакой. Помогите прошивку исправить.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс окт 16, 2011 22:30:51
Ledzz
вопрос такой: хочу передавать на мк (mega8) миди сообщения, и обратно тоже было бы здорово. только я не совсем понимаю 2 пункта -
1. как, что и куда подключать? было бы совсем здорово с картинкой, на ней нарисован миди аут, этот проводок идет к Tx мк, этот к Rx...
2. как настраивать uart? в смысле, какие параметры задать, чтобы миди нормально работал?
гуглить я, видимо, не умею, ответы не нашел или же они для меня слишком сложные(
заранее спасибо.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн окт 17, 2011 08:48:59
Gudd-Head
Челюскин писал(а):Спаял - не работает. горят все диоды "на вскрытие" и на "авария потока". на подкл/откл. линии реакции никакой.
А вы пробовали прежде чем в железе паять, хотя бы в симуляторе оттестить?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн окт 17, 2011 09:46:09
Gmp
добрый день.
в одной из книг по программированию AVR написано следующее:
Для старших моделей Mega со сложной структурой (например, ATmegal28)
64-х регистров ввода-вывода может оказаться недостаточно, поэтому в них для
дополнительных РВВ выделяется отдельное адресное пространство (от $60 до
максимально возможного в байтовой адресации значения $FF, итого таких регистров
может быть всего 160).
так как я только пытаюсь понять что из себя представляет микроконтролер , у меня возник вопрос, а с чем связано это ограничение общего количества регистров значением $FF? почему их не может быть больше?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн окт 17, 2011 09:48:46
МитяРа
Gmp писал(а):ограничение общего количества регистров значением $FF?
Контроллер 8-ми битный, а 0FFh это максимальное число для 8 бит...