4.8. IP Input and Output Signals
Port name | Polarity | Description |
---|---|---|
clk | Input | Clock. Asynchronous to any other clock |
reset_n | Input | Active low reset. Asynchronous to any other resets. |
reset_safety_n_i | Input | Reset to get out of the safe state |
reset_safety_n_o | Output | Reset to get out of the safe state |
reset_safety_mem_n_o | Output | Extension of reset_safety_n for memory safe state clearance |
qep_count [31 : 0] | Input | Quadrature encoder pulse IP counter input |
timer_pulse | Input | Time-out signal from the Interval timer block |
quad_error (_p, _n) | Output | Quadrature encoder pulse error feed to the external safety logic. |
fpga_is_safe (_p, _n) | Output | Overspeed detection. Traduced to safe status. |
fpga_compare_good_p(_p, _n) | Output | Result of comparison of HPS and FPGA payloads |
compare_timeout | Output | FPGA finite state machine timeout asserted |
heartbeat_fusa | Output | The heartbeat signal of FuSa block 1 toggle once every safety cycle period to indicate correct functionality. |
heartbeat_timer | Output | The heartbeat signal of interval time toggle once every safety cycle period to indicate correct functionality. |
AXI Lite Interface | - | - |
APB Interface | - | - |
Port name | Polarity | Description |
---|---|---|
clk | Input | Clock. Asynchronous to any other clock |
reset_n | Input | Active low reset. Asynchronous to any other resets. |
reset_safety_n | Input | Reset to get out of the safe state |
generate_bit | Input | Enable the heartbeat generation |
timeout_pulse | Input | Time-out signal from the Interval timer block |
qep_count [31 : 0] | Input | Quadrature encoder pulse IP counter input |
qep_error | Input | Error input. Assert when you detect a quadrature decode error (overspeed. If A and B both change during the same clock cycle or if the encoder error input (E) is asserted. |
quad_error (_p, _n) | Output | Quadrature encoder pulse Error feed to the external safety logic. |
fpga_is_safe (_p, _n) | Output | Overspeed detection: traduced to safe status. |
over_speed | Output | Asserted if the calculated speed in the speed estimator is over the threshold |
over_speed_led | Output | Over_speed negated, routed to a board LED |
heartbeat_fusa | Output | The heartbeat signal of FUSA block 1 toggle once every safety cycle period to indicate correct functionality. |
heartbeat_timer | Output | The heartbeat signal of timer block 1 toggle once every safety cycle period to indicate functionality. |
payload [31 : 0] | Type t_safety_payload defined in pkg_doc_safety.sv | |
AXI Lite Interface | - | - |
Port name | Polarity | Description |
---|---|---|
s_axi_aclk | Input | Clock. Asynchronous to any other clock |
s_axi_aresetn | Input | Active low reset. Asynchronous to any other resets. |
reset_safety_n | Input | Reset to get out of the safe state |
AXI Lite Interface | - | - |
APB Interface | - | - |
Port name | Polarity | Description |
---|---|---|
clk | Input | Clock |
generateBit | Input | Control signal to toggle the state of heartbeat output. Input may be derived from comparison function output or timeout pulse. |
heartbeat | Output | Singular bit to indicate the heartbeat. Indicates overall block functionality. |
Port name | Polarity | Description |
---|---|---|
clk | Input | Clock |
reset | Input | Reset |
qep_count [31 : 0] | Input | Quadrature encoder pulse IP counter input |
qep_error | Input | Error input. Asserted when a quadrature decode error (overspeed) is detected. If A and B both change during the same clock cycle or if the encoder error input (E) is asserted. |
over_speed | Output | Singular bit to indicate whether the current estimated speed is beyond a parameterizable threshold. |
led_signal | Output | Singular bit to be sent to an active low LED to represent the status of over_speed. |
motor_speed_filtered | Output | Custom variable type, t_speed. |
quad_error (_p, _n) | Output | Complementary bits (p = 1’b0, n = 1’b1) to represent whether a quadrature error is detected. Entirely based of the input qep_error. |
fpga_is_safe (_p, _n) | Output | Complementary bits (p = 1’b1, n = 1’b0) to represent that FPGA is overall safe, in respect to over_speed. |
APB Interface | - | - |
Port name | Polarity | Description |
---|---|---|
clk | Input | Clock |
reset_n | Input | Reset |
reset_safety_n | Input | Reset to get out of the safe state |
speed_rpm | Input | Incoming signal from the speed estimator module, which indicates the current estimated speed of the motor. Type t_speed |
over_speed | Input | Singular bit to indicate whether the current estimated speed is beyond a threshold. |
generate_pulse | Input | Control signal to create a valid payload and increment an internal sequence counter when asserted. |
fpga_payload | Output | Created using a custom defined struct, t_safety_payload, which has the properties overspeed, speed and sequence. The design assigns these properties. |
Port name | Polarity | Description |
---|---|---|
clk | Input | Clock |
reset_n | Input | Reset |
reset_safety_n | Input | Reset to get out of the safe state |
start | Input | Assert to start the FPGA safe channel cycle by the Interval timer every safety response time. |
fpga_payload | Input | Type t_safety_payload Overspeed, speed in rpm, sequence number. |
generate_fpga | Output | Indicates to the safety function block to return a valid payload from the speed estimation. |
compare_good(_p,_n) | Output | Output asserted if the HPS payload and FPGA payload in memory are consistent. |
compare_timeout | Output | FPGA finite state machine timeout asserted |
APB Interface | - | - |
Port name | Polarity | Description |
---|---|---|
clk | Input | Clock |
reset_n | Input | Reset |
QEP_A | Input | Quadrature pulse from motor (model) |
QEP_B | Input | Quadrature pulse from motor (model) |
QEP_I | Input | Index pulse, per complete revolution |
QEP_E | Input | Encoder Error input. 1 indicates that the motor’s encoder detects a fault and the design cannot rely on the quadrature signals. |
QEP_error | Output | Error output. Asserted when a quadrature decode error (overspeed) is detected. If A and B both change during the same clock cycle or if the encoder error input (E) is asserted. Only deasserted when you write a 1 to the reset_quad_error bit in the control register via the Avalon bus. |
QEP_count [31 : 0 ] | Output | Quadrature encoder pulse IP counter output |
Avalon Interface | - | Avalon bus byte addressing but only full word accesses supported. |
Port name | Polarity | Description |
---|---|---|
esl_clk | Input | Clock. Asynchronous to any other clock |
esl_reset | Input | Reset. Independent to any other reset |
clk_hps | Input | HPS clock |
clk_fpga | Input | FPGA clock |
Heartbeat_timer | Input | Heartbeat signal of the timer that toggles once every safety cycle period to indicate correct behavior |
Heartbeat_fusa | Input | Heartbeat signal of FUSA block 1 that toggles once every safety cycle period to indicate correct behavior |
Quad_error (_p, _n) | Input | Indicates that the quadrature encoder pulse detects a quadrature error. (_p = ‘0’, _n = ‘1’) |
FPGA_safe (_p, _n) | Input | Indicates that the FPGA detects the motor speed as safe (_p = ‘1’, _n = ‘0’) |
FPGA_compare (_p, _n) | Input | Indicates that the FPGA cross comparison function detects the FPGA and HPS payloads as the same (_p = ‘1’, _n = ‘0’) |
HPS_safe (_p, _n) | Input | Indicates that the HPS detects the motor speed as safe (_p = ‘1’, _n = ‘0’) |
HPS_compare (_p, _n) | Input | Indicates that the HPS cross comparison function detects the FPGA and HPS payloads as the same (_p = ‘1’, _n = ‘0’) |
compare_timeout | Input | FPGA finite state machine timeout asserted |
CRAM_good (_p, _n) | Input | Indicates that no fault is detected in the FPGA’s CRAM(_p = ‘1’, _n = ‘0’) |
power_good (_p, _n) | Input | Indicates that the voltage monitor block measures the power rails within the acceptable range (_p = ‘1’, _n = ‘0’) |
current_rsp_temp | Input | Variable of parameterizable bits that indicates the current temperature measured by the hardware block. |
safe_state (_p, _n) | Output | Control signal from the external safety logic to the power control to the motor to put the motor into a safe state (_p = ‘1’, _n = ‘0’) |
Port name | Polarity | Description |
---|---|---|
hw_clk | Input | Clock. Asynchronous to any other clock |
hw_reset | Input | Reset. Independent to any other reset |
pwr_good (p, n) | Output | Complementary bits to represent that power is functional as intended, all voltages measured are within safe limits. |
temp_good (p, n) | Output | Complementary bits to represent measured temperatures are safe, within limits. |
cram_good (p, n) | Output |