1. HPM ADC EVK
1.1. Depend on SDK1.10.0
1.2. Overview
HPM series MCU is a high-performance real-time RISC-V microcontroller from Shanghai HPM Semiconductor Technology Co., Ltd., which provides great computing power and efficient control capability for industrial automation and edge computing applications. Shanghai HPM Semiconductor has currently released multiple series of high-performance microcontroller products, such as HPM6700/6400, HPM6300, HPM6200, HPM5300,HPM6E00 etc. The HPM6700/6400 series microcontrollers have 3 built-in 12-bit and 1 16-bit ADC controllers. The HPM6300 and HPM6200 series microcontrollers are equipped with 3 built-in 16-bit ADC controllers. The HPM5300 series microcontrollers feature 2 built-in 16-bit ADC controllers. The HPM6E00 series microcontrollers come with 4 built-in 16-bit ADC controllers, and the HPM6P00 series microcontrollers also have 4 built-in 16-bit ADC controllers. Among them, the 12-bit ADC supports a maximum sampling rate of 5MSPS, and the 16-bit ADC supports a maximum sampling rate of 2MSPS. They support multiple sampling modes such as read, periodic, sequence, and preemption. The input modes include single-ended input (12-bit, 16-bit) and differential input (12-bit). Additionally, they support configurable resolution and number of sampling cycles, as well as writing DMA conversion results into memory. For the HPM series MCU high-precision ADC, HPM Semiconductor has launched a series of ADC EVK to evaluate ADC performance, which includes ADC EVK hardware design drawings, ADC EVK user guide, ADC design guide, and ADC test code. Intended to help users achieve optimal ADC performance.
1.3. Test samples
1.3.1. adc16_sinad(ADC batch sampling demo)
1.3.1.1. Overview
In this example, ADC16 batch samples several data from the specified channel and outputs them to the serial port terminal. The default sampling rate is 2MSPS.
The sampled data can be imported into scientific computing software for sinad and thd analysis.
1.3.1.2. Hardware Support
Please read user guide HPM5300_ADC_EVK User Guide Please read hardware schematic HPM5300_ADC_EVK_RevA Please See the hardware engineering path (hpm_app/apps/adc/hardware/HPM5300_ADC_EVK_RevA-Project Files)
Please read user guide HPM62\6300_ADC_EVK User Guide Please read hardware schematic HPM62\6300_ADC_EVK_RevA Please See the hardware engineering path (hpm_app/apps/adc/hardware/HPM62\6300_ADC_EVK_RevA-Project Files)
Please read user guide HPM6750_ADC_EVK User Guide Please read hardware schematic HPM6750_ADC_EVK_RevA Please See the hardware engineering path (hpm_app/apps/adc/hardware/HPM675000_ADC_EVK_RevA-Project Files)
Please read user guide HPM6E00_ADC_EVK用户指南 Please read hardware schematic HPM6E00_ADC_EVK_RevA Please See the hardware engineering path(hpm_app/apps/adc/hardware/HPM6E00ADCEVKRevC-Project)
Please read user guide HPM6P00_ADC_EVK用户指南 Please read hardware schematic HPM6P00_ADC_EVK_RevB Please See the hardware engineering path(hpm_app/apps/adc/hardware/HPM6P00ADCEVKRevB-Project)
1.3.1.3. Device Connection
Connect PC USB to DEBUG Type-C interface
Connect the debugger to the JTAG interface
Connect the signal source to the signal input SMA interface
The signal source connection diagram is as follows:
The signal source motherboard model is PSIEVMTI and the manufacturer is Texas Instruments.
1.3.1.4. Port Settings
Serial port baud rate is set to
115200bps, withone stop bitandno parity bit
1.3.1.5. Create Project
windows GUI create project

