Allt-i-ett download-kabel
Allt-i-ett download-kabel
Jag misstänker att jag inte är ensam om att ha en hel hög download/ISP/JTAG-kablar och allt vad det heter. Små saker som kopplas till parallellporten och används för att programmera mikrokontrollers, CPLDs, seriella minnen osv.
Så jag kom på idén att kontruera *en* sådan pryl, som klarar alltihop. De 1-2 74xxx som brukar sitta i ersätts med en CPLD, och så några motstånd i olika värden till pullups och några transistorer för att styra VDD och VPP där det behövs. Slutligen så har man lite olika kablar för att ansluta till olika kontakter som används för ISP, och en kabel med lösa "flying leads" som kan kopplas in var som helst.
Prylen skulle klara Xilinx och Alteras JTAG-interface, PIC och AVR, I2C och SPI-minnen osv. Den skulle t.o.m. kunna uppgraderas med nya varianter i efterhand...
Kommentarer?
Så jag kom på idén att kontruera *en* sådan pryl, som klarar alltihop. De 1-2 74xxx som brukar sitta i ersätts med en CPLD, och så några motstånd i olika värden till pullups och några transistorer för att styra VDD och VPP där det behövs. Slutligen så har man lite olika kablar för att ansluta till olika kontakter som används för ISP, och en kabel med lösa "flying leads" som kan kopplas in var som helst.
Prylen skulle klara Xilinx och Alteras JTAG-interface, PIC och AVR, I2C och SPI-minnen osv. Den skulle t.o.m. kunna uppgraderas med nya varianter i efterhand...
Kommentarer?
Tja, nya modeller av kablar[/a] kommer inte speciellt ofta. Det fina är ju att den ska vara kompatibel med all den programvara som redan finns. Den "mjukvara" man får uppdatera är logiken i CPLD:n.
Tänkte ha en liten DIP-switch eller vridomkopplare som väljer "kabeltyp".
T.ex.
0 - Xilinx parallel cable
1 - Altera Byteblaster MV
2 - AVR ISP
3 - PIC variant 1
4 - PIC variant 2
osv...
Någon stor pryl med ZIF-sockel för EPROM och liknande hade jag inte tänkt, men däremot kan man förstås t.ex. ha ett separat kort med socklar för att programmera t.ex. PIC "out of circuit" så att säga.
Tänkte ha en liten DIP-switch eller vridomkopplare som väljer "kabeltyp".
T.ex.
0 - Xilinx parallel cable
1 - Altera Byteblaster MV
2 - AVR ISP
3 - PIC variant 1
4 - PIC variant 2
osv...
Någon stor pryl med ZIF-sockel för EPROM och liknande hade jag inte tänkt, men däremot kan man förstås t.ex. ha ett separat kort med socklar för att programmera t.ex. PIC "out of circuit" så att säga.
Låter som en superbra idé, säg till om du behöver hjälp
Open source eller ska du sälja den?
Hur tänkte du lösa problemet med att vissa programmerare använder seriell kabel och andra parallell. Det vore kul att göra en usb-multiprogrammerare men då kommer ju problemet med att man måste ha egen mjukvara som ni tog upp.
/Johan
Open source eller ska du sälja den?
Hur tänkte du lösa problemet med att vissa programmerare använder seriell kabel och andra parallell. Det vore kul att göra en usb-multiprogrammerare men då kommer ju problemet med att man måste ha egen mjukvara som ni tog upp.
/Johan
Det behöver man väll egentligen inte?
Beror väll lite på hur hårdvarunära programerarna kör porten, annars är det ju "bara" att cada in en FTDI 232 och en för paralellporten och en USB hub på kortet. De kan sen anslutas till PLDn.. Man slipper skriva drivisar för win, och den ser ut som vanliga parallel och serieportar. Man kan ju då slänga med en extra serieport och på så sätt även få den konfigurerbar från windows
Beror väll lite på hur hårdvarunära programerarna kör porten, annars är det ju "bara" att cada in en FTDI 232 och en för paralellporten och en USB hub på kortet. De kan sen anslutas till PLDn.. Man slipper skriva drivisar för win, och den ser ut som vanliga parallel och serieportar. Man kan ju då slänga med en extra serieport och på så sätt även få den konfigurerbar från windows
Tanken var att det skulle vara enbart för parallell, serieport och avancerade saker med USB eller inbyggd processor är off topic så att säga. En simpel kabel istället för fem simpla kablar är tanken
Jag skulle väl förmodligen "ge bort" schema osv, men om det fanns intresse för det så skulle jag även kunna sälja i en eller annan form (kort, kit eller färdig...).
Jag skulle väl förmodligen "ge bort" schema osv, men om det fanns intresse för det så skulle jag även kunna sälja i en eller annan form (kort, kit eller färdig...).
Om vi nu bortser från att jag egentligen har någon jättekoll på hur en JTAG fungerar men...
Vore det inte enklare att ha någon enklare µC i den? Så att du eventuellt via en dip-switch kan välja två modes:
flash-other: Ställ in vad du ska flasha via mjukvara från datorn.
flash-me: Uppgradera programvaran i µC med möjlighet att flasha nya processorer.
?
Så slipper man ha en 10 switchar och svårigheten att uppgradera...
Vore det inte enklare att ha någon enklare µC i den? Så att du eventuellt via en dip-switch kan välja två modes:
flash-other: Ställ in vad du ska flasha via mjukvara från datorn.
flash-me: Uppgradera programvaran i µC med möjlighet att flasha nya processorer.
?
Så slipper man ha en 10 switchar och svårigheten att uppgradera...
Det blir nog nåt i stil med denna snarare än DIP-switch:
http://www.elfa.se/elfa-bin/dyndok.pl?v ... 121819.htm
Då behöver man en mejsel och en sekund för att byta läge. Kanske finns någon med en liten ratt på, så man slipper mejsel också.
Självprogrammering vore väldigt smidigt, det går nog att fixa med en CPLD också. Kanske går att koppla så 1 av 16 möjliga lägen är för uppdatering av "firmware".
http://www.elfa.se/elfa-bin/dyndok.pl?v ... 121819.htm
Då behöver man en mejsel och en sekund för att byta läge. Kanske finns någon med en liten ratt på, så man slipper mejsel också.
Självprogrammering vore väldigt smidigt, det går nog att fixa med en CPLD också. Kanske går att koppla så 1 av 16 möjliga lägen är för uppdatering av "firmware".
Så vilka programmerare har du tänkt att bygga in?
* JTAG
* JDM
* Ponyprog
* AVR-isp
Extern strömförsörjning?
Edit: det går ju att bygga in massor av olika sådana programmerare genom att rippa deras scheman rakt av och använda CPLD:n bara för att styra vilken som är inkopplad till serie- respektive parallellporten. Är det så du tänkt eller är det för mycket ful-lösning? Denna metod innebär iofs att det är ganska meningslöst att ha "flash-me" funktion ^^
/Johan
* JTAG
* JDM
* Ponyprog
* AVR-isp
Extern strömförsörjning?
Edit: det går ju att bygga in massor av olika sådana programmerare genom att rippa deras scheman rakt av och använda CPLD:n bara för att styra vilken som är inkopplad till serie- respektive parallellporten. Är det så du tänkt eller är det för mycket ful-lösning? Denna metod innebär iofs att det är ganska meningslöst att ha "flash-me" funktion ^^
/Johan