{"id":762,"date":"2017-11-27T00:37:19","date_gmt":"2017-11-26T23:37:19","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=762"},"modified":"2017-12-30T23:35:29","modified_gmt":"2017-12-30T22:35:29","slug":"14-show-dds-funktionsgenerator-per-stm32f429","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/show-projekte\/14-show-dds-funktionsgenerator-per-stm32f429\/","title":{"rendered":"14-Show (DDS-Funktionsgenerator per STM32F429)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/show-projekte\/13-show-mini-sps-per-stm32f4\/\" title=\"13-Show (Mini-SPS per STM32F4)\"><span class=\"meta-nav\">\u2190<\/span> 13-Show (Mini-SPS per STM32F4)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/show-projekte\/15-show-scope-clock-per-stm32f4\/\" title=\"15-Show (Scope-Clock per STM32F4)\">15-Show (Scope-Clock per STM32F4) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>Mit diesem Projekt wird aus dem STM32F429-Disco Board ein DDS-Funktionsgenerator<\/p>\n<p>Es sind 4 Kurvenformen im Flash abgespeichert (Sinus, Rechteck, S\u00e4gezahn, Dreieck)<br \/>\nAusw\u00e4hlbar per Touch und Einstellbar von 1Hz bis 50kHz. (Die Amplitude und der Offset vom Signal kann auch eingestellt werden)<\/p>\n<p>Mit dem PC-Programm kann der Funktionsgenerator parallel zum Touch gesteuert werden und hier k\u00f6nnen auch User-Kurvenformen geladen und \u00fcbertragen werden.<br \/>\n(das notwendige CSV-File-Format kann z.B. per Excel erstellt werden)<\/p>\n<p><strong>Hinweise :<\/strong><\/p>\n<p>Je nach eingestellter Frequenz ist ein mehr oder weniger gro\u00dfer &#8220;Jitter&#8221; auf dem Signal.<br \/>\nIch bin mir nicht sicher ob das Prinzip bedingt durch die DDS kommt oder ein SW-BUG ist<br \/>\n(hab aber keine Lust da noch mehr Zeit zu investieren)<\/p>\n<p>Auch werden die Kurvenformen bei hohen Frequenzen sehr unsauber. Um das zu verbessern m\u00fcsste ein externer Tiefpass angebracht werden.<\/p>\n<p><strong>Analoger Ausgang :<\/strong><\/p>\n<p>DAC-2 an PA5<\/p>\n<p><strong>Verbindung zum PC :<\/strong><\/p>\n<p>per USB-OTG-Buchse (CN6)<\/p>\n<pre lang=\"c\" line=\"1\">Befehle :\r\n----------\r\n\"Help\"        : anzeige der Version und aller Befehle\r\n\"GET_FRQ\"     : Eingestellte FRQ auslesen\r\n\"GET_AMP\"     : Eingestellte Amplitude auslesen\r\n\"GET_OFF\"     : Eingestellter Offset auslesen\r\n\"GET_WAVE\"    : Eingestellte Wellenform auslesen\r\n\"SET_FRQ=a.b\" : FRQ einstellen (als Float-Wert)\r\n\"SET_AMP=a\"   : Amplitude einstellen (als Int-Wert)\r\n\"SET_OFF=a\"   : Offset einstellen (als Int-Wert)\r\n\"SET_WAVE=a\"  : Wellenform einstellen (als Int-Wert)<\/pre>\n<p><strong>Version :<\/strong><\/p>\n<p>V:1.00 vom 03.04.2014<\/p>\n<p><strong>implementierte Funktionen :<\/strong><\/p>\n<p>Ausgabe von einer Kurvenform an PA5<br \/>\nKurvenformen : Sinus, Rechteck, S\u00e4gezahn, Dreieck (aus dem Flash)<br \/>\nUser-Kurvenform : 2 bis 4096 St\u00fctzpunkte (aus dem RAM)<br \/>\nDAC-Aufl\u00f6sung : 12bit<br \/>\nFrq-Einstellung : 1 Hz bis 50kHz<br \/>\nAmplituden-Einstellung : 0 bis 4095 (0-3,3V)<br \/>\nOffset-Einstellung :\u00a00 bis 4095 (0-3,3V)<br \/>\nAnzeige und Steuerung per Touch oder \u00fcber USB-OTG-Buchse<br \/>\nUser-Kurvenform wird per PC-Programm \u00fcbertragen.<\/p>\n<p><strong>Screenshots :<\/strong><\/p>\n<div id='gallery-1' class='gallery galleryid-3705 gallery-columns-3 gallery-size-thumbnail'>\n<dl class='gallery-item'>\n<dt class='gallery-icon'>\n\t\t\t\t<a href='index665d.html?attachment_id=3730' title='dds_02'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"wp-content\/uploads\/2014\/03\/dds_02-150x150.jpg\" class=\"attachment-thumbnail\" alt=\"DDS-Funktionsgenerator (LCD)\" \/><\/a>\n\t\t\t<\/dt>\n<dd class='wp-caption-text gallery-caption'>\n\t\t\t\tDDS-Funktionsgenerator (LCD)\n\t\t\t\t<\/dd>\n<\/dl>\n<dl class='gallery-item'>\n<dt class='gallery-icon'>\n\t\t\t\t<a href='indexe3ac.html?attachment_id=3750' title='dds_pc01'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"wp-content\/uploads\/2014\/04\/dds_pc01-150x150.jpg\" class=\"attachment-thumbnail\" alt=\"Bedienung per PC-Programm\" \/><\/a>\n\t\t\t<\/dt>\n<dd class='wp-caption-text gallery-caption'>\n\t\t\t\tBedienung per PC-Programm\n\t\t\t\t<\/dd>\n<\/dl>\n<dl class='gallery-item'>\n<dt class='gallery-icon'>\n\t\t\t\t<a href='index6e9f.html?attachment_id=3751' title='dds_pc02'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"wp-content\/uploads\/2014\/04\/dds_pc02-150x150.jpg\" class=\"attachment-thumbnail\" alt=\"User-Kurvenform\" \/><\/a>\n\t\t\t<\/dt>\n<dd class='wp-caption-text gallery-caption'>\n\t\t\t\tUser-Kurvenform\n\t\t\t\t<\/dd>\n<\/dl>\n<p><br style=\"clear: both\" \/><br \/>\n\t\t\t<br style='clear: both;' \/>\n\t\t<\/div>\n<p>Hier der komplette CooCox-Projektordner\u00a0zum<strong>\u00a0download<\/strong>\u00a0:<\/p>\n<p><a href=\"wp-content\/uploads\/2014\/04\/Show_14_Funktionsgenerator.zip\">Show_14_Funktionsgenerator<\/a><\/p>\n<p>Hier das PC-Programm zum\u00a0<strong>download<\/strong>\u00a0:<\/p>\n<p><a href=\"wp-content\/uploads\/2014\/04\/DDS_Generator_UB.zip\">DDS_Generator_UB<\/a><\/p>\n<hr \/>\n<h3 id=\"comments-title\">9 Antworten auf <em>14-Show (DDS-Funktionsgenerator per STM32F429)<\/em><\/h3>\n<ol class=\"commentlist\">\n<li class=\"comment even thread-even depth-1\" id=\"li-comment-1510\">\n<div id=\"comment-1510\">\n<div class=\"comment-author vcard\">\n<img alt='' src='http:\/\/0.gravatar.com\/avatar\/01e35078c071acc1bc9f9fd715ad3f79?s=40&#038;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&#038;r=G' class='avatar avatar-40 photo' height='40' width='40' \/><cite class=\"fn\">Adolf<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">\n29. M\u00e4rz 2014 um 19:17<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Moin Uwe,<\/p>\n<p>danke f\u00fcr den Funktionsgenerator.<\/p>\n<p>Ich hab den Hex Code mal in einen 429 programmiert.<\/p>\n<p>An PA5 wird ein Sinus von von GND bis 3V ausgegeben.<br \/>\nDie Spitzen des Sinus sind abgeflacht (in S\u00e4ttigung).<\/p>\n<p>Allerdings kann ich die Frequenz nur mit den Pfeilen bei<br \/>\nWaveform sinus verstellen.<\/p>\n<p>Bei 10kHz zeigt der Sinus allerdings sehr deutliche Stufen.<\/p>\n<p>Ich hoffe, meine Messung kann Dir ein wenig helfen.<\/p>\n<p>Gru\u00df<br \/>\nAdolf<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-##  --><\/p>\n<ul class='children'>\n<li class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\" id=\"li-comment-1511\">\n<div id=\"comment-1511\">\n<div class=\"comment-author vcard\">\n<img alt='' src='http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&#038;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&#038;r=G' class='avatar avatar-40 photo' height='40' width='40' \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">\n30. M\u00e4rz 2014 um 10:06<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>da scheint noch irgendein BUG in ded DAC-Lib zu sein&#8230;Kanal-2 ist &#8220;invertiert&#8221; &#8230;k.A. warum (das \u00dcbersteuern d\u00fcrfte auch nicht sein&#8230;maxwert ist 4095 = 12bit)<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-##  --><\/p>\n<\/li>\n<li class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\" id=\"li-comment-1512\">\n<div id=\"comment-1512\">\n<div class=\"comment-author vcard\">\n<img alt='' src='http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&#038;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&#038;r=G' class='avatar avatar-40 photo' height='40' width='40' \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">\n30. M\u00e4rz 2014 um 11:59<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>bei Version A.03 kann die Amplitude eingestellt werden. Das bei 10kHz der Sinus nicht mehr &#8220;sauber&#8221; ist, ist normal. DDS-Frq liegt nur bei 250kHz und die ROM-Tabelle f\u00fcr den Sinus hat 256 Eintr\u00e4ge. Also ist alles > 1kHz &#8220;unsauber&#8221;<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-##  --><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li class=\"comment odd alt thread-odd thread-alt depth-1\" id=\"li-comment-1801\">\n<div id=\"comment-1801\">\n<div class=\"comment-author vcard\">\n<img alt='' src='http:\/\/0.gravatar.com\/avatar\/cfe5a02294159faf55c25c652d9436c6?s=40&#038;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&#038;r=G' class='avatar avatar-40 photo' height='40' width='40' \/><cite class=\"fn\">Stefan Friedrich<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">\n26. Mai 2014 um 19:00<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi Uwe,<\/p>\n<p>ich habe ein \u00e4hnliches Problem wie oben beschrieben. Bei mir ist der Sinus beim Minimum abgeflacht. Durch einstellen des Offsets wird es besser, aber ich komm leider nicht dahinter wo es herkommt .<br \/>\nHast du eine Idee ?<\/p>\n<p>Vielen Dank schonmal und viele Gr\u00fc\u00dfe,<br \/>\nStefan<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-##  --><\/p>\n<ul class='children'>\n<li class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\" id=\"li-comment-1819\">\n<div id=\"comment-1819\">\n<div class=\"comment-author vcard\">\n<img alt='' src='http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&#038;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&#038;r=G' class='avatar avatar-40 photo' height='40' width='40' \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">\n27. Mai 2014 um 20:18<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ist das beim Dreieck-Signal genauso ?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-##  --><\/p>\n<ul class='children'>\n<li class=\"comment odd alt depth-3\" id=\"li-comment-1821\">\n<div id=\"comment-1821\">\n<div class=\"comment-author vcard\">\n<img alt='' src='http:\/\/0.gravatar.com\/avatar\/cfe5a02294159faf55c25c652d9436c6?s=40&#038;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&#038;r=G' class='avatar avatar-40 photo' height='40' width='40' \/><cite class=\"fn\">Stefan Friedrich<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">\n28. Mai 2014 um 14:14<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ja bei dem Dreieck Signal sind die Spitzen unten auch flach.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-##  --><\/p>\n<ul class='children'>\n<li class=\"comment byuser comment-author-admin_ub bypostauthor even depth-4\" id=\"li-comment-1826\">\n<div id=\"comment-1826\">\n<div class=\"comment-author vcard\">\n<img alt='' src='http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&#038;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&#038;r=G' class='avatar avatar-40 photo' height='40' width='40' \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">\n30. Mai 2014 um 11:06<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>dann ist die DAC Aufl\u00f6sung wohl nicht linear von 0 bis 4095. Dann musst du die Amplitude kleiner machen und den Offset etwas nach oben schieben, bis das Dreieck-Signal sauber aussieht. Bin mir nicht sicher wo da der Fehler liegt.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-##  --><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li class=\"comment odd alt thread-even depth-1\" id=\"li-comment-2100\">\n<div id=\"comment-2100\">\n<div class=\"comment-author vcard\">\n<img alt='' src='http:\/\/0.gravatar.com\/avatar\/c08a28e971ee4efd10c71d89cfbfc769?s=40&#038;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&#038;r=G' class='avatar avatar-40 photo' height='40' width='40' \/><cite class=\"fn\">Lothar<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">\n28. August 2014 um 22:10<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo Uwe,<br \/>\neinsame Klasse deine Libs und Projekte. Hat mir sehr viel geholfen, um mit dem F4 warm zu werden. Das Begrenzungsproblem liegt wahrscheinlich an den DACs selbst. Im buffered Mode sind weder null, noch drei Volt zu erreichen. Die Puffer sind wohl nicht Rail to Rail. Das habe ich beim 407 festgestellt und das Datenblatt best\u00e4tigt das.<br \/>\nGr\u00fc\u00dfe Lothar<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-##  --><\/p>\n<\/li>\n<li class=\"comment even thread-odd thread-alt depth-1\" id=\"li-comment-3316\">\n<div id=\"comment-3316\">\n<div class=\"comment-author vcard\">\n<img alt='' src='http:\/\/1.gravatar.com\/avatar\/b87f49cece8e090ffbe5526cdd33b050?s=40&#038;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&#038;r=G' class='avatar avatar-40 photo' height='40' width='40' \/><cite class=\"fn\">Pietro Zanocco<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">\n6. Juni 2015 um 16:33<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<br \/>\nit is a very usefull example, can i have the source of pc program?<br \/>\nin which language is written?<\/p>\n<p>Thanks to everyone!!<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-##  --><\/p>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Mit diesem Projekt wird aus dem STM32F429-Disco Board ein DDS-Funktionsgenerator Es sind 4 Kurvenformen im Flash abgespeichert (Sinus, Rechteck, S\u00e4gezahn, Dreieck) Ausw\u00e4hlbar per Touch und Einstellbar von 1Hz bis 50kHz. (Die Amplitude und der Offset vom Signal kann auch eingestellt &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/show-projekte\/14-show-dds-funktionsgenerator-per-stm32f429\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":591,"menu_order":14,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[134,129],"tags":[272,273,167,102,103],"class_list":["post-762","page","type-page","status-publish","hentry","category-show-projekte","category-stm32f429","tag-dds","tag-funktionsgenerator","tag-projekt","tag-stm32f429","tag-stm32f429idiscovery"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/comments?post=762"}],"version-history":[{"count":2,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/762\/revisions"}],"predecessor-version":[{"id":1135,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/762\/revisions\/1135"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/591"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}