Board Support Package For Aries IoT v1.0
Introduction
|
Aries IoT v1.0 Board |
This board support package (BSP) supports Aries IoT v1.0 microcontroller board based on RISC-V architecture developed by ‘Centre for Development of Advanced Computing’ (C-DAC), India.
· This BSP is based on driver APIs developed by Vega Processor Development Team, C-DAC.
· It uses GNU RISC-V Embedded GCC compiler tool chain for generating required binaries.
Getting Started
· Install FTDI USB drivers on the host PC. These drivers are provided along with CASP installation files. Latest drivers can be also be downloaded from OEM web site.
· Create model and build to generate required binary.
· Refer below for programming and debugging support.
Usage Notes
· This board can be powered from USB-C port, DC power jack (+7V to +12V) and VIN pin (+7V to +12V). See figure above.
· ADC input voltage range is from 0 to 2.5V. However, full scale range (FSR) is from 0.000V to 2.5V.
· This board supports only high level interrupts on GPIO pins. However, CASP supports positive edge trigger interrupts through software. As such CASP GPIO interrupts works best below 200Hz. These GPIO interrupts are supported on GPIO0 to GPIO11 pins.
· The SPI0-SS, SPI1-SS and SPI2-SS pins mentioned under GPIOs shall only be used as chip select output during respective SPI communication. These pins shall not be used as general purposes GPIOs.
· The analog input pin A6 is connected to the ADC IC through an on-board variable resistor-trimmer pot (R-73). User may vary the resistance of the trimmer pot to vary the actual input voltage to the ADC.
· The analog input pin A7 is connected internally to an on-board thermistor. CASP outputs the value in the raw form. User may have to use CASP’s ‘NTC Thermistor’ block with suitable parameters to get the temperature values in 0C.
· The on-board buzzer is internally connected to the PMW-7 output. User may have to increase the PWM resolution to about 15-bit to get an audible output.
· USB serial performance can be increased by setting the USB serial port latency timer to the minimum on the host PC.
Board Configuration
· General Configuration
Configuration Parameter |
Parameter Value |
Board Title |
Vega Aries v20 |
Tool Chain Type |
Local Build |
Board Preprocessor Symbol |
_BUILD_BRD_VEGA_ARIES_IOT |
Platform Preprocessor Symbol |
_BUILD_PLT_RISCV_VEGA |
Compiler Preprocessor Symbol |
_BUILD_CMP_RISCV_GCC |
C++11 Standard Support |
No |
File System Support |
No |
OpenMP/OpenCL/CUDA Support |
No/No/No |
Simulation Panel Support |
No |
· Hardware Configuration
Configuration Parameter |
Parameter Value |
Remarks |
Number of CPU cores |
1 |
|
Dynamic Memory Support |
Yes |
|
Prefer Fixed/Floating Point |
Floating Point |
|
DI/DO Pins |
GPIO0[0], GPIO1[1], GPIO2[2], GPIO3[3], GPIO4[4], GPIO5[5], GPIO6[6], GPIO7[7], GPIO8[8], GPIO9[9], GPIO10[10], GPIO11[11], GPIO12[12], GPIO13[13], GPIO14[14], GPIO15[15], GPIO18 (BTN1)[18], GPIO19 (BTN0)[19], GPIO21[21], GPIO22 (LD1_G)[22], GPIO23 (LD1_B)[23], GPIO24 (LD1_R)[24], GPIO25[25], GPIO26[26], GPIO27[27], GPIO28[28], GPIO29[29], GPIO30[30], GPIO31[31], SPI0-SS[32] , SPI1-SS[33] , SPI2-SS[34] |
|
ADC Default Resolution |
12 |
|
ADC Pins |
A0[0], A1[1], A2[2], A3[3], A4[4], A5[5], A6 (Trimpot)[6], A7 (Thermistor)[7] |
|
PWM Default Resolution |
12 |
|
PWM Pins |
PWM0[0], PWM1[1], PWM2[2], PWM3[3], PWM4[4], PWM5[5], PWM6[6], PWM7 (Buzzer)[7] |
|
DAC Default Resolution |
0 |
|
DAC Pins |
- |
|
UART0 |
Via USB Programmer Port |
|
UART1 Pins |
TX1, RX1 |
|
SPI0 Pins |
SCK, MOSI, MISO and SS pins of SPI0. |
Implemented through SPI0 interface of Vega driver. Refer SPI.h from BSP directory |
I2C0 and I2C1 Pins |
SDA0, SCL0 (Default) SDA1, SCL1 |
Implemented through I2C0 and I2C1 interfaces of Vega driver. Refer Wire.h from BSP directory. |
Peripheral Support
- The on-board WiFi module is supported through CASP ‘WiFi101’ block. This block can be used in similar manner as used on other platforms.
- BMI-088 (6 Axis Digital Accelerometer, Gyroscope & Temperature Sensor) module is supported through CASP ‘BMI088’ block. The following block parameters shall be selected for communicating with the module.
- Set I2C/SPI parameter to SPI.
- Set SPI Interface parameter to SPI2.
- Set SPI Clock Divisor to 64.
- Set _Pin (Accel. CS) to SPI2-SS.
- Set _Pin (Gyro. CS) to GPIO21.
- APDS-9960 (Proximity, Ambient Light, IR and Gesture Sensor) module is supported through CASP ‘APDS9960’ block. Set I2C Interface block parameter to I2C2 to properly communicate with the module.
- BME-680 (Digital Relative Humidity, Gas, Pressure and Temperature Sensor) module is supported through CASP ‘BME680’ block. Set I2C Interface block parameter to I2C2 to properly communicate with the module.
- To measure temperature from the on-board thermistor (TK95 series), CASP ‘TargetHw_IO’ block can be used in ADC input mode. The output of this block is a raw value. To convert the raw value to the temperature in 0C user can use ‘NtcThermistor’ block with following parameters: ADC Resolution – 12, ADC Ref. Voltage – 2.5, Bias Voltage – 3.3, Bias Resistor – 10000, Bias Resistor Location – Towards VCC and Thermistor Resistance @250C – 10000 and temperature Coefficients A, B & C set to the values provided by the OEM.
- On-board buzzer is supported through CASP ‘TargetHw_IO’ block Configure the block by setting the parameters such as ‘IO Type to PWM Output’, ‘Resolution (bit) to 15’, ‘Input From Range to 0’ and ‘Input To Range to 2’. With these parameters, the buzzer is ON by setting the block input as 1 and OFF by setting the block input as 0.
Programmer
The board can be programmed to RAM as well as Flash memory. User has to select correct programmer and serial port from ‘Setup Simulation’ window to upload the binary file as shown in below figure.
Uploading program to RAM
Select Programmer0 and correct serial port to which the board is connected. Click Run button in CASP to build the model and upload the generated binary file to RAM.
Uploading program to Flash
Select Programmer1 and correct serial port to which the board is connected. Click Run button in CASP to build the model and upload the generated binary file to Flash .
Debugging
Debugging via USB virtual serial COM port is supported.
Known Issues & Limitations
-