| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Как быть с разрядностью МК?
14.07.2010, 01:47
|
|
|
Вид на жительство
Регистрация: 14.06.2009
Адрес: Україна Київська обл. м.Буча
Сообщений: 328
Сказал спасибо: 104
Сказали Спасибо 106 раз(а) в 70 сообщении(ях)
|
Как быть с разрядностью МК?
Не могу найти тему, в которой обсуждались перспективы использования 8-битных контроллеров AVR. Открою свою. До последнего времени использовал именно эти контролллеры, так как эта архитектура очень ясна для понимания, даже для невкуренного пользователя. Заказчик (он же мой работодатель) поставил задачу управления нагревателями горячеканальных форм(до 32 каналов). Под эту тему я хочу разработать универсальную плату управления термопластавтоматами. До того я использовал модуль ввода-вывода с 32 дискретными входами и столькими же выходами, 8-ми канальный модуль преобразования сигналов термопар и центральный процессор с выводом либо на графический либо на символьный дисплей. Все это увязано по 485 каналу и реализованно именно на АВР. Давно хочу вместо дискретных датчиков положения применить энкодеры. Может у меня неполная информация, но интерфейс квадратурного энкодера есть только у PICов 30 и 33 серии. К тому же для повышения точности преобразования я хотел бы иметь 12 разрядный АЦП. После того, как пустили слушок, что атмел завязывает с 8-битными контроллерами, я кинулся на рынок - цена действительно в 2 раза выше, на всякий случай прикупил 5 штук в запас. Короче, посоветуйте как быть: 8 бит для меня за глаза с головой, но можно ли ориентироваться на продукцию атмеля?
|
|
|
|
14.07.2010, 02:10
|
|
|
Гражданин KAZUS.RUN
Регистрация: 08.07.2006
Сообщений: 883
Сказал спасибо: 119
Сказали Спасибо 1,108 раз(а) в 175 сообщении(ях)
|
Re: Как быть?
Сообщение от Djakovskij
|
|
цена действительно в 2 раза выше
|
Это вы нашим доблестным таможенникам должны быть благодарны прежде всего.
__________________
.

В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.
|
|
|
|
14.07.2010, 02:23
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Как быть?
Сообщение от Djakovskij
|
|
Короче, посоветуйте как быть: 8 бит для меня за глаза с головой, но можно ли ориентироваться на продукцию атмеля?
|
https://kazus.run/forums/showthread.php?t=18994
12 бит АЦП - xmega
А вообще посмотрите на LPC17xx. Там и 12 бит АЦП и энкодер. Да и ценник не запредельный. Например LPC1751 - меньше 100р.
|
|
|
|
14.07.2010, 07:46
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
|
Re: Как быть с разрядностью МК?
Квадратурный детектор запросто реализуется программно, прикрутить внешний АЦП тоже не проблема. АТМЕЛ хоронят чуть ли не с момента его основания, его уже и за долги банкротили, и микрочипу продавали... Не верьте слухам, АВР-семейство по-любому будет жить. Если у вас все работает на АВР - не мешайте ему, пусть работает, заюзайте для энкодеров ножки с PCINT
|
|
|
|
15.07.2010, 15:31
|
|
|
Прописка
Регистрация: 22.08.2006
Сообщений: 168
Сказал спасибо: 8
Сказали Спасибо 16 раз(а) в 11 сообщении(ях)
|
Re: Как быть с разрядностью МК?
У микрочипа тоже есть 8-ми битные с аппаратным квадратурным энкодером
PIC18F4431, но ценник чуть больше 200р....
|
|
|
|
15.07.2010, 15:59
|
|
|
Вид на жительство
Регистрация: 09.10.2009
Сообщений: 353
Сказал спасибо: 20
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
|
Re: Как быть с разрядностью МК?
Сообщение от niXto
|
|
Если у вас все работает на АВР - не мешайте ему, пусть работает, заюзайте для энкодеров ножки с PCINT
|
Под энкодер хватает одной ножки прерывания, второй вход берётся любой:
|
Код:
|
;*** Обработчик внешнего прерывания INT1 ***
INT0_I:
in SREG_temp,SREG ;
;предустановка битов если прерывание было по фронту инпульса
sbis PIND,2
rjmp skip_preset_rise_fall_pulse
;проверка состояния второго вывода энкодера
sbic PIND,3
rjmp skip_preset_rise_pulse
sbi bits0,EnCoder_direction_0
rjmp skip_preset_fall_pulse
skip_preset_rise_pulse:
sbi bits0,EnCoder_direction_1
skip_preset_fall_pulse:
;конец проверки состояния второго вывода энкодера
rjmp skip_encode
skip_preset_rise_fall_pulse:
;конец предустановки битов если прерывание по фронту инпульса
;проверка состояния второго вывода энкодера
sbic PIND,3
rjmp skip_EnCoder_direction_1
;
sbis bits0,EnCoder_direction_1
rjmp skip_EnCoder_direction_1
cbi bits0,EnCoder_direction_1
sbi bits0,EnCoder_rise ;
sbi bits0,lcd_ok ;lcd_ok=1
rjmp skip_EnCoder_direction_0
skip_EnCoder_direction_1:
sbis bits0,EnCoder_direction_0
rjmp skip_EnCoder_direction_0
cbi bits0,EnCoder_direction_0
sbi bits0,EnCoder_fall ;
sbi bits0,lcd_ok ;lcd_ok=1
skip_EnCoder_direction_0:
skip_encode:
out SREG,SREG_temp ;
reti ;выход
;*** Конец обработки прерывания INT1 *** |
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
|
|
|
|
15.07.2010, 16:43
|
|
|
Вид на жительство
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
|
Re: Как быть с разрядностью МК?
|
|
|
|
15.07.2010, 18:14
|
|
|
Вид на жительство
Регистрация: 09.10.2009
Сообщений: 353
Сказал спасибо: 20
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
|
Re: Как быть с разрядностью МК?
Ничего у меня не теряется, при каждом пружинистом шаге число инкрементируется или декрементируется. Или вы желаете что-бы за 1 шаг число изменялось на 2?
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
|
|
|
|
15.07.2010, 18:24
|
|
|
Гражданин KAZUS.RUN
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: Как быть?
xMega имееет также 3 канала квадратурного декодера. Хотя я бы тоже выбрал Cortex.
|
|
|
|
15.07.2010, 18:44
|
|
|
Вид на жительство
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
|
Re: Как быть с разрядностью МК?
Сообщение от OneTech
|
|
Ничего у меня не теряется, при каждом пружинистом шаге число инкрементируется или декрементируется
|
за Вас можно порадоваться
...а ещё в ручкокрутилках-энкодерах можно использовать...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:08.
|
|