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

-