We are seeking a skilled developer to debug a circuit with the MicroChip ATSAMD51 USB as a mass storage device using Windows 11 MPLABX 6.20 and the USB modules in MCC.  We have an SPI SD card that works. PCB has a USB-C interface, and a SWO header (we use the Atmel ICE).

The USB-C connector was originally designed to plug into a docking station board, and communicate over SPI. We are trying to use the same USB-C to plug directly into windows in USB 2.0 mode (DM+, DM- only)

We will ship you our PCB, and our test MPLABX code, and any other debug setup you need  if you are selected for the job.

We have used the D21 Xplained Pro PCB as a reference PCB. The reference app is:
https://github.com/Microchip-MPLAB-Harmony/usb_apps_device/tree/master/apps/msd_basic/firmware/sam_d21_xpro.X
We then added an adafruit SD card to SERCOM 2, and modified the app in MCC to use the SD card. This works.

On our PCB, the ATSAMD51 USB-C connector is the UJ32-C-H-G-H2-SMT-TR
– DN1 (A7) , DN2 (B7) are connected to USB_DM
– DP1 (A6) , DP2 (B6) are connected to USB_DP
– CC1 (A5) is USB_SCK. CC2 (B5) are connected directly to the D51. CC1 and CC2 should be pulled down to indicate a USB device. There is no pull-down, but I set that in the ATSAMD51.
– The ATSAM datasheet says you can connect directly to USB (although they recommend a protection circuit, but that should not be a problem, for now, we think).
– No VBUS_SENSE,  so we run in polled mode. this works on the D21 (we will modify the circuit in the future)

Debugging:
– USB device tree viewer. The device is seen, but the error code is CM_PROB_FAILED_POST_START
– Wireshark USBPcap sees a URB_INTERRUPT and some communication over DM+ and DM-
– The app does not send the descriptor and enter Configured state, like the D21

D21
USB_DEVICE_EVENT_SUSPENDED                            
USB_DEVICE_EVENT_POWER_DETECTED                         
USB_DEVICE_EVENT_RESET                              
USB_DEVICE_EVENT_RESET                              
USB_DEVICE_EVENT_CONFIGURED

our D51
USB_DEVICE_EVENT_SUSPENDED
USB_DEVICE_EVENT_POWER_DETECTED
USB_DEVICE_EVENT_RESUMED
USB_DEVICE_EVENT_RESET
USB_DEVICE_EVENT_RESET
USB_DEVICE_EVENT_RESET
USB_DEVICE_EVENT_RESET
USB_DEVICE_EVENT_SUSPENDED

Skills needed:
– MicroChip ATSAMD51
– MPLABX 6.20 with MCC
– MicrChip embedded C code debugging
– USB protocols
– Firmware development

Hourly Range: $21.00-$45.00

Posted On: June 24, 2024 13:21 UTC
Category: Firmware Development
Skills:Firmware, Embedded System, Microcontroller Programming, PCB Design, C

Country: Canada

click to apply

Powered by WPeMatico