Форум программистов, компьютерный форум, киберфорум
Наши страницы

Микроконтроллеры

Войти
Регистрация
Восстановить пароль
 
 
kocmockocmoc
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
#1

Организация 8 параллельных SPI каналов приема данных - Микроконтроллер

26.03.2017, 13:03. Просмотров 470. Ответов 27

Добрый день.
У меня есть 8 гироскопов, подключаю их сейчас к Ардуино. Канал SPI там один. Из-за этого скорость опроса всех датчиков падает с возможных 3600 Гц до 3 Гц.
Хочу организовать 8 параллельных SPI каналов, возможно даже не на Ардуино, чтобы просто параллельно слушать все данные.
Заказал CAN контроллеры MCP2515-I/SO MCP2515 для Arduino MEGA 2560 пока, предполагаю, что раз там 4 канала UART, то с по помощью него число каналов можно увеличить до 4. Но где-то внутри понимаю, что это не совсем оптимально.

Подскажите пожалуйста, в каком направлении вообще стоит смотреть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2017, 13:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Организация 8 параллельных SPI каналов приема данных (Микроконтроллер):

Организация приема байт на PortB (ASM, ATMega16) - Atmega AVR микроконтроллер
Помогите пожалуйста с кодом. AVRStidio, Ассемблер. Задание Организовать прием семи байт данных в полудуплексном режиме с порта PORTB...

Фильтр приема данных - Микроконтроллер
Добрый день, к МК по UART подключено устройство от которого по запросу приходят следующего вида сообщения: #HEADER,<NUM>,<TYPE>\r\n ...

Подскажите алгоритм приема данных - Atmega AVR микроконтроллер
У меня есть небольшой радиомодуль который цифрует эфир и выдает серию ноликов и единичек. <Изображение удалено> Посылки короткие,...

SPI обновление данных - Atmega AVR микроконтроллер
Всем доброго времени суток.. Помогите разобраться Есть два мк (мега8), соединяются по интерфейсу spi Один мк (мастер) всё время...

ATmega128. Пересылка данных с USART в SPI - Atmega AVR микроконтроллер
Доброго времени суток, мне требуется реализовать пересылку символов с USART в SPI, на контроллере ATmega128. Кто может объясните как мне...

Помогите реализовать передачу данных по UART или SPI - Atmega AVR микроконтроллер
Доброго времени суток, обращаюсь к вам форумчане за помощью. Требуется передать число с переменной с одного мк на другой мк и записать его...

27
pyzhman
739 / 435 / 61
Регистрация: 15.05.2012
Сообщений: 2,397
26.03.2017, 20:26 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Программный SPI. Хоть на 100 каналов при разумной частоте.
1
kocmockocmoc
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
26.03.2017, 20:30  [ТС] #3
спасибо, изучу вопрос.
Можете порекомендовать какие-то особенно интересные ссылки или везде впринципе про одно и тоже?
0
pyzhman
739 / 435 / 61
Регистрация: 15.05.2012
Сообщений: 2,397
27.03.2017, 08:10 #4
По сути программно эмулировать железо.
0
Витальич
1232 / 1143 / 166
Регистрация: 02.12.2013
Сообщений: 4,728
27.03.2017, 08:18 #5
kocmockocmoc, привели бы имя гироскопа, а то очень смущает
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
падает с возможных 3600 Гц до 3 Гц
кривая реализация похоже.
0
kocmockocmoc
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 10:16  [ТС] #6
если бы она была прямая - я бы сюда не писал

Добавлено через 8 минут
пока смотрю материалы, но понять не могу как эмулировать его
0
Voland_
1459 / 969 / 92
Регистрация: 04.01.2010
Сообщений: 3,160
27.03.2017, 10:50 #7
ТС, я лично что-то совсем ничего не понял. Если у вас гироскопы висят на SPI, то причем тут вообще UART? UART - не SPI и никогда им не был.
Цитата Сообщение от pyzhman Посмотреть сообщение
Программный SPI. Хоть на 100 каналов при разумной частоте.
)) подозреваю, проблема ТС'а этим только усугубится.
Цитата Сообщение от Витальич Посмотреть сообщение
кривая реализация похоже.
Поддерживаю.
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
если бы она была прямая - я бы сюда не писал
покажите схему подключения, и код, который вы используете. Основное же - это как раз это. Аппаратным SPI и нормальным кодом, вы вполне достигнете обещанных 100Гц (или сколько там?) для каждого акселерометра. Даже без прерываний.
0
kocmockocmoc
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 11:01  [ТС] #8
Цитата Сообщение от Voland_ Посмотреть сообщение
ТС, я лично что-то совсем ничего не понял. Если у вас гироскопы висят на SPI, то причем тут вообще UART? UART - не SPI и никогда им не был.
CAN контроллеры MCP2515-I/SO MCP2515 могут помочь добавить SPI
я в курсе, что это разные вещи.
Цитата Сообщение от Voland_ Посмотреть сообщение
Поддерживаю.
спасибо, это очень помогает
Цитата Сообщение от Voland_ Посмотреть сообщение
покажите схему подключения, и код, который вы используете. Основное же - это как раз это. Аппаратным SPI и нормальным аппаратным SPI, вы вполне достигнете обещанных 100Гц (или сколько там?) для каждого акселерометра. Даже без прерываний.
3 600Гц.

