Complete newbie need some help trying to read binary data for the 74HC585 serial to parallel shift IC

I am new to logic analyzers and I am trying to stumble my way through. I read your documentation but I’m still lost. Here is what I’m trying to do, I want to read the 8 bit data being fed serially to the 74HC595 chip and then I want to see the binary value of all 8 registers and then the final output 8 bit binary number.

I hooked up all 8 leads (and grounds) to the 8 pins on the 74HC595 that are data input points. I ran the software and I could see a high (1) pulse kind of cascading down from input 0 to 7. However I am unable to read the binary values (or hex). My programming code is sending a 0000 0001 (0x01) . I’m not seeing this high “1” in the data side of the program. I added a bunch of protocols because again I’m lost. Some resulted in showing binary 0000 0000 always.

in theory I think I should be seeing something like (again I could be way wrong here)

Sending 0x01 to input 0 which is 0b0000 0001

First run (its a for loop that runs 8 times shifting to the right >>)

Input 0: 0
Input 1: 0
Input 2: 0
Input 3: 0
Input 4: 0
Input 5: 0
Input 6: 0
Input 7: 1

Second run
Input 0: 1
Input 1: 0
Input 2: 0
Input 3: 0
Input 4: 0
Input 5: 0
Input 6: 0
Input 7: 0

Third run
Input 0: 0
Input 1: 1
Input 2: 0
Input 3: 0
Input 4: 0
Input 5: 0
Input 6: 0
Input 7: 0

and so on…

I have this hooked up to 8 LEDs, if I release the latch after each for iteration I get basically a line of leds light up and repeat (called in an infinite loop) they light up as such
LEDS:
i=1
OFF OFF OFF OFF OFF OFF OFF ON
i=2
OFF OFF OFF OFF OFF OFF ON OFF

until i=8 in the for loop that looks like
ON OFF OFF OFF OFF OFF OFF OFF

If i send the latch command after the entire for loop iterates only one LED lights up (last one) in essence 10000000
ON OFF OFF OFF OFF OFF OFF OFF

Problem I have is I want the LED’s to then go the opposite way and that doesn’t work at all, and I don’t know why. I tried using a new loop with value 0x80 which is 1000 000 and having it shift the opposite direction << and doing the same routine as above. In this case all LEDS light up and stay lit up if I want for the for loop to complete. If I have engage the latch after each i iteration I get more a trailing LED display
eg:
OFF OFF OFF OFF OFF OFF OFF ON call this point A
OFF OFF OFF OFF OFF OFF ON ON
OFF OFF OFF OFF OFF ON ON ON

Until the 8th interation
ON ON ON ON ON ON ON ON
then it resets to point A.

I wanted to use the logic analyzer to understand what is going on in the 74HC chip in binary, that is, what each of the 8 registers contain. I am unable to get any data in to display in the “data” column that contains values. Like I said I added a bunch of interfaces and some return on all binary 0’s. Channels 0-7 clear show a nice 0-1 transition then it moves to the next channel all the way down to channel 7. But I want to read this data in the “data” section on the right column. There are clearly values of 1 for all of the channels at some point but I don’t know how to collect this data.

This is running on a Raspberry pico 3.3V I have Logic8. Please help this was an expensive logic analyzer and I know it can do what I need it to, and its user error. Sorry! Please help. I have used it successfully for known protocols such as I2C to see the values in binary of the registers. But this isn’t really a protocol (or at least I dont know what its called). I’m sending a 8 bits to channel zero and a clock pulse that shifts them into the 74HC. Once its full you release the latch and all 8 outputs are sent in parallel.

@anglerfish27 Thanks for writing in! Understanding that you own our Logic 8 model, I’m happy to help with the decoding issue you seem to have below.

Once suggestion i would have is to use our Simple Parallel Analyzer (instructions below):

Since Logic 8 only has 8 channels available, you could connect [CH0-CH6] to the [Q_A to Q_G] output pins (skipping Q_H), and leaving the last available input channel for RCLK, which looks to be the CLK signal for the parallel outputs.

If that doesn’t help, feel free to send me a copy of your capture file (in .sal file format). In case you send that over to me, can you also list out what pin the channels are connected to? You can rename the channels from within the Logic 2 app before saving the .sal capture file by clicking on the channel name on the left side (i.e. “Channel 0”, “Channel 1”, etc…).

Thank you so much, I don’t know how I missed that part of the documentation. I’m embarrassed! I told you I’m new to Logic Analyzers and programming MCU’s (Raspberry Pico). So I am learning about electronics the hard way! By any chance do you sell a good book for your LA? I know you have the user guide.

I was able to get project working after some YouTube videos explained to me more clearly how the chip worked. Its actually a pretty neat chip! My first tried I connected all 8 leads to the 8 registers on the chip, when I ran it I could see a low pulse go high and then cascade down the registers (essentially turning 0000 00001 into 0000 00001 but with the one being in the last register when I thought it was in the first! The problem though too was that I was not seeing the binary (or in this case HEX) values being passed in. Based on your reply I need to hook things up differently. I was looking for the blue line on channel zero in the document you sent. I have not had a chance to read the document cause I am at work but basically for reading digital O or 1 data or bytes of data from a GPIO output line I need to use the LA as digital and that’s it? Do I need to do anything special to see the binary data?

Also based on this chip what sampling rate is recommended? I was using 25MHz to get as much as I could. Again I’m so new to this. Since this was just digital output from the GPIO line (no protocol like I2C ect…) I didn’t know how to configure things to show me the data and pretty much any and all info I can. Thank you for this, if yo have any additional assistance/advice you can give me that would be great, even for other protocols (especially I2C and SPI). I must say the LA is awesome. The interface is simple, I like the multi colors, its great! Do you recommend any other add-ons or modules ect… for working exclusively with the Raspberry Pico MCU? That’s the only one I use. I don’t know if there are any 3rd party libraries that would be gold for me or not. I do all types of projects with all types of sensor so anything that might help me out please let me know and I’ll download. I know you can’t provide support for 3rd party plugins but thats ok if they are worthwhile I’ll stumble around with them!

Thank you again,
Absolutely awesome software/hardware!

Thanks!!

@anglerfish27 I’m glad to hear you’re making progress! I’ve shared some of my comments below.

We unfortunately don’t publish a tutorial book, however, I did create a handful of tutorials a few years ago that should still be relevant today! It goes over some of the basic features of our software.

In addition, I’m not sure if you’ve come across the “Tutorials” section of our support site, but there are a few general topics we cover. These topics are not exclusively related to our logic analyzers, but cover oscilloscopes and logic analyzer fundamentals as a whole. It can be found at the bottom-left of our support site (https://support.saleae.com/) like shown in the image below.
Screen Shot 2022-11-23 at 6.15.42 PM

Yep you are correct. You will only need to configure the input channels as a digital input. The analog mode for our input channels are typically useful if you were interested in analog charactersitcs such as noise and ringing, but not needed if you plan on decoding digital data/protocols.

Hopefully the support article below helps out! We generally recommend sampling at least 4x the speed of your signal. When sampling as a digital channel, sampling as fast as possible will not consume any more memory (our captures store data in memory only when transitions occur in your data). Faster sampling rates will however consume more USB bandwidth. Therefore, we generally recommend the fastest sampling rate you can reliably run at.

Glad to hear that!

Generally, you should be good to go with the pre-installed analyzers (such as I2C, SPI, Async Serial, etc) assuming you would utilize those protocols. Otherwise, for more specialized measurements and for added layers of decoding, you could certainly look through our list of Marketplace Extensions from within the app.

There are some useful digital statistical measurements in there, such as pulse width stats or frequency measurement capabilities. Another useful one might be the “Concatenator” extension, which combines multiple consecutive decoded frames into a single frame, useful for visual organizaion.