91 lines
3.0 KiB
C
91 lines
3.0 KiB
C
|
|
/*
|
|||
|
|
* sdfm.c
|
|||
|
|
*
|
|||
|
|
* Created on: 25 <EFBFBD><EFBFBD><EFBFBD>. 2023 <EFBFBD>.
|
|||
|
|
* Author: seklyuts
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#include "f28x_project.h"
|
|||
|
|
#include "f2838x_sdfm_drivers.h"
|
|||
|
|
#include "f2838x_sdfm.h"
|
|||
|
|
#include "gpio_init.h"
|
|||
|
|
#include "sdfm.h"
|
|||
|
|
#include "vector.h"
|
|||
|
|
#include"frm_uart.h"
|
|||
|
|
//
|
|||
|
|
// Defines
|
|||
|
|
//
|
|||
|
|
#define FILTER_BIT 10
|
|||
|
|
#define SKIP_FIRST 100
|
|||
|
|
#define MAX_SAMPLES (1<<FILTER_BIT)
|
|||
|
|
#define SDFM_PIN_MUX_OPTION1 1
|
|||
|
|
#define SDFM_PIN_MUX_OPTION2 2
|
|||
|
|
#define SDFM_PIN_MUX_OPTION3 3
|
|||
|
|
#define EPWM_TIMER_TBPRD 65535 // ePWM Period register
|
|||
|
|
#define SDFM_INT_MASK 0x80001000U
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
void SdfmGpioInit(void)
|
|||
|
|
{
|
|||
|
|
EALLOW;
|
|||
|
|
|
|||
|
|
GPIO_SetupPinOptions(16, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(16,GPIO_MUX_CPU2,7); //SDFM-1 Channel 1 Data Input (Iu)a
|
|||
|
|
GPIO_SetupPinOptions(17, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(17,GPIO_MUX_CPU2,7); //SDFM-1 Channel 1 Clock Input
|
|||
|
|
|
|||
|
|
GPIO_SetupPinOptions(22, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(22,GPIO_MUX_CPU2,7); //SDFM-1 Channel 4 Data Input (Iv)b
|
|||
|
|
GPIO_SetupPinOptions(23, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(23,GPIO_MUX_CPU2,7); //SDFM-1 Channel 4 Clock Input
|
|||
|
|
|
|||
|
|
GPIO_SetupPinOptions(24, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(24,GPIO_MUX_CPU2,7); //SDFM-2 Channel 1 Data Input (Iw)c
|
|||
|
|
GPIO_SetupPinOptions(25, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(25,GPIO_MUX_CPU2,7); //SDFM-2 Channel 1 Clock Input
|
|||
|
|
|
|||
|
|
GPIO_SetupPinOptions(58, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(58,GPIO_MUX_CPU2,7); //SDFM-2 Channel 2 Data Input (Udc)
|
|||
|
|
GPIO_SetupPinOptions(59, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(59,GPIO_MUX_CPU2,7); //SDFM-2 Channel 2 Clock Input
|
|||
|
|
|
|||
|
|
GPIO_SetupPinOptions(60, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(60,GPIO_MUX_CPU2,7); //SDFM-2 Channel 3 Data Input (brake)
|
|||
|
|
GPIO_SetupPinOptions(61, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(61,GPIO_MUX_CPU2,7); //SDFM-2 Channel 3 Clock Input
|
|||
|
|
|
|||
|
|
GPIO_SetupPinOptions(62, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(62,GPIO_MUX_CPU2,7); //SDFM-2 Channel 4 Data Input (sin)
|
|||
|
|
GPIO_SetupPinOptions(63, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(63,GPIO_MUX_CPU2,7); //SDFM-2 Channel 4 Clock Input
|
|||
|
|
|
|||
|
|
GPIO_SetupPinOptions(65, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(65,GPIO_MUX_CPU2,13); //SDFM-1 Channel 2 Data Input (cos)
|
|||
|
|
GPIO_SetupPinOptions(66, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(66,GPIO_MUX_CPU2,13); //SDFM-1 Channel 2 Clock Input
|
|||
|
|
|
|||
|
|
GPIO_SetupPinOptions(67, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(67,GPIO_MUX_CPU2,13); //SDFM-1 Channel 3 Data Input (ref)
|
|||
|
|
GPIO_SetupPinOptions(68, GPIO_INPUT, GPIO_ASYNC);
|
|||
|
|
GPIO_SetupPinMux(68,GPIO_MUX_CPU2,13); //SDFM-1 Channel 3 Clock Input
|
|||
|
|
|
|||
|
|
EDIS;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
void SdfmTypeInit(void)
|
|||
|
|
{
|
|||
|
|
EALLOW;
|
|||
|
|
DevCfgRegs.SDFMTYPE.all = 0x8000;
|
|||
|
|
EDIS;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|