3.11.10 Getting Started with Drivers and USB CDC on SAM E70 Xplained Ultra Evaluation Kit Using MPLAB Harmony v3
Description
This application reads the current room temperature from the AT30TSE758A temperature sensor chip on the I/O1 Xplained Pro Extension Kit every second using I2C. This is indicated by a blinking orange LED on the I/O1 Xplained Pro Extension Kit. Further, it writes these temperature values into the sensor chip's own integrated EEPROM using the same I2C peripheral instance. The application uses an ADC channel to read the output voltage of the TEMT6000 ambient light sensor on the I/O1 Xplained Pro Extension Kit and displays it as a percentage of the sensor's full-scale output when requested through the serial terminal menu.
The serial terminal menu is made available through the SAM E70 Xplained Ultra Evaluation Kit's TARGET USB port by configuring it as a USB CDC class device. This menu allows the user to fetch temperature, light sensor data and even toggle the LED on the SAME70 Xplained Ultra Evaluation Kit.
Modules/Technology Used
- Peripheral Modules
- AFEC
- EFC
- PORT
- TC
- TWIHS
- Drivers
- I2C
- USB CDC
- Middleware
- USB Device Stack (USBHS)
- System Services
- Time
- CoreThe following figure shows the MCC Harmony project graph with all the components.
Hardware Used
Software/Tools Used
This project has been verified to work with the following versions of software tools:
Refer Project Manifest present in harmony-manifest-success.yml under the project folder firmware/src/config/sam_e70_xult
- Refer the Release Notes to know the MPLAB X IDE and MCC Plugin version.
- Any Serial Terminal application, such as Tera Term terminal application.
Because Microchip regularly update tools, occasionally issue(s) could be discovered while using the newer versions of the tools. If the project does not seem to work and version incompatibility is suspected, It is recommended to double-check and use the same versions that the project was tested with. To download original version of MPLAB Harmony v3 packages, refer to document How to Use the MPLAB Harmony v3 Project Manifest Feature (DS90003305)
Hardware Setup
- The SAM E70 Xplained Ultra Evaluation Kit allows the Embedded Debugger
(EDBG) to be used for programming and debugging. Connect the Type-A male
to micro-B USB cable to the
micro-B DEBUG USB port to power and debug the SAM E70 Xplained Ultra Evaluation Kit.
- Connect the Type-A male to micro-B USB cable to the
micro-B TARGET USB port which is configured as USB CDC class device to test the demo.
- To test the functionality, connect the I/O1 Xplained Pro Extension
Kit to the Extension Header 1 (EXT1) on the SAM E70 Xplained
Ultra Evaluation Kit
- The kit can be powered from the EDBG USB or from the target USB.
- The kit automatically selects a source to draw power. Priority is given to TARGET USB power input.
Programming hex file
The pre-built hex file can be programmed by following the below steps
Steps to program the hex file- Open MPLAB X IDE
- Close all existing projects in IDE, if any project is opened.
- Go to File -> Import -> Hex/ELF File
- In the "Import Image File" window, Step 1 - Create Prebuilt Project, click the "Browse" button to select the prebuilt hex file.
- Select Device has "ATSAME70Q21B"
- Ensure the proper tool is selected under "Hardware Tool"
- Click on "Next" button
- In the "Import Image File" window, Step 2 - Select Project Name and Folder, select appropriate project name and folder
- Click on "Finish" button
- In MPLAB X IDE, click on "Make and Program Device" Button. The device gets programmed in sometime.
- Follow the steps in "Running the Demo" section below
Programming/Debugging Application Project
- Open the project (sam_e70_xult_getting_started_drv_usb_cdc/firmware/sam_e70_xult.X) in MPLAB X IDE
- Then right click on the project
(getting_started_drv_usb_cdc_sam_e70_xult) and click Set
as Main Project
- Ensure the SAM E70 Xplained Ultra Evaluation Kit is selected as hardware tool to program/debug the application
- Build the code and program the device by clicking on the "Make and Program Device" button in MPLAB X IDE tool bar
- Follow the steps in "Running the Demo" section below
Running the Demo
- Open the Tera Term terminal application on the PC (from the Windows Start menu by pressing the Start button)
- Configure the TARGET USB port in the Tera terminal application and change the baud rate to 115200
- Press "h" to show the Getting Started Menu.
- 1 - Toggle board LED
- 2 - Show latest temperature value
- 3 - Show past 5 temperature values from EEPROM
- 4 - Show latest light sensor value
- h - Show this menu
- According to the Getting Started Menu, press the specified key to
obtain the expected outputs as shown in the figure below.
Comments
- Reference Training Module: Getting Started with USB on SAM MCUs Using MPLAB® Harmony v3
- This application demo
builds and works out of box by following the instructions above in
"Running the Demo" section. If the user needs to
enhance/customize this application demo, the user needs to use the MPLAB
Harmony v3 Software framework. Refer links below to setup and build the
applications using MPLAB Harmony.
- How to Setup MPLAB Harmony v3 Software Development Framework (DS90003232)
- How to Build an Application by Adding a New PLIB, Driver, or Middleware to an Existing MPLAB Harmony v3 Project (DS90003253)
- Video - How to Set up the Tools Required to Get Started with MPLAB® Harmony v3 and MCC
- Create a new MPLAB Harmony v3 project using MCC
- Update and Configure an Existing MHC-based MPLAB Harmony v3 Project to MCC-based Project