Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы по RTDX
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Degun
Процессор DM642 на evalution board. JTAG-эмулятор XDS560R.
Имеются два вопроса по RTDX:
1. Как измерить скорость передачи данных через RTDX? Вообще чему равна типичная скорость передачи по этому каналу. В дополнение к этому могу сказать, что частота TCLK эмулятора равна 13.75 мГц.
2. Можно ли передавать данные на PC одновременно по двум каналам EMU0 и EMU1?
Degun
Написал небольшую программку, которая передаёт случайные данные из target в host по RTDX.
Код
#include <rtdx.h>
#include <stdlib.h>

// declare a output RTDX channel
RTDX_CreateOutputChannel( ochanData );

//Packet size and RTDX data bufer
#define RTDX_PACKET_SIZE 1016
static char vBuf[RTDX_PACKET_SIZE];

int main()
{
    unsigned int i, returncode;

    //Set rtdx bufer data
    for (i=0; i<RTDX_PACKET_SIZE; i++) vBuf[i]=rand()%256;

    // enable the output channel
    RTDX_enableOutput( &ochanData );

    //infinite loop send data
    while(1)
    {
        // make sure writes go through
        do {
            returncode = RTDX_write( &ochanData, vBuf, RTDX_PACKET_SIZE );
        } while(returncode==0);
        // check if RTDX channel is ready
        while ( RTDX_writing != NULL ) {
#if RTDX_POLLING_IMPLEMENTATION
            RTDX_Poll();
#endif
        }
    }

    return 1;
}

Возникли следующие вопросы:
1. Почему максимальный размер пакета данных, передаваемых за один вызов функции RTDX_write, ограничен 1016 байтами, а при превышении этого кол-ва данные на host не поступают?
2. Почему программа после первого успешного вызова RTDX_write зависает на строке while ( RTDX_writing != NULL ) ?
Degun
Программа работает, но кол-во пакетов данных передаваемых на host, не совпадает с кол-вом вызовов функции RTDX_write. Подозреваю, что неправильно работает строка while( RTDX_writing != NULL ), которая неправильно отслеживает время реальной отправки пакета по каналу. Из-за этого происходит наложение и потеря одного из них. Как это исправить?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.