Bug 1824 - The start condition is not only high on CS
Summary: The start condition is not only high on CS
Status: CONFIRMED
Alias: None
Product: libsigrokdecode
Classification: Unclassified
Component: PD: microwire (show other bugs)
Version: unreleased development snapshot
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-26 09:56 CET by Alexander
Modified: 2023-01-26 10:03 CET (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander 2023-01-26 09:56:33 CET
I am not qualified to describe the issue properly. There is a condition when reading 93C66 memories that the decoder doesn;t handle correctly. It is better described it the link bellow.

https://www.eevblog.com/forum/beginners/st-93c66-microwire-eeprom-sniffing/
Comment 1 vpalmu 2023-01-26 10:03:53 CET
Relevant comments from the linked thread in case the link gets broken:

In my case they are using hardware SPI in 16-bit mode in the microcontroller. The 93C86 memory expects a READ instruction which is 13 bits long. (SB (start bit)= 1, OPCODE = 10, ADDR = A9-A0). To align to 16 bits, the first 3 bits on MOSI are "0". Quote from datasheets: "If CS is high, but Start condition has not been detected, any number of clock cycles can be received by the device without changing its status (i.e., waiting for Start condition)." So the 93C86 recognizes the command only from the first bit in the "1" state. The protocol decoder in PulseView does not know this condition described in the documentation, therefore it cannot correctly recognize the communication. In attachment: Req. CLK Cycles 29 means 13 cycles per instruction + 16 cycles per data read.