UART Trigger
UART triggers allows you to trigger a waveform capture on parameters specific to the UART protocol. This is useful when you only want to capture certain UART packets in a stream of communication.
Trigger On Start Bit
This allows you to trigger a waveform capture on the start bit of a UART packet.
trigger_on_uart_start.py
from lager import Net, NetType
uart_tx = Net.get('UART.TX',
type=NetType.Analog,
setup_function=setup_nets,
teardown_function=teardown_nets)
uart_tx.trigger_settings.uart.set_trigger_on_start()
Trigger On UART Start Bit
~ lager analog UART.TX trigger uart --trigger-on start --dut 1
Trigger On Error Frame
This allows you to trigger a waveform capture if there is a frame error in the UART packet.
trigger_on_uart_frame_error.py
from lager import Net, NetType
uart_tx = Net.get('UART.TX',
type=NetType.Analog,
setup_function=setup_nets,
teardown_function=teardown_nets)
uart_tx.trigger_settings.uart.set_trigger_on_frame_error()
Trigger On UART Frame Error
~ lager analog UART.TX trigger uart --trigger-on error --dut 1
Trigger On Check Error
This allows you to trigger a waveform capture if there is a check error in the UART packet.
trigger_on_uart_check_error.py
from lager import Net, NetType
uart_tx = Net.get('UART.TX',
type=NetType.Analog,
setup_function=setup_nets,
teardown_function=teardown_nets)
uart_tx.trigger_settings.uart.set_trigger_on_check_error()
Trigger On UART Check Error
~ lager analog UART.TX trigger uart --trigger-on cerror --dut 1
Trigger On Data
This allow you to trigger on a specific data value in the UART packet.
trigger_on_uart_data.py
from lager import Net, NetType, TriggerUARTParity
uart_tx = Net.get('UART.TX',
type=NetType.Analog,
setup_function=setup_nets,
teardown_function=teardown_nets)
parity = TriggerUARTParity.NoParity
stopbits = 1
baud = 115200
data_width = 8 #bits
data_val = 123
uart_tx.trigger_settings.uart.set_trigger_on_data(parity, stopbits, baud, data_width, data_val)
Trigger On UART Data
~ lager analog UART.TX trigger uart --trigger-on data --parity none --stopbits 1 --baud115200 --data-width 8 --data 123 --dut 1
Level
The Level parameter sets the voltage threshold for triggering on a UART signal.
set_uart_level.py
from lager import Net, NetType
uart_tx = Net.get('UART.TX',
type=NetType.Analog,
setup_function=setup_nets,
teardown_function=teardown_nets)
sck.trigger_settings.uart.set_level(1.8)
Set UART Voltage Level
~ lager analog UART.TX trigger uart --level 1.8 --dut 1
Source
set_uart_trigger_sources.py
from lager import Net, NetType
uart_tx = Net.get('UART.TX',
type=NetType.Analog,
setup_function=setup_nets,
teardown_function=teardown_nets)
uart_tx.trigger_settings.uart.set_source(uart_tx)
Set UART Trigger Sources
~ lager analog UART.TX trigger uart --source UART.TX --dut 1