EFM-02 and SSD interface using USB 3.0

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • EFM-02 and SSD interface using USB 3.0

      Hi,

      I am designing "High data rate logger" and planning to interface High speed ADC which has parallel 14-bit outputs to EFM-02 and Store these samples in SSD that has USB 3.0 interface. I read in the specification of EFM-02 Spartan-6LX FPGA module with USB 3.0 provides transfer rate upto 300 MB/s. Also the SSD I'm using has 380MB/s write speed according to its specification.

      My doubts are:
      Is it possible to interface SSD to EFM-02 board and store the samples at 300MB/s?
      How is the SSD accessed from FPGA through USB 3.0?
      Do cesys provide an USB 3.0 device controller IP block for that?


      Thanks and Regards,
      Ramya S.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ramya ()

    • You can use the EFM-02 to acquire data from your high-speed ADCs
      but you can not directly store them on a USB 3.0 SSD. The SSD is a "device"
      to the USB-bus like the EFM-02. You need a USB "host" to connect the SSD.
      You can connect the EFM-02 (device) to a PC (host) using a USB 3.0 cable.
      This PC can write the data to a built-in SSD harddrive (SATA, USB 3.0, ...).
      It does not have a desktop PC. It can also be a small embedded PC if you
      want to develop a potable system. Just make sure it provides the data rate
      you are needing.
      Manfred Kraus
      Cesys GmbH
    • Hi

      While trying to run the example code, it seems that the following part of the code init() is failing each time as I keep getting the WRN:No Modules found error even though I have connected the EFM02 module with the USB 3.0 cable to my computer and I am able to compile the code with Visual studio 2015.

      What could be the possible reason for this error? . From the comments Init() initializes the UDK3 module. Which are the components that you refer to as should be located in working directory?


      try {
      // Initialize UDK3 before using it, this loads the individual
      // modules that must be located in the working directory.
      // Alternatively initEx(baseDir) can be used to explicitly
      // specify a different module directory.
      init();
    • Hello arve9066,

      I assume you use the current UDK3 1.4. Generated applications require some DLLs,
      and if these DLLs are not found, an error like you described will occur. With 32-bit
      applications you will need

      udk3-1.4-x86.dll
      udk3mod-1.4-winusb-x86.dll

      and with 64-bit applications you will need

      udk3-1.4-x86_64.dll
      udk3mod-1.4-winusb-x86_64.dll

      For .NET applications you will need udk3apinet-1.4.dll additionally. You do not
      need the udk3apinet DLL if you use C++, but you need it if you use C#. Some
      of these DLLs are located using the system environment variable "Path" and
      the other Windows-specific DLL locating methods, but some DLLs are loaded
      directly via library function, and in this case the DLLs have to be in the same
      directory the executable file is located in. I hope this helps.

      Best regards,

      Manfred R.
      Software Development
      Cesys GmbH
    • Hello arve9066,

      I do not know exactly whether your problem still persists or not, or whether you want to optimize
      your application directory and file structure or not, because you do not say. I guess your problem
      still persists. But maybe the problem is not the CESYS DLLs, it could be other Visual Studio DLLs
      as well. Do you run your application in the Visual Studio Debugger, or standalone? In both cases,
      the Windows Sysinternals Suite can be used to identify such problems:

      technet.microsoft.com/en-us/sysinternals/bb545021.aspx

      Manfred R.
      Software Development
      Cesys GmbH
    • Hi

      The two ADC channels 15 bits each are connected to GPIO pins of the FPGA by editing the UCF file and also I have set the address of the ADC as 0x1000 0000 which is equal to 1 from the partial address decoding. Do I need any other slave devices mentioned in your example designs to capture data from the ADC? such as the BRAM or the DDR2 RAM..
    • Hello arve9066,

      your question applies to the FPGA example designs and how to adapt them to your specific application. The CESYS company provides the example design code "as is" and we hope it will be helpful. If you need assistance in programming your FPGA designs, the CESYS company offers support packages and engineering services. Please contact sales@cesys.com if you need these services. It is not likely that your question will be answered by other customers in this forum.

      Best regards,

      Manfred R.
      Software Development
      Cesys GmbH