Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Цифровые сигнальные процессоры (DSP) и их применение»

McASP в TMS320C672x, Не могу прочитать данные.

Отправлено MegaDocent (83.219.6.114) 12 июля 2010, г. 13:40


Добрый день.
Программирую TMS320C6726, разобрался почти во всем, что было нужно, кроме одного момента, на котором уже неделю с лишним сижу. Перерыл все что можно.

Нужно принять поток E1. Для этого подходит McASP, так как имеет возможность работы с тайм слотами и другие возможности. Как я понял, это многие уже реализовывали (встречал упоминания, что и по нескольку потоков принимали), так что ничего невозможного тут нет.
Для этого использую 3 ножки, data, RCLK RFSR.
RHCLK, XHCLK и XCLK генерируются внутренне.
Ниже приведены настройки регистров. (При плясках с бубном перепробовал всевозможные другие настройки, не помогло)

Настраивал согласно spru041j и spru878b. Все, вроде бы, как там написано. GBLCTL корректно записывается и считывается. Однако есть проблема.
Тактовые и синхро импульсы принимаются и корректно распознаются. Также корректно генерируются выходные.
А вот данные приниматься и отправляться не хотят. При считывании RBUF = 0x00000000, хоть ты держи на входе постоянно 1. Если записываю XBUF, то на выходе ничего не появляется, а при считывании выдает 0.
Скорее всего, что-то я упустил, и просто делаю что-то не так. Но вот чтоименно, не могу найти.
Что я делаю не так? =)
P.S. Буду благодарен за любые примеры настройки и работы с McASP не через CSL, независимо, что там делается.
P.P.S. Буду благодарен зя любые мысли вслух вообще.

*(int *)PWRDEMU = 0x00000001;
*(int *)RMASK = 0xffffffff;
*(int *)RFMT = 0x0000A030;
*(int *)AFSRCTL = 0x00001000;
*(int *)ACLKRCTL = 0x0000008F;
*(int *)AHCLKRCTL = 0x00008FFF;
*(int *)RTDM = 0xFFFFFFFF;
*(int *)RINTCTL = 0x00000000;
*(int *)RCLKCHK = 0x00110003;
*(int *)XMASK = 0xffffffff;
*(int *)XFMT = 0x0000A030;
*(int *)AFSXCTL = 0x00001002;
*(int *)ACLKXCTL = 0x000000FF;
*(int *)AHCLKXCTL = 0x00008FFF;
*(int *)XTDM = 0xFFFFFFFF;
*(int *)XINTCTL = 0x00000000;
*(int *)XCLKCHK = 0x00110000;
*(int *)SRCTL0 = 0x00000002;
*(int *)SRCTL1 = 0x00000001;
*(int *)PFUNC = 0x00000000;
*(int *)PDIR = 0x14000002;
*(int *)DITCTL = 0x00000000;
*(int *)DLBCTL = 0x00000000;
*(int *)AMUTE = 0x00000000;

Если вы - "MegaDocent", то можете присоединить файл к сообщению.

Имя*:    Пароль*: 
Максимальный размер файла: 65536 байт.
Разрешённые форматы: png gif pdf jpg jpeg zip rar

(* - обязательные поля)


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 6 на 2:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru