Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
04.02.2010, 00:42
|
|
Временная регистрация
Регистрация: 09.10.2006
Сообщений: 58
Сказал спасибо: 4
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
Re: БИНС на AVR
А сразу взять прошивку для какого нибудь квадрокоптера что мешает?
|
|
|
|
04.02.2010, 18:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.01.2008
Сообщений: 1,143
Сказал спасибо: 379
Сказали Спасибо 430 раз(а) в 274 сообщении(ях)
|
Re: БИНС на AVR
Хорошая книжка по микроконтролерам AVR Евстифеев А.В
Смысл такой один МК ведущий остальные МК, флеш и АЦП ведомые
Выбор ведомого осуществляется несколькими линиями (сколько ведомых сколько и линий) SS.
Чтобы организовать на прямую, по одной шине SPI, передачу данных например с АЦП к МК минуя ведущий МК прийдется пошаманить.
Но можна в принцыпе организовать програмно еще один SPI на мк.
|
|
|
|
07.02.2010, 14:24
|
|
Частый гость
Регистрация: 19.05.2009
Сообщений: 17
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: БИНС на AVR
SGordon, Мешает то что используется специфический алгоритм БИНС и оригинальные ЧЭ.
С интерфейсом SPI вроде разобрался=)
Но теперь возникла другая проблема: блок гироскопов имеет цифровой выход с интерфейсом RS-485, а контроллер общается с акселерометрами через АЦП с интерфейсом SPI, можно ли как то преобразовать RS - 485 в SPI что бы по тем же ногам в МК передавать информацию и с гироскопов ?
|
|
|
|
07.02.2010, 15:35
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: БИНС на AVR
Сообщение от E97
|
Выбор ведомого осуществляется несколькими линиями (сколько ведомых сколько и линий) SS.
Чтобы организовать на прямую, по одной шине SPI, передачу данных например с АЦП к МК минуя ведущий МК прийдется пошаманить.
|
Вот "чиста русский прикол" - сначала применить бред, из-за того что думать не нужно, более того даже не поинтересоваться, как люди поступают в таком случае, а потом "немного пошаманить". Чтобы работало по-шамански.
Почитайте, в одном из моих постов про кольцо. И шаманить не придётся. То есть выход одного цепляется на вход другого, таким образом можно соединить несколько контроллеров. SS и CS суть разные выводы. И назначение у них разное. Один для синхронизации пакета, а второй для выбора кристалла, что явно указано в их наименовании. Задумайтесь.
Сообщение от grisha109
|
Но теперь возникла другая проблема: блок гироскопов имеет цифровой выход с интерфейсом RS-485, а контроллер общается с акселерометрами через АЦП с интерфейсом SPI, можно ли как то преобразовать RS - 485 в SPI что бы по тем же ногам в МК передавать информацию и с гироскопов ?
|
В первом же посте, я вам предложил сразу задействовать RS485. Это даст кучу преимуществ. В частности на одном RS485 может одновременно существовать несколько устройств и, даже несколько протоколов.
Прямое преобразование SPI‹›RS485 - не фокус. 10 команд. Но что это даст я не понимаю? Должна быть поддержка протокола RS485 (MODBUS/ WAKEUP/ PROFIBUS). Всё зависит и строится от базового протокола. В вашем случае, по-видимому это протокол блока гироскопов. Возможно он самопальный. Надо изучить.
|
|
|
|
08.02.2010, 00:27
|
|
Временная регистрация
Регистрация: 09.10.2006
Сообщений: 58
Сказал спасибо: 4
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
Re: БИНС на AVR
Сообщение от grisha109
|
блок гироскопов имеет цифровой выход с интерфейсом RS-485, а контроллер общается с акселерометрами через АЦП с интерфейсом SPI, можно ли как то преобразовать RS - 485 в SPI что бы по тем же ногам в МК передавать информацию и с гироскопов ?
|
А двух свободных ног под 485 интерфейс уже не найти?
|
|
|
|
14.02.2010, 21:43
|
|
Частый гость
Регистрация: 19.05.2009
Сообщений: 17
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: БИНС на AVR
SGordon, Нет имеются, просто думал что так возможно будет проще обойтись одним интерфейсом но теперь вижу что нет =)
SasaVitebsk, Дело в том что SPI видимо в любом случаем придется использовать поскольку большинство АЦП с требуемыми характеристиками, что я видел общаются с МК по этому интерфейсу. Кроме того по этому интерфейсу думаю записывать данные с МК на флэшкарту. Что касается RS-485 то как я понял что бы его использовать в Мегах необходимо задействовать приемопередатчик USART и специализированную микросхему-преобразователь MAX-485?
Не встречались ли Вам примеры реализации этого интерфейса в AVRах, поскольку я не совсем представляю как это дело программируется?
|
|
|
|
15.02.2010, 03:46
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: БИНС на AVR
Просто дело в том, что SPI достаточно "короткий" интерфейс. Если следовать документам, то 30 см. Конечно, многое зависит от скорости. Но, он как раз найболее скоростной. На мегах до FCLK/2. Особенно если вы собираетесь карточку на него сажать. Вы же постараетесь максимум скорости выжать. Если ваш SPI будет гулять по всей плате, да ещё и на другие платы пойдёт, то на высокой скорости начнутся глюки.
Это я как вариант.
Бороться с помехами, как известно, последнее дело. Лучше их избегать.
RS485 - это UART, работающий в полудуплексе. Существует две модели протоколов. С одним ведущим и мультимастер. Найболее распространены протоколы с одним ведущим. Суть проста. Мастер посылает пакет данных и ждёт ответа от слэйва. То есть в каждый момент времени канал работает только в одном направлении. В самом передатчике (adm485) есть нога управления направлением передачи.
По софтовой части - типовая структура. Пакет, начинается уникальным символом (меткой) и содержит в себе адрес ведомого, команду, и объём передаваемых данных (либо заканчивается спец символом). В конце пакета содержится CRC пакета.
Это даёт следующее:
1) Контроль целостности пакета. (CRC)
2) Адресация.
3) Контроль доставки.
По сути 2 уровень семиуровневой модели.
Найболее широко распространён MODBUS. http://ru.wikipedia.org/wiki/ModBus
Реализация протокола, достаточно объёмная и, как правило привязанная к устр-ву. Смысла её давать вам - абсолютно нет. Почитайте - разберитесь - сами поймёте почему. Если есть конкретные моменты - пожалуйста спрашивайте.
Более упрощённый в реализации - WakeUp.
|
|
|
|
15.02.2010, 11:43
|
|
Временная регистрация
Регистрация: 29.03.2005
Сообщений: 86
Сказал спасибо: 6
Сказали Спасибо 45 раз(а) в 21 сообщении(ях)
|
Re: БИНС на AVR
ИМХО, тут лучше всего справился бы ARM, например AT91SAM7X256, или AT91SAM7X512. Куча интерфейсов (два USART, один SSC, два SPI, один I2C), многоканальный ADC, PWM (про USB и Ethernet я не говорю - они Вам могут не понадобиться) и быстродействие, наверняка с лихвой покрывающее Ваши запросы (100 МГц при работе на Flash и 200 МГц при работе из SRAM). Программировать можно через USB, DBGU (bootloader) или JTAG (Wiggler, MT-LINK). Есть готовые примеры работы со всеми интерфейсами. Не будет никакой проблемы со связью между микроконтроллерами - все будет делать один кристалл.
Последний раз редактировалось microsin; 15.02.2010 в 11:46.
|
|
|
|
15.02.2010, 15:33
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: БИНС на AVR
7X - это уже достаточно крутой кристалл. И не дешёвый.
Есть куча кристаллов. Начиная от LPC2xxx и, например, stm32f1x. Стоимость LPC будет от 6 до 9$. stm - ещё дешевле можно подобрать.
Но на асмом деле, avr легко справится с объявленной задачей. Даже примитивная мега8 менее 1$. Если ног конечно хватит. Правда, для работы с SD карточками, желательно памяти побольше.
|
|
|
|
15.02.2010, 17:35
|
|
Заблокирован
Регистрация: 31.03.2007
Сообщений: 129
Сказал спасибо: 6
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: БИНС на AVR
Определитесь еще раз с задачей - "центры общета и управления" надодятся на каком расстоянии друг от друга? Если это обноплатное исполнение то способ обмена определяется требуемым быстродействием - можно и I2С и SPI и UADT между несколькими процессорами на плате. Если расстояния исчисляется метрами то тут удобней UART(RS-232 - 485) (для SasaVitebsk - RS-485 работает как в полу- так и дуплексе, в этом его ОДНО из отличий от RS-232)? если нужна повышенная помехоустойчивость то тогда можно и CAM - все это запросто можно сделать на базе megaAVR.
Тема с разрядностью АЦР - задача не конкретизирована, 12 разрядов это не параметр - важней полярность иследуемого сигнала, амплитуда, частота сигнала - вам нужно определится с этими параметрами и тогда выбирать что то из AD если встроенные AVR АЦП не потянут (скорее всего так и будет). Перепрыгивать на ARM или LPC или на С51 можно но нафиг если и AVR запросто может с такими задачами справится тем более что вас не пугает мультипроцессорность которая часто надежней и удобней (в зависимости от задачи и условий эксплуатации) чем однопроцессорность.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:43.
|
|