Hi zusammen.. habe ein Frequenzteiler-Problem,und zwar ich hab ein Eingangfrequenz von 50 Mhz,die muss ich teilen so dass ich am Ausgagng eine Frequenz von 19,2 Khz habe..Das Frequenzteilerprogramm soll in VHDL geschrieben werden.. Hat jemand ein Vorschlag für mich? Danke
Durch 2604 teilen. Da die 19.2 KHz vermutlich für eine UART Verbindung sind, macht der Fehler nichts aus.
man schreibt keine programme in vhdl. btw hausaufgaben sollte man schon selber machen...
Ich hab das folgende Programm in der Hand..aber dieses Programm hat ein Eingangfrequenz von 2,4567 Mhz und teilt sie auf 38,4 Khz..wie kann ich dieses Programm umschreiben,so dass er mir ein 50 Mhz Frequenz auf 19,2 Khz teilt? -- frequenzteiler.vhd -- ENTITY frequenzteiler IS PORT (clock : IN bit ; -- Eingangstakt; f=2,4576 MHz t_clk : BUFFER bit ; -- Transmitter-Takt r_clk : BUFFER bit ) ; -- Receiver-Takt END frequenzteiler ; ARCHITECTURE behaviour OF frequenzteiler IS BEGIN PROCESS VARIABLE count : integer RANGE 0 TO 128 ; -- Zähler BEGIN WAIT UNTIL clock'event AND clock='1' ; count := count+1 ; -- Zähler inkrementieren CASE count IS WHEN 32 => r_clk <= NOT r_clk ; WHEN 64 => r_clk <= NOT r_clk ; WHEN 94 => r_clk <= NOT r_clk ; WHEN 128 => r_clk <= NOT r_clk ; t_clk <= NOT t_clk ; count:=0 ; WHEN OTHERS => NULL ; END CASE ; END PROCESS; END behaviour;
Ich arbeite an einem Projekt an der Uni,und das ist mein Teil von Projekt,aber ich komme damit nicht weiter und muss ihn schon am Freitag abgeben! es wäre nett wenn jemand mich retten könnte :) !!
Wie unser GA5T schon schrieb, handelt es sich bei VHDL NICHT um Programme ! Als kleinen Lösungsansatz: Im VHDL-Text steht: 2,456 / 0,384 = 63,9... also 64 Du willst: 50 / 0,192 = 2604,17... also 2604 Den Rest kannst Du Dir selber denken ( hoffentlich ). Schau Dir mal den Counter in deinem Quelltext an. Davon ab kannst Du den Code wie er dort steht eh nur simulieren.
Der Code ist zwar nicht übermäßig elegant (der Vergleicher hängt am Zählereingang, nicht am Ausgang), sieht aber eigentlich ganz gut synthetisierbar aus.
@ Natalie (Gast) >Ich arbeite an einem Projekt an der Uni,und das ist mein Teil von >Projekt,aber ich komme damit nicht weiter und muss ihn schon am Freitag >abgeben! es wäre nett wenn jemand mich retten könnte :) !! Retten? Wer in einem UNI-Projekt am Ende des Projekts nicht mal solch elementare Dinge selbstständig lösen kann verdient keine Rettung. Lernen durch Schmerz. MfG Falk P.S. Los, jetzt bitte wieder die Kommentare der Politisch Korrekten.
Herr Hertwig,ich denke dass es mir schon klar geworden ist,dass 50 / 0,192 = 2604,17 gibt,ich brauchte auch nicht den "GAST" um es mir zu sagen.Sie könnte auch Ihre "Hoffentlich" kommentar auch sparen..wenn Sie mir helfen wollen dann wäre es nett,wenn nicht dann schreiben Sie keine Ironische kommentare..
wieder ein Klugscheisser...der Falk !!! es ist ein Forum,um menschen,die Probleme haben tipps zu geben...
@ Natalie ÄÄÄÄTSCH gehe direkt ins Gefängnis, gehe nicht über Los und ziehe auch keine Projektarbeitsnote ein ... Die Antwort wurde genau in den Postings gegeben ... Von daher zeigt es auf, das du nix von dem was in der Projektarbeit gefordert wurde, verstehst ! Also nicht rumheulen sondern so viel Arsch in der Hose haben und nen Semester dran hängen und lernen !
Es ist wohl eine menschliche Schwäche, dass Können immer mit ein wenig Arroganz einhergeht. Zum Glück darf ich mich davon freisprechen: ich kann nix! :-)
Philip Kirchhoff wrote: > Es ist wohl eine menschliche Schwäche, dass Können immer mit ein wenig > Arroganz einhergeht. > Zum Glück darf ich mich davon freisprechen: ich kann nix! :-) Du ich habe von der VHDL Programmierung so viel Ahnung wie ne Kuh vom Fliegen, doch habe ich den Wink mit dem Riesen-Stahlträger verstanden und sofort entdeckt was wie im Quelltext geändert werden muss um die 50/0,192 Teilung zu realisieren !
@plip Naja, Arroganz würde ich dazu nicht sagen. Ich kann auch bei weitem nicht alles in VHDL realisieren ( könnte es aber gern :). Auch wenn ich noch nicht lange hier angemeldet bin, habe ich bereits feststellen müssen, dass viele einfach nur ihre "Hausaufgaben" gelöst haben wollen. Und das ist nun wirklich nicht der Sinn eines Forums. Übrigens ist das auch nicht Sinn eines Studiums das Lösen von Aufgaben anderen Leuten zu überlassen. @Natalie siehe plip ... zusätzlich: Wenn Dir klar ist was mit dem Teilerverhältnis anzustellen ist, dann hättest Du gar nicht nochmal fragen müssen. Denn bereits Klaus hatte die richtige Lösung gepostet. Bücher lesen soll auch helfen ... ( War das jetzt wieder arrogant ? )
Aber leute,wenn ich das Antwort kenne,würde ich nicht um hilfe bieten !!! VHDL ist in meiner Studium meine Schwachstelle,aber es bedeutet nicht dass ich in allen fächer schwach bin..und was ist schlimm daran wenn ich in einem Projekt,wo meine schwachstelle liegt,um hilfe biete??!! Ich finde es sehr arrogant,wie die Menschen hier auf meine Frage reagiert haben,ich verlange nicht dass jemand für mich die Hausaufgabe macht,aber ich brauchte hilfe und hab zufählig dieses Forum in Imternet entdeckt und hab versucht..und lag völlig daneben! Aber die Leute nicht,die kein Bock haben,auf miene Frage zu antworten,aber trotzdem hinterlassen sie ein Ironisches Kommentar...
@ Natalie (Gast) >und was ist schlimm daran >wenn ich in einem Projekt,wo meine schwachstelle liegt,um hilfe >biete??!! Nichts. Aber der Ton macht die Musik. Und deine bisherigen Postings lassen keine Eigeninitiative erkennen. Und das ist der Knackpunkt. Wenn du schreiben würdest, was du schon probiert hast und wie du es zu lösen versuchst, DANN kommen wir vielleicht ins Geschäft. Aber einfach nur die Aufgabenstellung aus dem Projekt abschreiben und hier reinstellen kommt gar nicht gut an. >nicht,die kein Bock haben,auf miene Frage zu antworten,aber trotzdem >hinterlassen sie ein Ironisches Kommentar... Schon mal was von Netiquette gehört? Siehe oben. MfG Falk
>@ Natalie > >ÄÄÄÄTSCH gehe direkt ins Gefängnis, gehe nicht über Los und ziehe auch >keine Projektarbeitsnote ein ... Das ist schon sehr gehässig, aber auch ich muss sagen, daß es einfach nicht sein kann, daß wegen jeder Dümpelaufgabe 100 Leute im Forum angehauen werden. Klar, dass da keiner antwortet. Da hilft es auch nichtm wenn man sich als Frau ausgibt, liebe(r) "Natalie". Helfen kann da nur der Kommillitone oder der Prof. Sowas muss man selber mal schreiben und sich per Simulation herantastet. Sonst wird das nichts. Lernen heisst nicht, "irgendowo zusammenklauben", sondern "ERARBEITEN" Da steckt das Wort ARBEITEN drin. ARBEITEN und LERNEN, sagt der Latiner! Wenn man allerdings auf so eine Lösung nicht intuitiv kommt (Teiler berechnen, runden, Relevanz des Rundungsfehlers abschätzen, Code herstellen und test) dann rate ich schnell zu einem anderen Job.
>> Da hilft es auch nichtm wenn man sich als Frau ausgibt, liebe(r) "Natalie".
hehe genau das hab ich mir auch gedacht g
Erstens lieber Falk,ich hab nicht einfach die Aufgabenstellung im Forum geschrieben..es ist nur ein Teil von meinem Projekt,und die ist die RS232 schnittstelle..Das andere Teil von Projekt habe ich schon gemacht,hatte dabei probleme aber am ende hab ich geshafft,nur beim Frequenzteilen könnte ich nicht weiter kommen,dann habe ich versucht in diesem netten Forum! Natürlich für die Leute,die sich sehr gut in VHDL kennen,werden meine Frage blöd finden,aber sie sollen einbisschen daran denken,dass man sich nicht in allem auskennt.was für dich kinderleicht ist könnte für einen anderen sehr schwer sein und umgekehrt..
und ich gebe mich nicht als Frau aus...ihr seid aber echt lächerlich hier ! wie seid ihr "gast" und "Gast" dazu gekommen? oder wollt ihr euch nur so als kluge menschen in diesem forum darstellen?
Falk Brunner wrote: > > Schon mal was von Netiquette gehört? Siehe oben. > > MfG > Falk Wie waere es, wenn der Artikel Netiquette o. Ä. angelegt wird? Dann kann bei einigen Posts direkt wie bei Bildformate darauf verwiesen werden -stef
>> und ich gebe mich nicht als Frau aus...ihr seid aber echt lächerlich >> hier ! wie seid ihr "gast" und "Gast" dazu gekommen? Erfahrungswerte. Wenn es um Hausaufgaben/Uniaufgaben geht, die Zeit knapp ist und nur die Aufgabe gepostet wird, trifft man sehr oft auf Frauennamen. Gerne auch mal mit Mailadresse die sich per google einem Mann zuordnen lässt. Danach kommen dann Ausreden wie blabla is von meinem Freund usw. klar... ^^ Viele hoffen wohl auf den Frauenbonus / bzw darauf einen Beschützer- bzw Helferinstinkt zu wecken lol Abgesehen davon will ich mal nicht so sein: einfach zb mal nach uart fpga googeln und gucken wie es andere lösen und dann selber implementieren. Da bekommt man auch als Anfänger schnell eine Idee wie das ganze implementiert wird und (vorsicht!) lernt evtl noch was dabei ;)
@ Natalie (Gast) >Erstens lieber Falk,ich hab nicht einfach die Aufgabenstellung im Forum >geschrieben..es ist nur ein Teil von meinem Projekt,und die ist die >RS232 schnittstelle..Das andere Teil von Projekt habe ich schon >gemacht,hatte dabei probleme aber am ende hab ich geshafft,nur beim >Frequenzteilen könnte ich nicht weiter kommen,dann habe ich versucht in >diesem netten Forum! Das kann ich mir nicht wirklich vorstellen. Wenn du schon andere Sachen in VHDL gemacht hast, dann ist der Frequenzteiler das kleinste Problem. Na, haben wir ein wenig geflunkert? Was hast du denn schon in deinem Projekt gemacht? >Natürlich für die Leute,die sich sehr gut in VHDL kennen,werden meine >Frage blöd finden,aber sie sollen einbisschen daran denken,dass man sich >nicht in allem auskennt. Muss man auch gar nicht. >was für dich kinderleicht ist könnte für einen >anderen sehr schwer sein und umgekehrt.. Ja und? Was erwartest du konkret? Das es jemand fertig hinschreibt? Könnte ich, in drei Minuten. Mach ich aber nicht, weil mir deine Argumentation nicht überzeugend klingt. Von mir bekommt man Hilfe zur Selbsthilfe. Vorkauen tun andere. Taktung FPGA/CPLD @ Stefan B. (sbs) >Wie waere es, wenn der Artikel Netiquette o. Ä. angelegt wird? >Dann kann bei einigen Posts direkt wie bei Bildformate darauf >verwiesen werden Na dann fang mal an. MFG Falk
Lieber Falk...ich glaube dir dass du die Lösung einfach in 3 min schreiben kannst..aber wenn du es nicht willst,warum schreibst du denn etwas hier?? meine frage war,ob jemand mir die Frage beantwort könnte. Nicht aber dass jemand,wie du,einfach sich meldet und sagt,"ICH KÖNNTE DIE FRAGE IN 3 MIN BEANTWORTEN ABER WILL ICH ES NICHT MACHEN" !!! wenn meine Argumente dich nicht überzeugt haben dann könntest du einfach von der seite raus und weiter nach anderen Fragen suchen...
DIE ANTWORT WURDE SCHON MEHRFACH GENNANT !!! Und so ganz nebenbei ist Falk ein mehr als fähiger User in diesem Forum und gibt spitzen Hinweise und Tipps. Warum das in Deinem Fall nicht so ist, hat er mittlerweile ausführlich beantwortet ;) Aber für ganz Faule:
1 | ENTITY frequenzteiler IS |
2 | PORT (clock : IN bit ; |
3 | t_clk : BUFFER bit ; |
4 | r_clk : BUFFER bit ) ; |
5 | END frequenzteiler ; |
6 | |
7 | ARCHITECTURE behaviour OF frequenzteiler IS |
8 | BEGIN
|
9 | PROCESS
|
10 | VARIABLE count : integer RANGE 0 TO 2604 ; |
11 | BEGIN
|
12 | WAIT UNTIL clock'event AND clock='1' ; |
13 | count := count+1 ; |
14 | CASE count IS |
15 | WHEN 0 => r_clk <= NOT r_clk ; |
16 | WHEN 2604/2 => r_clk <= NOT r_clk ; |
17 | WHEN 2604 => count := 0; |
18 | WHEN OTHERS => NULL ; |
19 | -- den restlichen Müll hab ich einfach mal entfernt ;)
|
20 | END CASE ; |
21 | |
22 | END PROCESS; |
23 | END behaviour; |
Man glaubt es kaum, aber man muss 32 und 64 nur durch 1302 und 2604 ersetzen. Das Leben eines Ingenieurs ist echt hart ....
@ Thomas Hertwig (mac4ever) >und gibt spitzen Hinweise und Tipps. Warum das in Deinem Fall nicht so >ist, hat er mittlerweile ausführlich beantwortet ;) Wenigsten einer, der es verstanden hat. >Aber für ganz Faule: Ob das pädagogisch gut ist? Naja. Ausserdem ist der Code sehr akademisch, nicht wirklich ein gutes Beispiel. Und er teilt fälschlicherweise durch 2605, nicht wie eigentlich gewünscht durch 2604. Ja, Null ist auch eine Zahl ;-) MFG Falk
Falk Brunner wrote: > Ausserdem ist der Code sehr akademisch, nicht wirklich ein gutes > Beispiel. > Und er teilt fälschlicherweise durch 2605, nicht wie eigentlich > gewünscht durch 2604. Ja, Null ist auch eine Zahl ;-) Ob der Code gut oder schlecht ist, sei mal dahin gestellt. Das ist der Code, den Natalie gepostet hat. Mit der 2605 hast Du natürlich recht also im Code ändern: 2603 ;)
Persönlich würde ich das auch nicht so lösen. Es ist das oben genannte Beispiel mit den korrigierten Werten. Über die Synthesefähigkeit hatte ich auch schon meine Zweifel geäußert.
Ausserdem sind Variablen böse(TM) und hier total überflüssig... Und, funktioniert nun alles ? Heute ist ja Abgabe (s.o.)
gast wrote: > Ausserdem sind Variablen böse(TM) und hier total überflüssig... > Und, funktioniert nun alles ? Heute ist ja Abgabe (s.o.) Warum sind Variablen böse? Meine haben mir noch nie was getan... Aber mal im Ernst, ich arbeite in meiner Diplomarbeit recht viel mit Variablen, hab ich mir damit jetzt ein Ei gelegt? Und warum ist der Code oben akademisch?
@ Philip Kirchhoff (plip) >Aber mal im Ernst, ich arbeite in meiner Diplomarbeit recht viel mit >Variablen, hab ich mir damit jetzt ein Ei gelegt? Kann passieren, wenn man nicht wirklich den Unterschied zu Signalen verstanden hat. >Und warum ist der Code oben akademisch? - buffer verwendet man nicht, weil das bisweilen Probleme in der Simulation macht. Nur out, und wenn intern die Variable gelesen werden muss halt ein internes Signal, das dem out Port zugewiesen wird - Variablen sind hier nicht notwendig und eher ungünstig. - bit als Datentyp verwendet man auch nicht, immer std_logic! - wait hat in synthetisierbarem VHDL nichts zu suchen - Wenn es *wirklich ein 50% Duty Cycle sein soll zählt man bis cnt/2 und toggelt, das ergibt einfachere Logik (und einen um ein Bit kleineren Zähler) als oben im Beispiel. Also alle in allem eher so.
1 | library IEEE; |
2 | use IEEE.STD_LOGIC_1164.ALL; |
3 | use IEEE.NUMERIC_STD.ALL; |
4 | |
5 | ENTITY frequenzteiler IS |
6 | PORT (clock : in std_logic; |
7 | t_clk : out std_logic; |
8 | r_clk : out std_logic) ; |
9 | END frequenzteiler ; |
10 | |
11 | ARCHITECTURE behaviour OF frequenzteiler IS |
12 | |
13 | signal r_clk_int : std_logic; |
14 | signal count : integer RANGE 0 to 2604/2; |
15 | |
16 | BEGIN
|
17 | |
18 | r_clk <= r_clk_int; |
19 | |
20 | PROCESS (clock) |
21 | BEGIN
|
22 | if rising_edge(clock) then |
23 | count <= count-1; |
24 | if count=0 then |
25 | count <= 1301; |
26 | r_clk_int <= not r_clk_int; |
27 | end if; |
28 | end if; |
29 | END PROCESS; |
30 | |
31 | END behaviour; |
- Wahrscheinlich wird aber eher ein Clock Enable gebraucht, siehe Taktung FPGA/CPLD MFG Falk
Variablen haben das Problem, dass sie nicht wie ein Signal gepuffert sind. Wenn Du mehrere Berechnungen hintereinander ausführst, dann werden bei Signalen pro Takt eine Berechnung/Operation durchgeführt. Bei Variablen passiert alles in einem Takt. Dadurch kann es schnell mal zu Problemen mit dem Timing führen. Bsp: Mit Signalen
1 | signal s1,s2,s3 : std_logic := '0'; |
2 | |
3 | s1<='1'; |
4 | s2<=s1; |
5 | s3<=s2; |
Takt 1: s1=1, s2=0, s3=0 Takt 2: s1=1, s2=1, s3=0 Takt 3: s1=1, s2=1, s3=1 Mit Variablen
1 | variable v1,v2,v3 : std_logic := '0'; |
2 | |
3 | v1<='1'; |
4 | v2<=v1; |
5 | v3<=v2; |
Takt 1: v1=1, v2=1, v3=1 In diesem Beispiel ist das sicherlich noch unkritisch. Aber bei komplexen Berechnungen ( mul, add, usw. hintereinander ) kann es durchaus dazu kommen, dass das Ergebnis nicht zur nächsten Taktflanke bereitsteht. Somit hast Du einen schönen Datensalat .... mmh lecker :)
> In diesem Beispiel ist das sicherlich noch unkritisch. Aber bei > komplexen Berechnungen ( mul, add, usw. hintereinander ) kann es > durchaus dazu kommen, dass das Ergebnis nicht zur nächsten Taktflanke > bereitsteht. Somit hast Du einen schönen Datensalat .... mmh lecker :) Schmarrn, Käse ... Ob die Ergebnisse zur nächsten Taktflanke bereitstehen hat überhaupt nichts mit Variablen zu tun, sondern mit der Komplexität der Logik. Das kann mit Signalen genauso passieren. Und um zu bemerken dass es passiert, teilt man dem Tool eben mit welche Taktfrequenz man erreichen will (Stichwort Constraints). Dann bekommt man eine Rückmeldung ob alles ok ist oder nicht.
Natürlich kann das auch mit Signalen passieren. Hab ja auch nichts anderes behauptet. Ich wollte eigentlich nur verdeutlichen, dass die gleiche Abfolge von Befehlen und Zuweisungen im Quelltext keineswegs gleich mit Signalen und Variablen umgesetzt wird. Durch die Wiederverwendung von Ergebnissen als Eingang für die nächste Operation kann es so schnell zu Missverständnissen kommen, wenn man den Unterschied nicht kennt.
Natalie heißt bestimmt Orkan und hat in diesem Semester für das Projekt nichts getan. Falks Meinung unterstütze ich zu 100%. Ein Forum ist dazu da um zu helfen und nicht um Hausaufgaben zu erledigen. Wenn du mit dem Teilungsrest nichts anfangen könntest, wäre es verständlich, aber eine fertig geschriebene Aufgabe von jemand anders bringt dich auch nicht weiter. Als ich studiert habe, war meine Projektaufgabe auch nicht schwer, doch weil ich nicht die Erfahrung mit VHDL hatte, musste ich schon paar Abende im Labor verbringen und das hat mich in meinem Arbeitsleben weiter gebracht als ich dachte. Ohne VHDL, hätte ich jetzt keine Stelle in der jetzigen Firma bekommen.
>Das kann mit Signalen genauso passieren.
Das kann sogar NUR! mit Signalen passieren, da es synthesetechnisch
keine Variablen gibt.
Abgesehen von dem Umstand, daß ich ebenfalls zu mehr Eigeninitiative
rate, was das Lernen angeht, sei hier noch eine Anmerkung gebracht:
Mittels geeigneter PLL-Ketten kann man nahezu jede Frequenz aus einer
anderen starr erzeugen, ohne den Rahmen, der einem von den PLLs
vorgegeben wird, zu verlassen. Wenn also der Faktor 2406 nicht reicht,
weil er zu ungenau ist, der kann die speisende Frequenz einfach per PLL
hochsetzen, dann dann Teilen.
50MHz auf 19k2 -> X , dann mit k erweiten , bis Fehler klein genug. Hier
ergibt sich durch eine einfache -> Primfaktorzerlegung, die man zu
meiner Zeit noch im Kopf machen musste! die Wertefolge 5 und 6. Damit
erhöhen wir einfach die 50 MHz auf PLL-intern 300 und Teilen
anschließend durch 15625.
Das erspart krumme Werte. Die Idee hätte ich gerne auch in einem der
Anwortbeiträge hier gelesen.
@ Jürgen ... (engineer) >Mittels geeigneter PLL-Ketten kann man nahezu jede Frequenz aus einer >anderen starr erzeugen, ohne den Rahmen, der einem von den PLLs Weil ja PLL-Ketten auch so unproblematisch sind. >erhöhen wir einfach die 50 MHz auf PLL-intern 300 und Teilen >anschließend durch 15625. Eine einfache DDS ohne Sinustabelle ist kleiner und genauer. >Das erspart krumme Werte. Die Idee hätte ich gerne auch in einem der >Anwortbeiträge hier gelesen. Wozu? Der Teilfaktor ist genau 2604,1666666666666666666666666667. Wenn man durch 2604 teilt ist das ein Fehler von "sagenhaften" 0,0064004096262160778289810547875064% Das sollte für einen UART genügen. Pedanterie ist uncool, zumindest bei richtigen Ingenieuren (tm). MfG Falk
Ja warum ungenau wenn es auch genau(er) geht? Wie genau ist denn der angeschlossene Quarz?
@ Frank U. (Gast) >(Pedanterie) Waum ungenau , wenn es auch genau geht ? Klar, weil PLLs auch mal so hoppla hop gemacht sind und sooo einfach sind. http://de.wikipedia.org/wiki/Pedanterie MfG Falk
>Pedanterie ist uncool, zumindest bei richtigen Ingenieuren (tm).
Das schreibt ausgerechnet der größte Pedant des ganzen Boards... Ich
sage nur "Bildformate"!
GeradeDu wrote: >>Pedanterie ist uncool, zumindest bei richtigen Ingenieuren (tm). > > Das schreibt ausgerechnet der größte Pedant des ganzen Boards... Ich > sage nur "Bildformate"! Falk schreibt seine Beiträge sehr problembezogen und zudem noch mit Anmeldung und nicht wie viele hier (leider) als anonymer Gast. Ich schätze seine Beiträge und habe ihn bisher nicht als pedantisch erlebt.
Unfassbar wohin die Diskussionen gehen! Was, wenn es nicht um eine lümmelligen UART geht, sondern einen genau benögtigten Takt? Dann ist die Idee doch gut. Wofür habe ich denn den ganzen Kram im FPGA, wenn ich ihn nicht nutze, sondern mich mit naheligenden Lösungen behelfe? >Wie genau ist denn der angeschlossene Quarz? Es geht oft genug um die Datenrate und einen stimiigen ganzzahligen Zusammenhang zwsichen erzeugendem Takt und sendendem Takt. Was macht man z.B., wenn man von 50 MHz auf 16x192kHz raus will?
Wenn es um etwas anderes geht als einen 'lümmelligen UART' wird man neu überlegen müssen und wenns hochgenau sein muss evtl. was anderes nehmen als FPGA und Popelquarzoszillator. Als Ingenieur hat man meist die Ausgabe eine Lösung für ein Problem mit bestimmten Randbedingungen (Genauigkeitsforderungen) aufwandsminimal zu lösen. Kommt ja auch niemand auf die Idee ein nur zu 3/4 gefülltes FPGA nochmal zu überarbeiten und die bislang 16 Bit breiten Datenpfade durch solche mit 19 Bit Breite zu ersetzen nur weil es dann irgendwo noch genauer wird. Auf das feste Verhältnis zwischen Generatortakt und Sendetakt könnte man doch z.B. dadurch verzichten das die Datenquelle mit höherem Takt arbeitet und die Sendeschaltung dann jeweils ein neues Datenwort anfordert.
>die bislang 16 Bit breiten Datenpfade durch >solche mit 19 Bit Breite zu ersetzen Doch das gibt es, ist mir schon untergekommen, daß Designs aufgebohrt wurden. Bei Windows ist das seit Jahren so, daß nur noch Kosmetik hinzukommen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.