digital to analog conversion
4 ビュー (過去 30 日間)
古いコメントを表示
Danilo NASCIMENTO
2013 年 10 月 25 日
コメント済み: Walter Roberson
2013 年 10 月 26 日
I performed a serial communication between dsPIC33F and Simulink. When I send a constant value through serial connection to microcontroller and takes it back to Simulink, the signal comes like a train of pulses with amplitude equals to the value of the one I chose to send. I was thinking of a workaround to put a Digital to Analog converter before I send the value to serial. But I did not find any block in Simulink library that can perform this, only Analog - Digital conversion, that, I guess, will not work. I'm sending the output of signal that I received from serial connection. If anyone has a workaround for me I would appreciate.
0 件のコメント
採用された回答
Walter Roberson
2013 年 10 月 25 日
Analog signals cannot be sent to serial ports.
Serial ports do not send constant values: the protocol is an asynch protocol with a "start bit" and a "stop bit" (one of which breaks the other portions of the protocol), and between 7 and 10 data bits (up to 12 data bits in some variations.)
4 件のコメント
Walter Roberson
2013 年 10 月 26 日
編集済み: Walter Roberson
2013 年 10 月 26 日
Are you asking how to return back to Simulink a simulation of you having sent the signal to AN0 ? If so then that is not something I have ever looked at.
I could imagine doing it through serial transmission, by mapping the state at a fixed time step (my "unit" above) to a bit, and transmitting groups of 8 bits, with a serial receive block converting the bits into some form appropriate for the model.
Is the idea to have Simulink plot the pulse-train? If so then that can be done by having the serial receive block pass through a logical demux block (that might be implemented as an arithmetic block or two), and then on to a scope. All done in software with digital signals. You cannot transmit an analog signal directly back into Simulink over a serial port.
Another approach would be to connect the 33f AN0 to an A/D receive block on the Simulink side (i.e., have A/D hardware there), and then connect the A/D receive block to a scope.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!