I have few questions related to RD33771-48VEVM.
1)
From the user manual, mentioned that there are 3 channels for battery cell temperature sensing, the 3 channels here do it means from the schematic (Port 1 to Port 4), so it should be 4 channels for battery cell temperature sensing?
2)
And I not understand about the For External NTC means?
Does it mean it supports on board temperature sensing using (NTC0 to NTC4) and also support using external NTC for shunt temperature sensing?
3)
And by default, the software package provided is measuring what temperature using what pin?
4)
As from the figure above, shunt resistor is not included inside PCB outline.
So, is it the shunt resistor which circle in blue is not mounted on RD33771-48VEVK board? Or it is mounted on the RD33771-48VEVK board (R470) as shown in figure below?
5)
Is there any extra information about the CAN communication protocol?
What is the ANX Voltage means? And the IC temperature here is measured from BCC or?
As from the software package, there are other extended ID as shown in figures below which are not mentioned in the user manual. Is there any others document I can refer to?
已解决! 转到解答。
Hello, Bay
Q1: yes,you are right . 771 totally 7-GPIOs, 4 for battery cell temeprature measurement , 2 for main circuit voltage measurement( before and after positive Relay) , 1 for shunt temperatuer measurement.
Q2: the hardware provide a selection for user, if user want to measurement the external temperature with an external NTC, 1st step need to remove the NTC on board , 2nd step connect the external NTC circuit
Q3: Sorry I don't fully understand your question. I checked the source code and find MCU only sent raw value(771B 14-CT and 7-GPIO registers raw data) to GUI. and then GUI transfer the raw data to real voltage.
Q4 : I find the first description picture in schematic PDF is not matched with the real hardware. and according the real PCB reference board , there is a shunt on PCB board and the value is 0.1mOHM , and yes it is the R470.
Q5-1: AN0-AN7 is GPIO0- GPIO7. since the pin's name 33771 datasheet is GPIO, but these 7GPIO pin can configure as analog-input function in order to measure the voltage(NTC or other external voltage). so normally we also call then AN(analog input)
Q5-2: Sorry there is no other CAN protocal file.
the first picture you provide (CAN_SentLvSig2GUI) is related to the MCU ADC. and youcan find it in MCU interface, ADC0_AN4 , ADC0_AN6 and ADC1_AN5. ADC0_AN4 & ADC0_AN6 is using for measure external NTC, just like the 771B's AN. ADC1_AN5 is using for detect the Crash signal.
the second picture you provde(CAN_SendCtrlReg2GUI) , I think it is a additional usage, it is not the key of 771B voltage &temeperature & current measurement. just to sent some BCC register's value to GUI
Hello, Bay
Q1: yes,you are right . 771 totally 7-GPIOs, 4 for battery cell temeprature measurement , 2 for main circuit voltage measurement( before and after positive Relay) , 1 for shunt temperatuer measurement.
Q2: the hardware provide a selection for user, if user want to measurement the external temperature with an external NTC, 1st step need to remove the NTC on board , 2nd step connect the external NTC circuit
Q3: Sorry I don't fully understand your question. I checked the source code and find MCU only sent raw value(771B 14-CT and 7-GPIO registers raw data) to GUI. and then GUI transfer the raw data to real voltage.
Q4 : I find the first description picture in schematic PDF is not matched with the real hardware. and according the real PCB reference board , there is a shunt on PCB board and the value is 0.1mOHM , and yes it is the R470.
Q5-1: AN0-AN7 is GPIO0- GPIO7. since the pin's name 33771 datasheet is GPIO, but these 7GPIO pin can configure as analog-input function in order to measure the voltage(NTC or other external voltage). so normally we also call then AN(analog input)
Q5-2: Sorry there is no other CAN protocal file.
the first picture you provide (CAN_SentLvSig2GUI) is related to the MCU ADC. and youcan find it in MCU interface, ADC0_AN4 , ADC0_AN6 and ADC1_AN5. ADC0_AN4 & ADC0_AN6 is using for measure external NTC, just like the 771B's AN. ADC1_AN5 is using for detect the Crash signal.
the second picture you provde(CAN_SendCtrlReg2GUI) , I think it is a additional usage, it is not the key of 771B voltage &temeperature & current measurement. just to sent some BCC register's value to GUI
Hi Yi Fan,
Thanks for your reply.
Here I have few questions to confirm with you.
From Q2, so the on board NTC by default are used for battery cell temperature sensing (NTC1-NTC4) and shunt current sensing (NTC0), right?
For Q3, inside this function BCC_TError BCC1_GetRawMeasurements (uint8_t Cid),
The highlighted line is converting the temperature value and this temperature refer to what temperature? BCC or shunt temperature value?
And the for loop that I circle, is just only convert the voltages value (x1 stack value and x14 cell voltage)? or include the 7-measurement value (x5 Temperature value, x2 contactor measurement value) from GPIO?
And you mentioned that MCU only sent raw value to GUI and then GUI transfer the raw data to real voltage. The raw data here represents analog value?
So, the raw data to real voltage conversion is done by the GUI?
So, in the code does the MC33771B perform ADC conversion on the input data?
Hi, Bay
1. Q2: yes
2. Q3: first you can find there is a "read command" named "BCC1_ReadRegisters" , and there are 2 parameter named 'BCC_REG_CC_NB_SAMPLES_ADDR ' and "BCC1_MEAS_CNT"(30) , that means the read command to 771B will ask 771B to response from "BCC_REG_CC_NB_SAMPLES_ADDR " ($2D) to $4A, totally 30 registers. and these 30 response will follow the order in 771B reigsters map, also you can find in the second picture below
after that , MCU will received 30 frame and each frame include 1 registers, then MCU will process these data, since the current result process method is different with voltage(Vpwr, Vct , VAN) ,so they are seperated.
u16Base[0] is the $2D(BCC_REG_CC_NB_SAMPLES )
for example , in the second for while (i = 0; i < 22; i++) , the u16Base = 5, so when i = 0 the first process data is "u16Value[5] ", according to the order of response , u16Base[5] = 6th response = $32(MEAS_STACK) . totally 22 repeat in for loop will process u16Base[5] -> u16Base[26] , following the 771B register map is $32 - > $47. include [14 CTs]+ [7 ANs] ,
the code with you marked with yellow is how to process the IC internal temp, refresh the u16Base[27] =IC temp, and store it to .u16Temp
the raw value means this is read from registers, if you want to transfer the registers value to a real value , you need use register value *coefficient , also list some coefficient in picture below ,MCU only send the raw registers to GUI and then GUI will process the transform.
by the way , 771B's basic function is using for measure the voltage ,then using ADC (analog to digital) to store the digital value into registers .