Hi,
In functie van een project waar ik ook al een bericht in de rubriek Software & Interfacing geplaatst heb, zit ik nog met een "meet" vraag.
Ik moet een serieel communicatiesignaal dat geklokt is op 500 kHZ ontrafelen, reverse engineeren zeg maar.
Dat is op zich al een heel karwei, maar ik moet in eerste instantue natuurlijk zicht krijgen op de verschillende bitstrings die gedurende de tijd over die lijn gaan.
De signalen worden verzonden door een oude Mac computer over RS422 naar een muziekinstrument maar softwarematig vind ik niks om die poort te "sniffen" vanop de Mac zelf.
En hardware sniffers zijn vooral gefocussed op RS232 en ondersteunen de 500kHZ baudrate meestal niet. Goedkoop zijn ze trouwens ook niet.
Misschien een beetje simpel redenerend dacht ik "even" een oscilloscoop aan te schaffen die dat signaal kan capteren zodat ik het kan bewaren en onderzoeken.
Maar ik val wat achterover van de prijs voor mijn simpele oplossing
. Het lijkt er nl. op dat ik een digitale scoop met behoorlijk wat geheugendiepte zou moeten aanschaffen, terwijl ik nu niet bepaald een regelmatig electronica hobbyist ben.
Zijn er voor dit soort dingen betere/eenvoudiger meettoestellen ?
Thx.
Sponcebert
Ik ben er klaar mee voor
Ja , zet je RS422 om in RS232, dan heb je gratis software pakketjes die de RS232 op een PC kunnen sniffen.
RS232 analysers b.v.
Dit gaat er wel van uit dat in ieder geval signalen worden verstuurd die via een normale UART kunnen worden gelezen ( start / stopbit, 7/8 databits )
Roland van Leusden
It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.
Alvast bedankt voor eerste reacties.
Ja , zet je RS422 om in RS232, dan heb je gratis software pakketjes die de RS232 op een PC kunnen sniffen.
Was ook mijn eerste idee, maar ik ga ervan uit dat na conversie RS422->RS232 en dus het gebruik van een RS232 poort op de PC om de geconverteerde signalen te capteren, de baudrate niet ondersteund zal zijn. Het gaat met zekerheid om een 500 kHz signaal, terwijl RS232 poorten hoogstens tot 230k of zoiets geconfigureerd kunnen worden. Of ben ik mis ?
logic analyzer lenen, kopen of zelf maken met een fpga bv.
Mmmm: lenen vereist natuurlijk iemand kennen die zoiets heeft en voor een hele tijd kan missen. En euh... kopen: misschien ben ik verkeerd maar kosten die dingen ook niet erg veel ? Bovendien zijn ze tweedehands blijkbaar moeilijker te vinden dan scopes...
En zelf maken: heb ik dan ook geen scoop nodig om zoiets eerst in mekaar te knutselen
?
Tja, het is wat zoeken - het is ook 15 jaar geleden dat ik nog met LF bezig geweest ben dus het is weer even aanpassen.
Nog suggesties ?
Sponcebert
Ik ben er klaar mee voor
Als dat echt 500Khz is, zou het een synchroon signaal moeten zijn ( clock + data ) en dan wordt je PC kant ook complexer.
Het is wel snel voor zo'n ouder apparaat....
Met een logicanalyser gaat het idd heel gemakkelijk. Ik gebruik deze LA:
Deze Logicport
Die kost slechts $385.00 en wordt binnen de 48uur thuis geleverd. Daar heb je 34 kanalen die elk tot 500 MHz sampelen. Je resultaat komt je op je PC scherm op je volle schermresolutie. Beschikt over 6 cursors, 4 frequentie meters die je direct kunt koppelen aan 4 van de 34 meetkanalen. Je hebt ook een software protocol analyser voor rs232, I2C, SPI, CAN en als het nog niet voldoende is beschik je over een eigen configureerbare wizard om andere protocols te maken.
Deze LA wordt hier bijna dagelijks gebruikt. Je leest zo je serieele data in je gewenst formaat ( kan hex, bin,decimaal, octal) Is het protocol geen standaard dan maak je een nieuw protocol aan via een wizard. Ook de lengte van het aantal bits kun je opnieuw bepalen evenals de start konditie.
Sponcebert
Ik ben er klaar mee voor
Zo te zien heeft de MAC een seriele poort die extern geklokt kan worden. De baudrate kan zo inderdaad hoger worden dan een PC. Je zult dus andere hardware moeten aanschaffen hiervoor. Goedkoopste zou zijn een los seriel bordje voor je PC waar je zelf de klok voor maakt.
Makkelijkst is als je de klok omlaag kunt brengen.
Mooi ding trouwens die analyser. Heel wat goedkoper dan de HP die ik gebruikte....
[Bericht gewijzigd door Sponcebert op (12%)]
Een bitrate van 500kbit/sec is toch geen punt? Neem desnoods zo'n USB-barrel. Als het maar 1 kant op gaat, zal dat ook wel werken. Overigens... 500 is geen standaard (op RS232), 460 wel. Zou dat kunnen?
Dat houdt natuurlijk wel op als het extern clocked is, dat doen die kaartjes meestal niet. Je zou dan nog wat met een FPGA kunnen proberen.
Nadeel van die logicport vind ik de beperkte capture als het wat sneller gaat. Als je het ding juist weet te triggeren, is-ie echter erg wardevol gebleken.
Kun je nog ergens specs van dat spul vinden? RS422 volgt meestal wel de RS232 standaarden wat snelheid betreft, lekker makkerlijk. Noodzakelijk is het echter niet.
dan wordt je PC kant ook complexer
Euh... wat bedoel je precies ?
Het is wel snel voor zo'n ouder apparaat
Vind ik ook, maar het betreft een Emu Emulator II en dat was technologisch - maar ook qua prijs - top-of-the bill in 1984. Via de seriele communicatie worden ondermeer geluidsbestanden van 0,5 MByte van Mac naar sampler gestuurd en dit klusje is geklaard in minder dan 9 seconden.
Je zult dus andere hardware moeten aanschaffen hiervoor
De USB-RS422 convertor die op mijn PC aangesloten wordt kan 500kbaud aan. Maar dan zit ik dus wel met RS422 en kan ik RS232 om via sniffer te meten wel vergeten.
Makkelijkst is als je de klok omlaag kunt brengen
Dat is een optie maar vergt dus waarschijnlijk knoeien aan dat antieke instrument. Help !
Met een logicanalyser gaat het idd heel gemakkelijk. Ik gebruik deze LA:
Die bekijk ik even. Ik veronderstel dat zo'n toestel ook zonder protocol kan werken (ok, ik ben een groentje
? Dus droogweg alle pulsen tonen die de bits voorstellen zodat ik daaruit op z'n minst het protocol kan trachten te reverse engineeren en die voor de volgende metingen kan configureren in de LA ?
Ik heb ooit eens deze logic analyser gebouw voor 20 euries, moet prima te gebruiken zijn.
http://pe1grl.khds.nl/picla.htm
Zit alleen geen protocol analyser op.
Op 15 september 2008 12:34:49 schreef Sponcebert:Mooi ding trouwens die analyser. Heel wat goedkoper dan de HP die ik gebruikte....
Ik denk dat velen de mogelijkheid niet eens weten van zo een LA. Maar zodra je software of hardware gebruikt is zoiets echt super. Ook vooral tijdens de ontwikkeling van software gebruik ik hem nu heel veel. ieder resultaat zie je zo uit je controller komen.
Hierbij een voorbeeldje:
Dit is een eigen serieel protocol ongeveer zoals SPI. Werkt op 2Mhz en daarbij zie je mooi de data die serieel verwerkt wordt onder een HEX vorm weergegeven. De startkonditie heb ik via de wizard ingegeven. Begin anders maars eens al die bitjes te analyseren op die hoge snelheid. Daarnaast zie je ook setup en hold tijden indci--ien nodig. De getoonde data wordt gebruikt door een ATmega168 om serieel informatie door te sturen naar lcd display's, leds, 7 segment display's, I/O's enz en in de andere richting zie je de data binnen komen van drukknoppen, switchen, rotary encoders. En dit allemaal via een paar lijntjes van de AVR controller. Dit is trouwens een ontwerp die ik momenteel aan het voorbereiden ben en waarvan de meeste printjes reeds ontworpen zijn. Alle printjes worden in cascade doorgesluisd en komen via 1 10pins connector op de controller.
Roland van Leusden
It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.
Ding heeft een RS232 poort intern:
An RS422 interface board must be installed on Rev. 0 logic boards to permit the
Macintosh and Emulator II to communicate. This board converts the serial port On
the Emulator to run using RS422 protocol instead of RS232 protocol, which is
slower. The interface board merely replaces the RS232 driver chip and receiver chip
with the corresponding RS422 driver chip and receiver chip.
Check to see if a RS422 interface board has been installed on the Rev. 0 logic
board:
The interface board is roughly 1.5” X 2.0” and plugs into the IC sockets vacated by
IC132 and lC108 via DIP plugs. If this board is not present, then remove the RS232
drivers (1488 and 1489) at 10132 and 10108 and obtain an RS422 interface board
from E-MU and install it following the installation instructions that come with it.
http://www.emulatorarchive.com/assets/PDF/SD%20for%20EII%20Troubleshoo…
Ding heeft een RS232 poort intern
Ding *had* een RS232 poort intern... De 1488 en 1489 drivers zijn eruit, er is een extra bord in geplaatst en de bekabeling naar de externe connector is aangepast. Bovendien is het niet zeker dat bij het "terugzetten" van RS232 in de sampler de communicatie tussen de Mac en de sampler nog werkt, en bijgevolg dus ook niets meer te meten valt. Immers, de software die communiceert met de sampler is volgens hun handleiding enkel bruikbaar voor samplers die de RS422 modificatie hebben ondergaan. Vermoedelijk is dit te wijten aan de Mac serial ports.
Eventueel kan ik die driverchips ergens kopen en toch eens het experiment doen, om zo dan een klassieke RS232 sniffer te kunnen gebruiken. Maar dan lijkt een LA op de RS422 eenvoudiger (maar een stuk duurder).
Ik heb ooit eens deze logic analyser gebouw voor 20 euries, moet prima te gebruiken zijn.
http://pe1grl.khds.nl/picla.htm
Zit alleen geen protocol analyser op.
Is inderdaad erg goedkope oplossing, alleen twijfel ik aan de snelheid. Het te meten signaal loopt aan 500 kHz, terwijl dat ook het max. is wat de LA aankan (als ik het correct interpreteer). Is dus op het randje...
Weet iemand nog goedkopere LA's of is zo'n LogicPort sowieso een koopje in de LA-wereld ?
Je moet zo een LA beschouwen als een investering, als meettoestel. Je koopt zoiets voor een lange tijd. Naast de hoge snelheid en vooral de vele kanalen heb je ook een uitstekende bijgeleverde software. Je moet daar mee gewerkt hebben om die mogelijkheden eens te zien. Je opgenomen data kun je zo op je PC bewaren en later opnieuw analyseren, timingen opnieuw meten, documentatie uitwerken. Ik heb al meerdere keren oudere opnames hernomen zonder over de opstelling te beschikken, juist maar om bepaalde gegevens eens dieper te analyseren. Ik geeft een heel hoge schore aan zowel de hardware als als de software van dit toestel.
Al je ontwikkelingen gaan zoveel sneller. Iets niet begrijpen, kijk gewoon eens wat eruitkomt. Als ik de vele vragen zie die hier op het forum komen over wat er mis gaat, rusten die altijd over totaal ontwetendheid over wat er precies gebeurt, juist omdat ze niets meten of kunnen meten. Ook vooral bij het maken van je software kan ik niet genoeg de nadruk leggen op het eenvoud om te meten. Tijden, pulsbreedtes, vastlopen van software enz.
Als je een meettoestel koopt, zorgt meteen dat het een goede koop is die je jaren lang kunt gebruiken. Deze heeft een uitstekende prijs/prestatie verhouding.
Sponcebert
Ik ben er klaar mee voor
Volgens mij is het handigst om een ISA serieel boardje ergens vandaan te halen en deze ombouwen voor een externe clock. Met een beetje mazzel hoef je geen RS422 naar RS232 om te zetten en anders kan dat met eenvoudige IC's.
Edit :
Helaas de 1650 UART kan alleen zenden met de interne clock, heeft wel een pin voor de receive clock.
In de MAC zit kennelijk een 8530 communicatie chip. Deze kan ten eerste wel externe clock gebruiken, en ten tweede kan deze omgaan met synchrone data / protocollen
[Bericht gewijzigd door Sponcebert op (39%)]
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Een paar mogelijkheden: een seriële poort op een moederbord of kaart is meestal 16550-UART compatible. Als je die zelf instelt (onder DOS, linux of met een beetje moeite zelfs onder windows), kun je bijna elke willekeurige bitrate gebruiken.
De clock source is meestal 1.84MHz, waarbij het dus onmogelijk wordt om deze te delen voor 500kbaud. Daarom is 480kbaud ook logische, want dit is 1.84MHz / 4. Als je echt zeker weet dat het 500kbaud moet zijn, kun je een RS232 poort op een kaart nemen (een oude ISA kaart, als je nog ergens een PC met ISA sloten hebt staan), en er een ander kristal op solderen (2MHz). Vervolgens stel je de poort in op 460kbaud, maar die software weet niet dat je het kristal vervangen hebt, waardoor je op 500kbaud uitkomt.
Als het een synchrone bus is, dus met een clock lijn, zou je een AVR of PIC kunnen nemen met 2 USARTs. De ene gebruik je dan om de data te ontvangen, en de andere om het asynchroon door de sturen naar de PC.
Roland van Leusden
It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.
Ding *had* een RS232 poort intern... De 1488 en 1489 drivers zijn eruit, er is een extra bord in geplaatst en de bekabeling naar de externe connector is aangepast.
Verwachte ik al, misschien staat het signaal nog wel op die sockets van de 1488/1489, dan kun je met een max232 zo naar de pc. Ik heb trouwens dezelfde LA als Fotoopa, heerlijk om mee te werken, maar voor eenmalig is 't wat duur.
Mmm... jullie feedback is erg leerrijk, het doet me meer inzicht krijgen in het probleem waar ik voor sta.
Ik moet namelijk niet alleen de signalen gemeten krijgen - dat is slechts een deel van mijn probleem.
Het is vervolgens ook de bedoeling dat ik de sampler effectief vanuit de PC kan aansturen i.p.v. vanuit de Mac (cfr. de discussie in rubriek "Software en interfacing"). Daarvoor zal ik gepaste software schrijven, vandaar dat ik eerst de communicatiestromen moet reverse engineeren; die zijn nooit publiek gemaakt door de firma die de Emulator bouwde, dus dat moet ik zelf doen.
Kortom, ook voor de eigenlijke doelstelling van mijn initiatief moet ik de 500k seriele communicatie opgezet krijgen rechtstreeks tussen PC en sampler. En dat liefst zonder veel custom hardware, want deze oplossing zou door eender welke Emulator II gebruiker moeten kunnen gebruikt worden, niet alleen door mij. Anders begin ik er niet aan. Voor freeware projecten moet je ook een zekere klantenbasis hebben, nietwaar 
In de MAC zit kennelijk een 8530 communicatie chip. Deze kan ten eerste wel externe clock gebruiken, en ten tweede kan deze omgaan met synchrone data / protocollen
Yep. Het rare is dat in de technische documentatie van de Emulator staat aangegeven dat de communicatie aan 500 kbaud met de Mac *asynchroon* gebeurt. Voorts zeggen ze dat het toestel "in principe" RS232 compatibel is en dus ook met niet-Mac computers kan gekoppeld worden, maar dat de 500kbaud daarbij roet in het eten komt gooien. Zo zeggen ze het: "(...)Standard RS232 drivers will not, however, clock at 500kBaud. In order to communicate at 500kBaud, the user's computer must have RS422 or equivalent drivers(...)". Wat ik hierbij vreemd vind is dat men niet expliciet stelt dat de seriele interface van de computer extern geklokt moet kunnen worden. Gewoon de 500kBaud snelheid halen zou volstaan (dus ook intern geklokt) ? Dat zou willen zeggen dat elk uiteinde van de communicatie eventueel zichzelf mag klokken aan 500 kbaud, en dat niet noodzakelijk een en dezelfde klok gedeeld moet worden.
Maar misschien hoort deze problematiek meer thuis in de andere rubriek Software & Interfacing.
Als je echt zeker weet dat het 500kbaud moet zijn, kun je een RS232 poort op een kaart nemen (een oude ISA kaart, als je nog ergens een PC met ISA sloten hebt staan), en er een ander kristal op solderen (2MHz). Vervolgens stel je de poort in op 460kbaud, maar die software weet niet dat je het kristal vervangen hebt, waardoor je op 500kbaud uitkomt.
Da's misschien het proberen waard, even mijn oude PC's van zolder halen !
Maar desnoods koop ik me toch misschien een LA, of nog leuker: een combi LA/Scoop. Tja, als een mens dan toch geld uitgeeft, kan er eventueel nog wat meer af...
Als ik hem dan na het project niet meer nodig heb, kan ik hem misschien aan een van de forumleden verkopen 
Sponcebert
Ik ben er klaar mee voor
Tsja , beetje dubbele antwoorden. Zie andere topic
Maar het klopt dan wel. Alleen dat RS232 verhaal klopt ook, RS232 ging oorspronkelijk niet verder dan 9600 bits /sec ( baud sorry ), dus de drivers zijn niet al te snel.
Moderne RS232 poorten hebben snellere drivers dat wel.
[Bericht gewijzigd door Sponcebert op (70%)]
Als de communicatie asynchroon is (dus met start en stopbit): 500 kbit is geen probleem voor de FT232 chippie, het probleems zit in de RS232 drivers die vaak maar tot 115k of 230k gaan (zoals de bekende chips van Maxim).
Met die 2-tientjes L.A. kan je wel samplen op 2M (.5 u) maar dan kan je max 7k samples nemen en geen ingewikkelde triggers gebruiken. Dat is het verschil tussen 20 en 300 Euro 
Met die 2-tientjes L.A. kan je wel samplen op 2M (.5 u) maar dan kan je max 7k samples nemen en geen ingewikkelde triggers gebruiken. Dat is het verschil tussen 20 en 300 Euro
Voor zover ik de te meten communicatie kan inschatten heb ik niet eens 7000 bits nodig om een verzonden commando te capturen en te ontrafelen. En ingewikkelde triggers hoeven voor dit experiment ook al niet.
Jammer genoeg moet dat ding dus wel nog gemaakt worden. Zoals ik al zei... het is meer dan 15 jaar geleden dat ik nog een PCB heb aangevallen met een soldeerbout... Op dat vlak ben ik een a-typisch vers forumlid, I know. 'k Zit nu eenmaal in de software 
Roland van Leusden
It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.
Zoals ik al zei... het is meer dan 15 jaar geleden dat ik nog een PCB heb aangevallen met een soldeerbout...
Zet gewoon een oproep in de sectie V&A of iemand 't voor je wil maken. Als je ook geen etsbak / belichtings bak enz hebt ...
Kun je met zoiets : http://www.moxa.com/product/UPort_1130.htm
niet uit de voeten ?
Kun je met zoiets niet uit de voeten ?
Ik heb hier de Moxa Uport 1150, da's bijna dezelfde maar dan inclusief RS232 support. Probleem met het ding is dat-ie niet op 500 kbaud kan geklokt worden (wel 460,8 en 921,6). Nu is er een Meilhaus onderweg die wel op 500 kbaud geklokt kan worden, maar da's dan weer beperkt tot RS422, niet RS232, wat nodig is voor de sniffer. Bedoeling is wel om de Meilhaus later te gebruiken voor de eigenlijke communicatie tussen sampler en PC.
Voor het uitvoeren van de metingen kijk nog even verder uit naar die goedkope LA waarnaar hier is verwezen, of waag ik me eventueel aan een duurder exemplaar. In dat laatste geval zal ik dan maar mijn hobby uitbreiden zodat het ding wat rendeert zeker...