03.11.2010, 10:05
hi!
ich arbeite seit kurzen im rahmen eines praxissemesters mit labview. hierbei geht es um das auswerten eines boardcomputers eines flugzeugs.
ich habe hier ein NI PXI-1031 mit diversen karten, momentan verwende ich die PXI-6224. diese ist über ein scb68 an den teststand des boardcomputers angeschlossen, wo ich die ausgangssignale direkt abgreifen kann.
die ausgangssignale sehen folgendermassen aus: ich bekomme ein datensignal, auf dem seriel ein bitstrom übertragen wird. dazu kommt ein clock signal, auf dessen positiven flanken die bits des datensignals getriggert sind. bei jeder positiven flanke des clocksignals, bin ich in der mitte eines bits des datensignals. zur verdeutlichung habe ich eine grafik angehängt. beide signale habe ich dann noch in invertierter form zur verfügung, also insgesammt 4 datenleitungen.
ich bin nun so weit, dass ich die datenbits auf die clockimpulse triggern kann, und den seriellen strom in ein byte einlesen kann. auf der datenleitung werden sequentiell mehrere datenwörter übertragen, immer durch einen synch-break voneinander getrennt. nachdem alle datenwörter durchgelaufen sind, geht das ganze wieder von vorne los und immer so weiter. jetzt steh ich aber vor dem problem, dass ich die datenwörter immer am snych-break beginnend einlesen muss, d.h. ich muss diesen break irgendwie im datenstrom finden. in der grafik sieht man zb, dass die daten immer höchstens die halbe frequenz des synch-breaks haben. die daten sind im NRZ format, die frequenz kann also variieren. der synch-break ist auch nichts anderes als ein ausschnitt des clock signals.
meine ansätze bisher waren zb, das datensignal mit dem clocksignal zu vergleichen. da diese nur im synch-break gleich sind, sollte man diese stelle so finden können. ein anderer ansatz war, die frequenz im datensignal zu messen, und wenn diese die frequenz des clocksignals erreicht, ist die stelle auch wieder gefunden. aufgrund mangelnder kenntnnisse mit labview, konnte ich beide ansätze nicht umsetzten. vielleicht kann mir hier jemand dabei helfen, oder hat einen viel eleganteren weg parat, wie ich diese breaks finden kann. ich hoffe es ist einigermassen klar, was ich beschrieben hab.
danke schonmal!
ciao!
ich arbeite seit kurzen im rahmen eines praxissemesters mit labview. hierbei geht es um das auswerten eines boardcomputers eines flugzeugs.
ich habe hier ein NI PXI-1031 mit diversen karten, momentan verwende ich die PXI-6224. diese ist über ein scb68 an den teststand des boardcomputers angeschlossen, wo ich die ausgangssignale direkt abgreifen kann.
die ausgangssignale sehen folgendermassen aus: ich bekomme ein datensignal, auf dem seriel ein bitstrom übertragen wird. dazu kommt ein clock signal, auf dessen positiven flanken die bits des datensignals getriggert sind. bei jeder positiven flanke des clocksignals, bin ich in der mitte eines bits des datensignals. zur verdeutlichung habe ich eine grafik angehängt. beide signale habe ich dann noch in invertierter form zur verfügung, also insgesammt 4 datenleitungen.
ich bin nun so weit, dass ich die datenbits auf die clockimpulse triggern kann, und den seriellen strom in ein byte einlesen kann. auf der datenleitung werden sequentiell mehrere datenwörter übertragen, immer durch einen synch-break voneinander getrennt. nachdem alle datenwörter durchgelaufen sind, geht das ganze wieder von vorne los und immer so weiter. jetzt steh ich aber vor dem problem, dass ich die datenwörter immer am snych-break beginnend einlesen muss, d.h. ich muss diesen break irgendwie im datenstrom finden. in der grafik sieht man zb, dass die daten immer höchstens die halbe frequenz des synch-breaks haben. die daten sind im NRZ format, die frequenz kann also variieren. der synch-break ist auch nichts anderes als ein ausschnitt des clock signals.
meine ansätze bisher waren zb, das datensignal mit dem clocksignal zu vergleichen. da diese nur im synch-break gleich sind, sollte man diese stelle so finden können. ein anderer ansatz war, die frequenz im datensignal zu messen, und wenn diese die frequenz des clocksignals erreicht, ist die stelle auch wieder gefunden. aufgrund mangelnder kenntnnisse mit labview, konnte ich beide ansätze nicht umsetzten. vielleicht kann mir hier jemand dabei helfen, oder hat einen viel eleganteren weg parat, wie ich diese breaks finden kann. ich hoffe es ist einigermassen klar, was ich beschrieben hab.
danke schonmal!
ciao!