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.

RM48 MIBSPI, TICKCNT and massive delays between transfer groups

Other Parts Discussed in Thread: HALCOGEN

Hi,

We are trying to use MIBSPI in the following way....

We are basically polling a certain chip with four different commands; using a 1mS timer to start the sequence; each transfer group is used

to send one command. So we have timer isr ; then if TG's are complete we kick of the four groups.

We are seeing the following issues....

1) We are seeing 5mS delays between the sending of all 4 groups; so 5mS send 4groups, 5mS send 4 groups.....
Is this realted to the TICKCNT register; we saw this was initialised to 5000 and we saw 4.6mS delays; so we reduced this to 1000; now we get 40mS delays????

2) We need a transistion on the chip select between the groups. the chip we are talking to needs this for synchronisation. We are not getting the CS pulses we need. IE all 4 commands are send in one CS. Must we generate a dummy transfer on another CS between actual commands to guarantee those CS pulses?

Any suggestions?
Does Halcogen allow us to program the TICKCNT anywhere?

Kind Regards,

Owain

  • Hello:

    We have received your post. We are reviewing it and will get back to you soon.

    Regards,

    Enrique
  • Hi Owain,

    Unfortunately HALCoGen does not have TICKCNT Configuration GUI / API. in the sample code I have written directly to TICKCNT register.

    Attached is a Simple MIBSPI Project ( CCS + HALCoGen 4.03.00 Project) I developed on RM48x device, but this can be used for any device. 3122.MIBSPI_TICKCNT.zip

    Details of the Example:

    1) 4 TG configured ( TG 0, 1, 2, 3).

    2) TG 0 is triggered using TICKCNT

    3) TG 1, 2, 3, are Software triggered which are Enabled in the ISR of TG0, TG1 and TG2 respectively.

    4) Each TG is configured for 8 data of 16bit each, and uses CS0 in CS HOLD Mode, so CS will be held low for Every 8 data ( Toggles at TG trigger boundary)

    5) I used Digital Loop back mode, this has to be removed if you are talking to external Slave.

    Note: 

    1) I have configured TG's as One Shot, meaning after once TG is completed it has to be Enabled to start the transfer again, Just the trigger event will not be sufficient. Please uncheck One SHot under TG0 in HALCoGen is you want it to be continuous.