You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here's a little help on setting up Pulseview to analyze a DSC panel.
D0 on the yellow line (connect it after the 33k/10k resistor divider to keep the pulse voltate below 5volt so as not to damage the analyzer inputs) and D1 to the green line
connect your saelae (or clone) to the usb port of your computer and startup Pulseview. It should find your logic analyzer.
click run to collect some samples. If you see data, you can now setup the decoder. It should look similar to this for d0/d1 (ignore the panel/keypad decoder lines for now). You need to use a decoder to analyze it properly due to the signal multiplexing.
The DSC protocol uses a clock (with syncronizing pulses) on the yellow line and the green line is used for bidirectional data where the panel sends on the rising clock edge and peripherals send on the falling clock edge. The sync pulse is a high signal of about 5.5 ms of duration. This signals a new cmd. On the next rising edge of the clock after the sync, the panel starts sending it's cmd data. Any device needing to respond will send it's data after the 9th panel bit on the falling edges of the clock.
To decode this we need a synchronous decoder that allows us to set a clock and data channel and set the trigger on the clock polarity or edge. I used the pulseview SPI decoder as it had the functions needed and set it up like shown below:
This is for the Panel setup. clk is d0, miso is d1 cs# polarity is active-high. Clock polarity is 0.
For the Keypad decoder setup, the only change is to set the clock polarity to 1. This means that it will use the inverted clock pulse (ie similar to a falling edge to trigger on).
As you can see in the dsc capture above you can view the 00000101 0 10011000 which is a 05 cmd which are sent constantly.
Note: We are not actually decoding the data as this would require a custom decoder written, I am simply using the SPI decoder as a hack to split the keypad/panel data streams into their own channels for analysis.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Here's a little help on setting up Pulseview to analyze a DSC panel.
The DSC protocol uses a clock (with syncronizing pulses) on the yellow line and the green line is used for bidirectional data where the panel sends on the rising clock edge and peripherals send on the falling clock edge. The sync pulse is a high signal of about 5.5 ms of duration. This signals a new cmd. On the next rising edge of the clock after the sync, the panel starts sending it's cmd data. Any device needing to respond will send it's data after the 9th panel bit on the falling edges of the clock.
To decode this we need a synchronous decoder that allows us to set a clock and data channel and set the trigger on the clock polarity or edge. I used the pulseview SPI decoder as it had the functions needed and set it up like shown below:
This is for the Panel setup. clk is d0, miso is d1 cs# polarity is active-high. Clock polarity is 0.
For the Keypad decoder setup, the only change is to set the clock polarity to 1. This means that it will use the inverted clock pulse (ie similar to a falling edge to trigger on).
As you can see in the dsc capture above you can view the 00000101 0 10011000 which is a 05 cmd which are sent constantly.
Note: We are not actually decoding the data as this would require a custom decoder written, I am simply using the SPI decoder as a hack to split the keypad/panel data streams into their own channels for analysis.
Hope this helps in your research.
Alain
Beta Was this translation helpful? Give feedback.
All reactions