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.

Auxiliary Clock Restrictions

Genius 9880 points
Other Parts Discussed in Thread: TMS320F2837, TMDSDOCK28379D, TMDSCNCD28379D, TMDXIDDK379D, TMDSCNCD28388D, TMS320F28379D

Hi,

Customer want to know if there is a specific clock that can be used with TMS320F2837 microcontrollers, details below.

"I'm working with the TMS320F2837 microcontroller and I'm looking to connect an auxiliary clock. Are there specific clocks that we are restricted to? or can we use any?

I'm already aware of the 3.3V restriction on the GPIO133 pin, but other than that is what I was wondering.

The reason we're looking to do this is to eventually have multiple controllers connected to a single aux clock to ensure synchronization/stability. The controllers are connected through CAN Protocol and will be sending measurements back and forth.

Below are the links to my choices.

www.digikey.com/.../2024803
www.digikey.com/.../5877335
www.digikey.com/.../9557972
https://www.digikey.com/en/products/detail/renesas-electronics-america-inc/5V49EE901-EVB/4252525

I don't know if this makes a difference but we may also use this docking card with the controllers: www.digikey.com/.../7219406

"

Regards,
Maynard

  • Maynard,

       It is not clear exactly what the customer is trying to do. Do they want to use a the same clock source for every MCU in the system? Why use AUXCLKIN? Why not simply connect the clock signal to X1? 

  • Hi Hareesh,

    Below is the response from customer.

    We want to run microcontrollers on two of the evaluation boards by same external clock source:
    www.digikey.com/.../7219406
    so that we can make the micros and their ePWMs run in sync with the same clock

    It would be physically difficult to access the clk input pin on the micro, and we'd also have noise issues if loosely wired. Additionally, the manual for the TMS320F2837 specifically says an outside clock must be connected through the AUXCLKIN port. Is that not actually the case?

    Regards,
    Maynard

  • If the MCUs are on two different boards, I don't see how using the AUXCLKIN pin would make any difference. You will still need to deal with loose wiring, a no-no for clock signals.

    "Outside clock" i.e. an external "can" oscillator can be fed to X1 also.

  • Hi Hareesh,

    Customer have follow up questions, details below.

    . Are you suggesting we use the X1 ports on the controllers instead, or do you feel that connecting the aux clock to multiple controllers in general is not advised?
    Also, can we feed in the clock thru CAN bus? If yes then what is the code to read the clock signals from the CAN bus?

    Regards,
    Maynard

  • . Are you suggesting we use the X1 ports on the controllers instead, or do you feel that connecting the aux clock to multiple controllers in general is not advised?

    Figure 8-8. Connecting Input Clocks to a 2837xD Device in SPRS880O shows you all the possible input clock options.

    Also, can we feed in the clock thru CAN bus? If yes then what is the code to read the clock signals from the CAN bus?

    No, this is not possible. 

  • Hi Hareesh,

    Customer have followup questions, details below
    1. Earlier  you mentioned a CAN Oscillator that could be fed to X1. Do you have any part numbers or suggestions for a model we should go with?

    2. Once we get an oscillator, we wanted to do know if you had any suggestions on how to mount it with the TMDSDOCK28379D in a way where we could avoid loose wiring? Or if there's any other Evaluation Board that would be more conducive to this?

    3. Lastly, do you have any Evaluation Board with two more controllers set up on it?

    Regards,
    Maynard

  • Hi Maynard, Hareesh is currently out of office, so I'll try to pitch in here.  To answer your questions directly:

    1. Earlier  you mentioned a CAN Oscillator that could be fed to X1. Do you have any part numbers or suggestions for a model we should go with?

    We typically do not recommend specific XTALs or canned oscillators.  You can use TMDSCNCD28379D as a reference.  Additionally we have improved our documentation on XTALs and XTAL selection in the "XTAL Oscillator" chapter of the TMS320F28003x Real-Time Microcontrollers datasheet and that chapter  applies to TMS320F2837 as well.

    Additionally I want to clarify that Hareesh was not suggesting using the CAN module as a clock but mentioning a "canned oscillator" like this: 

    ...as an alternate to a "crystal oscillator" (XTAL). A canned oscillator would be required if the customer used AUXIN since it is a single ended clock.  X1 can be driven with a canned oscillator in single ended mode or using a XTAL along with X2.  The details of how to connect these is doc'd in the datasheet.  For this application I don't see any benefit to using AUXIN or a canned oscillator.

    2. Once we get an oscillator, we wanted to do know if you had any suggestions on how to mount it with the TMDSDOCK28379D in a way where we could avoid loose wiring? Or if there's any other Evaluation Board that would be more conducive to this?

    Even if they are able to cleanly mount and connect two separate EVMs using a common clock, I have some concerns whether the customer will accomplish what they need since there could be propagation delay differences from the clock source to the MCUs.  Can you provide more details on exactly the problem the customer is trying to solve so I can loop in the appropriate subject matter experts to help?  From what you indicated so far they seem to want to synchronize the PWMs from two different TMS320F2837 MCUs.  Are there other requirements?  I don't think the two devices will ever be 100% synchronized, do they know what tolerance they have?  You mentioned they are using two EVMs, is this just for prototyping or their intended final solution?

    3. Lastly, do you have any Evaluation Board with two more controllers set up on it?

    I'm not aware of any C2000 EVM that has two synchronized devices. I believe in multi-device applications, one is typically the host and the other(s) are controlled by the host.

    If you are able to provide more details about the system needs, perhaps we can make some suggestions.

    Regards,

    Joe

  • Hi Joe,

    I just received response from customer, details below.

    To provide more details, at this point in time we do not have a required tolerance for propagation delay. Essentially, my job is to prototype the setup and based on those results, come up with a final solution.

    As for the problem itself, we are attempting to establish communication between a Battery Management System in a factory/warehouse with a microcontroller CAN network such that the controllers can receive power data and the MCU will control the charging rate of the BMS. We wanted to use a single outside clock to ensure the controllers are (within a to be determined tolerance) synced as we will be continuously taking measurements from the BMS. We were also concerned about propagation delays as you mentioned, which is why we wanted to get your recommendations. It is essential that communication between the controllers is accurate. In other words that measurements do not change from one controller, and are communicated within a reasonable tolerance.

    Regards,
    Maynard

  • Hi Maynard,

                    To clock multiple controllers from the same clock, I would recommend using a clock buffer such as these.  There may be some additional app-notes from that BU regarding design practices for synchronizing multiple components from a single clock source.

                     As for anything C2000 specific, the best I could find is chapter 7 of spracm3 which leverages FSI and CLB for PWM event synchronization across multiple devices.  Unfortunately the TMS320F2837x family does not have FSI but TMS320F2838x does as well as F28002x, F28003x, and F28004x.

    Regards, Joe

  • Hi Joe,

    Just received response from customer, details below.

    " I s there any evaluation boards that would be most suitable for those clock buffers?"

    Regards,
    Maynard

  • Maynard,

        It would be best for customer to go through the page Joe recommended and then determine if an eval board is available for the buffer they are interested in.

  • Hi Hareesh and Joe.

    Apologies, just received response from customer. Details below.

    "Please disregard my earlier message as I've done a lot of research and am at the moment in more pressing need of other information. Here is my tentative set up, and please advise if everything I suggest works and that I am using all the products I would need.

    Two or three TMDSCNCD28388D (with the TMS320F2838x on board) would be connecting to docking board TMDXIDDK379D. The board on the H1 slot would in part act as the host clock, and through FSI I can transmit the clock from the host to two other boards on H7 and H8. As for achieving FSI itself, using the ethernet ports on the daughter cards, I can connect the host to the other cards (with ethernet cables). Now my question is, does this method work for using the host to act as an external clock to the other boards? And are all the products I've just listed everything I would need to buy?"

    Regards,
    Maynard

  • through FSI I can transmit the clock from the host to two other boards on H7 and H8

    Please define "clock". Which clock are you wanting to transmit?

    As for achieving FSI itself, using the ethernet ports on the daughter cards, I can connect the host to the other cards (with ethernet cables).

    Sorry I don't understand. if you are referring to J5 & J6, they are Ethernet connectors and have nothing to do with FSI.

    Now my question is, does this method work for using the host to act as an external clock to the other boards?

    No. On the Controlcard, the MCU can only be clocked using either Y1 or Y2. 

    Figure 3-6. (Clocking System) on page 160 of SPRUII0C shows all the possible input clocks to the MCU.

  • Hi,

    I just received response from customer, details below.

    "I have scoured countless technical documents, it seems I keep finding updated information that could change things. With that said, I will back up a little.
    Our main concern is having multiple controllers (ideally TMS320F28379D) synced together under a single clock source (~10 MHz). When reading documentation on the TMS320F28379D I saw that its internal clock could be outputted, and that it also supported taking clock inputs. Therefore, my plan was to connect the clock output of one controller to the clock inputs of the other controller(s).


    As you mentioned FSI, I was looking into using the TMDSCNCD28388D daughter card and TMDXIDDK379D docking board. However after reviewing our budget, we would strongly prefer more affordable options, hence why I double backed on the TMS320F28379D controller and TMDSDOCK28379D dock. If there are other products that would be better suited for our needs however, that would also work. Regarding where you say "No. On the Controlcard, the MCU can only be clocked using either Y1 or Y2. " Does that mean there is no way to achieve what we are trying to do? Or do we simply have to use an external clock source, rather than the MCU's onboard clock?

    Regards,
    Maynard

  • my plan was to connect the clock output of one controller to the clock inputs of the other controller(s).

    The only way to do this is to design a dedicated board for this purpose. Even then, you have to contend with clock skew, proper board layout to ensure the rise/fall time are within limits and that noise does not corrupt the clock.

    Does that mean there is no way to achieve what we are trying to do?

    Correct.

    Or do we simply have to use an external clock source, rather than the MCU's onboard clock?

    You will have to use an external clock anyway, at least for the first device. For the first device, the MCU's onboard clock is derived from an external clock.

  • Hi Hareesh, 

    Just received response from customer, details below

    "1. Part of our team is already using the Delfino F28379D controlCARD and HSEC180 Docking Station baseboard and they communicate data with each other. To my understanding, they have already used the GPIO pins to send a clock signal from one card to another, but encountered clock delays as you mentioned. So could we not simply use the USB ports instead?

    2. Can you elaborate a bit more on the external clock for the first device? Do you mean that the controlCARD's onboard clock is derived from the microcontroller?

    3. Somewhat earlier you mentioned FSI as a potential solution. Assuming we have to go that route, can you let me know which parts I would need? We would be using two control cards and a docking station (ideally only one, if it can support two cards) and I believe we also would need the FSI adapter. I looked through the www.ti.com/.../TMDSCNCD28388D page but was rather confused on which precise parts we would need. Do you mind clarifying this?"

    Regards,
    Maynard

  • So could we not simply use the USB ports instead?

    No.

    2. Can you elaborate a bit more on the external clock for the first device? Do you mean that the controlCARD's onboard clock is derived from the microcontroller?

    By "clock", I am referring to the operating clock of the MCU, which is derived from the onboard oscillator.

    3. Somewhat earlier you mentioned FSI as a potential solution.

    FSI cannot be used transmitting system clock.

    We regret we do not have any ideas/solutions beyond what we have outlined in earlier posts.

  • Hi Hareesh,

    Just receive response from customer. please see details below.

    Someone suggested looking into using ePWM to send a synchronizing signal between the boards' GPIO pins. From what I understand this is not a clock signal per se, but instead will synchronize the PWM of the slave board to the PWM of the MCU. Do you know anything of ePWM or have any suggestions how we could investigate this further?

    Regards,
    Maynard

  • Questions concerning ePWM needs to be on a new post with an appropriate subject line. 

    We are closing this post. We regret we cannot support it anymore.