С Новым годом! Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31

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

26.03.2017, 13:03. Показов 2883. Ответов 27

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

Подскажите пожалуйста, в каком направлении вообще стоит смотреть?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.03.2017, 13:03
Ответы с готовыми решениями:

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

Организация приема платежа Яндекс.денег в клиенте
Всем привет! При переносе своего сайта на систему клиент-сервер (С++Builder 6) столкнулся с такой проблемой, как оплата клиентом стартового...

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

27
1184 / 670 / 113
Регистрация: 15.05.2012
Сообщений: 4,078
26.03.2017, 20:26
Лучший ответ Сообщение было отмечено kocmockocmoc как решение

Решение

Программный SPI. Хоть на 100 каналов при разумной частоте.
1
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
26.03.2017, 20:30  [ТС]
спасибо, изучу вопрос.
Можете порекомендовать какие-то особенно интересные ссылки или везде впринципе про одно и тоже?
0
1184 / 670 / 113
Регистрация: 15.05.2012
Сообщений: 4,078
27.03.2017, 08:10
По сути программно эмулировать железо.
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
27.03.2017, 08:18
kocmockocmoc, привели бы имя гироскопа, а то очень смущает
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
падает с возможных 3600 Гц до 3 Гц
кривая реализация похоже.
0
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 10:16  [ТС]
если бы она была прямая - я бы сюда не писал

Добавлено через 8 минут
пока смотрю материалы, но понять не могу как эмулировать его
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
27.03.2017, 10:50
ТС, я лично что-то совсем ничего не понял. Если у вас гироскопы висят на SPI, то причем тут вообще UART? UART - не SPI и никогда им не был.
Цитата Сообщение от pyzhman Посмотреть сообщение
Программный SPI. Хоть на 100 каналов при разумной частоте.
)) подозреваю, проблема ТС'а этим только усугубится.
Цитата Сообщение от Витальич Посмотреть сообщение
кривая реализация похоже.
Поддерживаю.
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
если бы она была прямая - я бы сюда не писал
покажите схему подключения, и код, который вы используете. Основное же - это как раз это. Аппаратным SPI и нормальным кодом, вы вполне достигнете обещанных 100Гц (или сколько там?) для каждого акселерометра. Даже без прерываний.
0
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 11:01  [ТС]
Цитата Сообщение от 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
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 11:03  [ТС]
Сейчас я использую этот скетч.
Ставить высокий уровень для CS я пробовал, чтобы закрыть прием данных для одного датчика и освободить шину для следующего, почему-то не работает.
Вложения
Тип файла: rar Gyro_parallel3.rar (1.4 Кб, 4 просмотров)
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
27.03.2017, 11:40
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
Ставить высокий уровень для CS я пробовал, чтобы закрыть прием данных для одного датчика и освободить шину для следующего, почему-то не работает.
не верю!
1. Длинна проводов?
2. Согласование уровней как сделано?
0
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 11:42  [ТС]
Цитата Сообщение от Витальич Посмотреть сообщение
Длинна проводов?
не более 10 см
Цитата Сообщение от Витальич Посмотреть сообщение
2. Согласование уровней как сделана?
не понимаю вопроса, уровней чего?
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
27.03.2017, 12:10
У Вас гироскоп питается 3.3 вольта, а ардуина 5 вольт, уровни SPI должны быть согласованы.
CS(чип селект) и сделан для того что бы была возможность управлять несколькими устройствами на общей шине
Миниатюры
Организация 8 параллельных SPI каналов приема данных  
1
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 12:20  [ТС]
получается на MISO, MOSI, SCK и CS тоже надо 3.3V?
и простым переключением CS можно скорость повысить? (а не открытием и закрытием канала для разных CS)

