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.

Using VCP2 help

Other Parts Discussed in Thread: TMS320C6416

Hello,

I'm trying to configurate the Viterbi Co-Processor (VCP2) of the DSP TSM320C6455.

Here are my input symbols :

char symbols[240] =
{
7,0,7,4,3,3,2,3,0,4,0,0,1,0,0,4,6,2,4,0,0,0,0,5,6,1,0,2,0,7,2,2,2,5,6,7,0,7,3,0,6,7,4,5,2,0,0,6,3,4,0,4,4,0,0,7,7,0,0,4,0,2,0,4,4,0,1,4,0,2,4,2,0,6,6,4,7,7,5,3,5,0,7,3,2,7,4,7,4,2,3,0,3,2,2,5,4,7,5,6,5,0,3,6,4,3,5,1,6,2,5,7,4,2,0,4,6,1,7,7,0,4,7,1,5,7,3,4,0,2,0,4,6,0,2,7,2,0,0,1,0,7,5,5,5,3,0,2,0,4,1,0,0,0,7,5,7,7,3,0,0,1,0,0,7,5,0,4,0,1,7,7,3,0,4,7,7,4,0,0,7,7,4,7,1,7,2,0,7,4,7,3,0,3,4,0,0,3,1,7,2,2,5,5,4,5,5,2,1,2,3,0,0,1,2,3,0,5,0,0,1,6,5,2,6,0,0,7,7,0,0,1,0,0,0,7,3,4,0,0
};

I center and scale them between -7 and 7 (symbols[i] = symbols[i]*2-7)

Then I compute my metrics :

for (int i=0;i<240;i+=2)
{
t_char r0 = symbols[i];
t_char r1 = symbols[i+1];
metrics[i] = r0 + r1; 
metrics[i+1] = r0 - r1;
}
I transfert the metrics using edma but I never find my expected result :

80 C2 E2 67 3D 64 1B 8C D7 8D 4F 3B C0 66 40 (hexa) (114 bits + 6 tail bits)


instead I receive :

CE DF A9 BE 00 40 C8 CE 92 9E 8D 8B B1 B6 DF (hexa) (114 bits + 6 tail bits)

Here are the details of configuration of my configuration :

  • dsp in little endian
  • poly0 = 0171 (octal)
  • poly1 = 0133 (octal)
  • rate 1/2
  • constraint length K = 7
  • 6 tail bits
  • metrics table is aligned on 8 bytes
  • everything is in ISRAM
vcp config
  • vcpic0 0x6ce4
  • vcpic1 0x0
  • vcpic2 0x72
  • vcpic3 0x10000000
  • vcpic4 0x400
  • vcpic5 0x101f0000
  • vcpend 0x3
  • vcpemu 0x1
  • vcpstat0 after decoding 0x78008
  • vcpstat1 after decoding 0x4
edma config to send vcpconfig
  • option 0x8001D004
  • srcAddr 0xE2002148 
  • aCntbCnt 0x00010018 
  • dstAddr 0x58000000 
  • srcDstBidx 0x00180018 
  • linkBcntrld 0x00005FE0  --> link to metrics transfert
  • srcDstCidx 0x00180018 
  • cCnt 0x00000001

edma config to send metrics

  • option 0x8001D306
  • srcAddr 0xE2109018
  • aCntbCnt 0x00010100
  • dstAddr 0x58000080
  • srcDstBidx 0x01000100
  • linkBcntrld 0x00005FC0 --> link to a dummy transfert
  • srcDstCidx 0x01000100
  • cCnt 0x00000001

edma config to receive decoded bits

  • option 0x8011D00C
  • srcAddr 0xE2109018 
  • aCntbCnt 0x00010000
  • dstAddr 0x58000080
  • srcDstBidx 0x00000000
  • linkBcntrld 0x0000FFFF
  • srcDstCidx 0x00000000
  • cCnt 0x00000001
Could someone give me a hint on what I'm doing wrong ?
I managed to configurate VCP1 on TSM320C6416 a few years ago but here on TSM320C6455 I have no clue of what is going wrong...
Don't hesitate to ask more info if I forgot something.
   Regards,
   Selim Belbachir