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.

CCS/MSP430FR5994: What is the Max UART & SPI Baud Rates using only DCO?

Part Number: MSP430FR5994
Other Parts Discussed in Thread: MSP430F5510

Tool/software: Code Composer Studio

What is the Max UART & SPI Baud Rates that is STABLE - using only internal Clocks?

Looking for any code samples in CCS.

  • I done UART benchmark for F2xx and F5xx, not for FR...

    https://forum.43oh.com/topic/3413-msp430-uart-benchmark/

  • Hi Conroy,

    The maximum baud rate of the UART can reach around 921000 , but there will be a high bit error rate.As shown in the figure below,

    The SPI as the master mode it's rate can reach 4Mbit/s. Can you tell me how much higher speed do you need?  and what is it used to?

    Best Regards

    Johnson

  • Hi Conroy,

    I haven’t heard from you for six days, so I’m assuming you were able to resolve your issue. If this isn’t the case, please click the "This did NOT resolve my issue" button and reply to this thread with more information. If this thread locks, please click the "Ask a related question" button and in the new thread describe the current status of your issue and any additional details you may have to assist us in helping to solve your issues.

    Best Regards,

    Johnson

  • We use USB-to-UART and USB-to-SPI to communicate with the MSP430FR5994.

    Will ONLY using the internal DCO - provide a !!! 100% STABLE !!! 115200 Baud communications through UART?

    Any other higher UART/SPI Baud rates - that are 100% STABLE?

    Note: This is a "general" question - we do not want to "DESIGN" a specific high-speed USB-to-UART or USB-to-SPI device.

    We simply want to use the Highest Baud-Rate possible - that is 100% STABLE.

  • Hi Conroy,

    For UART, it is usually transmitted in 10 frames, 1 start bit, 8 data bits, and 1 stop bit. In this case, 1/2 bit is 5% with respect to 10 bits. 

    you can refer to this table.

    The final error is the accumulation of the SMCLK clock error resource from DCO and the error in the table. As long as it is less than 5%, accurate and stable can be achieved. As can be seen from the table, the higher the SMCLK frequency, the smaller the error.

    By the way, What does 100% STABLE mean? no synchronization error ?  or  no data transmission errors?

    Best Regards

    Johnson

  • Conroy Hough said:

    We use USB-to-UART and USB-to-SPI to communicate with the MSP430FR5994.

    Will ONLY using the internal DCO - provide a !!! 100% STABLE !!! 115200 Baud communications through UART?

    Any other higher UART/SPI Baud rates - that are 100% STABLE?

    Note: This is a "general" question - we do not want to "DESIGN" a specific high-speed USB-to-UART or USB-to-SPI device.

    We simply want to use the Highest Baud-Rate possible - that is 100% STABLE.

    Better question for you is what BR can handle your USB-to-UART device. And who is sender? 115200 bps is too low. I didn't notice any problems where 2xx device(s) was sending data at 4 Mbps using 16 MHz DCO as MCLK / UART clock (and my USB / UART bridge based on MSP430F5510 with XT2 on board as clock source for MCLK / UART).

    		mov.w #WDTPW + WDTHOLD, &WDTCTL
    
    		mov.b &CALBC1_16MHZ, &BCSCTL1
    		mov.b &CALDCO_16MHZ, &DCOCTL
            
    		bis.b #UCSWRST, &UCA0CTL1
    
    		bis.b #(BIT5 + BIT4), &P3SEL	; P3.4/P3.5 = TXD/RXD
    		bis.b #UCSSEL_2, &UCA0CTL1	; SMCLK
    
    		; 16000000 Hz  4000000 bps
    		mov.b #004h, &UCA0BR0
    		mov.b #000h, &UCA0BR1
    		bis.b #(UCBRS_0 + UCBRF_0), &UCA0MCTL
    
    		bic.b #UCSWRST, &UCA0CTL1
    
    		mov.w #70, R14
    		mov.b #32, R15
    		
    Loop		bit.b #UCA0TXIFG, &IFG2
    		jnc Loop
    		mov.b R15, &UCA0TXBUF
    		
    		add.b #1, R15
    		cmp.b #127, R15
    		jne Loop
    		
    		mov.b #32, R15
    		sub.w #1, R14
    		jnz Loop

    If there is no factory calibrated values (and I guess it is similar to 5xx flash family) than DCO should by tuned / calibrated for selected MCLK and see what is relation (divider) to UART clock. For calibration can be also used external reference (as it is USB - UART generated transfer) similar to UART BSL in MSP430 devices.

  • Hi Conroy,

    I haven’t heard from you for ten days, so I’m assuming you were able to resolve your issue. If this isn’t the case, please click the "This did NOT resolve my issue" button and reply to this thread with more information. If this thread locks, please click the "Ask a related question" button and in the new thread describe the current status of your issue and any additional details you may have to assist us in helping to solve your issues.

    Best Regards,

    Johnson

  • Hi.

    Using FTDI's

    FT232R USB UART IC Datasheet Version 2.15
    ...
    Data transfer rates from 300 baud to 3 Mbaud
    (RS422, RS485, RS232) at TTL levels.
    ...

    Using only internal clocks of MSP430FR5994.

    What is the fastest baudrate that will be STABLE with FTDI's FT232R USB UART ?

    (We need speed with no data corruption.)

  • Hi Conroy,

    In the system you describe, the baud rate and bit error rate are affected by many factors:

    • For UART data processing mode of FR5994, whether to use DMA, data is only transmission or some data processing.
    • The relationship between speed and bit error rate described in the User's Guide, and the data given in this test table is that the input clock is not jittery conditions. As you have described, only use the internal clock, the DCO clock has bias error, and also Will be affected by the environment such as temperature.
    • In the system, RX, TX trace during layout

    Therefore, the maximum rate under the guarantee of data stability is affected by many factors, we can not give specific values, you need to test after the system is built.

    Best Regards

    Johnson

**Attention** This is a public forum