Добавлено через 1 минуту
а как их лучше согласовать тогда?
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
27.03.2017, 12:24
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
получается на MISO, MOSI, SCK и CS тоже надо 3.3V?
Цитата Сообщение от Voland_ Посмотреть сообщение
покажите схему подключения
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
и простым переключением CS можно скорость повысить?
Максимальная частота SPI для Вашего гироскопа 7.5 мГц, правда я не смотрел время цикла измерения, но Вы пишите 3600 Гц, значит 3600/8 = 450 Гц
0
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 12:27  [ТС]
вот так, только их 8
Миниатюры
Организация 8 параллельных SPI каналов приема данных  
0
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 12:31  [ТС]
Цитата Сообщение от Витальич Посмотреть сообщение
правда я не смотрел время цикла измерения, но Вы пишите 3600 Гц, значит 3600/8 = 450 Гц
пока гироскоп не выбрать, он не работает получается? не понял расчета Гц.

Добавлено через 1 минуту
может проще программный SPI реализовать?
Вы с этим сталкивались?
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
27.03.2017, 12:55
Программный на такое количество можно, но я бы не стал, лучше разобраться почему у Вас не работает это подключение. Я в четырех проводах часто ошибаюсь, обычно MOSI MISO путаю.
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
не понял расчета Гц.
откуда Вы взяли цифру 3600, я плясал от неё
0
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 12:58  [ТС]
Цитата Сообщение от Витальич Посмотреть сообщение
Программный на такое количество можно, но я бы не стал, лучше разобраться почему у Вас не работает это подключение. Я в четырех проводах часто ошибаюсь, обычно MOSI MISO путаю.
у меня данные совсем не идут, если я путаю их
Цитата Сообщение от Витальич Посмотреть сообщение
откуда Вы взяли цифру 3600
это из документации. я не про это число, а про рассчет, почему такая именно логика?
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
27.03.2017, 13:05
Мы опрашиваем гироскопы последовательно, значит что бы опросить 8 гироскопов у нас это займет в восемь раз больше времени вот и поделил.
Цитата Сообщение от kocmockocmoc Посмотреть сообщение
у меня данные совсем не идут, если я путаю их
начните с двух и что не идут данные? Тактирующий сигнал есть? Вы гироскоп данные идут?
0
1 / 1 / 0
Регистрация: 07.12.2016
Сообщений: 31
27.03.2017, 13:21  [ТС]
Цитата Сообщение от Витальич Посмотреть сообщение
Мы опрашиваем гироскопы последовательно, значит что бы опросить 8 гироскопов у нас это займет в восемь раз больше времени вот и поделил.
Если не выключать канал SPI каждый раз, а переключать CS, то измерения гироскопы продолжат как я понял. просто не будут передавать данные. Или нет?

Цитата Сообщение от Витальич Посмотреть сообщение
Вы гироскоп данные идут?
данные идут корректно, меня скорость их получения не устраивает.
если я подключаю один гироскоп - все прекрасно.
если 2 и более - мне приходится сейчас включать-переподключать шину SPI под новый CS.
Это не правильно, но это сейчас работает лучше, чем иные идеи.

данные не идут, если перепутать MISO с MOSI и наоборот.
а так они прекрасно идут.

Добавлено через 3 минуты
расскажите про программный SPI пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.03.2017, 13:21
Помогаю со студенческими работами здесь

Организация параллельных процессов.
Подскажите, плиз, как организовать сабж... К примеру, запустить копирование файлов, а самому продолжать работать с интерфейсом...

Организация ведения аудио и визуального протоколирования приема врача
не знаю как точно это обозвать,вообщем требуется организовать ведение аудио и визуального протоколирования приема врача. но с записью не на...

Хранение данных об актах приёма-передачи в базе данных (учебная база)
Добрый вечер. Делаю учебный проект по созданию базы данных - реестра техники, возникло несколько вопросов по модели бд, не могу...

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

Фильтр приема данных
Добрый день, к МК по UART подключено устройство от которого по запросу приходят следующего вида сообщения: ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru