{"id":1161,"date":"2016-01-24T11:26:10","date_gmt":"2016-01-24T11:26:10","guid":{"rendered":"http:\/\/coolt.ch\/notizen\/?p=1161"},"modified":"2016-01-24T11:26:10","modified_gmt":"2016-01-24T11:26:10","slug":"pll-phase-locked-loop","status":"publish","type":"post","link":"https:\/\/coolt.ch\/notizen\/pll-phase-locked-loop\/","title":{"rendered":"PLL Phase Locked Loop"},"content":{"rendered":"<p>In den FPGAs sind PLLS ein Standard f\u00fcr zwei Gr\u00fcnde:<br \/>\n&#8211; Um Pfadverz\u00f6gerungen zu Kompensieren (Bsp. 2)<br \/>\n&#8211; Um andere Taktfrequenzen zu erhalten (Bsp. 1)<\/p>\n<p><strong>Neuer Takt<\/strong><br \/>\nViele Protokole besitzen ihre eigene Takt-Frequenz. Daher braucht es einige Takte innerhalb eines FPGAs<\/p>\n<pre class=\"lang:sh decode:true\">f_out = (f_in * m) \/ n         \/\/ m wird multipliziert,  n und g dividiert<\/pre>\n<p><a href=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/pll_schema_Takt_Generator.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1166\" src=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/pll_schema_Takt_Generator.png\" alt=\"pll_schema_Takt_Generator\" width=\"872\" height=\"218\" srcset=\"https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/pll_schema_Takt_Generator.png 872w, https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/pll_schema_Takt_Generator-300x75.png 300w\" sizes=\"(max-width: 872px) 100vw, 872px\" \/><\/a><\/p>\n<p><strong><br \/>\nKompensation Verz\u00f6gerung<\/strong><br \/>\nWerte im Feedback Pfad <span class=\"lang:sh decode:true crayon-inline \">v1= 3 ns<\/span>\u00a0 schieben CLK_IN nach vorne<strong>,<br \/>\n<\/strong>Werte beim Ausgang <span class=\"lang:sh decode:true crayon-inline \">v2 = 8 ns<\/span>\u00a0 verz\u00f6gern CLK_IN.<strong><br \/>\n<a href=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/pll_schema_delay.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1167\" src=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/pll_schema_delay.png\" alt=\"pll_schema_delay\" width=\"848\" height=\"219\" srcset=\"https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/pll_schema_delay.png 848w, https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/pll_schema_delay-300x77.png 300w\" sizes=\"(max-width: 848px) 100vw, 848px\" \/><\/a><\/strong><\/p>\n<p>Bsp Kompensation<br \/>\nAusgangslage: Durch <a href=\"http:\/\/coolt.ch\/notizen\/timing-durchlaufverzoegerung-t_pd\/\">Flip-Flop-Verz\u00f6gerung<\/a> oder <a href=\"http:\/\/coolt.ch\/notizen\/optimieren-taktfrequenz-bauteil\/\">Pfadverz\u00f6gerung<\/a> und IO-Verz\u00f6gerung kommt <span style=\"color: #339966;\">data 5ns sp\u00e4ter als CLK_50 beim SRAM an<\/span>.<br \/>\n1.)\u00a0 <strong>Entweder<\/strong> f\u00fchrt man ein PLL in den <span style=\"color: #000000;\">data<\/span>-Pfad ein,<br \/>\ndann muss der PLL den <strong>CLK_50 vorverlegen<\/strong> <span class=\"lang:sh decode:true crayon-inline \">v1 = 5 ns<\/span><br \/>\num die Versp\u00e4tung zu kompensieren,<br \/>\noder\u00a0\u00a0 (siehe Bild)<br \/>\n2.) man <strong>verz\u00f6gert den CLK_50<\/strong> zum SRAM mit genau der Verz\u00f6gerung,<br \/>\ndie der data-Pfad hat <span class=\"lang:sh decode:true crayon-inline \">v2 = 5 ns<\/span>\u00a0. Dann kommt CLK RAM &#8222;gleich verz\u00f6gert &#8220;<br \/>\nwie data beim SRAM an.<br \/>\n<a href=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/PLL_SDRAM.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1164\" src=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/PLL_SDRAM.png\" alt=\"PLL_SDRAM\" width=\"832\" height=\"338\" srcset=\"https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/PLL_SDRAM.png 832w, https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/PLL_SDRAM-300x122.png 300w\" sizes=\"(max-width: 832px) 100vw, 832px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>PLL Rechenbeispiel mit Takterzeugung und Verz\u00f6gerung<\/strong><\/p>\n<p><a href=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/a_pll.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1163\" src=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/a_pll.png\" alt=\"a_pll\" width=\"958\" height=\"644\" srcset=\"https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/a_pll.png 958w, https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/01\/a_pll-300x202.png 300w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><\/a><\/p>\n<p>..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In den FPGAs sind PLLS ein Standard f\u00fcr zwei Gr\u00fcnde: &#8211; Um Pfadverz\u00f6gerungen zu Kompensieren (Bsp. 2) &#8211; Um andere Taktfrequenzen zu erhalten (Bsp. 1) Neuer Takt Viele Protokole besitzen ihre eigene Takt-Frequenz. Daher braucht es einige Takte innerhalb eines FPGAs f_out = (f_in * m) \/ n \/\/ m wird multipliziert, n und g &hellip; <a href=\"https:\/\/coolt.ch\/notizen\/pll-phase-locked-loop\/\" class=\"more-link\"><span class=\"screen-reader-text\">PLL Phase Locked Loop<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[21,50],"tags":[48],"_links":{"self":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1161"}],"collection":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/comments?post=1161"}],"version-history":[{"count":4,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1161\/revisions"}],"predecessor-version":[{"id":1172,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1161\/revisions\/1172"}],"wp:attachment":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/media?parent=1161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/categories?post=1161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/tags?post=1161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}