|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
|
|
|
///-------------------------------------------------------------------------
|
|
|
|
/// @file bsp_drv.h
|
|
|
|
/// @brief bsp @ driver config
|
|
|
|
///-------------------------------------------------------------------------
|
|
|
|
/// @version 1.0
|
|
|
|
/// @author CC
|
|
|
|
/// @date 20180331
|
|
|
|
/// @note cc_AS_stc02
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _asp_schain_H
|
|
|
|
#define _asp_schain_H
|
|
|
|
|
|
|
|
#include "bsp_config.h"
|
|
|
|
#include "TTSS_task.h"
|
|
|
|
#include "c_lib.h"
|
|
|
|
///#include "app_config.h"
|
|
|
|
|
|
|
|
#define D_Wch1 0
|
|
|
|
#define D_Wch2 1
|
|
|
|
#define D_Wch3 2
|
|
|
|
#define D_Wch4 3
|
|
|
|
|
|
|
|
|
|
|
|
#define ADC_CHANNEL_STATUS_UNREADY 0 //UnReady状态,不能读取
|
|
|
|
#define ADC_CHANNEL_STATUS_READY 1 //ready状态,可以读取
|
|
|
|
|
|
|
|
|
|
|
|
#define D_ADC_CHANNEL_NUM 4
|
|
|
|
#define D_ADC_CH_SAMPLE_BUF_MAX 50
|
|
|
|
#define D_ADC_CH_BLUE_POOL_NUM 3
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
vU32 average; ///
|
|
|
|
//// vU8 shift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
vU32 sum;
|
|
|
|
vU32 new; ///新的输出值
|
|
|
|
vU16 out4_shift; ///
|
|
|
|
}TS_shift_averge_;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{///!!!!!和 D_TS_adc_SPara_LEN 需要一一对应
|
|
|
|
u8 rev1; ////= 0x30 第一次运行
|
|
|
|
u8 ch;
|
|
|
|
vU16 wantline; ///固定的硬件参数(例如称重中的0kg,压力中的0压力)时想要输出的adc的值
|
|
|
|
vU16 offset; ///当前adc被偏移到wantline的时候 和原始值out_adc的差值 一般=(wantline-原始adc)
|
|
|
|
vU8 ashift; ///移动的位数 1-2 2-4 3-8 4-16
|
|
|
|
vU8 bshift444; ///移动的位数 1-2 2-4 3-8 4-16 fixme:需要开放时调整
|
|
|
|
// u8 rev1;
|
|
|
|
// u8 rev2;
|
|
|
|
// u8 rev2;
|
|
|
|
}TS_adc_SPara_;
|
|
|
|
|
|
|
|
extern TS_adc_SPara_ TS_adc_SPara[D_ADC_CHANNEL_NUM];
|
|
|
|
|
|
|
|
|
|
|
|
#define D_TS_adc_SPara_LEN (8)
|
|
|
|
|
|
|
|
|
|
|
|
//AD_CHANNEL_SAMPLE 采样
|
|
|
|
#define MAX_OUT_NUM 10
|
|
|
|
typedef struct
|
|
|
|
{ TS_task task;
|
|
|
|
/////S参数区
|
|
|
|
TS_adc_SPara_ *pSPara;
|
|
|
|
/////S参数区
|
|
|
|
vU8 firstRun;
|
|
|
|
|
|
|
|
vU8 ok;
|
|
|
|
vU8 jitter_start; ///刚开始的抖动,先去掉几个最开始的数据
|
|
|
|
vU32 out0;
|
|
|
|
vU16 out1_adc;
|
|
|
|
vU16 out2_offset;
|
|
|
|
vU16 out3_Peak;
|
|
|
|
TS_shift_averge_ ts_SAa;
|
|
|
|
/// TS_shift_averge_ ts_SAb; fixme:需要开放时调整
|
|
|
|
vU16 outm[3];///中值移位滤波的缓存
|
|
|
|
vU16 out4_shift;//滤波输出
|
|
|
|
vU16 out5;////选择后的
|
|
|
|
}TS_task_adc_sample;
|
|
|
|
extern TS_task_adc_sample ts_adc_samples[D_ADC_CHANNEL_NUM];
|
|
|
|
extern void L2_task_adc_init(U8 ch);
|
|
|
|
extern void L2_task_adc_sample(TS_task_adc_sample *s);
|
|
|
|
extern void L2_task_adc_SAinit(U8 ch,U8 *a,U8 *b);
|
|
|
|
void L3_out_zero(u8 ch);
|
|
|
|
|
|
|
|
#endif // #ifndef _asp_adc_H
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
///cc 2023/04/08--4:7:12 准备删除
|
|
|
|
|
|
|
|
////cc 比较重要的滤波调整参数,根据实际需要进行调整
|
|
|
|
#define D_ADC_shiftaverage_a 2
|
|
|
|
#define D_ADC_shiftaverage_b 4
|
|
|
|
///vtype i; vU32 rdata = 0;
|
|
|
|
//任务读
|
|
|
|
/// 单个传感器 D_sensor_zoom=8 2kg 289 80kg 8374
|
|
|
|
/// D_sensor_zoom=6 1274 31787
|
|
|
|
///#define D_sensor_zoom 6
|
|
|
|
///#define D_sensor_zoom_FF 0xFFfc0000
|
|
|
|
|
|
|
|
#define D_sensor_zoom 7
|
|
|
|
#define D_sensor_zoom_FF 0xFFfe0000
|
|
|
|
|
|
|
|
|
|
|
|
///#define D_sensor_zoom 8///实际上8位不需要,因为强制转换成16位后自动符合要求
|
|
|
|
///#define D_sensor_zoom_FF 0xfF000000
|
|
|
|
//// 31688 80kg 31688/80= =400
|
|
|
|
|
|
|
|
//#define D_ADC_PER_KG 400 ///每公斤adc
|
|
|
|
//#define D_ADC_OFFSET (20*D_ADC_PER_KG)
|
|
|
|
///134
|
|
|
|
///extern TS_GlobalRegister R;
|
|
|
|
|
|
|
|
#define D_ADC_PER_KG 0x134///每公斤adc
|
|
|
|
#define D_ADC_OFFSET(ch) ts_adc_samples[ch].offset////(30*D_ADC_PER_KG)
|
|
|
|
///#define D_ADC_OFFSET(ch) 0////(30*D_ADC_PER_KG)
|
|
|
|
/*****
|
|
|
|
000028FE 1kg 81.984375
|
|
|
|
00015D85 3kg 699.0390625 617.0546875
|
|
|
|
|
|
|
|
2^7 128 0x134
|
|
|
|
******/
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|