SAMD51 USB CDC Resources or Examples?

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


Summary:

I have created a custom board using the ATSAMD51G19A MCU and cannot figure out how to get USB CDC working on it. I mistakenly thought the API was the same as the SAMD11 with "standard" ASF when designing the board and now am on the hook to get this thing working.

 

I cannot decipher this Atmel "Start" system. It is not very intuitive to me, I am experiencing freezing every time I click items during configuration. Any documentation sources, or examples would be very great.

 

I am really struggling with getting the USB even attached to the system, any help is appreciated, steps taken so far below:

 

Note:

 

The board is configured with a 12MHz external clock. There is no 32KHz external crystal.

 

Goal:

Create a simple USB-CDC example to read and write a string to the console, to be hooked into a SCPI parser.

 

Current State:

  • System does not initialize USB. The USB device does not appear in device manager.
  • It does program, and blinking LEDs works as expected. Presumably this validates the board is properly wired.
  • No shorts measured during continuity testing of USB

 

 

Steps Taken:

 

 

 

 

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

ElectricalEngineer wrote:
I am not sure if the clock is even working as expected.
 

96 MHz to 200 MHz output frequency from a 32 kHz to 3.2 MHz reference clock

48 MHz directly is not going to work using DPLL0. Could you not try something closer to the E54 CDC example first? Or output the clock and check it is actually an ok 48MHz.  

/Lars

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


Thanks for your reply!

 

This was fixed by changing the USB driver to ACM which is listed as the serial port bridge.

 

From there the clocks were changed to the low power internal oscillator as shown in the image and the USB now enumerates.

 

From there writes are sent via the cdcdf_acm_write() method.