Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/34: Рейтинг темы: голосов - 34, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 24

Дерево устройств и драйвер SPI

22.08.2024, 15:42. Показов 15970. Ответов 1

Студворк — интернет-сервис помощи студентам
Здравствуйте!

У меня есть основная плата микроконтроллера и дочерняя с двумя чипами для измерения токов и напряжений. Общение между процессором и чипами производится по протоколу SPI, соединены они так: для обоих чипов шины mosi, miso, reset, serial clock общие. Шины Chipselect разные. Заводятся они от чипов-измерителей на ножки процессора. На картинке к посту я указал как это выглядит. Работает основная плата под управлением linux, arm архитектура.



Мне нужно написать драйвер (модуль ядра), который будет считывать по spi измерения с чипов и писать их через sysfs в нужные файлы. Я никогда не писал драйвера именно для SPI, поэтому у меня возникли вопросы с API Линукса. Не могу нигде найти подходящего примера описания устройства/шины SPI в дереве устройств Linux, где было бы описано, что за mosi, miso и т.д. отвечают конкретные пины GPIO. Либо, если описывать
C
1
struct spi_board_info
и
C
1
struct spi_device
вручную внутри драйвера, то не понятно, что писать в поля bus_num и chip_select в spi_board_info. При этом, в spi_device есть поле cs_gpio, где можно указать номер gpio, но нет аналогичных описаний для miso, mosi, sck и rst.

Подскажите пожалуйста, как мне подступиться к этому вопросу. Если идти по пути описания spi шины и устройств (чипов) в DTS, то как это должно выглядеть, с учетом описанного выше?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.08.2024, 15:42
Ответы с готовыми решениями:

Совместная работа JTAG и устройств SPI
Интересует вопрос, как отлаживать устройства использующие SPI? Ведь JTAG подключается к MOSI, MISO, SCK, которые нужны для SPI. В статьях...

UNO и несколько устройств на шине SPI
Доброго времени! Решил поэксперементировать с Arduino. Прикупил SD card shield v4...

Подскажите "секрет" подключения нескольких SPI устройств
Есть ли "секрет" подключения нескольких SPI устройств к контроллеру? Подключаю SD карту и дисплей LS020 по SPI - схема ниже. По...

1
 Аватар для Azathtot
754 / 351 / 90
Регистрация: 07.01.2023
Сообщений: 1,451
24.08.2024, 08:46
Для начала, зачем вы решили работать с SPI вручную?
Собственно на уровне модуля ядра вы можете работать через методы spi_xxx
Цитата Сообщение от Michael_Y Посмотреть сообщение
Подскажите пожалуйста, как мне подступиться к этому вопросу
Ну хотя бы изучить исходник drivers/spi/spidev.c
Это "абстрактное spi устройство".
И там есть полная работа с шиной, и даже с CS сигналами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.08.2024, 08:46
Помогаю со студенческими работами здесь

Скрыть драйвер в диспетчере устройств
Возможно ли скрыть драйвер в диспетчере устройств? если да то каким образом?

Один драйвер для нескольких однотипных устройств
Как реализовать в драйвере поддержку нескольких однотипных устройств? Добавлено через 6 минут Подключенных одновременно, естественно

Как система обнаруживает драйвер устройств PCI и USB?
Вот такой вот вопрос. Есть предположение, что (для PCI) у системы есть драйвер для обнаружения устройств. А для USB сначала новое...

Синий экран при попытке обновить драйвер в диспетчере устройств
Если выбрать "обновить конфигурации оборудования" то та же ерунда Я пытался сделать это с тремя устройствами, 2 неизвестных и 1...

Универсальный драйвер PCI(e)-устройств Windows, возможен ли, видал ли кто ?
Мне лично такое кажется возможным, ведь все PCI-устройства примерно одинаковы, имеют открытыми до 6 BAR-ов памяти, порты ввода-вывода, к...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru