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