сейчас у меня 8 гироскопов, у них общие линии MISO, MOSI, SCK. CS разные. Они опрашиваются последовательно.
Включается один датчик, считываются данные, SPI.end(). Открывается для второго. и т.д.

Цитата Сообщение от Voland_ Посмотреть сообщение
)) подозреваю, проблема ТС'а этим только усугубится.
не факт
0
kocmockocmoc
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 11:03  [ТС] #9
Сейчас я использую этот скетч.
Ставить высокий уровень для CS я пробовал, чтобы закрыть прием данных для одного датчика и освободить шину для следующего, почему-то не работает.
0
Вложения
Тип файла: rar Gyro_parallel3.rar (1.4 Кб, 2 просмотров)
Витальич
1232 / 1143 / 166
Регистрация: 02.12.2013
Сообщений: 4,728
27.03.2017, 11:40 #10
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
Ставить высокий уровень для CS я пробовал, чтобы закрыть прием данных для одного датчика и освободить шину для следующего, почему-то не работает.
не верю!
1. Длинна проводов?
2. Согласование уровней как сделано?
0
kocmockocmoc
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 11:42  [ТС] #11
Цитата Сообщение от Витальич Посмотреть сообщение
Длинна проводов?
не более 10 см
Цитата Сообщение от Витальич Посмотреть сообщение
2. Согласование уровней как сделана?
не понимаю вопроса, уровней чего?
0
Витальич
1232 / 1143 / 166
Регистрация: 02.12.2013
Сообщений: 4,728
27.03.2017, 12:10 #12
У Вас гироскоп питается 3.3 вольта, а ардуина 5 вольт, уровни SPI должны быть согласованы.
CS(чип селект) и сделан для того что бы была возможность управлять несколькими устройствами на общей шине
1
Миниатюры
Организация 8 параллельных SPI каналов приема данных  
kocmockocmoc
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 12:20  [ТС] #13
получается на MISO, MOSI, SCK и CS тоже надо 3.3V?
и простым переключением CS можно скорость повысить? (а не открытием и закрытием канала для разных CS)

Добавлено через 1 минуту
а как их лучше согласовать тогда?
0
Витальич
1232 / 1143 / 166
Регистрация: 02.12.2013
Сообщений: 4,728
27.03.2017, 12:24 #14
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
получается на MISO, MOSI, SCK и CS тоже надо 3.3V?
Цитата Сообщение от Voland_ Посмотреть сообщение
покажите схему подключения
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
и простым переключением CS можно скорость повысить?
Максимальная частота SPI для Вашего гироскопа 7.5 мГц, правда я не смотрел время цикла измерения, но Вы пишите 3600 Гц, значит 3600/8 = 450 Гц
0
kocmockocmoc
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 12:27  [ТС] #15
вот так, только их 8
0
Миниатюры
Организация 8 параллельных SPI каналов приема данных  
27.03.2017, 12:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2017, 12:27
Привет! Вот еще темы с ответами:

SPI -> 485->SPI - Микроконтроллер
Есть необходимость переводить SPI на 485 интерфейс. Хотел бы уточнить, драйвер 485 сажать напрямую к выводам SPI или через "что то"? Очень...

Организация параллельных процессов - Delphi
Мне нужно организовать 5 параллельных процессов, каждый длится от 1 до 5 секунд. И каждый процесс при запуске и при завершении выдает...

База данных с возможностью приема данных из файлов Excel - Delphi БД
Здравствуйте Уважаемые! В "Delphi для начинающих" по этому вопросу НИКТО не помог:( Может здесь я найду помощь? Подскажите, где...

Скрипт приема данных - PHP
Можно для примера,скрипт для приёма данных от программы. То есть залил например скрипт на хостинг ,с программы с делал пост запрос на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru