What happended to CTRLC register for the SERCOM module in SAMD21?

Go To Last Post
4 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi 

 

If you read about the 16 byte FIFO operation on any of the SERCOM modules (USART, SPI, I2C) all of them states that you should enable the FIFO by writing CTRLC.FIFOEN = '1'.

Problem is that the CTRLC register is not described in the Register Summary or Register Descriptor section for any of the SERCOMs.

Also if you search the sercom.h CMSIS header files no CTRLC definitions exists...

 

So what happended to the FIFO? I really liked the idea since it heavily optimized the sercom operation.

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There's a CTRLC in the SAMD51 manual and .h files, but only for LIN-mode stuff.  Also, SAMD51 no  longer mentions FIFOs on the SERCOM at all..

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't recall there being a FIFO in SAMD21.

 

The Rev-A datasheet never mentions a "16-byte FIFO".

 

The description just talks about the TX DATA and RX DATA registers being directly connected to the Tx & Rx shift registers:

 

 

A FIFO is mentioned in the description of the Hardware Handshaking operation - but that seems to be just a copy-and-paste error:

 

There  is no mention of a CTRLC register - neither in the text, nor in the register summary:

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
The Rev-A datasheet

That is to say, the original Atmel "Rev-A" - not the subsequent Microchip "Rev-A"

 

The latest Microchip document is "Rev-C", 06/2018.

 

It does, indeed, refer to "Up to 16-bytes internal FIFO" - but has no CTRLC register in the Summary list.

 

The final Atmel document was "Rev-O", 12/2016.

 

The most recent Atmel document I have is "Rev-I", 03/2016.

It has no mention of FIFO.

 

There is nothing in the Revision History of the latest document about adding FIFO documentation.

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...