windows cmd create project Please read HPM5300_ADC_EVK User Guide as reference.
1.3.1.6. Running the example
When the project runs correctly, the serial port terminal will output the following information:
==============================
hpm5300evk clock summary
==============================
cpu0: 360000000Hz
ahb: 180000000Hz
mchtmr0: 24000000Hz
xpi0: 114285714Hz
==============================
hpm_sdk: 1.4.0
----------------------------------------------------------------------
$$\ $$\ $$$$$$$\ $$\ $$\ $$\
$$ | $$ |$$ __$$\ $$$\ $$$ |\__|
$$ | $$ |$$ | $$ |$$$$\ $$$$ |$$\ $$$$$$$\ $$$$$$\ $$$$$$\
$$$$$$$$ |$$$$$$$ |$$\$$\$$ $$ |$$ |$$ _____|$$ __$$\ $$ __$$\
$$ __$$ |$$ ____/ $$ \$$$ $$ |$$ |$$ / $$ | \__|$$ / $$ |
$$ | $$ |$$ | $$ |\$ /$$ |$$ |$$ | $$ | $$ | $$ |
$$ | $$ |$$ | $$ | \_/ $$ |$$ |\$$$$$$$\ $$ | \$$$$$$ |
\__| \__|\__| \__| \__|\__| \_______|\__| \______/
----------------------------------------------------------------------
This is an ADC16 demo for sinad test:
[16:21:03.612]receive←◆adc data buff is full, buffer start addr:80014. end addr:88010
Ch: 3 val: 59604 0%
Ch: 3 val: 59611 0%
Ch: 3 val: 59615 0%
Ch: 3 val: 59622 0%
Ch: 3 val: 59621 0%
Ch: 3 val: 59620 0%
Ch: 3 val: 59608 0%
Ch: 3 val: 59617 0%
Ch: 3 val: 59619 0%
Ch: 3 val: 59626 0%
Ch: 3 val: 59619 0%s
Ch: 3 val: 59619 0%
Ch: 3 val: 59619 0%
Ch: 3 val: 59615 0%
Ch: 3 val: 59625 0%
Ch: 3 val: 59608 0%
Ch: 3 val: 59617 0%
Ch: 3 val: 59621 0%
Ch: 3 val: 59620 0%
Ch: 3 val: 59625 0%
Ch: 3 val: 59628 0%
Ch: 3 val: 59622 0%
Ch: 3 val: 59616 0%
Ch: 3 val: 59608 0%
Ch: 3 val: 59612 0%
Ch: 3 val: 59625 0%
Ch: 3 val: 59612 0%
Ch: 3 val: 59625 0%
Ch: 3 val: 59615 0%
Ch: 3 val: 59617 0%
Ch: 3 val: 59617 0%
Ch: 3 val: 59619 0%
1.3.2. adc16_inl_dnl(ADC Batch Sampling Data and Writing to USB Disk Demo)
1.3.2.1. Overview
In this example, ADC16 batch samples data from the specified channel and save them to USB disk. The default sampling rate is 664KSPS.
The sampled data can be imported into scientific computing software for inl and dnl analysis.
1.3.2.2. Hardware Support
Please read hardware schematic HPM6750_ADC_EVK_RevA Please read user guide HPM6750_ADC_EVK User Guide Please See the hardware engineering path (hpm_app/apps/adc/hardware/HPM675000_ADC_EVK_RevA-Project Files)
1.3.2.3. Device Connection
Connect PC USB to DEBUG Type-C interface
Connect the debugger to the JTAG interface
Connect the USB disk to USB0 port
Connect the signal source to the signal input SMA interface
The signal source connection diagram is as follows:
The signal source motherboard model is PSIEVMTI and the manufacturer is Texas Instruments.
Note: USB disk need to be formated to FAT32

1.3.2.4. Port Settings
Serial port baud rate is set to
115200bps, withone stop bitandno parity bit
1.3.2.5. Create Project
windows GUI create project

windows cmd create project Please read HPM6750_ADC_EVK User Guide as reference.
1.3.2.6. Running the example
When the project runs correctly, the serial port terminal will output the following information:
==============================
hpm6750_adc_evk clock summary
==============================
cpu0: 648000000Hz
cpu1: 648000000Hz
axi0: 200000000Hz
axi1: 200000000Hz
axi2: 200000000Hz
ahb: 200000000Hz
mchtmr0: 24000000Hz
mchtmr1: 24000000Hz
xpi0: 133333333Hz
xpi1: 400000000Hz
femc: 166666666Hz
display: 74250000Hz
cam0: 59400000Hz
cam1: 59400000Hz
jpeg: 200000000Hz
pdma: 200000000Hz
==============================
hpm_sdk: 1.4.0
----------------------------------------------------------------------
$$\ $$\ $$$$$$$\ $$\ $$\ $$\
$$ | $$ |$$ __$$\ $$$\ $$$ |\__|
$$ | $$ |$$ | $$ |$$$$\ $$$$ |$$\ $$$$$$$\ $$$$$$\ $$$$$$\
$$$$$$$$ |$$$$$$$ |$$\$$\$$ $$ |$$ |$$ _____|$$ __$$\ $$ __$$\
$$ __$$ |$$ ____/ $$ \$$$ $$ |$$ |$$ / $$ | \__|$$ / $$ |
$$ | $$ |$$ | $$ |\$ /$$ |$$ |$$ | $$ | $$ | $$ |
$$ | $$ |$$ | $$ | \_/ $$ |$$ |\$$$$$$$\ $$ | \$$$$$$ |
\__| \__|\__| \__| \__|\__| \_______|\__| \______/
----------------------------------------------------------------------
--------------------------------------------------------------------
- Host example
- if you find any bugs or get any questions, feel free to file an
- issue at https:/*github.com/hathach/tinyusb
--------------------------------------------------------------------
This Host demo is configured to support:
- RTOS = None
- Mass Storage
USB0 Host Mass Storage Demo
A MassStorage device is mounted.
USB 3.0 ProductCode rev 2.00
Disk Size: 122800 MB
Block Count = 251494400, Block Size: 512
FatFs mount succeeded!
The USBHost.txt is open.
write udisk...
write udisk...
write udisk...
write udisk...
...(Omit here)
Write the USBHost.txt file done with 10200samples!
Direcotry Path: /
File Name: USBHost.txt