Kontrollpanel till videorouter
Postat: 10 februari 2014, 00:47:35
Nu har jag till slut kommit igång med ett av projekten som har legat och väntat ett tag, i form av spridda delar...
Bakgrund
I min redigeringsstudio, som just nu är under ombyggnad - ett långt och långsamt projekt - så har jag bl.a. en HD-SDI router av märket Blackmagic Design.
En nätt liten enhet med 16 ingångar och 16 utgångar, men som inte har någon fysisk kontrollpanel. Den kan antingen styras med ett program till datorn, en app på en iPad eller med dedikerade kontrollpaneler som kopplas in med hjälp av nätverk. Dessa paneler är förvisso inte speciellt dyra (om man jämför med andra fabrikat), men det är ändå några tusenlappar extra. Då de främst består av knappar - i mitt fall lämpligtvis 16+16 stycken - så är det svårt att få någon lönsamhet i att bygga själv, skillnaden mot de färdiga enheterna motiverar inte det extra arbetet helt enkelt. Därför har det inte riktigt blivit av att jag försökt sätta ihop en egen panel.
Men, av en slump, så råkade jag hitta några sådana här paneler på eBay: Dessa är av ett annat märke (Grass Valley Group), och kan inte användas tillsammans med min router. Däremot så kommer de med 33 stycken högkvalitativa knappar, av en modell som är omtyckt i broadcast-sammanhang. Panelerna kostade ca 200:- st, så jag köpte 4 stycken bara för att komma över knapparna med avsikten att använda dessa i eventuella framtida projekt. Och när jag fick panelerna så var så klart det första jag gjorde att skruva isär dem för att se vad som fanns inuti... De består av dels ett kontrollerkort, dels av ett kort där alla knappar plus en 8-teckens led-matris display sitter, och dels av ett avkodnings- och drivkort till knappar och LED - de senare två korten monterade i en sandwichkonstruktion bakom frontpanelen. Det var nu iden att bygga om dessa till att fungera med min router föddes! Här fanns knapparna och en färdig låda plus frontpanel - de delar som normalt skulle göra ett sådant här bygge dyrt... Från ide till projektstart har det tagit ett tag, men nu är de första stegen tagna:
1: Research
Planen blev redan från början att försöka ersätta det befintliga kontrollerkortet med ett eget, men behålla driv- och avkodningskortet intakt.
Eftersom det redan finns ett bibliotek till Arduino för styrning av min router, så är det mitt förstaval. Dessutom har jag redan hårdvaran i form av Arduinokort med tillhörande Ethernet-shield. Det som nu krävs är att ta reda på hur signalerna mellan kontroller- och drivkortet ser ut.
Som första åtgärd försökte jag hitta ett schema på den aktuella kontrollpanelen - men det visade sig inte vara alltför enkelt. Inte ens några av mina kontakter med före detta servicepersonal kunde få tag i ett schema på denna enhet (produktserien är gammal och sedan länge utan support). Så då återstod lite hederlig reverse-engineering...
2: Experiment
Det visade sig att kortet är ganska enkelt: fem stycken 8-bits register driver alla LED i knapparna, ytterligare ett register driver 7 grupper av knappar, och "utgångarna" från alla knappar läses in i sista register. Det som ställer till det lite är att alla latch-signaler till registren styrs av en GAL-krets på kortet - och den finns ju såklart ingen dokumentation på. Men efter en del tester, så kom jag fram till att driv-kortet har en 8-bitars databuss som är dubbelriktad, en 8-bitars adressbus och en adress-enable signal som aktiverar den valda adressen. Alla adresser utom en skickar data till kortet, den sista används för att läsa tillbaka statusen på knapparna. Efter att ha provat alla adresskombinationer, och mätt på registerkretsarna, så fick jag fram en adresslista. Lite mätning på kortet med knapparna gav en relativt bra bild av hur man läser av dem.
3: Första testet
Med den teoretiska delen klar, och en ide om hur det borde fungera, så kopplade jag ihop en av mina Arduino Mega kort med drivkortet, och skrev ihop ett litet program som tänder den LED vars knapp man trycker på, och skriver ut numret på knappen på displayen. Det fungerade inte 100% vid första försöket, men några timmar senare (och många små ändringar i koden) så fungerar det faktiskt nu. Och i det stadiet befinner sig projektet just nu.
Nästa steg
Nu blir nästa steg att koppla in Ethernet kortet, och försöka få till kommunikationen med routern. Och sedan att mekaniskt bygga ihop allt i lådan igen, men med det nya styrkortet (Arduino) istället för det gamla. Dessutom, eftersom jag ju har tre paneler till, så ska jag bygga en till låda som jag ska använda till att styra min ljudmixer som jag använder som kontroller för högtalarna. Då ska den dessutom få en liten ratt (encoder) som kan fungera som volymkontroll... Så klart uppdaterar jag koden med bilder och information allt eftersom projektet fortskrider.
Bilder
Bakgrund
I min redigeringsstudio, som just nu är under ombyggnad - ett långt och långsamt projekt - så har jag bl.a. en HD-SDI router av märket Blackmagic Design.
En nätt liten enhet med 16 ingångar och 16 utgångar, men som inte har någon fysisk kontrollpanel. Den kan antingen styras med ett program till datorn, en app på en iPad eller med dedikerade kontrollpaneler som kopplas in med hjälp av nätverk. Dessa paneler är förvisso inte speciellt dyra (om man jämför med andra fabrikat), men det är ändå några tusenlappar extra. Då de främst består av knappar - i mitt fall lämpligtvis 16+16 stycken - så är det svårt att få någon lönsamhet i att bygga själv, skillnaden mot de färdiga enheterna motiverar inte det extra arbetet helt enkelt. Därför har det inte riktigt blivit av att jag försökt sätta ihop en egen panel.
Men, av en slump, så råkade jag hitta några sådana här paneler på eBay: Dessa är av ett annat märke (Grass Valley Group), och kan inte användas tillsammans med min router. Däremot så kommer de med 33 stycken högkvalitativa knappar, av en modell som är omtyckt i broadcast-sammanhang. Panelerna kostade ca 200:- st, så jag köpte 4 stycken bara för att komma över knapparna med avsikten att använda dessa i eventuella framtida projekt. Och när jag fick panelerna så var så klart det första jag gjorde att skruva isär dem för att se vad som fanns inuti... De består av dels ett kontrollerkort, dels av ett kort där alla knappar plus en 8-teckens led-matris display sitter, och dels av ett avkodnings- och drivkort till knappar och LED - de senare två korten monterade i en sandwichkonstruktion bakom frontpanelen. Det var nu iden att bygga om dessa till att fungera med min router föddes! Här fanns knapparna och en färdig låda plus frontpanel - de delar som normalt skulle göra ett sådant här bygge dyrt... Från ide till projektstart har det tagit ett tag, men nu är de första stegen tagna:
1: Research
Planen blev redan från början att försöka ersätta det befintliga kontrollerkortet med ett eget, men behålla driv- och avkodningskortet intakt.
Eftersom det redan finns ett bibliotek till Arduino för styrning av min router, så är det mitt förstaval. Dessutom har jag redan hårdvaran i form av Arduinokort med tillhörande Ethernet-shield. Det som nu krävs är att ta reda på hur signalerna mellan kontroller- och drivkortet ser ut.
Som första åtgärd försökte jag hitta ett schema på den aktuella kontrollpanelen - men det visade sig inte vara alltför enkelt. Inte ens några av mina kontakter med före detta servicepersonal kunde få tag i ett schema på denna enhet (produktserien är gammal och sedan länge utan support). Så då återstod lite hederlig reverse-engineering...
2: Experiment
Det visade sig att kortet är ganska enkelt: fem stycken 8-bits register driver alla LED i knapparna, ytterligare ett register driver 7 grupper av knappar, och "utgångarna" från alla knappar läses in i sista register. Det som ställer till det lite är att alla latch-signaler till registren styrs av en GAL-krets på kortet - och den finns ju såklart ingen dokumentation på. Men efter en del tester, så kom jag fram till att driv-kortet har en 8-bitars databuss som är dubbelriktad, en 8-bitars adressbus och en adress-enable signal som aktiverar den valda adressen. Alla adresser utom en skickar data till kortet, den sista används för att läsa tillbaka statusen på knapparna. Efter att ha provat alla adresskombinationer, och mätt på registerkretsarna, så fick jag fram en adresslista. Lite mätning på kortet med knapparna gav en relativt bra bild av hur man läser av dem.
3: Första testet
Med den teoretiska delen klar, och en ide om hur det borde fungera, så kopplade jag ihop en av mina Arduino Mega kort med drivkortet, och skrev ihop ett litet program som tänder den LED vars knapp man trycker på, och skriver ut numret på knappen på displayen. Det fungerade inte 100% vid första försöket, men några timmar senare (och många små ändringar i koden) så fungerar det faktiskt nu. Och i det stadiet befinner sig projektet just nu.
Nästa steg
Nu blir nästa steg att koppla in Ethernet kortet, och försöka få till kommunikationen med routern. Och sedan att mekaniskt bygga ihop allt i lådan igen, men med det nya styrkortet (Arduino) istället för det gamla. Dessutom, eftersom jag ju har tre paneler till, så ska jag bygga en till låda som jag ska använda till att styra min ljudmixer som jag använder som kontroller för högtalarna. Då ska den dessutom få en liten ratt (encoder) som kan fungera som volymkontroll... Så klart uppdaterar jag koden med bilder och information allt eftersom projektet fortskrider.
Bilder