Post Go back to editing

FPGA design files for D2390A-A evaluation board and Arrow/Terasic SoCkit Cyclone V FPGA evaluation board

I am using the DC2390A-A evaluation board for the LTC2500-32 ADC with the Arrow/Terasic SoCkit Cyclone V FPGA evaluation board.  I cannot find the design files for the Arrow/Terasic SoCkit evaluation board for use with the DC2390A-A.  I am in need of the design files to program the Cyclone V FPGA of the SoCkit evaluation board so that I can evaluate the LTC2500-32 on the DC2390A-A evaluation board.

I can't even find the pinout information for the DC2390A-A evaluation board!  So at this point, the DC2390A-A evaluation board is useless.

Thank you for any assistance with this issue!

Parents
  • Hi, Hypelnst and ghoover. I have encountered some similar problems.  

    When I booted the SoCkit board using Linear Technology's SD card image, I can see the assigned IP address will appear in the LCD screen using the software of Putty connected by micro_USB. I thought I was close to success.

    Regrettably, when I installed LinearLab Tools follow the directions in the DC2390 demo Manual and  mounted the DC2390 to the SoCkit board via the HSMC connector, I can't find the IP address in LCD screen  after power up the SoCkit board.  In additon, when I run "DC2390_full_datapath_test.py", I receive the following error message: ImportError: No module named llt.utils.save_for_pscope

    Thank you so much!


     

  • I got some progress, however, when  I run "DC2390_full_datapath_test.py", I receive the following error message:

    error: [Errno 10061] 

    And I run "DC2390_hello_world.py" encounter the same problem. I'm confused, I don't understand the meaning of this error.

    PS: The script "check_linear_lab_tools_python_install.py" executes properly.

     

  • Here is what I turned up on a Google search of that error>

    [Errno 10061] No connection could be made because the target machine actively refused it

    My best guess is that the DC2390 is somehow preventing the SoCkit from booting.

    Try disconnecting the DC2390 board and see if the SoCkit board will display its IP address. If it does, that suggests the DC2390 is damaged. If the SoCkit board still doesn't display its IP address, that suggests the SoCkit board is damaged. If the SoCkit board does display its IP address, use an external 12V supply at Vin and GND to power the DC2390. (Do not connect it back to the SoCkit board yet). Measure VREF1, VREF2, +5V, -5V, +2.5V, V+ and V- terminals.

    Test Point

    Min

    Max

    V-

    -15.5V

    -14.5V

    V+

    14.5V

    15.5V

    +2.5

    2.375V

    2.625V

    +5V

    4.75V

    5.25V

    -5V

    -5.25V

    -4.75V

    VREF1

    4.95V

    5.05V

    VREF2

    4.95V

    5.05V

    If everything looks good, then remove power from DC2390, reconnect the DC2390 to the SoCkit board and then apply power to the SoCkit board. After a few moments the SoCkit board should display its IP address. 

  • Yup, that shouldn't happen. I notice that you don't have the DC2390 screwed down to the SoCkit board, with 5mm standoffs. The HSMC connector is not designed to provide a robust physical connection, it needs to be secured. Not that this would directly cause a problem, but consider the case where the 3.3V connections are momentarily broken, it could reset the FPGA. (This would be intermittent, not necessarily occur every time.)

    Do post the results of measuring the testpoint voltages.

    -Mark

  • Please note that there is a jumper on the SoCKit board (JP2) to set the I/O voltage of the HSMC.  This must be set to 3.3V for the DC2390A-A.  Is the setting correct in this case?

Reply Children
  • Thanks for your response, I have measured carefully the testpoint voltages of DC2390A-A, everything looks good. And I have tighten mounting screws using 5mm standoffs between boards. The jumper(JP2) is set to 3.3V.

    When I  power up the SoCkit board again, the SoCkit board display its IP address, but  the FPGA_CONF_D LED don't illuminate.  When I run "DC2390_full_datapath_test.py", I receive the same error message:


    File "C:\Users\guofengzhao\Anaconda2\lib\socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)

    error: [Errno 10061]


  • Do you see something like this when you start DC2390_hello_world?

    runfile('C:/Projects/linearlabtools_bitbucket/linear_lab_tools/python/llt/app_examples/ltc2500_family/DC2390_hello_world.py', args='192.168.1.231', wdir='C:/Projects/linearlabtools_bitbucket/linear_lab_tools/python/llt/app_examples/ltc2500_family')

    If the args= is not what the SoCkit display shows for an IP address, change the else portion of line 60 to match the IP address shown in the SoCkit display.

    Have you attempted step 11 in the DC2390A demo manual?

  • Good advice - step 11 is critical, and if the symlink was not set up properly, it might be the explanation. You should be able to program the FPGA from the command line with the program_fpga script, you can give either the symlink as the argument, or any of the rbf files directly.

  • When I run the script DC2390_hello_world, I see the same error. 

    I have completed the step 11 in the DC2390A demo manual. But nothing changed.

    I try to ping the IP address, the network connect is normal。

  • So the altera_fpga_manager timeout message indicates that something else may be going on, I've never seen that before. A quick internet search pulled up this:

    https://support.criticallink.com/redmine/boards/47/topics/3551

    and a couple of other situations where the DIP switches were not set properly - could you double check those?

    Also, when did you download your SD card image? the DC2390_ABCD image should be revision 1246, yours is showing 1240. Can you re-download the image and give that a try? (I don't suspect this as the cause of the altera_fpga_manager error, though.)

    -Mark

  • I try the new image, I got something as your discription. And I check the configure of the board.

    This time step 11 should be succesfully.

    But the script still failed to execute correctly.

  • I think we are getting close - In the above screenshot, you're pinging 192.168.1.231, but I notice that's from a COM port - are you connected to the SoCkit's USB-UART here? You need to be able to ping the SoCkit from the same machine that the Python script is running on (from Windows CMD prompt or PowerShell prompt.) The 10061 error means that the machine you're trying to talk to isn't listening, which indicates a network issue. Note that the SoCkit will first try to get its IP address via DHCP, so if your network allows it, you could try that (assuming your Windows host is on the same network.) This saves the trouble of having to set the static IP on your host, but the drawback is that the IP address of your SoCkit could change (unless the DHCP server is configured to always give it the same address.)

  • I have tried to connected the SoCkit board to the host computer using  USB-Ethernet adapter and set the static IP on the host, when I used Windows CMD to ping the IP address of the SoCkit board, the network connection is normal. 

    So, I want to know how to verify that the SoCkit board is working properly without considering the DC2390A board. Is there a corresponding test script? Such as controlling the LED.

  • The fact that you can ping the board does indeed mean that the network connection is normal, so it really shouldn't be throwing the 10061 error. One thing to try - let's make very sure that the command line argument to the script is being set properly - can you add this line:

    HOST = '192.168.1.231'

    right after the existing HOST= line? You don't even need to comment out the original, as long as this comes after. After this, we'll be sure that your script is pointing to the right machine.

    The next thing to do would be to verify that the daemon that listens for network connections is running - this is started at boot by /etc/rc.local, from the command line, run this command:

    ps aux | grep funcd

    and post the result here. You should see two Python processes running, a mem_funcd and mem_funcd2. These can stop working when commands get corrupted for some reason, but a reboot will start them up again.

    And finally, there is indeed a script that just blinks lights, in the absence of a DC2390. If I recall correctly, all bitfiles have this LED wired to the same register (for this very situation, debugging while taking the connected board out of the equation.) it's at path:

    python\llt\app_examples\Hello_World\SoCkit_hello_world.py

    But I took a look at it and it looks like it may need to be fixed (as some of the scripts earlier in this discussion did.)

    One thing you could try in the meantime - comment out the LTC6954_configure call. Then the first thing the script will do is read the FPGA type and revision, which is a hardcoded value input to an internal register, with no dependence on whether a DC2390 is connected.

    And in fact, after that, the script will blink some lights, which should also work.

    -Mark

  • Thanks.

    First, I tried to add this line (HOST = '192.168.1.231') and comment out the line (LTC6954_configure(client)).

    Second, running ' ps aux | grep funcd' in command line. The result as follow:

     

    Then, I run the script 'DC2390_hello_world' again, nothing different.

    I tried to understand the script statement and found the following statement:

    print ('Okay, now lets blink some lights!!')
    for i in range (0, 10):
    client.sockit_reg_write(LED_BASE, 0x00000001) # The line that actually talks to the FPGA
    sleep(0.5)
    client.sockit_reg_write(LED_BASE, 0x00000000) # The line that actually talks to the FPGA
    sleep(0.5)

    These should be about blinking LED, I run these selection line, return the same error [10061]. Does it means that the register of SoCkit board can't be written?

    In addition, the script 'SoCkit_hello_world.py' can't be run properly, because of the lack of the script 'Sockit' in directory.