Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Цифровые сигнальные процессоры Вопросы, связанные с применением цифровых сигнальных процессоров: программирование, отладочные средства, алгоритмы...

 
Опции темы

Проблема с драйвером McAsp процессора OMAP-L138

Непрочитано 03.02.2012, 10:03  
proga
Прохожий
 
Регистрация: 01.01.2006
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
proga на пути к лучшему
По умолчанию Проблема с драйвером McAsp процессора OMAP-L138

Здравствуйте. Сейчас я разрабатываю программное обеспечение для устройства по сбору данных. Создано оно на базе процессора OMAP-L138, а сбор данных производится с 4-канального АЦП PCM4204. В качестве инструментария я использую Code Composer Studio 4.2, набор драйверов pspdrivers_01_30_01, EDMA пакет edma3_lld_01_11_02_05. При отладке других узлов устройства возникали проблемы из-за ошибок в драйверах, но они мною успешно выявлялись и исправлялись. Однако несколько дней назад я столкнулся с проблемой, которая поставила меня в тупик, в коем я сейчас и пребываю. Мне не удалось заставить корректно работать драйвер McAsp, отвечающий за связь с АЦП. При вызове функции SIO_reclaim, чтобы возвратить адрес заполненного данными буфера, процесс блокируется до момента, когда в выходной очереди драйвера появятся готовые буферы. Этого не происходит, и, следовательно, процесс так и остаётся находиться в состоянии блокировки. Почему этого не происходит, я и пытаюсь выяснить.
При детальном изучении проблемы я выяснил следующие факты. Операция испускания пустых буферов данных в канал SIO посредством функции SIO_issue проходит успешно. Всего канал предусмотрен для содержания 5 необработанных буферов. Я посылаю в канал 4 буфера. Каждый буфер имеет размер 16000 байт. В каждый из них должны складироваться данные выборок со всех четырёх каналов АЦП. Применяемый формат данных для McAsp -Mcasp_BufferFormat_MULTISER_MULTISLOT_SEMI_INTERLE AVED_1. При наблюдении, как изменяется содержимое буферов во время работы программы, я обнаружил, что данные первых двух посланных буферов регулярно обновляются. Возникает впечатление, что не вызывается функция Mcasp_localEdmaCallback. Однако, почему так происходит, мне пока не ясно. Здесь я выкладываю урезанную версию своего проекта. Он содержит только то, что относится к осуществлению коммуникации с АЦП.

Комментарии:
1.Библиотека pspiom.mcasp_LPE.a674 – это библиотека pspiom.mcasp.a674 с использованием
-DMcasp_LOOPJOB_ENABLED.
2. .Библиотека ti.pspiom.gpio_8_15.a674 – это изменённая библиотека ti.pspiom.gpio.a674. В ней я исправил ошибку, допущенную разработчиками драйвера, не позволяющую задействовать контакт GPIO 8[15] процессора.

Буду очень благодарен откликнувшимся людям, у которых уже есть за плечами опыт работы с данным драйвером. Спасибо за внимание.
Вложения:
Тип файла: zip test_mcasp_rus.zip (1.33 Мб, 74 просмотров)
Реклама:
proga вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с выбором процессора Ilyafm98 Микроконтроллеры, АЦП, память и т.д 2 15.03.2011 01:20
Кто работал с драйвером DM132? sdsrem Микроконтроллеры, АЦП, память и т.д 0 06.07.2010 21:37
Проблема с драйвером IGBT Ig0r0k Источники питания и свет 10 03.07.2008 12:00
Замена процессора azion Ремонт оргтехники 1 20.04.2008 14:01
Производительность процессора и Proteus Kabron Proteus 11 21.12.2006 21:16


Часовой пояс GMT +4, время: 15:07.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.