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.

HELP with ParamSet Setup

Hi i'm having abit of hard time setting up the exact paramset that i need

and i was hoping maybe to get some help  from someone who had some experience

what i have is a device connected to my Omap L138 with UART 

i receive 1byte at a time and i want to be triggered every 2112Bytes that i receive (every 2112bytes is a frame) and i want to fill a buffer in the size of 2112*4=8448Bytes (size of 4 frames)

now i want that buffer to be filled as long as the program runs in a cyclic manner

after i achieve that i wanted to know do i have a problem accessing that buffer while it's been  filled and read from it from the cells that aren't currently been written to?

do i  have to stop the edma process while i read and reactive it when i finish? or i can access and read from it without interfering with the buffer?

thanks in advance for your help

Maor

  • This question is still relevant...

    kinda disappointing the amount of threads been replied by TI staff...

    i can provide what i did so far and you can spot what i did wrong if that will help you respond quicker...

    if anyone is willing to help it would be great

    thanks

    Maor

  • Maor ,

       1. I have just finished EDMA but not with USART but with FPGA connected to EMIF [ from (ARM +LINUX ) and (DSP6748+DSPBIOSLINK) ]

       2. Are you getting any data from EDMA transmission or not ?

       3. Are you getting the INTERRUPT for the event ?

       4.1) " i receive 1byte at a time and i want to be triggered every 2112Bytes that i receive (every 2112bytes is a frame) and i want to fill a buffer in the size of 2112*4=8448Bytes (size of 4 frames)"

              In this case probably you need to check how can you configure USART interrupt to trigger the EDMA event.

              In EDMA read one byte [ACNT=1, BCNT =1, CCNT=1 other index you can have as zero]

              Please understand the EDMA read/write will happen every time there is corresponding TRIGGER.

              I dont thing there is any mechanism where the EDMA controller will monitor the number of event and then take action at particular number of event.

              If you will do an EDMA on the 2112 event then you will loose the previous samples . You can somehow build logic to trigger the EDMA

              on 2112th event but what for the data . If i am not wrong the DATA samples from 0 to 2112 will not be buffered .So when EDMA comes in picture at

              2112 the previous data samples will be gone

     

       5. Have a look at " 18.3.4.1 Nonbursting Peripherals " , there are many scenarios discussed there .You can have a better look.

      6.  It is always better to explain the problem in a clerer way covering following points so that others can help you :-

       a) Which Processor & OS

       b) What are you aiming to do ?

       c) If you have tried any thing and failed you should share it mentioning WHAT U WERE EXPECTING ? and WHAT YOU ARE GETTING ?

    7. Don't criticize TI members , they are helping others as much they can

        [ It's not because i have received replies to all my queries , there are many unanswered question for me too ]

    Hope this helps you ....or feel free to share the sample code and also to discuss.

    Thank You,

    Ashish Mishra

     



  • Hi Ashish

    sorry i didnt try to criticize just saying its abit disappointing since this thread has been few weeks now with no attention.

    but nevermind about that 

    i work on the ARM processor on the omap l138 board

    from my understanding i can get a trigger after number of events has occurred for that we have the ab-sync\a-sync 

    i do manage to get data as expected but after i fill the buffer once (8448bytes)

     i get really messed up readings in the up coming events

    basically what i tried to explain and might've failed is that i have a buffer that is 4 times larger than the buffer which the edma is currently  going to write to which means when i will finish writing to 0-2112 it will continue to write to 2112-4224 etc... so the data i had at the beginning will not be lost

    i achieve that by setting 5 Paramsets

    ParamSet[8] which is registered to the uart register and will be linked to paramset 125 when finishes which will call paramset 126 when finished and so on

    8->125->126->127->124->125......

    paramset[8] is initial paramset will write to 0-2112 and then call paramset 125

    paramset[124] write to array in cells 0-2112

    paramset[125] write to array in cells 2112-4224

    paramset[126] writes to array in cells 4224-6336

    paramset[127] write to array in cells 6336-8448

    so the edma is suppose to write and trigger after each paramset is exhausted

    and then i will be able to read  from cells that aren't currently been written to

    problem is that after first cycle everything goes to hell ):

    i read the data in the image analyzer the first 4 pictures look good but after that i get messed up pictures...

    so what i want to know is do i need to use A-SYNC or AB-SYNC? and which other paramsets should i set and which OPT

    i hope this made it abit clearer... 

    if its still unclear i'll be happy to explain again the part which wasn't explained well...

    thanks

    Maor

      

  • I have not tried this mode of operation but still will try to get the solution along with u ....

    1. Can u attach the code for the same so it will be helpful for us to debug it ....

         your's basic understanding seems to be on track , i think some small logical error is what troubling you.  

    2. I will have a look on the user manual for this mode of operation and  the sample code . Based on that will try to help you .

    Presently i am working with DSP side , hence can't do much at this time .

    Once i return form office , i will try to look at this matter.Just for info it's morning 10.45 MORNING in INDIA .

    So according will be the update time from me ...

    Hope its fine to u ....