Statement of originality:
This original tutorial was created by ALINX Electronic Technology (Shanghai) Co., Ltd. (ALINX), and the copyright belongs to the company. If you want to reprint, you need to authorize and indicate the source.
Applicable board models:
The vivado project directory is “ps_hello/vivado”
The vitis project directory is “ps_sysmon/vitis”
This chapter introduces the use of system monitors, which are used to monitor the voltage and temperature of the chip, and can also be used as external signal acquisition through the ADC pin at the PL end. The PL terminal can be used for 17-channel ADC acquisition, but the development board does not connect devices to these pins, so this chapter does not explain it. As shown in the figure, the voltage sensor can monitor the chip’s VCCINT, VCCAUX, VCCBRAM, etc. VP_0 and VN_0 of PL_SYSMON are a pair of dedicated ADC analog input ports. VAUXP[*] and VAUXN[*] are also ADC input ports, but when they are not used as ADC input ports, they can be used as ordinary IOs. This experiment mainly measures the value of temperature and voltage.
The Vivado project is also based on the “ps_hello” project.
FPGA engineer job content
The following describes the FPGA engineer responsible for the content.
1. Hardware reads System Monitor
1) Open the project, connect the power supply of the development board, JTAG downloader, and adjust the development board to JTAG mode, power on the development board, click Open Hardware Manager, and then click Auto Connect to discover the hardware.
2) Right click on SysMon and create a new Dashboard
3) Select both the PS end and the PL end, and click OK
4) There will be temperature information by default
5) Click + to add the voltage value to the window
6) Display as follows
The advantage of this method is the graphical display, which is more intuitive, but the disadvantage is that the data value cannot be obtained. The following describes how PS reads XADC information.
Software Engineer Job Content
The following is the responsibility of software engineers.
2. PS reads System Monitor information
1) Open the Vitis software and create a new Vitis project
2) You can see the system monitor in BSP, and you can import Example to learn
3) The experimental phenomenon is to read the temperature and voltage data and print them out through the serial port every 1S. Read the raw value through the XSysMonPsu_GetAdcData function, and use the XSysMonPsu_RawToTemperature_OnChip macro to convert the ADC value into a temperature value. Use XSysMonPsu_RawToVoltage to convert to a voltage value.
4) After downloading, you can see the printed information in the serial port tool as follows, read the values of temperature, VCCINT, and VCCAUX