This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Data rate of DSK6713

Hello, Everyone

I am working with DSK6713. I am trying to make transmitter and receiver using two DSK6713 kits. Data should be transmitted and received using GPIO port. 

I had studied Reference guide about gpio port availble @  TI Wiki Pages

Data is received @ gpio port (I checked it using oscilloscope). 

A part of code which show how I write data on GPIO port is:

gpio_handle = GPIO_open( GPIO_DEV0, GPIO_OPEN_RESET );
GPIO_clear(gpio_handle);
GPIO_reset(gpio_handle);
GPIO_config(gpio_handle,&gpio_config);
GPIO_pinEnable(gpio_handle,GPIO_PIN10);

while(1){

GPIO_pinWrite(gpio_handle,GPIO_PIN10,1);}

Bit time is approximately 20ns. As it was stated in Reference guide it is 4P (4 CPU clock pulses).

I want to know is it possible to increase this bit time???

  • Mukhtar,

    Your code does not generate a pulse, but continuously sets a GPIO bit high.

    I doubt you really want to increase the bit time, but to do so you would add a wait-loop in the while(1) loop.

    Please explain your full interpretation of the 4P value? I want to be sure you are using the right value for what you want.

    What other information do we need to understand the speeds and rates in your system?

    What optimization switches are you using for your code?

    Regards,
    RandyP

  • RandyP,

    Thanks for your time. Infact there is 32 bit data instead of 1. I am sharing the code again.

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <math.h>
    #include <time.h>
    #include <csl_gpio.h>
    #include <csl_gpiohal.h>
    #include <csl_irq.h>

    GPIO_Handle gpio_handle;
    GPIO_Config gpio_config = {
    0x00000000, // Passthrough Interruption mode and direct control over GP0
    0x0000FFFF, // All GPIO pins enabled (from 0 to 15)
    0x0000FFFF, // All pins as outputs
    0x00000000, // Record logic level of the pins
    0x00000000, // No interupt enabled
    0x00000000, // No irq event
    0x00000000 // gppol -- default state // Default - Rising edge
    };

    int main(){
    Uint32 data=100;

    DSK6713_init();
    DSK6713_LED_init();

    DSK6713_LED_on(0); // Turn on the led

    gpio_handle = GPIO_open( GPIO_DEV0, GPIO_OPEN_RESET );
    GPIO_clear(gpio_handle);
    GPIO_reset(gpio_handle);
    GPIO_config(gpio_handle,&gpio_config);
    GPIO_pinEnable(gpio_handle,GPIO_PIN10);

    /* Some operation on data will be done here i.e modulation */

    GPIO_pinWrite(gpio_handle,GPIO_PIN10,data);
    }

    return 0;

    }

    and about bit time (i.e. 4P) I had studied it in TI documents SPRS186L − DECEMBER 2001 − REVISED NOVEMBER 2005 Page no 141.

    The wireless system I want to attach for data transfer could only support up to 1Mbps. 

  • Mukhtar,

    You surely can understand that we cannot help you with your code if you do not show us your code. Neither of these posts have shown code that would generate a pulse, which is what you have asked about. The first one had a while(1) loop that would repeat the same constant being written each pass through the loop, and this second one has no loop (and an apparent syntax error } ) but would still write the same data value if it were in a loop.

    You will want to go back to the GPIO API description to understand what data is being used from the third argument. What do you expect this command to do, exactly?

    My question about the 4P was that you "explain your full interpretation" of this parameter. You asked about this parameter, and it is only mentioned on the GPIO page for two related lines, and I am trying to understand what you are thinking. There is also a parameter of 12P-3 which you do not mention.

    My other questions are also for your benefit and to help me understand what you may need. Your answers will help us help you.

    It may help for you to explain more about what you are doing, in the amount of detail that you think will help explain well enough.

    Regards,
    RandyP

  • RandyP said:

    Mukhtar,

    Your code does not generate a pulse, but continuously sets a GPIO bit high.

    I doubt you really want to increase the bit time, but to do so you would add a wait-loop in the while(1) loop.

    Regards,
    RandyP

    Your answer work for me and I got bit time as I wish to be. Sorry I can't share my complete code as my university restrict me not to do so...

    Regards

    Mukhtar

  • Mukhtar,

    Mukhtar Hussain said:
    Your answer work for me and I got bit time as I wish to be.

    We are glad you got it working. Good work!

    FYI, when you are editing a reply, if you select some of the text in the post above the edit window and then click the red quote button it will quote just that part for you. Just a neat feature that you may find useful in the future.

    Regards,
    RandyP