Jump to content
  • 0

16 Bit Parallel Output read


dumbguy

Question

Hello Everyone. 

First of all a good day to you. I hope you are well and in good health. 

I am trying to use my wonderful Digital Discovery to read data from 16 pin digital output. "Parallel" output. 

Therefore I have my device hooked upto all 16 channels and I can see data. My questions are:

1. How do I decode  16 channel parallel bus data using DD ?

2. Since the data is being read off from a chip that is soldered onto a board, I have soldered small wires to each terminal, which feed to the high speed probing cables supplied with the DD. 

I suspect that there could be cross talk between the data signals. Is there some really intelligent way to eliminate this (besides grounding the shielding cables ?). 

 

Thanks again for your kind responses. 

Best Wishes

 

Link to comment
Share on other sites

17 answers to this question

Recommended Posts

Dear Attila, 

Thanks for your kind help, yes it worked. I am now able to see the data. The next task that I want to achieve is to be able to feed the same data through my DigiLent device to my device. So I want to use the patterns functionality of the WaveForms programm. So my question is could this data now be some how fed into the WF software ? 

Thanks in advance for your kind feedback. 

 

Link to comment
Share on other sites

Hello Attila, 

Thanks for your kind response. I hope you are well. 

The program suggested by you could not open the file I generated using WaveForms. Its says :

image.png.19110a9bde8f85511ebdf6220feaaf2e.png

 

Much obliged if you could help to fix this issue. 

Link to comment
Share on other sites

Ok. So I understood, that I have to keep the WaveForms software closed while using this script. It works now. 

The application appears to generate a .bin file. I am not sure how it be opened ? Can it be read in WaveForms ?

How can the sampling rate be reduced ? It seem to be high. (by changing the paramete:  divSample = 80 ?). 

 

Thanks in advance for your assistance. 

Link to comment
Share on other sites

Traceback (most recent call last):
  File "C:\Users\xxxxx\Desktop\paralllel signals\python script\DigitalDiscovery_RecordToFile16.py", line 15, in <module>
    import matplotlib.pyplot as plt
ModuleNotFoundError: No module named 'matplotlib'

Link to comment
Share on other sites

Hello, 

 

This python code appears to have some error : 

"Traceback (most recent call last):
  File "C:\Users\XXXX\Desktop\DigitalDiscovery_RecordToFile16.py", line 11, in <module>
    from dwfconstants import *
ModuleNotFoundError: No module named 'dwfconstants'" 

 

I am sorry I have no knowledge of Python. Kindly help ....

Thanks in advance.

Link to comment
Share on other sites

Hi @dumbguy

On Digital Discovery the DDRam size is 256MiB. You can capture 128Mi samples of 16bits at up to 400MHz.

You can use the following Python script to record more samples at lower rate, below ~40MBps, depending on computer USB, HDD/SSD...
DigitalDiscovery_RecordToFile16.py
It is set to capture 1G samples at 10MHz. You can adjust divSample and nRecord values, and FDwfDigitalInInputOrderSet option.

 

Related post:

 

 

Link to comment
Share on other sites

Deat Atilla, 

 

Thanks fo your kind response. I have another question. I am trying to record the 16 Bit spectra. However there seems to be a limit to the amount of data that I can capture. Is there some way to increase this any lets say capture for 30 minutes and not for 3 seconds ?

Thanks for your kind assistance on this matter.

Link to comment
Share on other sites

Hi @dumbguy

The logic threshold can't be set higher.
The DIN lines have common push/pull circuit, VREFIO
https://reference.digilentinc.com/reference/instrumentation/digital-discovery/reference-manual#input_dividers
You could try using the lower bandwidth DIO lines. For this you can also set stronger pull-down if needed, separately for each line.
https://reference.digilentinc.com/reference/instrumentation/digital-discovery/reference-manual#io_level_translators

Link to comment
Share on other sites

Hello Attila, 

 

Thanks for your message. I hope you are well.  Please note the screen shot from the application. It appear that there is 3.3V  at which the threshold is defined as 1.42 V. Can this be adjusted to 2 volt. I see a lot of cross talk. See Image 2. I am assuming that the yellow marked spikes are cross talk ? 

Thanks for your guidance. 

 

 

volt.PNG

cross talk.PNG

Link to comment
Share on other sites

Hi @dumbguy

1. You can add Bus in Logic Analyzer. Here you can also specify Clock and Enable signals if you need such.
2. The twisted GND wires should reduce the probability of cross-talk.
You can adjust the IO voltage/ logic threshold under the Supplies interface.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...