FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
6204 Discussions

Stratix II ES180 board, help me with DAC output

Altera_Forum
Honored Contributor II
1,555 Views

Hi all, 

 

I am in trouble with ADC module. I try to code a very simple code: 

 

module dac_test( 

 

input clk, 

output [13:0] dac 

 

); 

 

assign dac = 14'b11110001010110; 

 

endmodule 

 

 

 

with clk is 1Mhz clock and I mapped it into PIN_B15, and the 14bit data dac, I mapped it into 14 pin of U14. I sure that after I install like this, I totally get the logic level in U14's pins as in the code, and I also check the clock at pin 28 of U14. It is OK. 

 

However, I use the VOM try to get the analog output voltage of DAC (DAC), but I always got the same level of DC 0.45V. It's always the same when I try to change the input data. I dont know why... 

 

Pls help me how to check and use this DAC module on this board. 

 

Thank you
0 Kudos
14 Replies
Altera_Forum
Honored Contributor II
860 Views

I don't know the board itself but there is a mismatch between your code and your text. In you code, you are defining a parallel output for the DAC, using 14 signals, but in your text you are talking about a single pin, suggesting a serial output. If the DAC's input is a serial signal (which I suspect it is) then you need to do a parallel-to-serial conversion in your FPGA code.

0 Kudos
Altera_Forum
Honored Contributor II
860 Views

Thank for your help. 

 

The input of DAC is 14bit parallel. and after a clock, I will get the analog output level correspondent with 14bit input value. am I right? 

So, in the code, I put a parallel 14bit signal "dac" in 14 pin of DAC, and I will get the serial output analog 

 

but I dont know how to check it by oscilloscope...I tried but I didnot get desired analog output
0 Kudos
Altera_Forum
Honored Contributor II
860 Views

Did you check the DAC datasheet to see if there is a strobe or enable signal to load a value?

0 Kudos
Altera_Forum
Honored Contributor II
860 Views

try to post the link..............sorry

0 Kudos
Altera_Forum
Honored Contributor II
860 Views

try to post a link...sorry for this...pls reply next message Daixiwen

0 Kudos
Altera_Forum
Honored Contributor II
860 Views

this is the on-board DAC, so I think that I just input the digital signal and input the clock and I will get the analog signal. 

the schematic of on-board DAC 904, you can check for me at: this is the on-board dac, so i think that i just input the digital signal and input the clock and i will get the analog signal. the schematic of on-board dac 904, you can check for me at: http://embdev.net/attachment/174974/dac904.png (this is the on-board dac, so i think that i just input the digital signal and input the clock and i will get the analog signal. the schematic of on-board dac 904, you can check for me at: http://embdev.net/attachment/174974/dac904.png)
0 Kudos
Altera_Forum
Honored Contributor II
860 Views

this is the on-board DAC, so I think that I just input the digital signal and input the clock and I will get the analog signal. 

the schematic of on-board DAC 904, you can check for me at: http://embdev.net/attachment/174974/dac904.png
0 Kudos
Altera_Forum
Honored Contributor II
860 Views

From what I'm seeing from the schematic, you shouldn't need to do anything else. Did you check the signal levels on the DAC's pins itself? Both the clock and the Bt* pins? Are the voltage levels correct? (i.e. 0-3.3V) 

Where are you measuring the DAC output? You should do it before the transformer as it would cut out the DC part of your signal.
0 Kudos
Altera_Forum
Honored Contributor II
860 Views

First, if you have a look at the DAC904 datasheet, you will see that the DAC loads the data values on the rising edge of the clock, so it's not a good idea to have a signal pin at the same frequency than your clock. It should be at most half the frequency. 

Second if you have another look at the DAC904 datasheet, you will see that TI made something very stupid: they called "Bit1" the MSB and "Bit14" the LSB. So in fact you need to connect your data vector backwards: dac[0] to Bit14, dac[1] to Bit13, dac[2] to Bit12 etc.... right now you are toggling the least significant bits right now, which are unlikely to change the DAC output enough for you to see it on the scope. Try to toggle Bit1 and Bit2 instead, for example, and see if there are any changes.
0 Kudos
Altera_Forum
Honored Contributor II
860 Views

thank you for your useful information, I will try and let you know the result. 

I read the datasheet of DAC 904. However, in the reference manual of Stratix II board. They NOTE that :"The Texas Instruments (TI) naming conventions differ from those of Altera Corporation. The TI data sheet for the DAC 904 D/A converter lists bit 1 as the most significant bit (MSB) and bit 14 as the least significant bit (LSB)." So, I just mapped follow the reference of Stratix Board. anyway, tomorrow, i will change and try to get the result. I think that I missed something. The probability of broke DAC on the stratix board is very low.
0 Kudos
Altera_Forum
Honored Contributor II
860 Views

 

--- Quote Start ---  

First, if you have a look at the DAC904 datasheet, you will see that the DAC loads the data values on the rising edge of the clock, so it's not a good idea to have a signal pin at the same frequency than your clock. It should be at most half the frequency. 

Second if you have another look at the DAC904 datasheet, you will see that TI made something very stupid: they called "Bit1" the MSB and "Bit14" the LSB. So in fact you need to connect your data vector backwards: dac[0] to Bit14, dac[1] to Bit13, dac[2] to Bit12 etc.... right now you are toggling the least significant bits right now, which are unlikely to change the DAC output enough for you to see it on the scope. Try to toggle Bit1 and Bit2 instead, for example, and see if there are any changes. 

--- Quote End ---  

 

 

I used the oscilloscope to check the frequency of LSB bit (pin 14 of DAC). its frequency is 1Mhz. So, it just take 0.0164s for counting from 0 to 16384 ( the output voltage should be from 0 to 5v AC). So, I think I can "observe" the change in the oscilloscope. I input the clock for the DAC of 5Mhz. but the result is almost the same. the output voltage is always 0V before and after the transformer 

 

I wonder the DAC 904 on this board is broken. So if you have any FPGA stratix board. pls help me> I will send the .sof file and the project file. could you check for me on your board?
0 Kudos
Altera_Forum
Honored Contributor II
860 Views

Dear Daixiwen 

 

I found the problems...I dont know... the problem is...no problem. I did  

simple code... just output 14bit of 0 and 14bit of 1 following the frequency of input clock. the signal output  

in the stratix II board is changed with the frequency of input sequence. 

 

However, in the Stratix I (I test the code in two kinds of Stratix  

board), I can easily observe the output signal on oscilloscope in the  

same condition. But in the Stratix II board, I cant see any signal like  

in the stratix I board... 

 

Anyway, I knew what I am wrong. I learned a lot from forum and from you. 

thank you a gain
0 Kudos
Altera_Forum
Honored Contributor II
860 Views

Is it the same DAC on both boards and is it cabled correctly? 

I'm glad you could make it work eventually. If you were only toggling the LSBs of the DACæs input it is not surprising that you didn't see anything on the scope. Toggling the MSBs should give more significant results. 

Of course TI's rather odd convention for the bit numbering doesn't help
0 Kudos
Altera_Forum
Honored Contributor II
860 Views

yes..the same DAC904, however, in the Stratix II board, the output of DAC is Current, and In the Stratix board, the DAC output is VOLTAGE. the way they drive them.. I think.. 

special thank to you, ^^
0 Kudos
Reply