Версия для работы с тензодатчиками
This commit is contained in:
parent
9349803bf8
commit
50acc964e3
@ -61,6 +61,7 @@
|
|||||||
</option>
|
</option>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE.2084039298" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE" valueType="definedSymbols">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE.2084039298" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE" valueType="definedSymbols">
|
||||||
<listOptionValue builtIn="false" value="${COM_TI_C2000WARE_SOFTWARE_PACKAGE_SYMBOLS}"/>
|
<listOptionValue builtIn="false" value="${COM_TI_C2000WARE_SOFTWARE_PACKAGE_SYMBOLS}"/>
|
||||||
|
<listOptionValue builtIn="false" value="FREEMASTER"/>
|
||||||
<listOptionValue builtIn="false" value="REF0"/>
|
<listOptionValue builtIn="false" value="REF0"/>
|
||||||
<listOptionValue builtIn="false" value="NRS485"/>
|
<listOptionValue builtIn="false" value="NRS485"/>
|
||||||
<listOptionValue builtIn="false" value="USE_25MHZ_XTAL"/>
|
<listOptionValue builtIn="false" value="USE_25MHZ_XTAL"/>
|
||||||
|
|||||||
@ -74,7 +74,7 @@ SECTIONS
|
|||||||
|
|
||||||
#if defined(__TI_EABI__)
|
#if defined(__TI_EABI__)
|
||||||
.init_array : > FLASH1, ALIGN(8)
|
.init_array : > FLASH1, ALIGN(8)
|
||||||
.bss : > RAMGS0 // instead of RAMLS5
|
.bss : > RAMLS5 // instead of RAMLS5
|
||||||
.bss:output : > RAMLS3
|
.bss:output : > RAMLS3
|
||||||
.bss:cio : > RAMLS5
|
.bss:cio : > RAMLS5
|
||||||
.data : > RAMLS5
|
.data : > RAMLS5
|
||||||
@ -98,13 +98,7 @@ SECTIONS
|
|||||||
MSGRAM_CPU_TO_CM : > CPUTOCMRAM, type=NOINIT
|
MSGRAM_CPU_TO_CM : > CPUTOCMRAM, type=NOINIT
|
||||||
MSGRAM_CM_TO_CPU : > CMTOCPURAM, type=NOINIT
|
MSGRAM_CM_TO_CPU : > CMTOCPURAM, type=NOINIT
|
||||||
|
|
||||||
/* The following section definition are for SDFM examples */
|
|
||||||
// Filter_RegsFile : > RAMGS0
|
|
||||||
// Filter1_RegsFile : > RAMGS1, fill=0x1111
|
|
||||||
// Filter2_RegsFile : > RAMGS2, fill=0x2222
|
|
||||||
// Filter3_RegsFile : > RAMGS3, fill=0x3333
|
|
||||||
// Filter4_RegsFile : > RAMGS4, fill=0x4444
|
|
||||||
// Difference_RegsFile : >RAMGS5, fill=0x3333
|
|
||||||
|
|
||||||
#if defined(__TI_EABI__)
|
#if defined(__TI_EABI__)
|
||||||
.TI.ramfunc : {} LOAD = FLASH3,
|
.TI.ramfunc : {} LOAD = FLASH3,
|
||||||
|
|||||||
@ -16,16 +16,14 @@
|
|||||||
//
|
//
|
||||||
#include "f28x_project.h"
|
#include "f28x_project.h"
|
||||||
#include "init_perif.h"
|
#include "init_perif.h"
|
||||||
#include "frmmstr_run.h"
|
#include "uart_4Mbit.h"
|
||||||
#include "adc_init.h"
|
|
||||||
#include "biss.h"
|
|
||||||
|
|
||||||
void main(void)
|
void main(void)
|
||||||
{
|
{
|
||||||
InitPerif();
|
InitPerif();
|
||||||
for(;;)
|
for(;;)
|
||||||
{
|
{
|
||||||
|
UartErrorReset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -103,7 +103,11 @@ void GpioInit(void)
|
|||||||
|
|
||||||
InputXbarRegs.INPUT4SELECT = GPIO_FaultPWMpin;//xint1
|
InputXbarRegs.INPUT4SELECT = GPIO_FaultPWMpin;//xint1
|
||||||
|
|
||||||
|
GpioCtrlRegs.GPDMUX1.bit.GPIO104 = 0;//Reset tenzodat
|
||||||
|
GpioCtrlRegs.GPDGMUX1.bit.GPIO104 = 0;
|
||||||
|
GpioCtrlRegs.GPDDIR.bit.GPIO104 = 1;
|
||||||
|
GpioDataRegs.GPDDAT.bit.GPIO104 = 0;
|
||||||
|
// GpioCtrlRegs.GPDCSEL2.bit.GPIO104 = 0;
|
||||||
|
|
||||||
|
|
||||||
GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 1;//EQEP
|
GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 1;//EQEP
|
||||||
|
|||||||
@ -44,6 +44,33 @@ void FRMGPIOInit(void)
|
|||||||
GPIO_SetupPinOptions(GPIO_RS485_DE, GPIO_OUTPUT, GPIO_PUSHPULL);
|
GPIO_SetupPinOptions(GPIO_RS485_DE, GPIO_OUTPUT, GPIO_PUSHPULL);
|
||||||
GPIO_SetupPinMux(GPIO_RS485_RE, GPIO_MUX_CPU2, 0);
|
GPIO_SetupPinMux(GPIO_RS485_RE, GPIO_MUX_CPU2, 0);
|
||||||
GPIO_SetupPinOptions(GPIO_RS485_RE, GPIO_OUTPUT, GPIO_PUSHPULL);
|
GPIO_SetupPinOptions(GPIO_RS485_RE, GPIO_OUTPUT, GPIO_PUSHPULL);
|
||||||
|
#ifdef REF0
|
||||||
|
EALLOW;
|
||||||
|
GpioDataRegs.GPADAT.bit.GPIO21 = 1;// TX 1 - вкл
|
||||||
|
GpioDataRegs.GPCDAT.bit.GPIO83 = 0;// RX 0 - вкл
|
||||||
|
EDIS;
|
||||||
|
#else
|
||||||
|
EALLOW;
|
||||||
|
GpioDataRegs.GPEDAT.bit.GPIO133 = 1;
|
||||||
|
GpioDataRegs.GPEDAT.bit.GPIO145 = 0;
|
||||||
|
EDIS;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void UartGPIOInit(void)
|
||||||
|
{
|
||||||
|
GPIO_SetupPinMux(85, GPIO_MUX_CPU1, 5);
|
||||||
|
GPIO_SetupPinOptions(85, GPIO_INPUT, (GPIO_ASYNC | GPIO_PULLUP));
|
||||||
|
GPIO_SetupPinMux(84, GPIO_MUX_CPU1, 5);
|
||||||
|
GPIO_SetupPinOptions(84, GPIO_OUTPUT, GPIO_ASYNC);
|
||||||
|
|
||||||
|
GPIO_SetupPinMux(GPIO_RS485_DE, GPIO_MUX_CPU1, 0);
|
||||||
|
GPIO_SetupPinOptions(GPIO_RS485_DE, GPIO_OUTPUT, GPIO_PUSHPULL);
|
||||||
|
GPIO_SetupPinMux(GPIO_RS485_RE, GPIO_MUX_CPU1, 0);
|
||||||
|
GPIO_SetupPinOptions(GPIO_RS485_RE, GPIO_OUTPUT, GPIO_PUSHPULL);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -28,5 +28,6 @@ void FRMGPIOInit(void);
|
|||||||
uint16_t SynchPWMFonRunEnable(void);
|
uint16_t SynchPWMFonRunEnable(void);
|
||||||
void SynchPWMFonRunEnableClr(void);
|
void SynchPWMFonRunEnableClr(void);
|
||||||
void SynchPWMFonRunEnableSet(void);
|
void SynchPWMFonRunEnableSet(void);
|
||||||
|
void UartGPIOInit(void);
|
||||||
|
|
||||||
#endif /* SRC_FRM_UART_H_ */
|
#endif /* SRC_FRM_UART_H_ */
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
#include "spi_init.h"
|
#include "spi_init.h"
|
||||||
#include "biss.h"
|
#include "biss.h"
|
||||||
#include "sdfm_pwm_xbar.h"
|
#include "sdfm_pwm_xbar.h"
|
||||||
|
#include "uart_4Mbit.h"
|
||||||
|
|
||||||
#define TO_CPU1 0
|
#define TO_CPU1 0
|
||||||
#define TO_CPU2 1
|
#define TO_CPU2 1
|
||||||
@ -105,14 +105,13 @@ void InitPerif(void)
|
|||||||
// This function is found in f2838x_pievect.c.
|
// This function is found in f2838x_pievect.c.
|
||||||
//
|
//
|
||||||
|
|
||||||
// InitPieVectTable();
|
InitPieVectTable();
|
||||||
|
|
||||||
GpioInit();
|
GpioInit();
|
||||||
GpioDiodInit();
|
GpioDiodInit();
|
||||||
SdfmGpioInit();
|
SdfmGpioInit();
|
||||||
SdfmTypeInit();
|
SdfmTypeInit();
|
||||||
PWMGpioInit();
|
PWMGpioInit();
|
||||||
FRMGPIOInit();
|
|
||||||
I2CMasterGpioInit();
|
I2CMasterGpioInit();
|
||||||
SpiCGpioInit();
|
SpiCGpioInit();
|
||||||
BissGpioInit();
|
BissGpioInit();
|
||||||
@ -120,6 +119,14 @@ void InitPerif(void)
|
|||||||
|
|
||||||
sdfm_pwm_xbarInit();
|
sdfm_pwm_xbarInit();
|
||||||
|
|
||||||
|
#ifndef FREEMASTER
|
||||||
|
UartGPIOInit();
|
||||||
|
UartInit();
|
||||||
|
UartInterruptInit();
|
||||||
|
#else
|
||||||
|
FRMGPIOInit();
|
||||||
|
CONNECT_SCIA(TO_CPU2);
|
||||||
|
#endif
|
||||||
|
|
||||||
// ConfigureADC();
|
// ConfigureADC();
|
||||||
CONNECT_SD1(TO_CPU2);
|
CONNECT_SD1(TO_CPU2);
|
||||||
@ -133,7 +140,6 @@ void InitPerif(void)
|
|||||||
CONNECT_PWM3(TO_CPU2);
|
CONNECT_PWM3(TO_CPU2);
|
||||||
CONNECT_PWM11(TO_CPU2);
|
CONNECT_PWM11(TO_CPU2);
|
||||||
CONNECT_PWM12(TO_CPU2);
|
CONNECT_PWM12(TO_CPU2);
|
||||||
CONNECT_SCIA(TO_CPU2);
|
|
||||||
CONNECT_EQEP1(TO_CPU2);
|
CONNECT_EQEP1(TO_CPU2);
|
||||||
CONNECT_I2CA(TO_CPU2);
|
CONNECT_I2CA(TO_CPU2);
|
||||||
CONNECT_SPIC(TO_CPU2);
|
CONNECT_SPIC(TO_CPU2);
|
||||||
@ -150,11 +156,14 @@ void InitPerif(void)
|
|||||||
Cpu1toCpu2IpcRegs.CPU1TOCPU2IPCBOOTMODE = 0x5A00C803; //str 716
|
Cpu1toCpu2IpcRegs.CPU1TOCPU2IPCBOOTMODE = 0x5A00C803; //str 716
|
||||||
Cpu1toCpu2IpcRegs.CPU1TOCPU2IPCSET.bit.IPC0 = 1;
|
Cpu1toCpu2IpcRegs.CPU1TOCPU2IPCSET.bit.IPC0 = 1;
|
||||||
|
|
||||||
|
#ifdef FREEMASTER
|
||||||
|
|
||||||
EALLOW;
|
EALLOW;
|
||||||
DevCfgRegs.CPU2RESCTL.all = 0xA5A50000;
|
DevCfgRegs.CPU2RESCTL.all = 0xA5A50000;
|
||||||
EDIS;
|
EDIS;
|
||||||
|
|
||||||
while(DevCfgRegs.RSTSTAT.bit.CPU2RES == 0);
|
while(DevCfgRegs.RSTSTAT.bit.CPU2RES == 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
EINT; // Enable Global interrupt INTM
|
EINT; // Enable Global interrupt INTM
|
||||||
|
|||||||
129
Projects/epwm_test_biss_c_cpu1/src/uart_4Mbit.c
Normal file
129
Projects/epwm_test_biss_c_cpu1/src/uart_4Mbit.c
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
/*
|
||||||
|
* uart_4Mbit.c
|
||||||
|
*
|
||||||
|
* Created on: 4 сент. 2024 г.
|
||||||
|
* Author: seklyuts
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "f28x_project.h"
|
||||||
|
#include "uart_4Mbit.h"
|
||||||
|
|
||||||
|
#define LSPCLK_HZ 100000000.0
|
||||||
|
#define BAUD 4000000.0
|
||||||
|
//#define BAUD 57600.0
|
||||||
|
//#define BAUD 115200.0
|
||||||
|
//#define BAUD 128000.0
|
||||||
|
//#define BAUD 256000.0
|
||||||
|
|
||||||
|
|
||||||
|
#define BRR (LSPCLK_HZ/(BAUD*8) - 1)
|
||||||
|
|
||||||
|
uint16_t RS485[200];
|
||||||
|
|
||||||
|
|
||||||
|
//#pragma DATA_SECTION(AdcaResult0_,"ADC_RegsFile0");
|
||||||
|
|
||||||
|
|
||||||
|
uint16_t N = 0, C = 0, DataTX = 0x55;
|
||||||
|
|
||||||
|
|
||||||
|
__interrupt void Uart_ISR(void)
|
||||||
|
{
|
||||||
|
uint16_t Data;
|
||||||
|
Data = SciaRegs.SCIRXBUF.all;
|
||||||
|
if(N < 100) RS485[N] = Data;
|
||||||
|
if(Data == 0x7E)
|
||||||
|
{
|
||||||
|
N = 0;
|
||||||
|
RS485[N] = Data;
|
||||||
|
C++;
|
||||||
|
}
|
||||||
|
N++;
|
||||||
|
// SciaRegs.SCITXBUF.all = DataTX;
|
||||||
|
PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UartInterruptInit(void)
|
||||||
|
{
|
||||||
|
EALLOW;
|
||||||
|
PieVectTable.SCIA_RX_INT = &Uart_ISR;
|
||||||
|
IER |= M_INT9;
|
||||||
|
PieCtrlRegs.PIEIER9.bit.INTx1 = 1;
|
||||||
|
PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;
|
||||||
|
EDIS;
|
||||||
|
SciaRegs.SCICTL2.bit.RXBKINTENA = 1;
|
||||||
|
GpioDataRegs.GPCDAT.bit.GPIO83 = 0;
|
||||||
|
}
|
||||||
|
uint16_t Brr;
|
||||||
|
void UartInit(void)
|
||||||
|
{
|
||||||
|
EALLOW;
|
||||||
|
CpuSysRegs.PCLKCR7.bit.SCI_A = 1;
|
||||||
|
EDIS;
|
||||||
|
|
||||||
|
#ifdef REF0
|
||||||
|
EALLOW;
|
||||||
|
GpioDataRegs.GPADAT.bit.GPIO21 = 0;// TX 1 - вкл
|
||||||
|
GpioDataRegs.GPCDAT.bit.GPIO83 = 1;// RX 0 - вкл
|
||||||
|
EDIS;
|
||||||
|
#else
|
||||||
|
EALLOW;
|
||||||
|
GpioDataRegs.GPEDAT.bit.GPIO133 = 1;
|
||||||
|
GpioDataRegs.GPEDAT.bit.GPIO145 = 0;
|
||||||
|
EDIS;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
EALLOW;
|
||||||
|
SciaRegs.SCICCR.all = 0x0007; // 1 stop bit, No loopback
|
||||||
|
// No parity,8 char bits,
|
||||||
|
// async mode, idle-line protocol
|
||||||
|
SciaRegs.SCICTL1.all = 0x0003; // enable TX, RX, internal SCICLK,
|
||||||
|
// Disable RX ERR, SLEEP, TXWAKE
|
||||||
|
SciaRegs.SCICTL2.all = 0x0003;
|
||||||
|
SciaRegs.SCICTL2.bit.TXINTENA = 0;
|
||||||
|
SciaRegs.SCICTL2.bit.RXBKINTENA = 0;
|
||||||
|
|
||||||
|
Brr = BRR;
|
||||||
|
|
||||||
|
SciaRegs.SCIHBAUD.all = 0xFF & (Brr>>8);//0x0002;
|
||||||
|
SciaRegs.SCILBAUD.all = 0xFF & Brr;//0x008B;
|
||||||
|
|
||||||
|
SciaRegs.SCICTL1.all = 0x0023; // Relinquish SCI from Reset
|
||||||
|
|
||||||
|
SciaRegs.SCICTL1.bit.RXENA = 1;
|
||||||
|
SciaRegs.SCICTL1.bit.TXENA = 1;
|
||||||
|
|
||||||
|
EDIS;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t UartErr=0, Reset = 0;
|
||||||
|
uint16_t TXnow = 0;
|
||||||
|
|
||||||
|
void UartErrorReset(void)
|
||||||
|
{
|
||||||
|
if(SciaRegs.SCIRXST.bit.RXERROR)
|
||||||
|
{
|
||||||
|
if(UartErr < 100) RS485[100+UartErr] = SciaRegs.SCIRXST.all;
|
||||||
|
EALLOW;
|
||||||
|
SciaRegs.SCICTL1.bit.SWRESET = 0;
|
||||||
|
EDIS;
|
||||||
|
UartErr++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
EALLOW;
|
||||||
|
SciaRegs.SCICTL1.bit.SWRESET = 1;
|
||||||
|
EDIS;
|
||||||
|
}
|
||||||
|
GpioDataRegs.GPDDAT.bit.GPIO104 = Reset;
|
||||||
|
if(TXnow)
|
||||||
|
{
|
||||||
|
TXnow = 0;
|
||||||
|
SciaRegs.SCITXBUF.all = DataTX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
15
Projects/epwm_test_biss_c_cpu1/src/uart_4Mbit.h
Normal file
15
Projects/epwm_test_biss_c_cpu1/src/uart_4Mbit.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* uart_4Mbit.h
|
||||||
|
*
|
||||||
|
* Created on: 4 сент. 2024 г.
|
||||||
|
* Author: seklyuts
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SRC_UART_4MBIT_H_
|
||||||
|
#define SRC_UART_4MBIT_H_
|
||||||
|
|
||||||
|
void UartInit(void);
|
||||||
|
void UartErrorReset(void);
|
||||||
|
void UartInterruptInit(void);
|
||||||
|
|
||||||
|
#endif /* SRC_UART_4MBIT_H_ */
|
||||||
@ -64,7 +64,7 @@
|
|||||||
<listOptionValue builtIn="false" value="${COM_TI_C2000WARE_SOFTWARE_PACKAGE_SYMBOLS}"/>
|
<listOptionValue builtIn="false" value="${COM_TI_C2000WARE_SOFTWARE_PACKAGE_SYMBOLS}"/>
|
||||||
<listOptionValue builtIn="false" value="FREEMASTER"/>
|
<listOptionValue builtIn="false" value="FREEMASTER"/>
|
||||||
<listOptionValue builtIn="false" value="NRS485"/>
|
<listOptionValue builtIn="false" value="NRS485"/>
|
||||||
<listOptionValue builtIn="false" value="REF0"/>
|
<listOptionValue builtIn="false" value="REF1"/>
|
||||||
<listOptionValue builtIn="false" value="USE_25MHZ_XTAL"/>
|
<listOptionValue builtIn="false" value="USE_25MHZ_XTAL"/>
|
||||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
<listOptionValue builtIn="false" value="DEBUG"/>
|
||||||
<listOptionValue builtIn="false" value="CPU2"/>
|
<listOptionValue builtIn="false" value="CPU2"/>
|
||||||
|
|||||||
@ -75,9 +75,9 @@ SECTIONS
|
|||||||
#if defined(__TI_EABI__)
|
#if defined(__TI_EABI__)
|
||||||
.init_array : > FLASH1, ALIGN(8)
|
.init_array : > FLASH1, ALIGN(8)
|
||||||
.bss : >> RAMLS5 | RAMLS6 | RAMLS7// instead of RAMLS5
|
.bss : >> RAMLS5 | RAMLS6 | RAMLS7// instead of RAMLS5
|
||||||
.bss:output : > RAMLS3
|
.bss:output : > RAMLS5
|
||||||
.bss:cio : > RAMLS5
|
.bss:cio : > RAMLS5
|
||||||
.data : > RAMLS5
|
.data : > RAMLS4
|
||||||
.sysmem : > RAMLS5
|
.sysmem : > RAMLS5
|
||||||
/* Initalized sections go in Flash */
|
/* Initalized sections go in Flash */
|
||||||
.const : > FLASH5, ALIGN(8)
|
.const : > FLASH5, ALIGN(8)
|
||||||
|
|||||||
Binary file not shown.
@ -60,6 +60,10 @@ void PWM_ABC_Start(uint16_t Num)
|
|||||||
{
|
{
|
||||||
EALLOW;
|
EALLOW;
|
||||||
|
|
||||||
|
EPwmRegs[PWM_A]->TZFRC.all = 4;
|
||||||
|
EPwmRegs[PWM_B]->TZFRC.all = 4;
|
||||||
|
EPwmRegs[PWM_C]->TZFRC.all = 4;
|
||||||
|
|
||||||
if(Num&0x01) EPwmRegs[PWM_A]->TZCTL.bit.TZA = 3;
|
if(Num&0x01) EPwmRegs[PWM_A]->TZCTL.bit.TZA = 3;
|
||||||
else EPwmRegs[PWM_A]->TZCTL.bit.TZA = 2;
|
else EPwmRegs[PWM_A]->TZCTL.bit.TZA = 2;
|
||||||
|
|
||||||
|
|||||||
@ -46,7 +46,7 @@ volatile uint16_t PeriodPWM_2 = PERIOD_DIV2;
|
|||||||
volatile strPWMABC PWM_motor = {PERIOD_DIV2, PERIOD_DIV2, PERIOD_DIV2};
|
volatile strPWMABC PWM_motor = {PERIOD_DIV2, PERIOD_DIV2, PERIOD_DIV2};
|
||||||
|
|
||||||
int16_t A_proc,B_proc,C_proc;
|
int16_t A_proc,B_proc,C_proc;
|
||||||
uint16_t PWM_Vent = PERIOD_FAN;
|
uint16_t PWM_Vent = 0;//PERIOD_FAN;
|
||||||
uint16_t PWM_Chop = 0;
|
uint16_t PWM_Chop = 0;
|
||||||
uint16_t PWM_SDFM_delay = SDFM_DELAY;
|
uint16_t PWM_SDFM_delay = SDFM_DELAY;
|
||||||
uint16_t Timing_PWM[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
|
uint16_t Timing_PWM[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#define LSPCLK_HZ 100000000.0
|
#define LSPCLK_HZ 100000000.0
|
||||||
#define BAUD 57600.0
|
#define BAUD 57600.0
|
||||||
#define BRR LSPCLK_HZ/(BAUD*8)
|
#define BRR (LSPCLK_HZ/(BAUD*8) - 1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -93,8 +93,8 @@ void InitPerif(void)
|
|||||||
#ifdef FREEMASTER
|
#ifdef FREEMASTER
|
||||||
FRMUartInit();
|
FRMUartInit();
|
||||||
#else
|
#else
|
||||||
UartInit();
|
// UartInit();
|
||||||
UartInterruptInit();
|
// UartInterruptInit();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ADCConfigure();
|
ADCConfigure();
|
||||||
|
|||||||
@ -24,7 +24,8 @@ uint16_t N = 0;
|
|||||||
|
|
||||||
__interrupt void Uart_ISR(void)
|
__interrupt void Uart_ISR(void)
|
||||||
{
|
{
|
||||||
if(N < 4096) {AdcaResult0_[N] = SciaRegs.SCIRXBUF.all; N++;}
|
if(N < 300) {AdcaResult0_[N] = SciaRegs.SCIRXBUF.all; N++;}
|
||||||
|
else N++;
|
||||||
PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;
|
PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,6 +90,7 @@ void UartErrorReset(void)
|
|||||||
if(SciaRegs.SCIRXST.bit.RXERROR)
|
if(SciaRegs.SCIRXST.bit.RXERROR)
|
||||||
{
|
{
|
||||||
EALLOW;
|
EALLOW;
|
||||||
|
if(UartErr < 300) AdcaResult0_[300+UartErr] = SciaRegs.SCIRXST.all;
|
||||||
SciaRegs.SCICTL1.bit.SWRESET = 0;
|
SciaRegs.SCICTL1.bit.SWRESET = 0;
|
||||||
UartErr++;
|
UartErr++;
|
||||||
EDIS;
|
EDIS;
|
||||||
|
|||||||
@ -86,7 +86,7 @@ uint32_t Impuls = 0;
|
|||||||
uint32_t ImpulsHi = 0;
|
uint32_t ImpulsHi = 0;
|
||||||
uint32_t ImpulsLow = 0;
|
uint32_t ImpulsLow = 0;
|
||||||
uint32_t ImpulsStep = 0;
|
uint32_t ImpulsStep = 0;
|
||||||
int16_t AngleOffset = 0xc000, vectorAngle;
|
int16_t AngleOffset = 0x1966, vectorAngle;
|
||||||
uint16_t SetAngeOffsetCounterTime[4] = {10000,20000,30000,40000};
|
uint16_t SetAngeOffsetCounterTime[4] = {10000,20000,30000,40000};
|
||||||
uint16_t SetAngeOffsetCounter = 0;
|
uint16_t SetAngeOffsetCounter = 0;
|
||||||
|
|
||||||
@ -207,7 +207,7 @@ void vectorControl(int16_t CurrentA, int16_t CurrentB, int16_t CurrentC, int16_t
|
|||||||
CurrLoop.piIq.Ref = 0;
|
CurrLoop.piIq.Ref = 0;
|
||||||
break;
|
break;
|
||||||
case TestPWNMode:
|
case TestPWNMode:
|
||||||
NoLoop = 0;
|
NoLoop = 1;
|
||||||
vectorUdq.d = vectorUdq.q = 0;
|
vectorUdq.d = vectorUdq.q = 0;
|
||||||
PWM_ABC_Start(Num);
|
PWM_ABC_Start(Num);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -1,55 +1,81 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<configurations XML_version="1.2" id="configurations_0">
|
<configurations XML_version="1.2" id="configurations_0">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<configuration XML_version="1.2" id="Texas Instruments XDS100v2 USB Debug Probe_0">
|
<configuration XML_version="1.2" id="Texas Instruments XDS100v2 USB Debug Probe_0">
|
||||||
|
|
||||||
|
|
||||||
<instance XML_version="1.2" desc="Texas Instruments XDS100v2 USB Debug Probe_0" href="connections/TIXDS100v2_Connection.xml" id="Texas Instruments XDS100v2 USB Debug Probe_0" xml="TIXDS100v2_Connection.xml" xmlpath="connections"/>
|
<instance XML_version="1.2" desc="Texas Instruments XDS100v2 USB Debug Probe_0" href="connections/TIXDS100v2_Connection.xml" id="Texas Instruments XDS100v2 USB Debug Probe_0" xml="TIXDS100v2_Connection.xml" xmlpath="connections"/>
|
||||||
|
|
||||||
|
|
||||||
<connection XML_version="1.2" id="Texas Instruments XDS100v2 USB Debug Probe_0">
|
<connection XML_version="1.2" id="Texas Instruments XDS100v2 USB Debug Probe_0">
|
||||||
|
|
||||||
<instance XML_version="1.2" href="drivers/tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
|
|
||||||
|
|
||||||
<instance XML_version="1.2" href="drivers/tixds100v2c28x.xml" id="drivers" xml="tixds100v2c28x.xml" xmlpath="drivers"/>
|
|
||||||
|
|
||||||
<instance XML_version="1.2" href="drivers/tixds100v2cla2.xml" id="drivers" xml="tixds100v2cla2.xml" xmlpath="drivers"/>
|
|
||||||
|
|
||||||
<instance XML_version="1.2" href="drivers/tixds100v2cs_child.xml" id="drivers" xml="tixds100v2cs_child.xml" xmlpath="drivers"/>
|
|
||||||
|
|
||||||
<instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
|
|
||||||
|
|
||||||
<instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
|
|
||||||
|
|
||||||
<instance XML_version="1.2" href="drivers/tixds510ajsm.xml" id="drivers" xml="tixds510ajsm.xml" xmlpath="drivers"/>
|
|
||||||
|
|
||||||
<platform XML_version="1.2" id="platform_0">
|
|
||||||
|
|
||||||
<instance XML_version="1.2" desc="TMS320F28388D_0" href="devices/f28388d.xml" id="TMS320F28388D_0" xml="f28388d.xml" xmlpath="devices"/>
|
|
||||||
|
|
||||||
<device HW_revision="1" XML_version="1.2" description="" id="TMS320F28388D_0" partnum="TMS320F28388D" simulation="no">
|
|
||||||
|
|
||||||
<router HW_revision="1.0" XML_version="1.2" description="ICEPick_C router" id="IcePick_C_0" isa="ICEPICK_C">
|
|
||||||
|
|
||||||
<subpath id="Subpath_1">
|
|
||||||
|
|
||||||
<property Type="numericfield" Value="0x11" desc="Port Number_0" id="Port Number"/>
|
|
||||||
|
|
||||||
</subpath>
|
|
||||||
|
|
||||||
<subpath id="CM">
|
|
||||||
|
|
||||||
<property Type="numericfield" Value="0x12" desc="Port Number_1" id="Port Number"/>
|
|
||||||
|
|
||||||
</subpath>
|
|
||||||
|
|
||||||
</router>
|
|
||||||
|
|
||||||
</device>
|
|
||||||
|
|
||||||
</platform>
|
|
||||||
|
|
||||||
</connection>
|
|
||||||
|
|
||||||
</configuration>
|
<instance XML_version="1.2" href="drivers/tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
|
||||||
|
|
||||||
|
|
||||||
|
<instance XML_version="1.2" href="drivers/tixds100v2c28x.xml" id="drivers" xml="tixds100v2c28x.xml" xmlpath="drivers"/>
|
||||||
|
|
||||||
|
|
||||||
|
<instance XML_version="1.2" href="drivers/tixds100v2cla2.xml" id="drivers" xml="tixds100v2cla2.xml" xmlpath="drivers"/>
|
||||||
|
|
||||||
|
|
||||||
|
<instance XML_version="1.2" href="drivers/tixds100v2cs_child.xml" id="drivers" xml="tixds100v2cs_child.xml" xmlpath="drivers"/>
|
||||||
|
|
||||||
|
|
||||||
|
<instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
|
||||||
|
|
||||||
|
|
||||||
|
<instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
|
||||||
|
|
||||||
|
|
||||||
|
<instance XML_version="1.2" href="drivers/tixds510ajsm.xml" id="drivers" xml="tixds510ajsm.xml" xmlpath="drivers"/>
|
||||||
|
|
||||||
|
|
||||||
|
<platform XML_version="1.2" id="platform_0">
|
||||||
|
|
||||||
|
|
||||||
|
<instance XML_version="1.2" desc="TMS320F28388D_0" href="devices/f28388d.xml" id="TMS320F28388D_0" xml="f28388d.xml" xmlpath="devices"/>
|
||||||
|
|
||||||
|
|
||||||
|
<device HW_revision="1" XML_version="1.2" description="" id="TMS320F28388D_0" partnum="TMS320F28388D" simulation="no">
|
||||||
|
|
||||||
|
|
||||||
|
<router HW_revision="1.0" XML_version="1.2" description="ICEPick_C router" id="IcePick_C_0" isa="ICEPICK_C">
|
||||||
|
|
||||||
|
|
||||||
|
<subpath id="Subpath_1">
|
||||||
|
|
||||||
|
|
||||||
|
<property Type="numericfield" Value="0x11" desc="Port Number_0" id="Port Number"/>
|
||||||
|
|
||||||
|
|
||||||
|
</subpath>
|
||||||
|
|
||||||
|
|
||||||
|
<subpath id="CM">
|
||||||
|
|
||||||
|
|
||||||
|
<property Type="numericfield" Value="0x12" desc="Port Number_1" id="Port Number"/>
|
||||||
|
|
||||||
|
|
||||||
|
</subpath>
|
||||||
|
|
||||||
|
|
||||||
|
</router>
|
||||||
|
|
||||||
|
|
||||||
|
</device>
|
||||||
|
|
||||||
|
|
||||||
|
</platform>
|
||||||
|
|
||||||
|
|
||||||
|
</connection>
|
||||||
|
|
||||||
|
|
||||||
|
</configuration>
|
||||||
|
|
||||||
|
|
||||||
</configurations>
|
</configurations>
|
||||||
|
|||||||
@ -68,7 +68,7 @@ ___________________________________________
|
|||||||
___________________________________________
|
___________________________________________
|
||||||
|
|
||||||
в левом окне блок TestPWM - в этом режиме можно включить ШИМ на любой транзистор.
|
в левом окне блок TestPWM - в этом режиме можно включить ШИМ на любой транзистор.
|
||||||
Для этого нужно включить реле, выбрать Mode = 4.
|
Для этого нужно включить реле, выбрать Mode = 5.
|
||||||
После этого переменная Num обозначает -- какие из транзисторов включены.
|
После этого переменная Num обозначает -- какие из транзисторов включены.
|
||||||
На все транзисторы которые включены подаётся 50% шим, нижние в противофазе с верхними.
|
На все транзисторы которые включены подаётся 50% шим, нижние в противофазе с верхними.
|
||||||
0 бит -> PWM5A
|
0 бит -> PWM5A
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user