0

I have an Arty A7 FPGA dev board. I have programmed it to read its on board power monitoring ADCs and send the results over UART to a PC app written in C#.

The FPGA samples the voltage monitor, then sends out the most significant byte, then sends out the least significant byte. Then it samples the current monitor, and sends out MSB then LSB.

On the PC side I press a button in the form, it discards everything currently in the receive buffer and then sends 't' to the FPGA which starts the capturing process.

To read from the FPGA I simply call _serialPort.ReadByte() four times, expecting to get sample 1 MSB, sample 1 LSB, sample 2 MSB, sample 2 LSB in that order. It seems I'm getting sample 2 MSB, Sample 2 LSB, sample 1 MSB, sample 1 LSB.

The data looks correct just using a serial monitor app, I used Terminal, so I don't think it's the FPGA side.

Is the serial input buffer not a FIFO style buffer?

Any help is appreciated, thanks!

  • Acoording to this [article](https://digilent.com/reference/programmable-logic/arty-a7/reference-manual): _The Arty A7 includes an FTDI FT2232HQ USB-UART bridge (attached to connector J10) that allows you use PC applications to communicate with the board using standard Windows COM port commands. Free USB-COM port drivers, available from [here](https://ftdichip.com/drivers/vcp-drivers/) under the “Virtual Com Port” or VCP heading, convert USB packets to UART/serial port data..._. Have you installed the driver? – Tu deschizi eu inchid Jan 24 '23 at 19:41
  • The following may (or may not) be helpful: https://stackoverflow.com/a/68807066/10024425 – Tu deschizi eu inchid Jan 24 '23 at 19:45

0 Answers0