AnsweredAssumed Answered

Digital capture of variable burst length data

Question asked by chrismower on Jul 17, 2015
Latest reply on Jul 21, 2015 by chrismower
OK, I admit that I am still getting to grips with my KeySight MSO-X 3012A and that I may be doing something wrong or have misunderstood something, so perhaps some of the guru's here can point me in the right direction.

It concerns digital debugging in general, and debugging the SPI communications between a Pic microprocessor and a WinBond flash memory chip in particular. There is a failure during system initialisation which I believe is due to reading some wrong data so I have been trying to capture the communications between the MPU and the memory chip.

Setting the system up to trigger is working ok using the /CS signal but here's the problem I am having. The whole initialisation sequence takes about 5 seconds to complete with several bursts of data separated by fairly long quiet periods. There was no way I could see to capture the packets with a timebase of 5 seconds as the MOSI and MISO data busses just showed solid blocks. Sample rate obviously to low. So I switched to using Segmented Memory thinking this would fix the problem because I can now use a faster timebase. 

Well wrong actually, because the actual transactions vary in length from a couple of packets up to several hundred packets and here is where I am struggling. The short transactions are usually when doing things such as switching to write enable or similar, but the long transactions are frequent and can occur when reading the status register repeatedly waiting for the done flag, or when reading chunks of memory.

So, if I set the memory segment up so that I can get all of the long transactions there is no packet data as the sample rate is too low, if I set it so that the sample rate will be high enough then there aren't enough segments and the long transfers end up truncated.

I can't believe I am the first to hit this problem so hopefully someone will point me in the right direction here. The documentation is of little help as it really only covers the basics of triggering and decoding etc. 

The irony is that I was able to carry out this debug very simply using my IkaLogic ScanaPLUS unit which has the ability to capture up to 2000 seconds of data at a constant 100 MSPS. It has probably one of the best decoders on the market and includes SPI/IIC/RS232 and a huge list of other protocols included and costs under 200 Euros,  whereas my scope, segmented memory option and serial decode licence cost several thousand Euros! I love the 'scope but I'm not so sure about the digital part and wonder if I should have gone for a DSO instead of an MSO.

Anyway, if anyone has any suggestions about reading bursts of data of wildly varying lengths or know of any documentation/application notes etc. I would be grateful to receive them