02-28-2023 08:06 AM
Hi there, this is Maurizio from Rome, Italy.
For a medical application I need to send eight audio signals to eight different channels, and I have an Analog Devices AD ADAU1966AZ board, basically a multichannel DAC board (in the attached picture, only 3 channels are indicated: there is the computer, the board and the amps and loudspeakers, in order to basically show what I have in mind)
At the beginning I have to send the same signal (an impulse, about 25msec) to each channel, simply delayed about 50<->200msec, each channel. In this way, I will roughly have a complete cycle in a little more than 1.5secs.
Then, I'm planning to send longer (several seconds) separate signals to each channels, even at the meantime or delayed.
First way:
I tried using Analog Devices SigmaStudio software, but these long delays seem to me impossible to be reached. Sure I don't know well SigmaStudio, and I'm not much of a software guy, but it seems to me impossible to generate such a long delay using SS.
Second way:
Therefore, I was thinking of using LabView (I've been working with LabView in the past, and I'm pretty much familiar with it) to generate these signals: I know how to do it, and my problem would be to pass them to the board, without using SigmaStudio. In this case, what I need are the LabView drivers for my ADAU1966AZ board (ANY LabView version, ANY Operating Sytem would be fine) if they exist, considering that to write drivers for a board is far beyond my possibilities!
Third way:
Is there a known way for LabView to pass data to SigmaStudio? In this case, I could use LV to create signals and SS for driving the board and as well sending signals to it. Is it a possible way?
Fourth way:
I don't have it! If you have any suggestion which could be useful I'll be glad to receive it.
Thanks for your attention, please forgive me if I'm not too clear..
Regards
Maurizio
02-28-2023 08:07 AM
...I forgot to attach the image, sorry...
02-28-2023 08:28 AM
Hi Maurizio,
@MaurizioL wrote:
I have an Analog Devices AD ADAU1966AZ board, basically a multichannel DAC board (in the attached picture,
Unfortunately AD doesn't list this board on its ADAU1966 website, there is only a different eval board mentioned.
It really would help when you could provide more information for this DAQ board!
In the meantime you could ask AD for LabVIEW drivers. (Good luck!)
02-28-2023 09:46 AM
Hallo, and thanks for your prompt answer!
I asked AD for the LV drivers, but got no answer and, sincerely, I doubt anybody ever wrote them! But hope never dies!
About my board, I found this page:
where the "X" letter in the name ADAU196"X"AZ might be a "2" or a "6", and the only difference is, as far as I understand, in the number of channels. My one, the ADAU1966AZ has 16 chans ait should be this one: https://www.analog.com/en/products/adau1966a.html. On the board I can read EVAL-ADAU196XAZ, Revision code: 140729, Revision C. On the box I read ADAU1966AZ, as you can see. ...and that's all the info I could find. I hope this helps. Thanks again for your attention. M
and that's all I could find on it.
02-28-2023 10:13 AM
@MaurizioL wrote:
Hi there, this is Maurizio from Rome, Italy.
For a medical application I need to send eight audio signals to eight different channels, and I have an Analog Devices AD ADAU1966AZ board, basically a multichannel DAC board (in the attached picture, only 3 channels are indicated: there is the computer, the board and the amps and loudspeakers, in order to basically show what I have in mind)
At the beginning I have to send the same signal (an impulse, about 25msec) to each channel, simply delayed about 50<->200msec, each channel. In this way, I will roughly have a complete cycle in a little more than 1.5secs.
Then, I'm planning to send longer (several seconds) separate signals to each channels, even at the meantime or delayed.
First way:
I tried using Analog Devices SigmaStudio software, but these long delays seem to me impossible to be reached. Sure I don't know well SigmaStudio, and I'm not much of a software guy, but it seems to me impossible to generate such a long delay using SS.
Second way:
Therefore, I was thinking of using LabView (I've been working with LabView in the past, and I'm pretty much familiar with it) to generate these signals: I know how to do it, and my problem would be to pass them to the board, without using SigmaStudio. In this case, what I need are the LabView drivers for my ADAU1966AZ board (ANY LabView version, ANY Operating Sytem would be fine) if they exist, considering that to write drivers for a board is far beyond my possibilities!
Third way:
Is there a known way for LabView to pass data to SigmaStudio? In this case, I could use LV to create signals and SS for driving the board and as well sending signals to it. Is it a possible way?
Fourth way:
I don't have it! If you have any suggestion which could be useful I'll be glad to receive it.
Thanks for your attention, please forgive me if I'm not too clear..
Regards
Maurizio
To answer your second part of your question, do you know if SigmaStudio can be controlled by an external application?
02-28-2023 11:01 AM
Hi, thanks for yor reply. I don't know if SIgmastudio can be controlled by external application, I asked Chatgpt and I had this answer:
__________________________________________________
Yes, there are a few ways to pass data from NI LabVIEW to AD SigmaStudio.
One way is to use the SigmaStudio Remote Control Protocol (RCP), which allows external control of SigmaStudio from another application such as LabVIEW. You can use LabVIEW to generate data and then send it to SigmaStudio through the RCP.
To use the RCP in LabVIEW, you can use the TCP/IP VIs that come with LabVIEW to establish a connection with SigmaStudio and then send data over the connection. You would need to first configure SigmaStudio to enable remote control by following the steps I mentioned in my previous answer.
Another way to pass data from LabVIEW to SigmaStudio is to use a shared memory buffer. You can create a shared memory buffer in LabVIEW and then use SigmaStudio to read the data from the buffer. This method allows for high-speed data transfer between the two applications.
To create a shared memory buffer in LabVIEW, you can use the "Shared Variable" or "Network-Published Shared Variable" VIs. These VIs allow you to create a variable that can be shared between multiple instances of LabVIEW or between LabVIEW and other applications.
Once you have created the shared memory buffer, you can use SigmaStudio to read the data from the buffer using a custom algorithm or by using the "Read from Memory" block in SigmaStudio's graphical programming interface.
02-28-2023 12:59 PM
Well, ChatGPT is giving some answers - reliability of those answers is questionable.
Try asking it what port on TCP should you communicate with SigmaStudio and what are the commands and packet format?
02-28-2023 04:05 PM
This Is the question I sent to ChatGPT:
When trying to let LabView pass data to SigmaStudio, what port on TCP should I use to communicate with SigmaStudio and what are the commands and packet format?
The communication between LabVIEW and SigmaStudio is based on packets of data exchanged between the two applications. The packet format is as follows:
Byte 1: Packet Type (1 byte)
Byte 2: Data Length (2 bytes)
Byte 4...n: Data (n-3 bytes)
There are four types of packets that can be exchanged between LabVIEW and SigmaStudio:
Set Parameter Packet: This packet is used to set a parameter value in SigmaStudio. The packet type is 0x01.
Get Parameter Packet: This packet is used to retrieve a parameter value from SigmaStudio. The packet type is 0x02.
SigmaStudio Ready Packet: This packet is used to notify SigmaStudio that LabVIEW is ready to send and receive data. The packet type is 0x03.
SigmaStudio Busy Packet: This packet is used to notify SigmaStudio that LabVIEW is busy and cannot send or receive data. The packet type is 0x04.
The data length field in the packet header indicates the length of the data field in bytes. The data field contains the parameter ID, parameter value, or other data depending on the packet type.
Here is an example of a Set Parameter Packet:
Byte 1: 0x01 (Packet Type)
Byte 2-3: 0x0004 (Data Length)
Byte 4: Parameter ID (1 byte)
Byte 5-8: Parameter Value (4 bytes)
To send this packet from LabVIEW to SigmaStudio, you can use the TCP Write function in LabVIEW. Before sending any data, you must first send a SigmaStudio Ready Packet to initialize the connection.
Here is an example LabVIEW VI that demonstrates how to send a Set Parameter Packet to SigmaStudio:
Note that the IP address and port number used in the TCP Open Connection function must match the IP address and port number used in SigmaStudio. Also, the parameter ID and parameter value used in the Set Parameter Packet must match the parameter ID and parameter value used in SigmaStudio?
02-28-2023 04:07 PM
..and I agree,
reliability of ChatGPT answers is questionable.