2024-05-22 09:42:45 +03:00
|
|
|
|
/*
|
|
|
|
|
|
* /file Motor.c
|
|
|
|
|
|
* /project EFC_Application
|
|
|
|
|
|
* Created on: 8 апр. 2024 г.
|
|
|
|
|
|
* Author: seklyuts
|
|
|
|
|
|
*
|
|
|
|
|
|
* Инициализация параметров, относящихся к CPU2 на CPU1 (моторчик)
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#include "pwm_init.h"
|
|
|
|
|
|
#include "sdfm.h"
|
|
|
|
|
|
#include "gpio_init.h"
|
|
|
|
|
|
#include "f2838x_sdfm_drivers.h"
|
|
|
|
|
|
#include "gpio.h"
|
|
|
|
|
|
#include <sysctl.h>
|
|
|
|
|
|
#include "frm_uart.h"
|
2024-05-29 16:21:30 +03:00
|
|
|
|
#include "i2c_init.h"
|
2024-05-22 09:42:45 +03:00
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
* Инициализция GPIO на CPU2
|
|
|
|
|
|
*/
|
2024-05-29 16:21:30 +03:00
|
|
|
|
//void GPIOMoveCpu2(void)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// /** Перенос найденных GPIO на CPU2 */
|
|
|
|
|
|
//
|
|
|
|
|
|
// GPIO_setControllerCore( 64, GPIO_CORE_CPU2); ///< Fault PWM
|
|
|
|
|
|
// GPIO_SetupXINT1Gpio(64);
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
// GPIO_setControllerCore( 87, GPIO_CORE_CPU2); ///<
|
|
|
|
|
|
// GPIO_setControllerCore( 95, GPIO_CORE_CPU2); ///< реле силовое
|
|
|
|
|
|
//
|
|
|
|
|
|
// GPIO_setControllerCore( 97, GPIO_CORE_CPU2); ///<
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
// /** LED's GPIO */
|
|
|
|
|
|
// GPIO_setControllerCore( 6, GPIO_CORE_CPU2); ///<
|
|
|
|
|
|
// GPIO_setControllerCore( 7, GPIO_CORE_CPU2); ///<
|
|
|
|
|
|
// GPIO_setControllerCore(10, GPIO_CORE_CPU2); ///<
|
|
|
|
|
|
//
|
|
|
|
|
|
// /** ???? */
|
|
|
|
|
|
// GPIO_setControllerCore(55, GPIO_CORE_CPU2); ///<
|
|
|
|
|
|
// GPIO_setControllerCore(56, GPIO_CORE_CPU2); ///<
|
|
|
|
|
|
// GPIO_setControllerCore(57, GPIO_CORE_CPU2); ///<
|
|
|
|
|
|
//}
|
2024-05-22 09:42:45 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
* Конфигурация пинов на CPU2
|
|
|
|
|
|
*/
|
|
|
|
|
|
void Reconnect2CPU2()
|
|
|
|
|
|
{
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Перетаскиваем и все остальное ??
|
|
|
|
|
|
* ДОБАВИЛ ВСЁ!!
|
|
|
|
|
|
*/
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM, 1, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM, 2, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM, 3, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM, 4, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM, 5, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM, 6, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM, 7, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM, 8, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM, 9, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM,10, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM,11, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL0_EPWM,12, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL4_SD, 1, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL4_SD, 2, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL11_ADC, 1, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL11_ADC, 2, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL11_ADC, 3, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL11_ADC, 4, SYSCTL_CPUSEL_CPU2 );
|
|
|
|
|
|
|
|
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL5_SCI, 1, SYSCTL_CPUSEL_CPU2);
|
2024-05-29 16:21:30 +03:00
|
|
|
|
SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL7_I2C, 1, SYSCTL_CPUSEL_CPU2);
|
2024-05-22 09:42:45 +03:00
|
|
|
|
|
|
|
|
|
|
EINT; // Enable Global interrupt INTM
|
|
|
|
|
|
ERTM; // Enable Global realtime interrupt DBGM
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-05-24 08:48:11 +03:00
|
|
|
|
void initADC(void){
|
|
|
|
|
|
EALLOW;
|
|
|
|
|
|
|
|
|
|
|
|
/** Включение АЦП */
|
|
|
|
|
|
CpuSysRegs.PCLKCR13.bit.ADC_A = 1;
|
|
|
|
|
|
CpuSysRegs.PCLKCR13.bit.ADC_B = 1;
|
|
|
|
|
|
CpuSysRegs.PCLKCR13.bit.ADC_C = 1;
|
|
|
|
|
|
CpuSysRegs.PCLKCR13.bit.ADC_D = 1;
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
// Check if device is trimmed
|
|
|
|
|
|
//
|
|
|
|
|
|
if(*((Uint16 *)0x5D736) == 0x0000){
|
|
|
|
|
|
//
|
|
|
|
|
|
// Device is not trimmed--apply static calibration values
|
|
|
|
|
|
//
|
|
|
|
|
|
AnalogSubsysRegs.ANAREFTRIMA.all = 31709;
|
|
|
|
|
|
AnalogSubsysRegs.ANAREFTRIMB.all = 31709;
|
|
|
|
|
|
AnalogSubsysRegs.ANAREFTRIMC.all = 31709;
|
|
|
|
|
|
AnalogSubsysRegs.ANAREFTRIMD.all = 31709;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
EDIS;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-05-22 09:42:45 +03:00
|
|
|
|
/*==================================
|
|
|
|
|
|
* Инициализция MOTOR на CPU2
|
|
|
|
|
|
*=================================*/
|
|
|
|
|
|
void InitMotor(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
EALLOW;
|
|
|
|
|
|
ClkCfgRegs.LOSPCP.bit.LSPCLKDIV = 2;
|
|
|
|
|
|
EDIS;
|
|
|
|
|
|
|
2024-05-24 08:48:11 +03:00
|
|
|
|
initADC();
|
|
|
|
|
|
InitPeripheralClocks();
|
2024-05-22 09:42:45 +03:00
|
|
|
|
|
|
|
|
|
|
GpioInit();
|
|
|
|
|
|
GpioDiodInit();
|
|
|
|
|
|
SdfmGpioInit();
|
|
|
|
|
|
SdfmTypeInit();
|
|
|
|
|
|
PWMGpioInit();
|
|
|
|
|
|
FRMGPIOInit();
|
2024-05-29 16:21:30 +03:00
|
|
|
|
I2CMasterGpioInit();
|
2024-05-22 09:42:45 +03:00
|
|
|
|
|
|
|
|
|
|
Reconnect2CPU2();
|
|
|
|
|
|
}
|