更新:
1、SIG16132驱动修正,电阻采集的激励源与4-20mA回采产生了冲突; 2、HART连接模式切换,补充了Vout的控制;
This commit is contained in:
parent
46e04391a7
commit
5c2f009625
|
@ -12,6 +12,9 @@
|
|||
#define HART_250OHM_ENABLE HAL_GPIO_WritePin(RP_EN_GPIO_Port, RP_EN_Pin, GPIO_PIN_RESET)
|
||||
#define HART_250OHM_DISABLE HAL_GPIO_WritePin(RP_EN_GPIO_Port, RP_EN_Pin, GPIO_PIN_SET)
|
||||
|
||||
#define HART_VOUT_ENABLE HAL_GPIO_WritePin(Vout_EN_GPIO_Port, Vout_EN_Pin, GPIO_PIN_SET)
|
||||
#define HART_VOUT_DISABLE HAL_GPIO_WritePin(Vout_EN_GPIO_Port, Vout_EN_Pin, GPIO_PIN_RESET)
|
||||
|
||||
void hart_send(UART_HandleTypeDef *huart, uint8_t *data);
|
||||
void hart_communicate(st_scom *scom);
|
||||
|
||||
|
|
|
@ -637,7 +637,7 @@ void fun_get_sig16132_ch(uint8_t channel, float32 *data)
|
|||
delay_nus(100); // RESET SIG24130
|
||||
SIG24130_SetRefMux(2); // 内部2.5V参考
|
||||
SIG24130_SetInputMux(0, 1); // 差分输入(in0+ in1-)
|
||||
SIG24130_SetIDAC(6, 7, 6, 0); // 1mA IDAC0 IDAC1 pair 0
|
||||
SIG24130_SetIDAC(6, 6, 6, 0); // 1mA IDAC0 IDAC1 pair 0
|
||||
SIG24130_CSn_LOW;
|
||||
delay_nus(2); // DOUT/DRDYn signal can only be available at the pin while CSn pin is low, otherwise it is tri-state.
|
||||
//*data = SIG16130_RetrievalData(1, 0);
|
||||
|
@ -699,8 +699,8 @@ void fun_get_sig16132_ch(uint8_t channel, float32 *data)
|
|||
|
||||
// *data = temp1;
|
||||
|
||||
//voltage(mv), 500uA
|
||||
*data = voltage * 1000.0f/ 0.5f;
|
||||
//voltage(mv), 500uA + 500uA
|
||||
*data = voltage * 1000.0f/ 1.0f;
|
||||
mux_signal.pv_calibrated = calibrate_res_ohm_in(*data);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -238,6 +238,7 @@ void start_task_hart(void const * argument)
|
|||
case HART_LISTEN:
|
||||
{
|
||||
HART_24V_DISABLE;
|
||||
HART_VOUT_DISABLE;
|
||||
HART_250OHM_DISABLE;
|
||||
}
|
||||
break;
|
||||
|
@ -245,6 +246,8 @@ void start_task_hart(void const * argument)
|
|||
case HART_INTERNAL_24V:
|
||||
{
|
||||
HART_24V_ENABLE;
|
||||
HART_VOUT_ENABLE;
|
||||
|
||||
HART_250OHM_DISABLE;
|
||||
}
|
||||
break;
|
||||
|
@ -252,7 +255,9 @@ void start_task_hart(void const * argument)
|
|||
case HART_INTERNAL_250OHM:
|
||||
{
|
||||
HART_250OHM_ENABLE;
|
||||
|
||||
HART_24V_DISABLE;
|
||||
HART_VOUT_DISABLE;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -151,19 +151,12 @@ void MX_GPIO_Init(void)
|
|||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = DAC8552_SYNC_Pin;
|
||||
/*Configure GPIO pins : PDPin PDPin */
|
||||
GPIO_InitStruct.Pin = DAC8552_SYNC_Pin|HART_RST_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(DAC8552_SYNC_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = HART_RST_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(HART_RST_GPIO_Port, &GPIO_InitStruct);
|
||||
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = HART_OCD_Pin;
|
||||
|
|
|
@ -150,7 +150,7 @@
|
|||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U53FF6B064884525650271587 -O2254 -SF5000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0</Name>
|
||||
<Name>-U6&3166F0CB&0&1 -O2254 -SF5000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -258,8 +258,9 @@ PA0-WKUP.Signal=GPIO_Input
|
|||
PA1.GPIOParameters=GPIO_Label
|
||||
PA1.GPIO_Label=CV_ADC
|
||||
PA1.Signal=ADCx_IN1
|
||||
PA10.GPIOParameters=GPIO_Label
|
||||
PA10.GPIOParameters=GPIO_PuPd,GPIO_Label
|
||||
PA10.GPIO_Label=HART_RX
|
||||
PA10.GPIO_PuPd=GPIO_NOPULL
|
||||
PA10.Mode=Asynchronous
|
||||
PA10.Signal=USART1_RX
|
||||
PA11.GPIOParameters=GPIO_Label
|
||||
|
@ -475,13 +476,14 @@ PD1.Locked=true
|
|||
PD1.Signal=GPIO_Output
|
||||
PD10.GPIOParameters=PinState,GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP
|
||||
PD10.GPIO_Label=HART_RST
|
||||
PD10.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_OD
|
||||
PD10.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_PP
|
||||
PD10.GPIO_PuPd=GPIO_PULLUP
|
||||
PD10.Locked=true
|
||||
PD10.PinState=GPIO_PIN_SET
|
||||
PD10.Signal=GPIO_Output
|
||||
PD11.GPIOParameters=GPIO_Label
|
||||
PD11.GPIOParameters=GPIO_PuPd,GPIO_Label
|
||||
PD11.GPIO_Label=HART_OCD
|
||||
PD11.GPIO_PuPd=GPIO_NOPULL
|
||||
PD11.Locked=true
|
||||
PD11.Signal=GPIO_Input
|
||||
PD12.GPIOParameters=GPIO_Speed,GPIO_Label
|
||||
|
|
Loading…
Reference in New Issue