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 SCIB with MotorWare projects

Other Parts Discussed in Thread: TMS320F2809, MOTORWARE, TMS320F28069M, CONTROLSUITE

Our hardware platform uses a TMS320F2809PZT. A legacy project of ours uses SCIB without problems. I’m trying to add SCIB drivers to MotorWare Labs 2A and 2B. The debugger won’t allow me to modify the SCIB registers.  (It does allow me to modify the SCIA regs) In the Build Settings, the working legacy project uses Device “TMS320F2809” while the MotorWare labs use Device “Generic C28xx Device”. The TRM says that SCIB is not present in all devices, so “Generic C28xx Device” must assume the SCIB present. When I change the device from “Generic C28xx Device” to “TMS320F2809” in the MotorWare projects, I can’t seem to find a linker command file that works for me.

When I use "C:\ti\ccsv6\ccs_base\c2000\include\F28069.cmd", I get "C:/ti/motorware_1_01_00_13/sw/modules/fast/lib/32b/f28x/f2806x/2806xRevB_FastSpinROMSymbols.lib<TMS320x2806x_REVB_boot_rom_out__modf_tmp.obj>" specifies ISA revision "C2800", which is not compatible with ISA revision "C2700" specified in a previous file or on the command line”

When I use "C:\ti\ccsv6\ccs_base\c2000\include\28069_RAM_lnk.cmd", the code won’t fit.

How do I access SCIB regs with existing MotorWare code?

  • jim,

    please clarify, are you just trying to use the drivers from MotorWare, of also the solution (instaspin_foc or instaspin_motion)?  And you're trying to do this on your F2809 or are you using an F28069M that comes with the InstaSPIN kits?

  • Using C:\ti\motorware_1_01_00_13\sw\solutions\instaspin_foc\boards\hvkit_rev1p1\f28x\f2806xF\projects\ccs5\proj_lab03a as a base, I added

    C:\ti\motorware_1_01_00_13\sw\drivers\sci\src\32b\f28x\f2806x\sci.c and sci.h.

    I am running it on our own hardware that has a TMS320F2809.

    The weird thing is the debugger lets me modify SCIA registers but won’t let me change SCIB registers.

    When I run our legacy project on the same hardware using the same CCS, I can modify SCIB registers.

  • first of all, you can't use InstaSPIN or the MotorWare solutions with your F2809.

    These solutions rely on a special motor control library to be present in on-chip ROM. These are designated by "F" (for -FOC) and "M" (for -MOTION, superset also includes "F"), such as F28069M or F28027F

    secondly, MotorWare only has drivers for the F2806x (and others like 5x and 2x) but not for F2809.  So there isn't even any mapping to the correct peripherals or memory location.  The fact that you can touch the registers on the SCIA is happenstance I suppose.

  • Then we are going to have to replace our TMS320F2809PZT with a F28069M. Does the F28069M have SCIB enabled? Are there different variants of the F28069M? 

  • jim henderson said:
    Does the F28069M have SCIB enabled?

    Yes. to be clear so does the F2809 device, you just aren't using the right drivers.

    jim henderson said:
    Are there different variants of the F28069M? 

    The F28069M comes in two packages (80 and 100) and 2 temp ranges.

    http://www.ti.com/product/tms320f28069m

    There is also an F28068M, F28069F, F28068F, and F28062F for InstaSPIN

    http://www.ti.com/ww/en/mcu/instaspin/instaspin-foc_MCUs.shtml

  • My mistake, we have an F28069, not an F2809. I see no indication that it is an "F" or an "M" so I have to assume it's a plain F28069. So back to my original question, why would the debugger not allow me to modify the SCIB registers?

  • are the clocks enabled on the SCIB?

    again, you can't run the InstaSPIN projects on F28069. You need an F or M version.

    You could use the drivers in MotorWare still, but most people are using the controlSUITE examples for F28069 work

    C:\ti\controlSUITE\device_support\f2806x\v140\F2806x_examples_ccsv5

  • if you are using MotorWare drivers you will need to enable the SCIB CLK.

    1. this isn't in the HAL layer already, only the one for SCIA. You can copy this approach.

    2. there isn't even a CLK driver for this function. We have added it on our repository and it will be in next MotorWare.  You would have to add all the code to set this bits into the CLK files.

    CLK_enableScibClock()