Снижена частота прерываний АЦП (для стабильности)
This commit is contained in:
parent
2c4f7289bc
commit
d7d8888db6
BIN
Bin/MODUL_SBORKA_UKSS.bin
Normal file
BIN
Bin/MODUL_SBORKA_UKSS.bin
Normal file
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ PHYSICAL MEMORY PARAMETERS
|
||||
|
||||
BOOT LOADER PARAMETERS
|
||||
Table Type: SERIAL PORT (SCI 8 bit Mode)
|
||||
Entry Point: 0x0000b28b
|
||||
Entry Point: 0x0000b281
|
||||
|
||||
|
||||
OUTPUT TRANSLATION MAP
|
||||
@ -21,9 +21,9 @@ OUTPUT TRANSLATION MAP
|
||||
--------------------------------------------------------------------------------
|
||||
OUTPUT FILES: D:\project2833\ICE_22220_4\bin\UKSSTMS320F28335.bin [b0..b7]
|
||||
|
||||
CONTENTS: 00000000..00006e79 BOOT TABLE
|
||||
.cinit : dest=0000b401 size=000001cb width=00000002
|
||||
.text : dest=00008000 size=00003401 width=00000002
|
||||
CONTENTS: 00000000..00006e65 BOOT TABLE
|
||||
.cinit : dest=0000b3f7 size=000001cb width=00000002
|
||||
.text : dest=00008000 size=000033f7 width=00000002
|
||||
ramfuncs : dest=0000c12e size=0000002b width=00000002
|
||||
.econst : dest=0000c000 size=00000103 width=00000002
|
||||
.switch : dest=0000c15a size=00000028 width=00000002
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -74,7 +74,7 @@ void setup_adc()
|
||||
AdcRegs.ADCCHSELSEQ3.bit.CONV10 = 0x06;
|
||||
AdcRegs.ADCCHSELSEQ3.bit.CONV11 = 0x07;
|
||||
|
||||
AdcRegs.ADCCHSELSEQ4.bit.CONV12 = 0x0F; // Òîêè-íàïðÿæåíèÿ
|
||||
AdcRegs.ADCCHSELSEQ4.bit.CONV12 = 0x0F; // Òîêè-íàïðàæåíèà
|
||||
AdcRegs.ADCCHSELSEQ4.bit.CONV13 = 0x0D;
|
||||
AdcRegs.ADCCHSELSEQ4.bit.CONV14 = 0x0E;
|
||||
AdcRegs.ADCCHSELSEQ4.bit.CONV15 = 0x0C;
|
||||
@ -124,8 +124,6 @@ interrupt void adc_isr(void)
|
||||
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
|
||||
EINT;
|
||||
|
||||
GpioDataRegs.GPBSET.bit.GPIO58=1;
|
||||
|
||||
if(!Read_Log)
|
||||
if(MAY)
|
||||
{
|
||||
@ -159,9 +157,6 @@ GpioDataRegs.GPBSET.bit.GPIO58=1;
|
||||
chk.all = 0;
|
||||
} }
|
||||
|
||||
|
||||
GpioDataRegs.GPBCLEAR.bit.GPIO58=1;
|
||||
|
||||
// Reinitialize for next ADC sequence
|
||||
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // Reset SEQ1
|
||||
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // Clear INT SEQ1 bit
|
||||
|
@ -1,4 +1,3 @@
|
||||
// âãâ
|
||||
#ifndef _MEASURE
|
||||
#define _MEASURE
|
||||
|
||||
@ -57,7 +56,7 @@ typedef union
|
||||
|
||||
#define READY_FREQ 1000 // Ãö
|
||||
#define BLINK_FREQ 2 // Ãö
|
||||
#define ADC_FREQ 3000//3125 //3750//5000//3885//777//2000//20000 //777 //3885 // Ãö (777*5)
|
||||
#define ADC_FREQ 2500 //3000 //3125 //3750 //5000 //3885 // Ãö
|
||||
#define DAC_FREQ 50 // Ãö
|
||||
|
||||
#define LOAD_TIME 10 // sec
|
||||
@ -68,8 +67,6 @@ typedef union
|
||||
|
||||
#define maximum_bright 10
|
||||
|
||||
//#define ZERO 27
|
||||
|
||||
#define Cooling 5 // (°Ñ) Ãèñòåðåçèñ ïî ñíàòèþ ïåðåãðåâà
|
||||
|
||||
#define COSPi6 0.86602540378443864676372317075294
|
||||
|
@ -12,7 +12,6 @@ void setup_leds_line(void);
|
||||
#define led1_on() GpioDataRegs.GPBCLEAR.bit.GPIO32=1
|
||||
#define led2_on() GpioDataRegs.GPBCLEAR.bit.GPIO48=1
|
||||
|
||||
|
||||
// READY ---------------------------------------------------------
|
||||
static inline void dat_READY(int x)
|
||||
{ GpioDataRegs.GPBDAT.bit.GPIO59=!x; }
|
||||
@ -23,6 +22,67 @@ static inline void clear_READY(void)
|
||||
static inline void toggle_READY(void)
|
||||
{ GpioDataRegs.GPBTOGGLE.bit.GPIO59=1;}
|
||||
|
||||
// DIOD1 ---------------------------------------------------------
|
||||
static inline void dat_LED1(int x)
|
||||
{ GpioDataRegs.GPBDAT.bit.GPIO52=x; }
|
||||
static inline void set_LED1(void)
|
||||
{ GpioDataRegs.GPBCLEAR.bit.GPIO52=1; }
|
||||
static inline void clear_LED1(void)
|
||||
{ GpioDataRegs.GPBSET.bit.GPIO52=1; }
|
||||
static inline void toggle_LED1(void)
|
||||
{ GpioDataRegs.GPBTOGGLE.bit.GPIO52=1;}
|
||||
|
||||
// DIOD2 ---------------------------------------------------------
|
||||
static inline void dat_LED2(int x)
|
||||
{ GpioDataRegs.GPBDAT.bit.GPIO49=x; }
|
||||
static inline void set_LED2(void)
|
||||
{ GpioDataRegs.GPBCLEAR.bit.GPIO49=1; }
|
||||
static inline void clear_LED2(void)
|
||||
{ GpioDataRegs.GPBSET.bit.GPIO49=1; }
|
||||
static inline void toggle_LED2(void)
|
||||
{ GpioDataRegs.GPBTOGGLE.bit.GPIO49=1;}
|
||||
|
||||
// LAMPA1 ---------------------------------------------------------
|
||||
static inline void dat_LMP1(int x)
|
||||
{ GpioDataRegs.GPBDAT.bit.GPIO60=!x; }
|
||||
static inline void set_LMP1(void)
|
||||
{ GpioDataRegs.GPBCLEAR.bit.GPIO60=1; }
|
||||
static inline void clear_LMP1(void)
|
||||
{ GpioDataRegs.GPBSET.bit.GPIO60=1; }
|
||||
static inline void toggle_LMP1(void)
|
||||
{ GpioDataRegs.GPBTOGGLE.bit.GPIO60=1;}
|
||||
|
||||
// LAMPA2 ---------------------------------------------------------
|
||||
static inline void dat_LMP2(int x)
|
||||
{ GpioDataRegs.GPBDAT.bit.GPIO58=!x; }
|
||||
static inline void set_LMP2(void)
|
||||
{ GpioDataRegs.GPBCLEAR.bit.GPIO58=1; }
|
||||
static inline void clear_LMP2(void)
|
||||
{ GpioDataRegs.GPBSET.bit.GPIO58=1; }
|
||||
static inline void toggle_LMP2(void)
|
||||
{ GpioDataRegs.GPBTOGGLE.bit.GPIO58=1;}
|
||||
|
||||
// RESERVE1 ---------------------------------------------------------
|
||||
static inline void dat_RES1(int x)
|
||||
{ GpioDataRegs.GPBDAT.bit.GPIO62=!x; }
|
||||
static inline void set_RES1(void)
|
||||
{ GpioDataRegs.GPBCLEAR.bit.GPIO62=1; }
|
||||
static inline void clear_RES1(void)
|
||||
{ GpioDataRegs.GPBSET.bit.GPIO62=1; }
|
||||
static inline void toggle_RES1(void)
|
||||
{ GpioDataRegs.GPBTOGGLE.bit.GPIO62=1;}
|
||||
|
||||
// RESERVE2 ---------------------------------------------------------
|
||||
static inline void dat_RES2(int x)
|
||||
{ GpioDataRegs.GPBDAT.bit.GPIO63=!x; }
|
||||
static inline void set_RES2(void)
|
||||
{ GpioDataRegs.GPBCLEAR.bit.GPIO63=1; }
|
||||
static inline void clear_RES2(void)
|
||||
{ GpioDataRegs.GPBSET.bit.GPIO63=1; }
|
||||
static inline void toggle_RES2(void)
|
||||
{ GpioDataRegs.GPBTOGGLE.bit.GPIO63=1;}
|
||||
|
||||
|
||||
extern WORDE Inputs;
|
||||
|
||||
void select_tpl_canal(int n_tpl);
|
||||
|
@ -208,11 +208,9 @@ void CAN_send(int Port, int data[], int Addr)
|
||||
|
||||
wait=1;
|
||||
|
||||
if(Desk==dsk_COMM) GpioDataRegs.GPBTOGGLE.bit.GPIO52=1;
|
||||
// led1_toggle();
|
||||
toggle_LED1();
|
||||
}
|
||||
|
||||
|
||||
void Handlai(volatile struct MBOX * ECanMbox)
|
||||
{
|
||||
unsigned int adr;
|
||||
@ -239,9 +237,7 @@ void Handlai(volatile struct MBOX * ECanMbox)
|
||||
if(bit[1]) if(adr < ANSWER_LEN) modbus[adr] = Data[1]; adr++;
|
||||
if(bit[2]) if(adr < ANSWER_LEN) modbus[adr] = Data[2];
|
||||
|
||||
if(Desk==dsk_COMM) GpioDataRegs.GPBTOGGLE.bit.GPIO49=1;
|
||||
else
|
||||
led2_toggle();
|
||||
toggle_LED2();
|
||||
}
|
||||
|
||||
interrupt void CANa_handler(void)
|
||||
|
@ -75,6 +75,9 @@ interrupt void cpu_timer1_isr_SENS(void)
|
||||
|
||||
if(!cReset) ServiceDog();
|
||||
|
||||
if((!sig.bit.Error)|(cTestLamp)) toggle_READY();
|
||||
else set_READY();
|
||||
|
||||
if(Read_Log) return;
|
||||
|
||||
if(++CanPowse >= CANPOWSE)
|
||||
@ -83,27 +86,19 @@ interrupt void cpu_timer1_isr_SENS(void)
|
||||
CanGO = 1;
|
||||
}
|
||||
|
||||
if((!sig.bit.Error)|(cTestLamp)) toggle_READY();
|
||||
else set_READY();
|
||||
|
||||
if(++count_bright >= maximum_bright)
|
||||
{
|
||||
count_bright = 0 ;
|
||||
|
||||
if(work_lamp) GpioDataRegs.GPBCLEAR.bit.GPIO60=1;
|
||||
else GpioDataRegs.GPBSET.bit.GPIO60=1;
|
||||
// if(heat_lamp) GpioDataRegs.GPBCLEAR.bit.GPIO58=1;
|
||||
// else GpioDataRegs.GPBSET.bit.GPIO58=1;
|
||||
if(errr_lamp) GpioDataRegs.GPBCLEAR.bit.GPIO62=1;
|
||||
else GpioDataRegs.GPBSET.bit.GPIO62=1;
|
||||
dat_LMP1(work_lamp);
|
||||
dat_LMP2(heat_lamp);
|
||||
}
|
||||
|
||||
if(count_bright == Brightness)
|
||||
if(!cTestLamp)
|
||||
{
|
||||
GpioDataRegs.GPBSET.bit.GPIO60=1;
|
||||
// GpioDataRegs.GPBSET.bit.GPIO58=1;
|
||||
GpioDataRegs.GPBSET.bit.GPIO62=1;
|
||||
clear_LMP1();
|
||||
clear_LMP2();
|
||||
}
|
||||
|
||||
if(cTestLamp & !preTest)
|
||||
@ -120,43 +115,32 @@ interrupt void cpu_timer1_isr_SENS(void)
|
||||
blink_over = (count_mode & 1)?1:0;
|
||||
blink_alarm = (count_mode & 7)?1:0;
|
||||
|
||||
GpioDataRegs.GPBTOGGLE.bit.GPIO63=1;
|
||||
|
||||
/* ýòî ÷òîá äîñêó òåñòèòü
|
||||
if(cTestLamp)
|
||||
{GpioDataRegs.GPBTOGGLE.bit.GPIO49=1;
|
||||
toggle_READY();
|
||||
GpioDataRegs.GPBTOGGLE.bit.GPIO52=1;}
|
||||
if(cTestLamp){toggle_READY();
|
||||
toggle_LED1();toggle_LED2();
|
||||
toggle_RES1();toggle_RES2();}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
if(cExtLamp)
|
||||
{
|
||||
work_lamp = cExtLite;
|
||||
heat_lamp = cExtLite;
|
||||
errr_lamp = cExtLite;
|
||||
}
|
||||
else if(cTestLamp)
|
||||
{
|
||||
work_lamp = blink_over;
|
||||
heat_lamp = blink_over;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(cTestLamp)
|
||||
{
|
||||
work_lamp = blink_over;
|
||||
heat_lamp = blink_over;
|
||||
errr_lamp = blink_over;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(sig.bit.Error) work_lamp = 0;//blink_over;
|
||||
// else if(sig.bit.Alarm) work_lamp = blink_alarm;
|
||||
else work_lamp = 1;
|
||||
|
||||
if(sig.bit.OverHeat) heat_lamp = 1;
|
||||
else if(sig.bit.SubHeat) heat_lamp = blink_over;
|
||||
else if(sig.bit.OutHeat) heat_lamp = !blink_alarm;
|
||||
else heat_lamp = 0;
|
||||
} } }
|
||||
if(sig.bit.OverHeat)heat_lamp = 1; else
|
||||
if(sig.bit.SubHeat) heat_lamp = blink_over; else
|
||||
if(sig.bit.OutHeat) heat_lamp = !blink_alarm; else
|
||||
heat_lamp = 0;
|
||||
work_lamp = 1;
|
||||
|
||||
} }
|
||||
|
||||
void Init_sensors()
|
||||
{
|
||||
@ -491,7 +475,7 @@ modbus[0x68+chan] = Numb;
|
||||
sens_data[sens-1] = Deist;
|
||||
sens_data[sens] = freq;
|
||||
|
||||
// Òðåòüÿ ôàçà äëÿ ïðîâåðîê
|
||||
// Òðåòüà ôàçà äëà ïðîâåðîê
|
||||
lev_quadr[thrd] += ((Current+aCurrent)*(Current+aCurrent)-lev_quadr[thrd])/(1.0 * ADC_FREQ);
|
||||
lev_count[thrd] = sqrt(lev_quadr[thrd]);
|
||||
|
||||
|
@ -3,13 +3,10 @@
|
||||
#include "measure.h"
|
||||
#include "RS485.h"
|
||||
#include "message.h"
|
||||
|
||||
#include "package.h"
|
||||
|
||||
#include "peripher.h"
|
||||
#include "GPIO_table.h"
|
||||
|
||||
|
||||
int Mode,Desk,Addrr,TermoAD=0,TermoRS=0,TermoSW=0,Currentoz=0;
|
||||
WORDE Inputs;
|
||||
|
||||
@ -95,11 +92,8 @@ void get_Inputs()
|
||||
else if(butthurt[1]<MAX_BUTTHURT) butthurt[1]++;
|
||||
if(butthurt[1]<MAX_BUTTHURT) butt+= 0x02;
|
||||
|
||||
if(Mode<adr_INV1)
|
||||
{
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO26) butt += 0x04; // контроль напражениа +24V
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO23) butt += 0x08; // контроль напражениа -24V
|
||||
}
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO26) butt += 0x04; // контроль напражениа +24V
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO23) butt += 0x08; // контроль напражениа -24V
|
||||
|
||||
butt += 0x10 * !GpioDataRegs.GPBDAT.bit.GPIO51;
|
||||
butt += 0x20 * !GpioDataRegs.GPADAT.bit.GPIO22;
|
||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Loading…
Reference in New Issue
Block a user