Add in functions required to configure the ACE in the SmartFusion demo.
parent
5831485bdf
commit
65ceb00a1f
@ -0,0 +1,157 @@
|
|||||||
|
/*****************************************************************************
|
||||||
|
* (c) Copyright Actel Corporation. All rights reserved.
|
||||||
|
*
|
||||||
|
*ACE configuration .c file
|
||||||
|
*Created by Actel MSS_ACE Configurator Fri Dec 17 12:12:19 2010
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../../drivers/mss_ace/mss_ace_configurator.h"
|
||||||
|
#include "ace_config.h"
|
||||||
|
#include "ace_handles.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*AB Configuration
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
ace_adc_config_t g_ace_adc_config[ACE_NB_OF_ADC] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
4096, /* uint16_t adc_resolution */
|
||||||
|
2560 /* uint16_t va_ref */
|
||||||
|
},
|
||||||
|
{
|
||||||
|
4096, /* uint16_t adc_resolution */
|
||||||
|
2560 /* uint16_t va_ref */
|
||||||
|
},
|
||||||
|
{
|
||||||
|
4096, /* uint16_t adc_resolution */
|
||||||
|
2560 /* uint16_t va_ref */
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*Current Monitor Resistor Values
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
const uint32_t g_ace_current_resistors[ACE_NB_OF_CURRENT_MONITORS] =
|
||||||
|
{
|
||||||
|
100000, /*CM0 ( USED AS CURRENT MONITOR ) */
|
||||||
|
1, /*CM1 ( NOT USED AS CURRENT MONITOR ) */
|
||||||
|
1, /*CM2 ( NOT USED AS CURRENT MONITOR ) */
|
||||||
|
1, /*CM3 ( NOT USED AS CURRENT MONITOR ) */
|
||||||
|
1 /*CM4 ( NOT USED AS CURRENT MONITOR ) */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*Analog Channels
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
/* Names*/
|
||||||
|
const uint8_t g_ace_channel_0_name[] = "CurrentMonitor_0";
|
||||||
|
const uint8_t g_ace_channel_1_name[] = "VoltageMonitor_0";
|
||||||
|
const uint8_t g_ace_channel_2_name[] = "TemperatureMonitor_0";
|
||||||
|
|
||||||
|
/* Number of Flags per Channel*/
|
||||||
|
#define CHANNEL_0_NB_OF_FLAGS 0
|
||||||
|
#define CHANNEL_1_NB_OF_FLAGS 0
|
||||||
|
#define CHANNEL_2_NB_OF_FLAGS 0
|
||||||
|
|
||||||
|
/* Input Channel to Flag Array Association*/
|
||||||
|
|
||||||
|
/* Channel Table*/
|
||||||
|
ace_channel_desc_t g_ace_channel_desc_table[ACE_NB_OF_INPUT_CHANNELS] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
g_ace_channel_0_name, /* const uint8_t * p_sz_channel_name */
|
||||||
|
CM0, /* adc_channel_id_t signal_id; */
|
||||||
|
14, /* uint16_t signal_ppe_offset */
|
||||||
|
CHANNEL_0_NB_OF_FLAGS, /* uint16_t nb_of_flags */
|
||||||
|
0 /* uint16_t * p_flags_array */
|
||||||
|
},
|
||||||
|
{
|
||||||
|
g_ace_channel_1_name, /* const uint8_t * p_sz_channel_name */
|
||||||
|
TM0, /* adc_channel_id_t signal_id; */
|
||||||
|
23, /* uint16_t signal_ppe_offset */
|
||||||
|
CHANNEL_1_NB_OF_FLAGS, /* uint16_t nb_of_flags */
|
||||||
|
0 /* uint16_t * p_flags_array */
|
||||||
|
},
|
||||||
|
{
|
||||||
|
g_ace_channel_2_name, /* const uint8_t * p_sz_channel_name */
|
||||||
|
TM1, /* adc_channel_id_t signal_id; */
|
||||||
|
32, /* uint16_t signal_ppe_offset */
|
||||||
|
CHANNEL_2_NB_OF_FLAGS, /* uint16_t nb_of_flags */
|
||||||
|
0 /* uint16_t * p_flags_array */
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*Threshold Flags
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
/* Flag Names*/
|
||||||
|
/* Flag Table*/
|
||||||
|
#if ACE_NB_OF_PPE_FLAGS != 0
|
||||||
|
ppe_flag_desc_t g_ppe_flags_desc_table[ACE_NB_OF_PPE_FLAGS] =
|
||||||
|
{
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*Sequencer Procedures
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
/* Procedure Name and Microcode*/
|
||||||
|
const uint8_t g_ace_sse_proc_0_name[] = "ADC0_MAIN";
|
||||||
|
const uint16_t g_ace_sse_proc_0_sequence[] =
|
||||||
|
{
|
||||||
|
0x1705, 0x1601, 0x155c, 0x14c4,
|
||||||
|
0x0000, 0x152d, 0x8a0c, 0x1309,
|
||||||
|
0x0000, 0x14c3, 0x0000, 0x8a04,
|
||||||
|
0x152d, 0x970c, 0x132f, 0x0000,
|
||||||
|
0x14c8, 0x0000, 0x9704, 0x1301,
|
||||||
|
0x0000, 0x1002
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint8_t g_ace_sse_proc_1_name[] = "ADC1_MAIN";
|
||||||
|
const uint16_t g_ace_sse_proc_1_sequence[] =
|
||||||
|
{
|
||||||
|
0x2705, 0x2601, 0x2200
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint8_t g_ace_sse_proc_2_name[] = "ADC2_MAIN";
|
||||||
|
const uint16_t g_ace_sse_proc_2_sequence[] =
|
||||||
|
{
|
||||||
|
0x3705, 0x3601, 0x3200
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Procedure Table*/
|
||||||
|
ace_procedure_desc_t g_sse_sequences_desc_table[ACE_NB_OF_SSE_PROCEDURES] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
g_ace_sse_proc_0_name, /* const uint8_t * p_sz_proc_name */
|
||||||
|
2, /* uint16_t sse_loop_pc */
|
||||||
|
0, /* uint16_t sse_load_offset */
|
||||||
|
sizeof(g_ace_sse_proc_0_sequence) / sizeof(uint16_t), /* uint16_t sse_ucode_length */
|
||||||
|
g_ace_sse_proc_0_sequence, /* const uint16_t * sse_ucode */
|
||||||
|
0 /* uint8_t sse_pc_id */
|
||||||
|
},
|
||||||
|
{
|
||||||
|
g_ace_sse_proc_1_name, /* const uint8_t * p_sz_proc_name */
|
||||||
|
24, /* uint16_t sse_loop_pc */
|
||||||
|
22, /* uint16_t sse_load_offset */
|
||||||
|
sizeof(g_ace_sse_proc_1_sequence) / sizeof(uint16_t), /* uint16_t sse_ucode_length */
|
||||||
|
g_ace_sse_proc_1_sequence, /* const uint16_t * sse_ucode */
|
||||||
|
1 /* uint8_t sse_pc_id */
|
||||||
|
},
|
||||||
|
{
|
||||||
|
g_ace_sse_proc_2_name, /* const uint8_t * p_sz_proc_name */
|
||||||
|
27, /* uint16_t sse_loop_pc */
|
||||||
|
25, /* uint16_t sse_load_offset */
|
||||||
|
sizeof(g_ace_sse_proc_2_sequence) / sizeof(uint16_t), /* uint16_t sse_ucode_length */
|
||||||
|
g_ace_sse_proc_2_sequence, /* const uint16_t * sse_ucode */
|
||||||
|
2 /* uint8_t sse_pc_id */
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
|||||||
|
/*****************************************************************************
|
||||||
|
* (c) Copyright Actel Corporation. All rights reserved.
|
||||||
|
*
|
||||||
|
*ACE configuration .h file
|
||||||
|
*Created by Actel MSS_ACE Configurator Fri Dec 17 12:12:19 2010
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ACE_CONFIG_H
|
||||||
|
#define ACE_CONFIG_H
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*COMMON VALUES
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*AB VALUES
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
#define ACE_NB_OF_ADC 3
|
||||||
|
#define ACE_NB_OF_CURRENT_MONITORS 5
|
||||||
|
#define MAX_CHANNEL_NAME_LENGTH 20
|
||||||
|
#define ACE_NB_OF_INPUT_CHANNELS 3
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*SSE VALUES
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
#define ACE_NB_OF_SSE_PROCEDURES 3
|
||||||
|
#define MAX_PROCEDURE_NAME_LENGTH 9
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*PPE VALUES
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
#define ACE_NB_OF_PPE_FLAGS 0
|
||||||
|
#define MAX_FLAG_NAME_LENGTH 0
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,41 @@
|
|||||||
|
/*****************************************************************************
|
||||||
|
* (c) Copyright Actel Corporation. All rights reserved.
|
||||||
|
*
|
||||||
|
*ACE configuration .h file
|
||||||
|
*Created by Actel MSS_ACE Configurator Fri Dec 17 12:12:19 2010
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ACE_HANDLES_H
|
||||||
|
#define ACE_HANDLES_H
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*Analog input channel handles
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
typedef enum {
|
||||||
|
CurrentMonitor_0 = 0,
|
||||||
|
VoltageMonitor_0,
|
||||||
|
TemperatureMonitor_0,
|
||||||
|
NB_OF_ACE_CHANNEL_HANDLES
|
||||||
|
} ace_channel_handle_t;
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*Flag Handles
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
typedef enum {
|
||||||
|
NB_OF_ACE_FLAG_HANDLES = 0
|
||||||
|
} ace_flag_handle_t;
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
*Procedure Handles
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
typedef enum {
|
||||||
|
ADC0_MAIN = 0,
|
||||||
|
ADC1_MAIN,
|
||||||
|
ADC2_MAIN,
|
||||||
|
NB_OF_ACE_PROCEDURE_HANDLES
|
||||||
|
} ace_procedure_handle_t;
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue