Hallo Zusammen !! Ich habe ein Problem...und zwar ich muss ein Analoges Signal abfangen,abtasten und danach auswerten..dafür habe ich eine Schaltung entwickelt (siehe anhag)..Das Signal hat ein anstiegszeit von 869ns und bitbreite von 4,34µs. um das Signal abzutasten habe ich ein AD Wandler der 40Msps kann und Parallele ausgänge hat und auch 14 bit auflösung ( MAX12554) die abtastung soll 24h dauern ( ein Tag)...die Abgetastete Daten sollen abgefangen von einem MC bearbeitet , ausgewertet, und in einem RAM speicher ablegen. Ich habe die Wahl jetzt zwischen drei Kontrollern : NEC V850 (80MHz), NEC V850 (100MHz) , NEC V850 (200MHz).. hat jemand einen Vorschlag?? oder eine bessere lösung für das ganze??? Gruss Hanane
>dafür habe ich eine Schaltung entwickelt (siehe anhag)
Das ist keine Schaltung, sondern ein extrem vereinfachtes
Blockschaltbild mit ner Menge Fragen, die du stellst :-)
lt deiner Zeichnung:
alle 87ns ein neuer 14-Bit Wert vom Wandler ergibt ein 16 Bit-Wort im
RAM.
Das heisst: 1 / 87 E-9 Werte pro Sekunde = 11,5 Mio Werte/s
=> 993 E09 Werte/d = 993 Mrd Werte wofür du ganz grob ca. 2000 GByte
Speicher benötigst (da 16 Bit Werte)
Das sind (grob überschlagen) 2 Stück 1TByte-Festplatten voll
Oder hab ich mich irgendwo verrechnet???
Was ich damit sagen will: Du hast neben deinem Controller-Problem noch
ein viel größeres Speicherproblem :-)
Hallo Schrotty! Danke erstes mal für deine Antwort-... das stimmt was du gesagt hast...das habe ich festgestellt ...ich habe habe mich denn überlegt um das ganze zu komprimieren.. das ich zum beispiel : Die frams die gut sind bewerte ich sie mit "ok" und brauche ich nicht zu speichern,..und nur die frams die fehlerbehaftet sind die tue ich speichern bzw die bits die gut sind bewerte ich mit "ok" und brauche ich sie nicht zu speichern sondern wieder nur die bits die schlecht sind...und wenn ich merke sagen wir mal nach einer stunde da kommen nur schlechte bits, dann überschreibe ich sie oder einfach sagen speicher ist voll !! nicht mehr speichern.. was meinst ?? habe damit enorm viele speicher gespart oder nicht???
Klar, somit kannst du natürlich Speicher sparen. Aber eingangs sagtest du ja, dass du alle Werte abspeichern willst. Wenn du aber nur "fehlerhafte" Werte abspeichern willst (was auch immer in deinem Fall einen fehlerhaften Wert kennzeichnet, dann sieht die Sache natürlich anders aus
ja...aber nächstes Problem wie erkenne ich am eingang des MC dass es der anfang der Fram ist bzw das ende vom frame!!?? ich werde bit zu bit abfragen... inerhalb 869ns werde ich 10 abtastpunkte machen (analogwerte) diese werte werde ich vergleichen mit den werten die ich bei der signalspezifikation habe..bsp : nehme ein wert liegt das in diesem bereich dann ist das H + gut ( es handelt sich um eine anstiegzeit), auswerten "ok"...weiter liegt diesen wert in diesem Bereich dann ist das L + gut (es handelt sich um abstiegzeit )auswerten "ok" ...liegt in so und so bereich dann ist das schlecht dann speichern.... so habe das vor....aber wie kann ich das im code oder C-programm umzuwandeln...es fällt mir nichts ein bis jetzt !"!!!!!!
Sorry, ich kann dich einfach nicht verstehen.. Versuche mal, ganze Sätze in einem verständlichen Deutsch zu bilden. Und wie willst du Bit für Bit aus dem AD-Wandler lesen, wenn der ein 16-Bit breites Interface hat? Welche Frames meinst du? Aus dem AD-Wandler kommt doch kein Frame. Oder meinst du den Frame, dessen Verlauf du über den AD-Wandler abtastest?
Erkläre doch mal bitte, was du genau vor hast: So wie ich dich verstehe, willst du ganz offensichtlich Flanken erkennen (steigende und fallende). Ist dein Ziel, eine Aussage über die Qualität der Flanke zu machen und somit auch eine Aussage über die Signalqualität oder willst du die Flanken erkennen, weil du die Daten des abzutastenden Frames auswerten willst. Also einfach nur erkennen willst, welche Bitfolge in deinem Frame kommt? Was für ein Frames ist das denn? Du sagst ja, dass du dafür ne Spezifikation hast.
Bei 200MHz hast du 17 Taktzyklen zwischen zwei Abtastwerten. Ich nehme mal an, das werden beim V850 auch 17 Befehle sein, die abgearbeitet werden. Mit den 17 Befehlen sollen also die Daten eingelesen, verarbeitet und dann gespeichert werden. Eventuell wäre noch eine Zeitangabe zu den Meßwerten sinnvoll. Das stell ich mir knapp vor. Wie wäre es mit einer analogen Schaltung, die zumindest die Steigung des Signals in einen bestimmten Wert umwandelt (Differenzierer). Dazu eine Schaltung, die reagiert, wenn dieser Wert in einem bestimmten Bereich ist. Sollte halt etwas träge reagieren, da dieser Bereich wohl bei jedem Wechsel des Signals kurz durchlaufen wird. Oder ein teures Oszi nehmen, auf dem man auch eigene Programme laufen lassen kann.
woher auch immer die 200Mhz kommen, aber bei 200 Mhz hast du eine Taktzeit von 500ns, das währen grob 1,7 Takte je 10 Messwerte, das wird eng mit auswerten und speichern. Einzelne Bits zu speichern wird dich niht deutlich vorwärts bruingen um Platz zu sparen, da brauchst du ja dann noch eine Information um zu wissen welches Bit das mal war, sonst bringt dir der Wert ja gar nichts.
>woher auch immer die 200Mhz kommen, aber bei 200 Mhz hast du eine >Taktzeit von 500ns... Das halte ich für ein Gerücht! 500ps passen besser.
Travel Rec. schrieb: >>woher auch immer die 200Mhz kommen, aber bei 200 Mhz hast du eine >>Taktzeit von 500ns... > > Das halte ich für ein Gerücht! 500ps passen besser. dann biete ich mal 5ns...
... ja ich will beides auswerten frame und bit....damit ich ein frame auswerten kann da muss ich zuerst die Bits auswerten oder nicht??? dazu muss ich auch wissen in welchem bereich kann ich mein abgetasteten wert zuordnen... habe ich jetzt ein messwert ok, tue ich den zuerst vergleichen mit den festen vordefinierten werten ...dann kann ich sagen ahah!! bin ich jetzt im H pegel also anstiegende Flanke...dann nutze ich die kommende zeit die gleich nach der anstiegenden Flanke kommt ( und immer innerhalb ein Bit) um eine auswertung zu machen gut/schlecht "ok" oderspeichern... bin ich in L pegel ...eine abfallende Flanke..gleich dannach dasselbe machen.....bin ich im verbotenen bereich also kein definierten bereich nicht H weder nicht L... dann schlecht muss gechpeichert sein....ahhah damit auch eine aussage über das frame machen--> schlecht--> speichern ... und so kann sagen frame nummer xxx bit yyy war ein fehler... so habe ich vor vorzugehen....
ich will ja gern die lösung mit FPGA vermeiden....sie sind kompliziert um zu programmieren.... wie wäre es mit einem controller der 500MHz kann?????
Warum sollte dein Datenstrom im "Verbotenen Bereich" stehen bleiben???? Du willst also bitweise ein "H" oder "L" erkennen. Dazu braucht man doch keinen AD-Wandler! Entweder ist es ein gängiges Bussystem, dann gibt es dafür fertige Transceiver und wenn es was eigenes ist, dann macht man das mit Komparatoren oder Schmitt-Triggern. Man kann auch mit Kanonen auf Spatzen schiessen!
Ich denke, Hanane will auch den Flankenverlauf untersuchen. Ob das sinnvoll ist läßt sich natürlich nicht sagen, solange man nicht weiß: Warum? Wozu das Ganze?
eben, er will uns ja nicht verraten, was er genau vor hat.
Wenn es um die Übertragungsqualität und Störungen geht: Man kann auch ein bekanntes Bitmuster übertragen und einfach speichern, wenn man auf der anderen Seite was anderes erhält. Das geht allerdings nicht im Laufenden Betrieb. Da bieten sich dann Prüfsummen oder Fehlerkorrigierende Codes an. Da kann man dann auch auswerten, wie oft es einen Fehler gegeben hat.
Hallo ich schließe mich Schrotty an. Der digitale Datenstrom bleibt auch einer. Eine neue Schnittstelle wird es nicht sein und die 4,3µs machen 230 kbit/s... Deine Beschreibung ist alles in allem etwas wirr. Um Frame und bits auszuwerten musst du mindestens die doppelte Framelänge aufzeichnen und deinen Controller synchronisieren, dann kannst du schauen obs passt.. Du speicherst in einen Ringpuffer und schaust wo dein Datenpaket losgeht - und dann wertest du aus (Vergleichst Prüfsumme, Paketaufbau etc..) Passt alles, kannst Du speichern Der AD Wandler ist wenig sinnvoll. Grüße, Paul
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.