Применение FPGA в системах подвижной радиосвязи

Желтов Павел Викторович
Сообщения: 7
Зарегистрирован: 15 мар 2012, 12:18

Re: Применение FPGA в системах подвижной радиосвязи

Сообщение Желтов Павел Викторович » 16 апр 2012, 11:27

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

tor_root
Сообщения: 2182
Зарегистрирован: 15 фев 2011, 22:44

Re: Применение FPGA в системах подвижной радиосвязи

Сообщение tor_root » 16 апр 2012, 22:06

Прочитал: предпринята попытка некоторого обобщения достигнутого - неплохо.
Не хватает более четкого отражения достигнутых на текущий момент результатов - к примеру, верификации байтовых массивов, получаемых при FFT примитивных сигналов, о схеме эксперимента, о формировании локально в ПЛИС таких сигналов и т.п. Для стороннего читателя проблематика, данная в конце сообщения, будет непонятна.

Радует то, что есть вполне четкое понимание цели работы и имеется движение вперед.
Удачи.

P.S. Завтра на встрече планирую также обсудить с Вами материал проекта - потребуется Ваше мнение.

tor_root
Сообщения: 2182
Зарегистрирован: 15 фев 2011, 22:44

electronix.ru: Реализация БПФ на ПЛИС

Сообщение tor_root » 17 апр 2012, 22:27

Павел, есть обсуждение, которое может быть Вам полезно:
Реализация БПФ на ПЛИС: трудности, встречаемые при реализации

Желтов Павел Викторович
Сообщения: 7
Зарегистрирован: 15 мар 2012, 12:18

Re: Применение FPGA в системах подвижной радиосвязи

Сообщение Желтов Павел Викторович » 20 апр 2012, 19:16

Андрей Васильевич, здравствуйте.
Так и не смог на форуме найти ту книгу, о которой вы говорили. Не могли бы вы кинуть ссылку на нее.
Нашел хорошую программу по реализации 8 точечного БПФ http://vhdlguru.blogspot.com/2011/06/no ... point.html. Понятная и легкая к восприятию. Только не синтезируема. Вот возник вопрос, можно ли ее использовать, как разбор программы в пояснительной записке, или все таки нужна синтезируемая программа?

Желтов Павел Викторович
Сообщения: 7
Зарегистрирован: 15 мар 2012, 12:18

Re: Применение FPGA в системах подвижной радиосвязи

Сообщение Желтов Павел Викторович » 05 май 2012, 19:53

Здравствуйте, Андрей Васильевич.
Все никак не могу найти конкретную ошибку в работе БПФ на ПЛИС. Т.к. в данном случае, у меня вызывал сомнения драйвер USB, то решил в нем досконально разобраться. Вот текст с некоторыми комментариями:

Код: Выделить всё

#include[ztex-conf.h]   // Loads the configuration macros, see ztex-conf.h for the available macros
#include[ztex-utils.h]   // include basic functions

// configure endpoints 2 and 4, both belong to interface 0 (in/out are from the point of view of the host)
EP_CONFIG(2,0,BULK,IN,512,2);   
EP_CONFIG(4,0,BULK,OUT,512,2);   

// select ZTEX USB FPGA Module 1.11 as target (required for FPGA configuration)
IDENTITY_UFM_1_11(10.12.0.0,0);   

// this product string is also used for identification by the host software
#define[PRODUCT_STRING]["ucecho example for UFM 1.11"]

// this is called automatically after FPGA configuration
#define[POST_FPGA_CONFIG][POST_FPGA_CONFIG
   OEC = 255;
]

// include the main part of the firmware kit, define the descriptors, ...
#include[ztex.h]

void main(void)   
{
    WORD i,size;
   
// init everything
    init_USB();

    EP2CS &= ~bmBIT0;   // stall = 0  CS- регистр контроля и статуса
    SYNCDELAY;
    EP4CS &= ~bmBIT0;   // stall = 0

    SYNCDELAY;      // first two packages are waste
    EP4BCL = 0x80;   // skip package, (re)arm EP4 
    SYNCDELAY;
    EP4BCL = 0x80;   // skip package, (re)arm EP4

    FIFORESET = 0x80;   // reset FIFO
    SYNCDELAY;
    FIFORESET = 2;
    SYNCDELAY;
    FIFORESET = 0x00;  // восстанавливает нормальный режим работы
    SYNCDELAY;

    while (1) {   
   if ( !(EP4CS & bmBIT2) ) {            // EP4 не пуст
       size = (EP4BCH << 8) | EP4BCL;         // BCH и BCL старшие и младшие биты
       if ( size>0 && size<=512 && !(EP2CS & bmBIT3)) {   // EP2 не полон
      for ( i=0; i<size; i++ ) {
          IOC = EP4FIFOBUF[i];   // данные из EP4 записываются в FPGA...
          EP2FIFOBUF[i] = IOB;   // ... и читаются обратно в буффер EP2
      }
      EP2BCH = size >> 8;
      SYNCDELAY;
      EP2BCL = size & 255;      // arm EP2
       }
       SYNCDELAY;
       EP4BCL = 0x80;         // (re)arm EP4
   }
    }
}

