Hey mohddalim! Welcome to EP!
Logic Analyzers are really handy for trouble shooting bus lines in systems where Parallel communications protocols are employed .... but the general trend for most systems (the last couple of decades) has been toward serial protocols .... with the obvious exceptions being RAM interfaces, (maybe? Giga-Bit LAN) and some high-end ADC/DAC applications ....
That being said, a logic analyzer could certainly be employed to trouble-shoot any logic-level communications protocol. I am assuming your "controller" is some type of peripheral device (perhaps an Arduino Board?) rather than the embedded microprocessor in your Raspberry Pi? Furthermore I ass-u-me you have a priori knowledge about the communications protocol you want to analyze? I ask simply because attempting to use a Logic Analyzer to glean information from an unknown protocol can be an extremely tedious process! As an example, if you simply wanted to "snoop" on a standard RS232-TTL line where you knew the baud rate, ( say 9600bps ) you would acquire data at the rate of ~960 Bytes per second,(in Full-Duplex it could be as much as twice that, 960 Bytes Rx & 960 Bytes Tx) .... Assuming you set the Logic Analyzer up to translate and record the data stream in bytes and could narrow the "problem" to a 10 second window, you would still have close to 20kb of "Raw Hexadecimal Data" to "debug" .... If you don't have a priori knowledge about what that data **should** look like, then the chances of gleaning any useful information from this 20kb of raw data is statistically insignificant.
If you move from a known baud rate in a standard serial protocol the task becomes all but insurmountably more complex. If for instance you wanted to "snoop" on a 64-bit bus @ a baud rate of 100Mhz you could easily end up with 10^10 bits of data per second and with no a priori knowledge about which lines were data, which were address, chip-select, strobe etc, etc the ensuing quagmire of data would be absolutely impossible to manually process....
Which brings us to the next point ... in all but the simplest cases, the results from a logic analyzer need to be post-processed ..... typically by software (or hardware) designed specifically to process said data which implies that all of the protocols, i/o lines AND data are known prior to setting the Logic Analyzer up in the first place.
I have touched on a few of the challenges & obstacles you might encounter attempting to use a logic analyzer "between my controller and raspberry pi" ... I would suggest for now you put aside your plans for the logic analyzer, and simply describe your "controller" and the problem(s) you are having...... I think it far more likely someone here will suggest a solution than you are to discover one using a logic analyzer ;-)
Good Luck!
Fish