Communications flow

This graph shows the flow of communications from the interface to each of the devices.

Note

You can zoom and move around the diagram using the mouse.

flowchart LR subgraph End devices subgraph USB devices subgraph SDR["LimeSDR components"] LMS7002M_SDR[LMS7002M] FPGA_SDR[FPGA] end subgraph SDRMini["LimeSDR-Mini components"] LMS7002M_Mini[LMS7002M] FPGA_Mini[FPGA] end end subgraph PCIe devices subgraph X3[LimeSDR X3 components] FPGA_X3[FPGA] LMS7002M_X3["LMS7002M"] end subgraph XTRX[LimeSDR XTRX components] FPGA_XTRX["FPGA"] LMS7002M_XTRX["LMS7002M"] end subgraph MMX8[LimeSDR MMX8 components] ADF4002_MMX8["ADF4002"] FPGA_MMX8["FPGA"] LMS7002M_MMX8["LMS7002M"] end end end subgraph Communication libraries subgraph USB subgraph Linux libusb["libusb library"] end subgraph Windows Cypress["Cypress FX3 library"] FTD3XX["FTD3XX Library"] end end subgraph PCIe litepcie["litepcie library"] end end %% PCIe ISPI-.->LMS64C_ADF_Over_PCIe_MMX8 & IComms & SlaveSelectShim IComms-.->LMS64C_LMS7002M_Over_PCIe & LMS64C_FPGA_Over_PCIe & LMS64C_LMS7002M_Over_PCIe_MMX8 & LMS64C_FPGA_Over_PCIe_MMX8 SlaveSelectShim-->|X3 only|IComms LMS64C_LMS7002M_Over_PCIe & LMS64C_FPGA_Over_PCIe-->|X3 & XTRX|PCIE_CSR_Pipe LMS64C_LMS7002M_Over_PCIe_MMX8 & LMS64C_ADF_Over_PCIe_MMX8 & LMS64C_FPGA_Over_PCIe_MMX8-->|MMX8|PCIE_CSR_Pipe ISerialPort-.->PCIE_CSR_Pipe PCIE_CSR_Pipe-->LitePCIe-->litepcie litepcie-->|XTRX|XTRX litepcie-->|X3|X3 litepcie-->|MMX8|MMX8 %% USB IComms-.->LMS64C_FPGA_Over_USB & LMS64C_LMS7002M_Over_USB-->USB_CSR_Pipe ISerialPort-.->USB_CSR_Pipe USB_CSR_Pipe-.->USB_CSR_Pipe_Mini & USB_CSR_Pipe_SDR USB_CSR_Pipe_SDR-->FX3 USB_CSR_Pipe_Mini-->FT601 FX3-->|On Windows|Cypress-->SDR FT601-->|On Windows|FTD3XX-->SDRMini FX3 & FT601-->|On Linux|libusb libusb-->|Using FT601|SDRMini libusb-->|Using FX3|SDR