I have a RPi which is connected to a Matrix Voice (without ESP32 module) through the standard 40 pin header. I have connected a RPLIDAR-A1 360 deg. Laser Range Scanner to my RPi directly through the Pi’s TX/RX pins. I
But I can see on the oscillocope that when I send a command over the UARTs TX line to the LIDAR, I get no response on the RX line. But if I disconnect the Matrix Voice, then the UART connection works fine. This means that the Matrix Voice is affecting the TX/RX lines of the Pi’s UART.
I understand from the system architecture of the Voice that the the RPi’s UART pins are connected to some pins of the FPGA on the Voice…which may be the reason why the UART communication does not work. My guess is that the Matrix Voice FPGA pins connected to the RPi are either pulled up HIGH or pulled down LOW, and this is interfering with the Pi trying to drive them LOW or HIGH.
I would like to “disconnect” RPi’s TX/RX pins from the FPGA. Is this possible to do by just removing the following two lines from the “voice.ucf” USER Constraints File found here - https://github.com/matrix-io/matrix-voice-fpga/blob/master/voice_core/ :
NET “PI_TX” LOC = “A12” | IOSTANDARD = LVCMOS33;
NET “PI_RX” LOC = “B12” | IOSTANDARD = LVCMOS33;
If I delete these two lines, recompile the bitstream for the FPGA and upload it to the MAtrix Voice, will this “disconnect” the RPi’s TX/RX pins from the FPGA and allow my code on the RPi to “take control” of the UART’s TX/RX pins?
Any help would be greatly appreciated!