В общем как я понял режим работы следующий:
1.проверка пустоты и заполненности буферов EP4 и EP2
2. запись данных в порт С и сразу же их чтение из порта B. В этом и есть загвоздка, т.к. данные он должен читать, когда буффер EP2 заполнится. При этом первые результаты в симуляции появляются через некоторое, всегда разное, время. После подачи сигнала старт(подается внутренне) проходит 839 тактов и появляется сигнал готовности RDY и происходит ожидание входных данных, При этом учитывая, что сигнал CLK подается с USB, нужно подать достаточное количество данных, что бы получить первые результаты(Хотя и при большом количестве поданых данных результат(даже не правильный) появляется не всегда). У меня была идея подавать CLK внутренне, но тогда встает вопрос о синхронности работы ПЛИС и USB и все равно придется править драйвер и host программу.
При этом хочется отметить, что когда нужно подавать данные и сразу их читать, вся система работает отлично(для проверки написал маленькую программу, которая к входным данным прибавляет 1 и сразу выдает результат).
Так же еще вызывает небольшие сомнения правильность работы программы на кристале, хотя в симуляции все работает нормально. Так что скорее всего проблема в драйвере и host программе.
Если есть какие нибудь соображения по тому как исправить драйвер, поделитесь пожалуйста.))
Я вижу правильную работу драйвера так:
- подается сигнал(допустим гармонический).
- при этом ожидается появление результата на выходе.
- после появления результата переходим в режим работы лрайвера, по которому он работает сейчас, т.е. подаем данные на вход и сразу читаем результат(т.к. программа БПФ на каждый цикл читает 1 байт входных данных и выдает 1 результат).
Продолжу экспериментировать дальше, надеюсь, что заработает.

tor_root
Сообщения: 2182
Зарегистрирован: 15 фев 2011, 22:44

Re: Применение FPGA в системах подвижной радиосвязи

Сообщение tor_root » 09 май 2012, 21:59

Павел, здравствуйте.
Как Вы помните, вопрос синхронной работы меня интересовал в первую очередь.
В силу отсутствия опыта в этой области не могу посоветовать абсолютно верное решение.
Могу предложить следующее: когда модуль FFT будет готов выдавать данные, в буфер записывается стартовая последовательность (маркер), к примеру 2F2F2F...2F. Host-модуль постоянно "слушает" буфер и по появлению маркера обнаруживает требуемые данные. Размер буфера, естественно, дожен быть больше размерности FFT - чтобы в нем гарантированно оказался результат с маркером.
Перекомпиляция драйвера возможна, но я пока не знаю, как это осуществить практически, т.к. синтаксис ПО не подходит для его компиляции в MVS. Может проблема и пустяковая, но она имеет место быть.

Желтов Павел Викторович
Сообщения: 7
Зарегистрирован: 15 мар 2012, 12:18

Re: Применение FPGA в системах подвижной радиосвязи

Сообщение Желтов Павел Викторович » 19 май 2012, 17:05

Выкладываю теоретическую часть по первой главе: "Обзор функциональных возможностей и типовых задач в цифровой обработке сигналов". Хотелось бы, что бы вы указали на ошибки и недочеты, которые нужно исправить.
Вложения
ОБЗОР ФУНКЦИОНАЛЬНЫХ ВОЗМОЖНОСТЕЙ И ТИПОВЫХ ЗАДАЧ В ЦИФРОВОЙ ОБРАБОТКЕ СИГНАЛОВ.doc
(144 КБ) 684 скачивания

tor_root
Сообщения: 2182
Зарегистрирован: 15 фев 2011, 22:44

Re: Применение FPGA в системах подвижной радиосвязи

Сообщение tor_root » 22 май 2012, 12:15

Ознакомился, ответил подправленным документом почтой.
Основное:
1. Отсутствует список литературы и, естественно, ссылки на литературу.
2. Целесообразно начинать вести раздел "Список условных сокращений и аббревиатур", в котором будут раскрываться и расшифровываться используемые по тексту сокращения/аббревиатуры.
3. Явно не хватает некоторого обобщающего рисунка, отражающего место FPGA в структуре модуля ЦОС.

tor_root
Сообщения: 2182
Зарегистрирован: 15 фев 2011, 22:44

Отзыв на проект

Сообщение tor_root » 14 июн 2012, 23:34

Павел, предлагаю следующий вариант отзыва.
Проверяйте на точное соответствие темы, на отсутствие опечаток.
Вложения
ОТЗЫВ (Желтов Павел Викторович).pdf
(55.13 КБ) 550 скачиваний


Вернуться в «Дипломное проектирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя