Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
Посторонний сигнал на выводе MISO шины SPI1
e-designer
Добавлено 27.01.2011 10:28
0
Сообщение: 1
e-designer
0

Пункты: 241
Регистрация: 19.11.2010
Добрый день.
Сейчас на плате SK-AT91SAM9XE512KE экспериментируем с шиной SPI и возникла проблема c чтением данных.
Мы запускает spidev_test данные через SPI1 выводятся. Однако когда соединяем MOSI и MISO оказывается, что MISO притянут к питанию и сигнал с MOSI подсаживается. Соответственно данные в SPI1 не читаются. SPI0 работает нормально.
Кроме того, некоторое время после загрузки Linux на линии MISO присутствует периодический сигнал из трех импульсов.
Мы предполагаем, что этот сигнал формирует сам контроллер, так как в соответствии со схемой платы больше к этой линии ничего не подключено.
Соответственно вопрос. Что нужно сделать в настройках ядра, чтобы освободить линию MISO для работы в качестве SPI?
Может быть кто-нибудь уже сталкивался с подобной проблемой? Заранее благодарен за помощь.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 27.01.2011 22:54 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Может быть кто-нибудь уже сталкивался с подобной проблемой? Заранее благодарен за помощь.

посмотрите по эл.схеме как зовется "подозрительный" пин, потом проверьте файл борды - может там его кто-то инициализирует. а также проверьте файл *devices к плате..
напишите примитивную прожку с выводом текущего статуса этого пина..
пином можно "подрыгать" на светодиод или осцил или запрограммировать на вход и проконтролировать работоспособность..
в свете недавних открытий по изменению адресов регистров для PTT фирмой Атмел, может они и тут чего накрутили - читайте свежий даташит и еррата - и проверяйте правильность инита SPI1..
я запускал на 9260 (почти близнец) оба канала SPI - все работало..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Landlord
Добавлено 28.01.2011 07:12 Сообщение: 3
Landlord
0

Пункты: 28
Регистрация: 28.01.2011
Проблема заключается в том, что другой драйвер может перехватить этот вывод.

Оказалось что если включены драйверы LCD, то вывод SPI1_MISO переключается на периферию B. При этом этот вывод конфигурируется как выход и управляется таймером. Также в периферии В включается контроллер ISI, который и работает с LCD.

Для того чтобы работать с выводом SPI1_MISO нужно в menuconfig /Device Drivers/Graphics support/ отключить Support for frame buffer devices. Возможно потребуется отключить Touchscreens в /Device Drivers/Input device support.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 29.01.2011 15:09 Сообщение: 4
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Проблема заключается в том, что другой драйвер может перехватить этот вывод.

я не могу угадать вашу архитектуру железа, но знаю что у хе512(9260) нет контроллера LCD, т.е. либо вывод через GPIO на гребенку (удобно занять порт совпадающий с ISI), или SPI, или I2C
если есть желание оставить работающий фреймбуфер, то надо проследить кто и как интит пины, например для управления подсветкой LCD
в случае драйвера тачскрина по шине SPI, он (драйвер) может запросто занимать пины SPI1 под себя и если "позарез" требуется SPI1 для опытов, то тачскрин относительно легко пересаживается на канал SPI0
Цитата
При этом этот вывод конфигурируется как выход и управляется таймером.

попробовать не использовать пин (должен быть такой режим при ините таймера) или использовать альтернативный (если есть свободный)..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 29.01.2011 15:34 Сообщение: 5
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Проблема больше в том что у а atmel пины используются без запроса на возможность их использования, у того же imx233 перед программированием функций пинов присутствует запрос gpio_request который исключает переопределение их ф-ций если до этого данный пин был задействован в другой части ядра.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux