Hello everybody!
That's my first contribution to this website. At least I don't remember having written
anything. Today I would like to talk about a few odd things I noticed when using
Tektronix' MSO58. There are a few demonstrations out there, but I was looking for
something more down to earth, how is the daily use. As there is apparently very
few posts talking about it, here is a first run.
Some background: I have been using Teks for ages, starding from a very old analog
465 I was given, then a TDS 460A that I was also given. Now I have a MSO3000, about
8 years old, doing fine but which can get quite slow. I'm consiering the purchase of
an MSO58 because as an encoder designer, I need 6 high resolution channels. Not an
absolute need, I can do it with my MSO3000, but it would be more convenient, and
with a few extra digital channels, it would be perfect.
Tektronix has allowed me a free ride for a week. This week. Thanks guys! (although
I'm almost sure none of them is reading this message).
My first big surprise: I wanted to use SPI. I plugged the digital probe and set the
signals to the proper pins. Until here, no surprise. But I pressed the button for bus,
set it to SPI, and here I had only 3 signals: SCLK, SS and Data Input. No data output.
I contacted Tek, and it's not a bug, it's a feature. If you want the return channel,
you have to instantiate a new bus. Isn't that silly or is it just me? Check attached picture
SpiConfig.png.
Check the result in SpiBusAlone. What a loss of space if you dont' display the waveforms.
There is a lot of space on that screen, but is it a reason to use that much?
On top of that, if you have both MISO and MOSI (therefore 2 buses) and want to display
bus and waveforms, you end up with 2 identical clocks, one in each bus window.
See picture SpiClkData. And you can notice that the contents of the bus window are not
rearrange so that everything is visible and centered. Worse with the SS signal, it doesn't
even show (picture SpiCkDataNss).
In fact, the firmware is rather brutal. It takes the total available height, divides by the number
of windows and sets the same height of each window, whatever the contents. Even if there is
a bus + 3 signal lines.
I finally chose to display bus only, rename the buses (by the way, the screen bottom stickers
don't reflect the name change. Too bad, you never know which corresponds to which).
And in order to have the waves, I opened another windows for 4-line parallel port. I renamed
the lines accordingly. See picture SpiResized.
Now from that picture, since the waveforms are not displayed in the buses, I thought
that any parameter could be changed and it would keep the layout... No!
If you change form idle to NSS, it will reset the layout as on picture SpiBusAlone.
There was absolutely no need to change the layout.
By the way, if I choose idle time for the framing, why does it systematically
remove the NSS signal? Am I the only one who wants to check the NSS in this case?
OK, temporary conclusion: if you want one SPI bus with bus and waveform display, you need:
- 1 SPI bus for MOSI
- 1 SPI bus for MISO
- 1 parallel bus for waveforms.
It takes really time to configure.
I found a bug and a feature which is not so good.
The feature: if you choose idle time, it always starts from 50 µs. Why 50, I don't know,
but as SPI is in most of the cases around 10 MHz, 50 µs seems to be a lot. I wanted 200ns.
So starting form 50 µs, reducing goes: 50, 49 ... 3, 2, 1, the next is 0!!! Who is
interested in a delay of 0 µs??? Couldn't it be like 50, 20, 10, 5, 2, 1, then 500 ns
instead of 0? It takes you 3 steps per decade and can be very quick. There are 2 buttons
A and B. Why not A for the above approximative setting and B for fine tuning?
Now the bug:
- Open the SPI config panel.
- Double click or tap on the delay value (which is currently 1µs)
- Try to enter "100"
>>> It does not work, you get 0.
It happens like this:
- Double tap the idle time : at that point the current value (which is 1) in the entry
field is highlited
- Enter the 1 : at this point, you have still 1 highlited, maybe because the value didn't change,
so entering 1 or 11, or 111 would not do anything.
- Enter the first 0: since the value was highlited, it's replaced with 0
- Enter the second 0: no change, and you get a delay value of 0.
Ok, that's it for the time being. If all MSO58 users could also speak of their own
experiences / frustrations, that might be a good source of information, and possibly
a source of ideas for Tek engineers, as I noticed there ar a few here.
By the way, there might be workarounds for the above problems, but at least not very
intuitive. And I'm a typical engineer. Play with it first, and read the docs if you don't
have any alternative.
Pascal