Se hará uso del módulo A/D de 12 bits de resolución con el que cuenta el MCU R5F562N8 de la tarjeta de evaluación YRDKRX62N. El valor de muestreo será visualizado el LCD 96x64 en tiempo real.
- Configurar el modulo A/D de 12 bits
- Imprimir el valor del convertidor en el LCD.
- Del manual Renesas RX62N RDK User's Manual ubicamos el canal ANI4
- Del YRDKRX62N ubicamos el Potenciómetro:
- Del RX62N Group User's Manual: Hardware página 1705 y 1710 hacemos referencia de la selección y la dirección del canal analógico 4 respectivamente:
PASOS:
- Creación de un proyecto:
2.- New/ C Project / Renesas RXC ToolChain
3.- Seleccionar el target R5F562N8, debug hardware Segger jLink, después next
4.- Seleccionar C/C++ Source file y por ultimo Finish.
5.- Configuraremos el A/D a 12 bits de resolución y un tiempo de muestreo de 2.26 us en el archivo r_cg_adc.c
void R_ADC_Create(void)
{
// MSTP(S12AD) = 0;
SYSTEM.MSTPCRA.BIT.MSTPA17 = 0;
// S12AD enable
/* set direction and enable input */
PORT4.DDR.BIT.B4 = 0; // P44 como input
PORT4.ICR.BIT.B4 = 1;
// Single-cycle scan mode, PCLK/2,
Disables ADI interrupt generation
S12AD.ADCSR.BYTE = 0x08;
// Enables automatic clearing of the A/D
data register n (ADDRn) after it has been read.
S12AD.ADCER.BIT.ACE = 1;
// Right-alignment is selected for the
A/D data register
S12AD.ADCER.BIT.ADRFMT = 0;
// The A/D conversion startup source
from the on-chip peripheral modules is
S12AD.ADSTRGR.BIT.ADSTRS = 0x0;
// tSCAN = tD + (tCONV × N) + tED // pag. 1717 N -> is number of channels to convert,
ADCLK = PCLK/2 = 24 Mhz
// tD = 2PCLK + 3ADCLK = 2*(1/48Mhz) +
3*(1/24Mhz) = 0.16 us
// tCONV = 50ADCLK = 50*(1/24Mhz) = 2 us
// N = 1
// tED = 1PCLK + 2ADCLK = 1*(1/48Mhz) +
2*(1/24Mhz) = 0.1 us
// tSCAN = 0.16 us + (2 us × 1) + 0.1 us
= 2.26 us
// F = 1 / 2.26 us = 442.4 kz
}
- Agregar código, compilar y debug:
--> Practica #6
No hay comentarios.:
Publicar un comentario