Difference between revisions of "Protocol decoders"

From sigrok
Jump to navigation Jump to search
(1wire, GPIB, AVR ISP/PDI/TPI, JTAG / TMPA9xx, USB/HID, USB/USBTMC, ...)
m
Line 7: Line 7:
Protocol decoders that only require raw probes/signals as input (and don't require any already decoded data from other PDs).
Protocol decoders that only require raw probes/signals as input (and don't require any already decoded data from other PDs).


{| border="0" style="font-size: smaller"
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"
|- bgcolor="#6699ff"
|-
!Protocol
!Protocol
!Output ID(s)
!Output ID(s)
Line 15: Line 15:
!Comments
!Comments


|- bgcolor="#6699ff"
|-
| colspan="5" | '''Basic / microcontrollers / embedded'''
| colspan="5" | '''Basic / microcontrollers / embedded'''


|- bgcolor="#eeeeee"
|-
| SPI
| SPI
| spi
| spi
Line 24: Line 24:
| Serial Peripheral Interface (SPI) protocol.
| Serial Peripheral Interface (SPI) protocol.
| Mostly working, though some details need to be fixed or improved.
| Mostly working, though some details need to be fixed or improved.
|- bgcolor="#eeeeee"
|-
| I²C
| I²C
| i2c
| i2c
Line 30: Line 30:
| Inter-Integrated Circuit (I²C) protocol.
| Inter-Integrated Circuit (I²C) protocol.
| Mostly working, though some details need to be fixed or improved.
| Mostly working, though some details need to be fixed or improved.
|- bgcolor="#eeeeee"
|-
| UART
| UART
| uart
| uart
Line 36: Line 36:
| Universal Asynchronous Receiver Transmitter (UART) protocol.
| Universal Asynchronous Receiver Transmitter (UART) protocol.
| Mostly working, though some details need to be fixed or improved.
| Mostly working, though some details need to be fixed or improved.
|- bgcolor="#eeeeee"
|-
| 1-Wire
| 1-Wire
|  
|  
Line 42: Line 42:
|
|
| Work in progress (Iztok Jeras)
| Work in progress (Iztok Jeras)
|- bgcolor="#eeeeee"
|-
| Microwire
| Microwire
|
|
Line 48: Line 48:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| UNI/O
| UNI/O
|
|
Line 55: Line 55:
|
|


|- bgcolor="#6699ff"
|-
| colspan="5" | '''Automotive / industrial / embedded'''
| colspan="5" | '''Automotive / industrial / embedded'''


|- bgcolor="#eeeeee"
|-
| CAN
| CAN
|
|
Line 64: Line 64:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| FlexRay
| FlexRay
|
|
Line 70: Line 70:
| [http://en.wikipedia.org/wiki/Flexray FlexRay] is an automotive network communications protocol.
| [http://en.wikipedia.org/wiki/Flexray FlexRay] is an automotive network communications protocol.
|
|
|- bgcolor="#eeeeee"
|-
| LIN
| LIN
|
|
Line 77: Line 77:
|
|


|- bgcolor="#6699ff"
|-
| colspan="5" | '''Embedded'''
| colspan="5" | '''Embedded'''


|- bgcolor="#eeeeee"
|-
| JTAG
| JTAG
| jtag
| jtag
Line 86: Line 86:
| Joint Test Action Group (IEEE 1149.1)
| Joint Test Action Group (IEEE 1149.1)
| Mostly working, though some details need to be fixed or improved.
| Mostly working, though some details need to be fixed or improved.
|- bgcolor="#eeeeee"
|-
| SWD
| SWD
|
|
Line 93: Line 93:
|
|


|- bgcolor="#eeeeee"
|-
| AVR ISP
| AVR ISP
| avr_isp
| avr_isp
Line 99: Line 99:
| Atmel AVR In-system programming protocol.
| Atmel AVR In-system programming protocol.
| Work in progress (Uwe Hermann)
| Work in progress (Uwe Hermann)
|- bgcolor="#eeeeee"
|-
| AVR PDI
| AVR PDI
|
|
Line 105: Line 105:
| Atmel Program and Debug Interface (PDI) protocol.
| Atmel Program and Debug Interface (PDI) protocol.
|
|
|- bgcolor="#eeeeee"
|-
| AVR TPI
| AVR TPI
|
|
Line 112: Line 112:
|
|


|- bgcolor="#6699ff"
|-
| colspan="5" | '''PC'''
| colspan="5" | '''PC'''


|- bgcolor="#eeeeee"
|-
| USB (full-speed)
| USB (full-speed)
| usb
| usb
Line 121: Line 121:
| Universal Serial Bus (USB), full-speed, low-level protocol.
| Universal Serial Bus (USB), full-speed, low-level protocol.
| Mostly working, though some details need to be fixed or improved.
| Mostly working, though some details need to be fixed or improved.
|- bgcolor="#eeeeee"
|-
| LPC
| LPC
| lpc
| lpc
Line 127: Line 127:
| Low-Pin-Count
| Low-Pin-Count
| Work in progress, untested.
| Work in progress, untested.
|- bgcolor="#eeeeee"
|-
| FWH
| FWH
|
|
Line 133: Line 133:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| ISA
| ISA
|
|
Line 139: Line 139:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| PCI
| PCI
|
|
Line 145: Line 145:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| SMBus
| SMBus
|
|
Line 151: Line 151:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| IDE
| IDE
|
|
Line 157: Line 157:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| SCSI
| SCSI
|
|
Line 163: Line 163:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| PS/2
| PS/2
|
|
Line 170: Line 170:
|
|


|- bgcolor="#6699ff"
|-
| colspan="5" | '''Audio'''
| colspan="5" | '''Audio'''


|- bgcolor="#eeeeee"
|-
| HD Audio
| HD Audio
|
|
Line 179: Line 179:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| I²S
| I²S
| i2s
| i2s
Line 186: Line 186:
| Needs more testing and documentation.
| Needs more testing and documentation.


|- bgcolor="#6699ff"
|-
| colspan="5" | '''[http://en.wikipedia.org/wiki/Consumer_IR Consumer IR]'''
| colspan="5" | '''[http://en.wikipedia.org/wiki/Consumer_IR Consumer IR]'''


|- bgcolor="#eeeeee"
|-
| Nokia NRC17
| Nokia NRC17
|
|
Line 195: Line 195:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| Sony SIRC
| Sony SIRC
|
|
Line 201: Line 201:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| Philips RC-5
| Philips RC-5
|
|
Line 207: Line 207:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| Philips RC-6
| Philips RC-6
|
|
Line 213: Line 213:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| Philips RC-MM
| Philips RC-MM
|
|
Line 219: Line 219:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| Philips RECS80
| Philips RECS80
|
|
Line 226: Line 226:
|
|


|- bgcolor="#6699ff"
|-
| colspan="5" | '''Miscellaneous'''
| colspan="5" | '''Miscellaneous'''


|- bgcolor="#eeeeee"
|-
| [http://en.wikipedia.org/wiki/Infrared_Data_Association IrDA]
| [http://en.wikipedia.org/wiki/Infrared_Data_Association IrDA]
|
|
Line 235: Line 235:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| DCF77
| DCF77
| dcf77
| dcf77
Line 241: Line 241:
| [http://en.wikipedia.org/wiki/DCF77 DCF77] time protocol
| [http://en.wikipedia.org/wiki/DCF77 DCF77] time protocol
| Mostly working, though some details need to be fixed or improved.
| Mostly working, though some details need to be fixed or improved.
|- bgcolor="#eeeeee"
|-
| [http://en.wikipedia.org/wiki/Digital_Addressable_Lighting_Interface DALI]
| [http://en.wikipedia.org/wiki/Digital_Addressable_Lighting_Interface DALI]
|
|
Line 247: Line 247:
|
|
|
|
|- bgcolor="#eeeeee"
|-
| PWM
| PWM
|
|
Line 254: Line 254:
|
|


|- bgcolor="#6699ff"
|-
| colspan="5" | '''Serial EEPROMs'''
| colspan="5" | '''Serial EEPROMs'''


|- bgcolor="#eeeeee"
|-
| AT93C46
| AT93C46
|
|
Line 264: Line 264:
|
|


|- bgcolor="#6699ff"
|-
| colspan="5" | '''Displays'''
| colspan="5" | '''Displays'''


|- bgcolor="#eeeeee"
|-
| HD44780
| HD44780
|
|
Line 273: Line 273:
| [http://en.wikipedia.org/wiki/HD44780_Character_LCD HD44780 character LCD] protocol
| [http://en.wikipedia.org/wiki/HD44780_Character_LCD HD44780 character LCD] protocol
|
|
|- bgcolor="#eeeeee"
|-
| 7-segment display
| 7-segment display
|
|
Line 280: Line 280:
|
|


|- bgcolor="#6699ff"
|-
| colspan="5" | '''Other'''
| colspan="5" | '''Other'''


|- bgcolor="#eeeeee"
|-
| Transition counter
| Transition counter
| transitioncounter
| transitioncounter
Line 290: Line 290:
| Mostly working.
| Mostly working.


|- bgcolor="#dddddd"
|-
| GPIB
| GPIB
| gpib
| gpib
Line 310: Line 310:
Protocol decoders that do not (only) have raw signals/samples as input, but rather also data which was already decoded by one or more low-level PDs.
Protocol decoders that do not (only) have raw signals/samples as input, but rather also data which was already decoded by one or more low-level PDs.


{| border="0" style="font-size: smaller"
{| border="0" style="font-size: smaller" class="alternategrey sortable sigroktable"
|- bgcolor="#6699ff"
|-
!Protocol
!Protocol
!Input ID(s)
!Input ID(s)
Line 319: Line 319:
!Comments
!Comments


|- bgcolor="#6699ff"
|-
| colspan="6" | '''SPI flash chips'''
| colspan="6" | '''SPI flash chips'''


|- bgcolor="#eeeeee"
|-
| Macronix MX25Lxx05D
| Macronix MX25Lxx05D
| logic, spi
| logic, spi
Line 330: Line 330:
| Partly working.
| Partly working.


|- bgcolor="#6699ff"
|-
| colspan="6" | '''Displays'''
| colspan="6" | '''Displays'''


|- bgcolor="#eeeeee"
|-
| SA8807A
| SA8807A
| spi
| spi
Line 340: Line 340:
| SPI-attached LCD. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/36922/SAMES/SA8807A.html Sames SA8807A].
| SPI-attached LCD. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/36922/SAMES/SA8807A.html Sames SA8807A].
|
|
|- bgcolor="#eeeeee"
|-
| EA eDIPTFT43-A
| EA eDIPTFT43-A
| i2c
| i2c
Line 348: Line 348:
|
|


|- bgcolor="#6699ff"
|-
| colspan="6" | '''ADCs'''
| colspan="6" | '''ADCs'''


|- bgcolor="#eeeeee"
|-
| Analog Devices AD7291
| Analog Devices AD7291
| i2c
| i2c
Line 358: Line 358:
| I2C-attached ADC. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/318172/AD/AD7291.html Analog Devices AD7291].
| I2C-attached ADC. Datasheet: [http://pdf1.alldatasheet.com/datasheet-pdf/view/318172/AD/AD7291.html Analog Devices AD7291].
|
|
|- bgcolor="#eeeeee"
|-
| Analog Devices ADS1258
| Analog Devices ADS1258
| spi
| spi
Line 365: Line 365:
| SPI-attached ADC.
| SPI-attached ADC.
|
|
|- bgcolor="#eeeeee"
|-
| Microchip MCP3901
| Microchip MCP3901
| spi
| spi
Line 373: Line 373:
|
|


|- bgcolor="#6699ff"
|-
| colspan="6" | '''Temperature sensors'''
| colspan="6" | '''Temperature sensors'''


|- bgcolor="#eeeeee"
|-
| Melexis MLX90614
| Melexis MLX90614
| i2c
| i2c
Line 384: Line 384:
| Partly working.
| Partly working.


|- bgcolor="#6699ff"
|-
| colspan="6" | '''Other sensors'''
| colspan="6" | '''Other sensors'''


|- bgcolor="#eeeeee"
|-
| MEMSIC MXC6225XU
| MEMSIC MXC6225XU
| i2c
| i2c
Line 395: Line 395:
| Partly working.
| Partly working.


|- bgcolor="#6699ff"
|-
| colspan="6" | '''RTCs'''
| colspan="6" | '''RTCs'''


|- bgcolor="#eeeeee"
|-
| Epson RTC-8564 JE/NB
| Epson RTC-8564 JE/NB
| i2c
| i2c
Line 406: Line 406:
| Partly working.
| Partly working.


|- bgcolor="#6699ff"
|-
| colspan="6" | '''Bluetooth modules'''
| colspan="6" | '''Bluetooth modules'''


|- bgcolor="#eeeeee"
|-
| Panasonic PAN1321
| Panasonic PAN1321
| uart
| uart
Line 417: Line 417:
|  
|  


|- bgcolor="#6699ff"
|-
| colspan="6" | '''Embedded'''
| colspan="6" | '''Embedded'''


|- bgcolor="#eeeeee"
|-
| JTAG / STM32
| JTAG / STM32
| jtag
| jtag
Line 428: Line 428:
| Work in progress.
| Work in progress.


|- bgcolor="#eeeeee"
|-
| JTAG / TMPA9xx
| JTAG / TMPA9xx
| jtag
| jtag
Line 436: Line 436:
|  
|  


|- bgcolor="#6699ff"
|-
| colspan="6" | '''USB'''
| colspan="6" | '''USB'''


|- bgcolor="#eeeeee"
|-
| USB / HID
| USB / HID
| usb
| usb
Line 447: Line 447:
|  
|  


|- bgcolor="#eeeeee"
|-
| USB / USBTMC
| USB / USBTMC
| usb
| usb
Line 455: Line 455:
|  
|  


|- bgcolor="#6699ff"
|-
| colspan="6" | '''Other'''
| colspan="6" | '''Other'''


|- bgcolor="#eeeeee"
|-
| Wii Nunchuk
| Wii Nunchuk
| i2c
| i2c
Line 465: Line 465:
| Nintendo Wii Nunchuk I2C-based protocol.
| Nintendo Wii Nunchuk I2C-based protocol.
| Work in progress.
| Work in progress.
|- bgcolor="#eeeeee"
|-
| DDC
| DDC
| i2c
| i2c
Line 472: Line 472:
| [http://en.wikipedia.org/wiki/Display_Data_Channel Display Data Channel] (DDC) protocol.
| [http://en.wikipedia.org/wiki/Display_Data_Channel Display Data Channel] (DDC) protocol.
|  
|  
|- bgcolor="#eeeeee"
|-
| I2C Demultiplexer
| I2C Demultiplexer
| i2c
| i2c
Line 479: Line 479:
|  
|  
|  
|  
|- bgcolor="#dddddd"
|-
| I2C Filter
| I2C Filter
| i2c
| i2c
Line 486: Line 486:
|  
|  
|  
|  
|- bgcolor="#eeeeee"
|-
| EDID
| EDID
| i2c
| i2c

Revision as of 19:09, 23 June 2012

This is a list of supported protocol decoders (PDs) and decoders which we might want to write in the future (or users might want to contribute).

See Protocol decoder API for details on how the decoders work in sigrok.

Low-level protocol decoders

Protocol decoders that only require raw probes/signals as input (and don't require any already decoded data from other PDs).

Protocol Output ID(s) Status Description Comments
Basic / microcontrollers / embedded
SPI spi 80% Serial Peripheral Interface (SPI) protocol. Mostly working, though some details need to be fixed or improved.
I²C i2c 80% Inter-Integrated Circuit (I²C) protocol. Mostly working, though some details need to be fixed or improved.
UART uart 80% Universal Asynchronous Receiver Transmitter (UART) protocol. Mostly working, though some details need to be fixed or improved.
1-Wire 20% Work in progress (Iztok Jeras)
Microwire 0%
UNI/O 0%
Automotive / industrial / embedded
CAN 0%
FlexRay 0% FlexRay is an automotive network communications protocol.
LIN 0% LIN (Local Interconnect Network) is an automotive bus standard.
Embedded
JTAG jtag 80% Joint Test Action Group (IEEE 1149.1) Mostly working, though some details need to be fixed or improved.
SWD 0%
AVR ISP avr_isp 10% Atmel AVR In-system programming protocol. Work in progress (Uwe Hermann)
AVR PDI 0% Atmel Program and Debug Interface (PDI) protocol.
AVR TPI 0% Atmel Tiny Programming Interface (TPI) protocol.
PC
USB (full-speed) usb 80% Universal Serial Bus (USB), full-speed, low-level protocol. Mostly working, though some details need to be fixed or improved.
LPC lpc 40% Low-Pin-Count Work in progress, untested.
FWH 0%
ISA 0%
PCI 0%
SMBus 0%
IDE 0%
SCSI 0%
PS/2 0%
Audio
HD Audio 0%
I²S i2s 90% I²S (Inter-IC Sound, Integrated Interchip Sound, or IIS) is a bus for connecting digital audio devices together. Needs more testing and documentation.
Consumer IR
Nokia NRC17 0%
Sony SIRC 0%
Philips RC-5 0%
Philips RC-6 0%
Philips RC-MM 0%
Philips RECS80 0%
Miscellaneous
IrDA 0%
DCF77 dcf77 80% DCF77 time protocol Mostly working, though some details need to be fixed or improved.
DALI 0%
PWM 0%
Serial EEPROMs
AT93C46 0% Atmel AT93C46 serial EEPROM protocol
Displays
HD44780 0% HD44780 character LCD protocol
7-segment display 0%
Other
Transition counter transitioncounter 90% Counts rising and falling edges in the signal. Mostly working.
GPIB gpib 0% General purpose interface bus (GPIB), a.k.a. IEEE-488.1.

... and many, many more.

Ideas:

  • Number of clock cycles / rising-edges / falling-edges / transitions / etc. (total or per-signal)
  • Min/Max/Avg distance between two events (rising edge, falling edge, signal lenths, etc.)
  • ...

High-level protocol decoders

Protocol decoders that do not (only) have raw signals/samples as input, but rather also data which was already decoded by one or more low-level PDs.

Protocol Input ID(s) Output ID(s) Status Description Comments
SPI flash chips
Macronix MX25Lxx05D logic, spi mx25lxx05d 60% SPI-attached serial EEPROM. Datasheet: [1]. Partly working.
Displays
SA8807A spi 0% SPI-attached LCD. Datasheet: Sames SA8807A.
EA eDIPTFT43-A i2c 0% I2C-attached LCD. Datasheet: EA eDIPTFT43-A.
ADCs
Analog Devices AD7291 i2c 0% I2C-attached ADC. Datasheet: Analog Devices AD7291.
Analog Devices ADS1258 spi 0% SPI-attached ADC.
Microchip MCP3901 spi 0% Can be controlled via a parallel protocol, or SPI, or I2C.
Temperature sensors
Melexis MLX90614 i2c 30% Partly working.
Other sensors
MEMSIC MXC6225XU i2c 30% Digital Thermal Orientation Sensor (DTOS) Partly working.
RTCs
Epson RTC-8564 JE/NB i2c 40% Partly working.
Bluetooth modules
Panasonic PAN1321 uart pan1321 70% Panasonic PAN1321 Bluetooth module protocol.
Embedded
JTAG / STM32 jtag jtag_stm32 50% ST STM32-specific JTAG protocol details. Work in progress.
JTAG / TMPA9xx jtag jtag_tmpa9xx 0% Toshiba TMPA9xx specific JTAG protocol details.
USB
USB / HID usb usb_hid 0%
USB / USBTMC usb usb_usbtmc 0%
Other
Wii Nunchuk i2c nunchuk 40% Nintendo Wii Nunchuk I2C-based protocol. Work in progress.
DDC i2c ddc 70% Display Data Channel (DDC) protocol.
I2C Demultiplexer i2c i2c (one or more) 80%
I2C Filter i2c i2c 80%
EDID i2c edid 80%

... and many, many more.

Non-protocol data analysis decoders:

  • How many data bytes are in the data stream?
  • What's the min/max/avg data value?
  • ...