Difference between revisions of "Protocol decoders"
Jump to navigation
Jump to search
Uwe Hermann (talk | contribs) (1wire, GPIB, AVR ISP/PDI/TPI, JTAG / TMPA9xx, USB/HID, USB/USBTMC, ...) |
Uwe Hermann (talk | contribs) 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" | ||
|- | |- | ||
!Protocol | !Protocol | ||
!Output ID(s) | !Output ID(s) | ||
Line 15: | Line 15: | ||
!Comments | !Comments | ||
|- | |- | ||
| colspan="5" | '''Basic / microcontrollers / embedded''' | | colspan="5" | '''Basic / microcontrollers / embedded''' | ||
|- | |- | ||
| 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. | ||
|- | |- | ||
| 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. | ||
|- | |- | ||
| 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. | ||
|- | |- | ||
| 1-Wire | | 1-Wire | ||
| | | | ||
Line 42: | Line 42: | ||
| | | | ||
| Work in progress (Iztok Jeras) | | Work in progress (Iztok Jeras) | ||
|- | |- | ||
| Microwire | | Microwire | ||
| | | | ||
Line 48: | Line 48: | ||
| | | | ||
| | | | ||
|- | |- | ||
| UNI/O | | UNI/O | ||
| | | | ||
Line 55: | Line 55: | ||
| | | | ||
|- | |- | ||
| colspan="5" | '''Automotive / industrial / embedded''' | | colspan="5" | '''Automotive / industrial / embedded''' | ||
|- | |- | ||
| CAN | | CAN | ||
| | | | ||
Line 64: | Line 64: | ||
| | | | ||
| | | | ||
|- | |- | ||
| 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. | ||
| | | | ||
|- | |- | ||
| LIN | | LIN | ||
| | | | ||
Line 77: | Line 77: | ||
| | | | ||
|- | |- | ||
| colspan="5" | '''Embedded''' | | colspan="5" | '''Embedded''' | ||
|- | |- | ||
| 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. | ||
|- | |- | ||
| SWD | | SWD | ||
| | | | ||
Line 93: | Line 93: | ||
| | | | ||
|- | |- | ||
| 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) | ||
|- | |- | ||
| AVR PDI | | AVR PDI | ||
| | | | ||
Line 105: | Line 105: | ||
| Atmel Program and Debug Interface (PDI) protocol. | | Atmel Program and Debug Interface (PDI) protocol. | ||
| | | | ||
|- | |- | ||
| AVR TPI | | AVR TPI | ||
| | | | ||
Line 112: | Line 112: | ||
| | | | ||
|- | |- | ||
| colspan="5" | '''PC''' | | colspan="5" | '''PC''' | ||
|- | |- | ||
| 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. | ||
|- | |- | ||
| LPC | | LPC | ||
| lpc | | lpc | ||
Line 127: | Line 127: | ||
| Low-Pin-Count | | Low-Pin-Count | ||
| Work in progress, untested. | | Work in progress, untested. | ||
|- | |- | ||
| FWH | | FWH | ||
| | | | ||
Line 133: | Line 133: | ||
| | | | ||
| | | | ||
|- | |- | ||
| ISA | | ISA | ||
| | | | ||
Line 139: | Line 139: | ||
| | | | ||
| | | | ||
|- | |- | ||
| PCI | | PCI | ||
| | | | ||
Line 145: | Line 145: | ||
| | | | ||
| | | | ||
|- | |- | ||
| SMBus | | SMBus | ||
| | | | ||
Line 151: | Line 151: | ||
| | | | ||
| | | | ||
|- | |- | ||
| IDE | | IDE | ||
| | | | ||
Line 157: | Line 157: | ||
| | | | ||
| | | | ||
|- | |- | ||
| SCSI | | SCSI | ||
| | | | ||
Line 163: | Line 163: | ||
| | | | ||
| | | | ||
|- | |- | ||
| PS/2 | | PS/2 | ||
| | | | ||
Line 170: | Line 170: | ||
| | | | ||
|- | |- | ||
| colspan="5" | '''Audio''' | | colspan="5" | '''Audio''' | ||
|- | |- | ||
| HD Audio | | HD Audio | ||
| | | | ||
Line 179: | Line 179: | ||
| | | | ||
| | | | ||
|- | |- | ||
| I²S | | I²S | ||
| i2s | | i2s | ||
Line 186: | Line 186: | ||
| Needs more testing and documentation. | | Needs more testing and documentation. | ||
|- | |- | ||
| colspan="5" | '''[http://en.wikipedia.org/wiki/Consumer_IR Consumer IR]''' | | colspan="5" | '''[http://en.wikipedia.org/wiki/Consumer_IR Consumer IR]''' | ||
|- | |- | ||
| Nokia NRC17 | | Nokia NRC17 | ||
| | | | ||
Line 195: | Line 195: | ||
| | | | ||
| | | | ||
|- | |- | ||
| Sony SIRC | | Sony SIRC | ||
| | | | ||
Line 201: | Line 201: | ||
| | | | ||
| | | | ||
|- | |- | ||
| Philips RC-5 | | Philips RC-5 | ||
| | | | ||
Line 207: | Line 207: | ||
| | | | ||
| | | | ||
|- | |- | ||
| Philips RC-6 | | Philips RC-6 | ||
| | | | ||
Line 213: | Line 213: | ||
| | | | ||
| | | | ||
|- | |- | ||
| Philips RC-MM | | Philips RC-MM | ||
| | | | ||
Line 219: | Line 219: | ||
| | | | ||
| | | | ||
|- | |- | ||
| Philips RECS80 | | Philips RECS80 | ||
| | | | ||
Line 226: | Line 226: | ||
| | | | ||
|- | |- | ||
| colspan="5" | '''Miscellaneous''' | | colspan="5" | '''Miscellaneous''' | ||
|- | |- | ||
| [http://en.wikipedia.org/wiki/Infrared_Data_Association IrDA] | | [http://en.wikipedia.org/wiki/Infrared_Data_Association IrDA] | ||
| | | | ||
Line 235: | Line 235: | ||
| | | | ||
| | | | ||
|- | |- | ||
| 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. | ||
|- | |- | ||
| [http://en.wikipedia.org/wiki/Digital_Addressable_Lighting_Interface DALI] | | [http://en.wikipedia.org/wiki/Digital_Addressable_Lighting_Interface DALI] | ||
| | | | ||
Line 247: | Line 247: | ||
| | | | ||
| | | | ||
|- | |- | ||
| PWM | | PWM | ||
| | | | ||
Line 254: | Line 254: | ||
| | | | ||
|- | |- | ||
| colspan="5" | '''Serial EEPROMs''' | | colspan="5" | '''Serial EEPROMs''' | ||
|- | |- | ||
| AT93C46 | | AT93C46 | ||
| | | | ||
Line 264: | Line 264: | ||
| | | | ||
|- | |- | ||
| colspan="5" | '''Displays''' | | colspan="5" | '''Displays''' | ||
|- | |- | ||
| 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 | ||
| | | | ||
|- | |- | ||
| 7-segment display | | 7-segment display | ||
| | | | ||
Line 280: | Line 280: | ||
| | | | ||
|- | |- | ||
| colspan="5" | '''Other''' | | colspan="5" | '''Other''' | ||
|- | |- | ||
| Transition counter | | Transition counter | ||
| transitioncounter | | transitioncounter | ||
Line 290: | Line 290: | ||
| Mostly working. | | Mostly working. | ||
|- | |- | ||
| 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" | ||
|- | |- | ||
!Protocol | !Protocol | ||
!Input ID(s) | !Input ID(s) | ||
Line 319: | Line 319: | ||
!Comments | !Comments | ||
|- | |- | ||
| colspan="6" | '''SPI flash chips''' | | colspan="6" | '''SPI flash chips''' | ||
|- | |- | ||
| Macronix MX25Lxx05D | | Macronix MX25Lxx05D | ||
| logic, spi | | logic, spi | ||
Line 330: | Line 330: | ||
| Partly working. | | Partly working. | ||
|- | |- | ||
| colspan="6" | '''Displays''' | | colspan="6" | '''Displays''' | ||
|- | |- | ||
| 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]. | ||
| | | | ||
|- | |- | ||
| EA eDIPTFT43-A | | EA eDIPTFT43-A | ||
| i2c | | i2c | ||
Line 348: | Line 348: | ||
| | | | ||
|- | |- | ||
| colspan="6" | '''ADCs''' | | colspan="6" | '''ADCs''' | ||
|- | |- | ||
| 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]. | ||
| | | | ||
|- | |- | ||
| Analog Devices ADS1258 | | Analog Devices ADS1258 | ||
| spi | | spi | ||
Line 365: | Line 365: | ||
| SPI-attached ADC. | | SPI-attached ADC. | ||
| | | | ||
|- | |- | ||
| Microchip MCP3901 | | Microchip MCP3901 | ||
| spi | | spi | ||
Line 373: | Line 373: | ||
| | | | ||
|- | |- | ||
| colspan="6" | '''Temperature sensors''' | | colspan="6" | '''Temperature sensors''' | ||
|- | |- | ||
| Melexis MLX90614 | | Melexis MLX90614 | ||
| i2c | | i2c | ||
Line 384: | Line 384: | ||
| Partly working. | | Partly working. | ||
|- | |- | ||
| colspan="6" | '''Other sensors''' | | colspan="6" | '''Other sensors''' | ||
|- | |- | ||
| MEMSIC MXC6225XU | | MEMSIC MXC6225XU | ||
| i2c | | i2c | ||
Line 395: | Line 395: | ||
| Partly working. | | Partly working. | ||
|- | |- | ||
| colspan="6" | '''RTCs''' | | colspan="6" | '''RTCs''' | ||
|- | |- | ||
| Epson RTC-8564 JE/NB | | Epson RTC-8564 JE/NB | ||
| i2c | | i2c | ||
Line 406: | Line 406: | ||
| Partly working. | | Partly working. | ||
|- | |- | ||
| colspan="6" | '''Bluetooth modules''' | | colspan="6" | '''Bluetooth modules''' | ||
|- | |- | ||
| Panasonic PAN1321 | | Panasonic PAN1321 | ||
| uart | | uart | ||
Line 417: | Line 417: | ||
| | | | ||
|- | |- | ||
| colspan="6" | '''Embedded''' | | colspan="6" | '''Embedded''' | ||
|- | |- | ||
| JTAG / STM32 | | JTAG / STM32 | ||
| jtag | | jtag | ||
Line 428: | Line 428: | ||
| Work in progress. | | Work in progress. | ||
|- | |- | ||
| JTAG / TMPA9xx | | JTAG / TMPA9xx | ||
| jtag | | jtag | ||
Line 436: | Line 436: | ||
| | | | ||
|- | |- | ||
| colspan="6" | '''USB''' | | colspan="6" | '''USB''' | ||
|- | |- | ||
| USB / HID | | USB / HID | ||
| usb | | usb | ||
Line 447: | Line 447: | ||
| | | | ||
|- | |- | ||
| USB / USBTMC | | USB / USBTMC | ||
| usb | | usb | ||
Line 455: | Line 455: | ||
| | | | ||
|- | |- | ||
| colspan="6" | '''Other''' | | colspan="6" | '''Other''' | ||
|- | |- | ||
| 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. | ||
|- | |- | ||
| 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. | ||
| | | | ||
|- | |- | ||
| I2C Demultiplexer | | I2C Demultiplexer | ||
| i2c | | i2c | ||
Line 479: | Line 479: | ||
| | | | ||
| | | | ||
|- | |- | ||
| I2C Filter | | I2C Filter | ||
| i2c | | i2c | ||
Line 486: | Line 486: | ||
| | | | ||
| | | | ||
|- | |- | ||
| EDID | | EDID | ||
| i2c | | i2c |
Revision as of 18: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?
- ...