Helpful Tips
IDE and other Tools
Please use separate e2studio for RA MCUs from RX/RL78/RH850 to avoid modifying toolchain any other development environment settings. e2studio for RA will include FSP, e2studio for other MCUs will include SC.
You may want to use a new dedicated Workspace if starting a major new project.
Long project file path is not recommended. Path names containing space or special characters may cause unexpected issue. It's a good practice that just create a "Workspace" folder as root directory and put project folders under the Workspace folder.
Update to latest SC, FSP, QE revisions might break the existing working project. Please seek Renesas technical help if you cannot figure out the reason, or you could reverse back to the old version. It is typically recommended you update to latest versions when start a new project and stay with these versions for this project.
The HardwareDebug folder in e2studio is auto generated when you compile code, based on the contents in src folder. New file/folder will be added when you add new ones in src folder but will never get deleted even if you delete items in src folder. To align HardwareDebug folder with src, you can delete whole HardwareDebug folder and rebuild, then the HardwareDebug folder will be regenerated based on the latest src folder contents.
Customer Motor Bring-up Procedure
Here are some key steps to bring up customer motor control using Renesas MCUs. Note this is just given as a typical example. It varies depending on actual applications.
Check Renesas website for related MCU motor control solution documents, algorithms, evaluation boards and kits, sample codes, etc.
Requested motor control kit (MCK) for bench evaluation.
Download the sample project code for the MCK, the related IDE and tools such as e2studio with FSP, Renesas Motor Workbench (RMW), etc.
After successfully running the Renesas MCK, try connecting the customer motor with appropriate power supply if possible.
Update the motor parameters, maximum RPM, maximum current, and other key parameters based on the actual application.
Test the motor and perform tuning as necessary.
Design customer board with maximum commonality to Renesas MCK boards to minimize FW changes.
Develop customer FW based on Renesas sample code to work with the customer board.
Bring up the customer system, perform tuning and testing.
Reach out to Renesas sales and FAE, or online helps for any issues during the development.
Renesas Sample Project Evaluation Procedure
Here is a brief procedure to evaluate a Renesas motor control sample project. It is an example for typical cases. It may differ with different users' development environment set up.
Preparation
Acquire the target motor control evaluation kit (MCK or RSSK).
Download the target sample project. Save the zip file of source code in your project folder. Do not unzip the archived file.
Check the APN and keep it in hand for setting up the kit and operation.
Download and install e2studio for RA or RX depending on the MCU being tested.
Install QE for Motor in e2studio.
Download and install Renesas Motor Workbench (RMW).
Set up
Assemble the motor control test kit, MCK or RSSK. The correctly set-up kit should run the motor by itself just at powering up, even without PC connection.
Create a Workspace folder for e2studio and add a subfolder in Workspace for your project.
Open e2studio, select the subfolder under the workspace that you just created for this project.
In e2studio, choose to import the "Existing Project into Workspace", and then use the option of "Select archive file". Selected the downloaded zip file of the sample code. There are usually multiple sample code bundled in the zip file, you can uncheck the project(s) you are not interested and only import what you need.
When importing sample project, there is often a warning saying the project is created using an older FSP version. Just select continue to use the latest FSP version you installed. Normally the new FSP version is backward compatible.
In e2studio with RA project, in Project Explore panel, find the "configration.xml" and click it to open the FSP Configuration Window. Check the BSP tab to ensure the correct board and device are selected. Then click the green triangle "Generate Project Content" in the FSP Configuration window to update the FSP generated code.
After that, you could try to build the code. You can simply click the "hammer" button in the tool bar, or access the build command through Project manual, or right click on the project to open the selections.
After build the code, you can flash the code onto the MCU board (MCB). The easiest option is using the emulator on the MCU board (EOB) by connecting the MCB through USB-C cable to your PC USB port. Check the MCB/MCK manual for the connection. You do not need to power the board separately to flash the code. The MCU is powered by the USB cable.
Click the "bug" button in e2studio to write the code to the board.
After successfully writing the code, you can run and debug the code from e2studio.
Now set up RMW. Connect the MCB to the communication board (MC-COM) included in the MCK/RSSK, connect the USB-C port on MC-COM to your PC's USB. Check the manual for the connection.
Open RMW, in Connection COM, select the USB port you connected.
Operation
In RMW, follow the APN to load the correct RMT and Map files from the project Workspace. You may check the tip below in RMW session. Click "Set" after you load the Map file.
RMW will have "Easy" and "Analyzer" shown in Select Tool panel. If you are using a Tuner sample code, the "Tuner" tool will also show up. Correct MCU will be shown in RMW Configuration.
After that, you can start using the RMW to control the motor. Use the APN as the guidance. For further details, you may refer to the RMW user manual.
RMW
Find the Correct MAP to Load
For successful communication from RMW, the correct RMT and MAP files need to be loaded into RMW.
For RX-family code, they are located in project Workspace, in project_name\app\rmw folder.
For RA-family code, they are located in project_name\src\application\user_interfacer\ics folder
In certain situations when the “copy” command in e2studio Post-build Steps is not working properly, the updated MAP file does not appear in the above-mentioned folder after compiling. In this case, you should be able to find the updated MAP in the folder given below to load into RMW.
For RX-family code, in project_name\HardwareDebug folder.
For RA-family code, in project_name\Debug folder.
Modify the “copy” command in e2studio Post-build Steps can copy the MAP file into the default rmw or ics folder automatically after compiling. Here is an example in RX code: xcopy /y ${ProjName}.map ..\app\rmw
Change RMW to Communicate through VCOM Port
Here is an example of how to change RMW to communicate through VCOM port, instead of using the communication board as default.
In RA4T1 Tuner code, need to do two things. 1. #define USE_BUILT_IN (1) and 2. Link "ICS2_RA4T1_Built_in.o" instead of "ICS2_RA4T1.o".
Change the USE_BUILT_IN in r_mtr_ics.h file under src\application\user_interface\ics from default (0) to (1) as below.
Find the Tool Settings in the Project Properties shown as below. Then change the object file in "Other objects" under GNU Arm Cross C Linker => Miscellaneous, from "ICS2_RA4T1.o" to "ICS2_RA4T1_Built_in.o". Click Apply and Close.
Finally update the list under GNU Arm Cross C Linker, in "All options", replace "ICS2_RA4T1_Built_in.o" with "ICS2_RA4T1.o". Click Apply and Close.
Fastest RMW Update Rate
If set to the maximum Baud Rate of each MCU, the fastest RMW update rate can be achieved at 50µs for all Renesas MCUs but one (RX13T). These two tables show the settings and maximum RMW update rate.
RX Family
MCU | CPU Clock (MHz) | Supply Clock (UART) (MHz) | Baud Rate (Mbps) | Max. Sampling Time (µs/4ch) | Lib API (ics2_init) 4th argument char speed | Lib API (ics2_init) 5th argument char mode |
RX72T | 200 | 50 | 6.25 | 50 | 0 | 2 |
RX66T | 160 | 40 | 5 | 50 | 0 | 2 |
RX26T | 120 | 60 | 7.5 | 50 | 0 | 2 |
RX24T | 80 | 40 | 5 | 50 | 0 | 2 |
RX23T | 40 | 40 | 5 | 50 | 0 | 2 |
RX13T | 32 | 32 | 1 | 200 | 3 | 2 |
RA Family
MCU | CPU Clock (MHz) | Supply Clock (UART) (MHz) | Baud Rate (Mbps) | Max. Sampling Time (µs/4ch) | Lib API (ics2_init) 3rd argument char speed | Lib API (ics2_init) 4th argument char mode |
RA8T1 | 480 | 120 | 10 | 50 | 1 | 2 |
RA6T3 | 200 | 100 | 16.6 | 50 | 0 | 2 |
RA4T1 | 100 | 100 | 16.6 | 50 | 0 | 2 |
RA6T2 | 240 | 120 | 10 | 50 | 1 | 2 |
RA6T1 | 120 | 120 | 15 | 50 | 0 | 2 |
As an example, in the case of RX66T, data can be displayed in as fast as 50µs with the following settings.
< main.c, row 130>
Before (default): ics2_init((void *)dtc_table, ICS_SCI6_PB0_PB1, ICS_INT_LEVEL,4,1); /* initialize ics */
After: ics2_init((void *)dtc_table, ICS_SCI6_PB0_PB1, ICS_INT_LEVEL,0,2); /* initialize ics */
<mtr_interrupt.c, row365-372>
Before (default):
/****** for ICS ******/
g_u1_cnt_ics++;
if (g_u1_cnt_ics >= 3)
{
g_u1_cnt_ics = 0;
ics2_watchpoint(); /* call ICS */
}
/*********************/
After: Changed to call every cycle
/****** for ICS ******/
//g_u1_cnt_ics++;
//if (g_u1_cnt_ics >= 3)
//{
// g_u1_cnt_ics = 0;
ics2_watchpoint(); /* call ICS */
//}
/*********************/
Motor Parameters
Required Key Motor Parameters
Correct motor parameters are important for achieving desired motor control performance, especially in FOC motor control. Please ensure the parameters on Motor Current Controller and Speed Controller are input correctly. If using sensorless control, also need to ensure the parameters in BEMF Observer are correct.
The parameters can be provided by motor manufacture, identified by Renesas RMW Tuner, or measured manually. RWM User’s Manual describes Tuner function and usage. Section 10.8 of MCI-HV-1 APN describes the manual measurement method.
Here are the motor parameters needed for a BLDC motor:
Parameter | Note |
Pole Pairs | If motor spec gives the number of poles, need to divide it by 2. |
Resistance (ohm) | This is resistance of one phase. If motor spec give line to line resistance, or measure from phase-to-phase resistance, need to divide the value by 2. |
Inductance of d-axis (H) | These two values will be same for PMSM motor but will be different (Lq > Ld) for IPMSM motor. If motor spec give line to line inductance, or measure from phase-to-phase inductance, need to divide the value by 2. |
Inductance of q-axis (H) | |
Permanent magnetic flux (Wb) | If motor spec gives BEMF constant (Ke in V/kRPM), need to convert it to Flux. Flux = Ke/(2πf), where f is the electrical cycle frequency at 1000RPM (f = #Pole Pairs * 1000/60). |
Rotor inertia (kgm^2) | Need to include load inertia also, not just the motor itself. |
Here are the motor parameters needed for an induction motor:
Parameter | Note |
Pole Pairs | If motor spec gives the number of poles, need to divide it by 2. |
Stator Resistance (ohm) | This is resistance of one phase of stator. If motor spec give line to line resistance, or measure from phase-to-phase resistance, need to divide the value by 2. |
Rotor Resistance (ohm) | This is resistance of one phase of rotor. If motor spec give line to line resistance, or measure from phase-to-phase resistance, need to divide the value by 2. |
Mutual Inductance (H) | This is the interaction inductance from one coil to another coil. |
Stator Leakage Inductance (H) | This is the stator leakage inductance. |
Rotor Leakage Inductance (H) | This is the rotor leakage inductance. |
Input Motor Parameters
To enter the correct motor parameters into the code, if using FSP, you can directly enter through FSP. Find the motor block in FSP Visualization, for example, "PMSM" shown in the diagram below.
Click on it to open the Motor Parameters list. Update the values there.
After that, please double check the motor parameters in "Motor Speed Controller (rm_motor_speed)" and "Motor Current Controller (rm_motor_current)" (for FOC projects), under Properties=> Settings=> Motor Parameter, as shown below. In old FSP versions, they may not be automatically updated. If not, please manually update them. In newer FSP releases, they will be automatically updated based on the above motor block inputs.
Please also check the MTR_MOTOR_PARAMETER define in "r_mtr_motor_parameter.h". It is "0" as default and the motor parameters configured in FSP will be used. However, if it is "1", then the motor parameters configured in FSP will not be used. Instead, the motor parameters in the file "r_mtr_motor_parameter.h" will be used.
#define MTR_MOTOR_PARAMETER (0)
In RX projects, you may directly update the parameters in "r_motor_targetmotor_cfg.h" file in motor_module/cfg, shown as below.
Motor Control Test and Tuning
Guidance for open-loop to close-loop motor sensorless speed control switching speed selection
The principle of open-loop control is performing vector control by sweeping magnetic pole position based on the speed command value at low speed.
Swept magnetic pole position [rad] += Speed command value [rad/s] × Current control cycle [s]
It uses the swept magnetic pole position instead of the actual magnetic pole position to control dq-axis current. The control axis rotates relative to the actual axis, generating the angular error β and torque.
In PWM drive, the motor voltage is distorted due to the dead-time (+ BEMF observer estimation delay), the correct inductive voltage cannot be estimated in that region. This contributes to the position estimation error.
The recommended inductive voltage at open-loop to close-loop control switching is 2 to 3 times of the dead-time distortion induced voltage.
As an example, when the dead-time is 2 μs and current control cycle is 100 μs, and bus voltage is 390V, the voltage distortion due to the dead-time is around
390V×2us/100us = 8V. Assuming the motor inductive voltage constant Ke = 0.54V/(rad/s), the inductive voltage at 300 rpm is Ke×300/60×2π = 17V.
The recommended inductive voltage at switching is 2 to 3 times of the dead-time distortion 8V (16V to 24V), so the appropriate switching speed is 300 to 500 rpm.
The above guidance is the case without dead-time compensation (voltage error correction). If the dead-time compensation is implemented, it is possible to switch to close-loop sensorless control at lower speed.
Avoid open-loop start-up stall
Motor open-loop start-up stall will occur if the angular error β of control axis rotates relative to the actual axis is over 90o. The most straightforward tuning is reducing the speed ramp-up slope to allow more time for the actual motor speed to catch up the commanded speed. On the general side, strengthen motor magnetic force, reduce load and inertia will help too.
Select Appropriate Sensorless Vector Control Loop Natural Frequencies
Sensorless vector control has four control loops. It is crucial to configure their natural frequencies appropriately to achieve stable control with desired performance. Here are the basic guidelines for the selection:
BEMF observer: 1/10 of carrier frequency (current control cycle)
Current control: 1/4 of natural frequency of BEMF observer
PLL: Smaller than current control, larger than speed control (need to tune)
Speed control: 1/2 of natural frequency of current control AND less than 1/2 of PLL
1-shunt vs. 2-/3-shunt Current Detection
1-shunt motor current detection measures the inverter bus current. 2-/3-shunt current detection measures motor individual phase current.
Pros: Board space and cost saving (simpler current detection circuit)
Cons:
Larger current ripple because cannot detect the current matching the fundamental wave)
More complicated SW processing
Handle Current Sensing Polarity
Renesas MCI-LV inverter board has positive polarity on motor current sensing circuit, from shunt through amplifier to the ADC ports. Renesas sample software for MCI-LV inverter board is programmed for positive polarity. The current FSP versions also only support positive polarity.
When using an inverter board with negative polarity, the current detection polarity needs to be properly handled in the software. One example is using Renesas RAA227063 EVB, where gate driver IC’s internal current sense amplifiers have reversed polarity.
As an example, in RA family sensorless FOC motor control sample code, in the FSP generated code file "rm_motor_driver.c", there are negative signs in the phase current ADC readings as below. If you are using an inverter board with negative current sensing polarity, please remove these negative signs, AFTER using FSP to generate code.
p_ctrl->f_iu_ad = -(f_addata[0]) * (p_extend_cfg->f_current_range / p_extend_cfg->f_ad_resolution);
p_ctrl->f_iv_ad = -(f_addata[1]) * (p_extend_cfg->f_current_range / p_extend_cfg->f_ad_resolution);
p_ctrl->f_iw_ad = -(f_addata[2]) * (p_extend_cfg->f_current_range / p_extend_cfg→f_ad_resolution);
Adjust Maximum Speed
To adjust the maximum motor rotating speed, for RA MCUs, change the “Maximum rotational speed (rpm)” of "Motor Speed Controller" in FSP.
And also adjust the "Limit of over speed (rpm)" of "Motor Sensorless Vector Control (rm_motor_sensorless)" in FSP accordingly.
In RX MCU code, change the following parameters settings of:
#define MOTOR_CFG_MAX_SPEED_RPM (2400.0f) /* maximum speed [rpm] (mechanical angle) */
#define SPEED_CFG_SPEED_LIMIT_RPM (2850.0f) /* over speed limit [rpm] (mechanical angle) */
Adjust Speed Change Rate
Normally slower speed changes will have better speed control, but too “sluggish” speed changes may not be acceptable in real application.
To adjust motor speed change (acceleration and deceleration) rate, in RA code, modify “Step of speed climbing (rpm)” in Module Motor Speed Controller (rm_motor_speed) as shown below. The unit is rpm per speed control period (0.001 sec in below figure). This applies to both open-loop and close-loop speed control.
In RX code, change this parameter in the file "r_motor_module_cfg.h" under motor_module\cfg. The unit is rpm per second.
#define SPEED_CFG_RATE_LIMIT_RPM (1000.0f) /* Rate limit of speed change [rpm/s] */
Suppress Vibration during Open Loop Period
If observe motor control vibration during FOC Open Loop period, enable “Open-loop damping” in Motor Speed Controller could help.
Change PWM Carrier Frequency
To change PWM carrier frequency, you may need to modify multiple places, because the time period of motor current ADC and related motor position estimation (in sensorless applications) is tied to the PWM carrier frequency.
Here is an example in RA family sensorless vector control project, with original PWM carrier frequency at 20 kHz. There are three places to modify in FSP.
Please note the control loop performance could be affected by different PWM carrier frequency. Necessary control loop tuning may also need after the PWM carrier frequency is changed.
In Motor Current Controller (rm_motor_current) block, modify the PWM carrier frequency (kHz)
In ADC and PWM Modulation (rm_motor_driver) block, modify the PWM Carrier Period (Microseconds)
In Motor Angle and Speed Estimation (rm_motor_estimate) block, modify the Control Period, with the unit in seconds and align with the PWM Carrier Period above.
High Voltage Kit Testing
When testing motor control kit with high voltage (such as 110V AC or 220V AC) and connecting your laptop, it is always safer to run the laptop on battery only. Do not connect external power supply or monitor. The goal is to let the laptop ground floating, even the communication interface is isolated.
Increase MCI-HV-1 Current Limit
MCI-HV-1 high-voltage inverter board has a hardware peak current limit as 21.2A (INVERTER_CFG_CURRENT_LIMIT). With a safety margin of 2.0 (MOTOR_COMMON_CFG_OVERCURRENT_MARGIN_MULT, default setting is 2.0), the maximum allowed setting of motor phase RMS current as 7.5A (MOTOR_CFG_NOMINAL_CURRENT_RMS, default setting is 3.3A). If really want to use more current for motor, the safety margin could be reduced slightly, with minimum safe setting of 1.5. The maximum phase RMS current can then be increased to 10.0A with this minimum safety margin.
Note the value defined by MOTOR_CFG_NOMINAL_CURRENT_RMS is the RMS current value in Ampere. The maximum Iq is defined as this RMS value multiplied by SQRT(3).
#define MOTOR_COMMON_LIMIT_IQ (MOTOR_CFG_NOMINAL_CURRENT_RMS * MTR_SQRT_3) /* speed PI limit for iq */
Stepping Motor RSSK Testing
Here are some tips for testing RX24T RSSK for stepping motor control.
RTK0EMX270S01020BJ - Evaluation System for Stepping Motor with Resolver | Renesas
The original code came with the board out-of-box has the default user I/F as Board I/F. You can control the motor using SW1 (ON/OFF), SW2 (Calibration), VR1 (Speed Control) on inverter board right after power up.
If have problem using RMW to control the motor, please check if correct MAP is loaded and user I/F is set to RMW I/F. Sometime recompile the code and flash the board and reload RMT and MAP files will solve the issue. Refer to above RMW section for finding correct MAP file.
After compiling the downloaded sample code (RX24T_ESS_STM_RSLV_FOC_E2S_V101) and flashing to the board, the default user I/F is RMW. Newer Toolchain version is used and does not have a problem.
When switching between Position and Speed Control Mode by writing com_u1_system_mode from 1(Pos) to 2(Speed), or the other way around, you must write “0” first.
If you want to test the motor with SW1/SW2/VR1 on board, you need to write “1” to com_u1_sw_userif first. Write “0” to go back to RMW control.
Write “6” to com_u1_system_mode will start calibration (It could take minutes, check the LEDs). Write “7” to save the calibration result into flash so at next power-up no need to calibrate again.
In Position Control Mode, the “0” deg position is motor position at power-up/reset. All position command written into com_f4_ref_position_deg is referred to this position.
It is strongly recommended to do a reset/power-cycle before switching from Speed Mode to Position Mode, otherwise the motor will spin a lot to get to the “0” position, right after switching into Position Mode.
DSMIF
The Delta-Sigma Interfaces (ΔΣ interfaces, DSMIF) of MCU like RA8T2 can be connected with up to three external ΔΣ modulators. It is capable of filtering delta-sigma modulated 1-bit digital input data and converting it into 16-bit digital data.
The Delta-Sigma module spits out PWM data (synchronized to a clock) where the modulated output is a function of the input voltage. If the input range is -50mV to 50mV, beyond this limit, it spits out 0 (such as -65mV) or 1 (such as +65mV). An input voltage of 0mV results in a PWM at 50% duty cycle. The 16-bit ADC data will be at 0x7FFF.
ADC
Estimate the ADC Signal Bandwidth (BW)
The basic rule to estimate ADC signal BW is the fastest ADC sampling frequency limited by Nyquist frequency, which is half of the ADC frequency. For example, when the shortest ADC sampling time is 0.16 us (6.25 MSPS), the ADC signal BW could be as high as 6.25 MSPS × 0.5 = 3.125 MHz.
However, when multiple channels are required in ADC scan, such as in RA6T2 16-bit ADC Hybrid mode that requires 2 to 4 channels, the ADC timing will need to be multiplied by the number of channels. For RA6T2 16-bit 2 channel Hybrid mode, the fastest ADC sampling will be 0.18 us times 2, which is 0.36 us (2.78 MSPS).
Also, when digital filter is applied, the signal BW will be limited by the filter cutoff frequency. The typical normalized cutoff frequency of Minimum Phase Filter is 0.116 of the sampling frequency. In RA6T2 16-bit 2 channel Hybrid mode using Minimum Phase Filter, the actual ADC signal BW is limited to 2.78 MSPS × 0.116 = 322 kHz.
Some Compiling Error Cases
Unexpected compiling error when importing an existing project
After importing an existing project that has been compiled without error, if unexpected compiling error occurs, here are a few things to check. First, make sure to import the zipped file directly by using "Select archive file" option, which is a safe and robust way. Do not unzip manually and import the folder. Second, check the IDE (e2studio), compiler/toolchain versions to see if different version is causing the issue. Third, check the project properties to see if any configuration needs update. Finally, check IDE environment set ups.
e2studio compiling error when using sinf, cosf functions
If encounter compiling error when using sinf and cosf functions for trigonometric calculations, please go to the project properties, find "Settings" under "C/C++ Build". In "Tool Settings" tab, "Library Generator", "Standard Library", check the math.h (C89/C99), as shown in the figure below. Then click "Apply and Close", "Rebuild Index" and rebuild the code.
e2studio compiling error when calling library functions
If encounter compiling error when calling library functions, please make sure the library file is added to the Linker. As an example with RX26T, if the ics call functions such as ics_int_sci_rxi() is getting an error, please go to the project properties, find "Settings" under "C/C++ Build". In "Tool Settings" tab, "Linker", click the "Add file" button, select "Library" as the Format and find the "ICS2_RX26T.lib" in the "rmw" folder, as shown in the figure below. Then click "Apply and Close", "Rebuild Index" and rebuild the code.
Troubleshoot Cases
RMW connection and operation issue
Here are couple troubleshooting tips for the case that RMW communication is established, but the Motor Type, Control, and Inverter information on the RMW are not correctly displayed, and/or cannot fully control the motor, such as being able to start the motor but cannot stop it. First thing is to check if the communication cables are being connected properly AND are not right next to any potential noise & magnet source such as the motor and the switching components on the inverter board. Second thing is to ensure the RMT/MAP files loaded in RMW are matching the code that is flashed to the test board.
RZ/T & RZ/N CN032 AC Motor Control USB-Serial Driver issue
For Windows 11, PC user will get driver error message when USB-Serial cable is connected. This is not seen in Windows 10 and previous versions as correct driver is automatically downloaded and installed by Windows. A way to work around this would be to remove/ uninstall the installed driver and locate previous 2019 version driver. Please contact AE team for driver, if needed.
RA4T1 Tuner Issue
Running RA4T1 sensorless FOC Tuner sample code with FSP 5.2.0 may get the error of "BSP_CFG_HANDLE_UNRECOVERABLE_ERROR(0);". It is because RA4T1 Tuner project needs a #define modification for this new FSP version. Making a correction on "AIDU_DEADTIME_SET" defined in "r_aid_tuner_gui_user.h" file as below will solve the issue.
#define AIDU_DEADTIME_SET (g_user_motor_driver_extended_cfg.u2_deadtime)