Allt-i-ett download-kabel
Hade tänkt att den skulle kunna klara sig utan extern ström om det finns att ta från kretsen, men även ha möjlighet att ta 5V från en USB-kontakt eller så.
De som jag främst tänkt "emulera" är:
Xilinx parallel cable III
Altera Byteblaster MV
"Wiggler" JTAG
AVR ISP
Ponyprog easy-I2C
PIC modell Henk Schaer
PIC modell David Tait
PIC modell någon mer kanske...
Ponyprog är en kandidat också.
JDM vet jag inte, är tveksam till att blanda in serieporten alls.
De som jag främst tänkt "emulera" är:
Xilinx parallel cable III
Altera Byteblaster MV
"Wiggler" JTAG
AVR ISP
Ponyprog easy-I2C
PIC modell Henk Schaer
PIC modell David Tait
PIC modell någon mer kanske...
Ponyprog är en kandidat också.
JDM vet jag inte, är tveksam till att blanda in serieporten alls.
Har för mig att jag har sett ett opensource-projekt som gjorde denna 'multitool' på 'drivrutins nivå'.
Typ - att man använde en hårdvara och via en lågnivå-drivrutin styrde om kommunikationen ifrån programmen.
...om jag bara kunde komma på var jag hade länken...
--
Flera förslag:
Atmel 8051 ISP (89C8252)
Texas MSP340
Typ - att man använde en hårdvara och via en lågnivå-drivrutin styrde om kommunikationen ifrån programmen.
...om jag bara kunde komma på var jag hade länken...
--
Flera förslag:
Atmel 8051 ISP (89C8252)
Texas MSP340
Jag har börjat snickra på denna "multitool", som ni kan se:

Inte riktigt funktionsduglig ännu, men iaf...
Och tillhörande verilog-kod:
En ny del i case-satsen är allt som behövs för att implementera en ny sorts programmerare (samt kanske bygga någon sorts sladd/adapter för att kunna koppla in den).
Så småningom kommer den att ha lite fler signaler, förutom 6st IO kommer det att vara pullups (som kan slås på vid behov) samt en styrbar VCC och en styrbar VPP (= MCLR för PIC).
Iaf är det så planen ser ut just nu. Tror det räcker för att kommunicera med det mesta... möjligtvis kan man ha en pull-down istället för up på någon av IO-ledningarna (såg att MSP430 hade det).
Inte riktigt funktionsduglig ännu, men iaf...
Och tillhörande verilog-kod:
Kod: Markera allt
module multi(con_clk,con_din,con_dout,con_prog,con_aux1,con_aux2,mode,pp_d,
pp_strobe,pp_ack,pp_busy,pp_pe,pp_sel,pp_error,pp_autofd,
pp_init,pp_selin,dummy);
inout con_clk,con_din,con_dout,con_prog,con_aux1,con_aux2;
input [3:0] mode;
input [7:0] pp_d;
input pp_strobe,pp_autofd,pp_init,pp_selin;
output reg pp_ack,pp_busy,pp_pe,pp_sel,pp_error;
reg con_clk_,con_din_,con_dout_,con_prog_,con_aux1_,con_aux2_;
assign con_clk = con_clk_;
assign con_din = con_din_;
assign con_dout = con_dout_;
assign con_prog = con_prog_;
assign con_aux1 = con_aux1_;
assign con_aux2 = con_aux2_;
parameter XILINX = 4'h1; // Xilinx parallel cable III
always@(*)
begin
case(mode)
XILINX:
begin
con_aux1_ <= 1'bz;
con_aux2_ <= 1'bz;
if(pp_d[3] == 1'b0) // CTRL
begin
con_dout_ <= pp_d[0];
con_clk_ <= pp_d[1];
con_prog_ <= pp_d[2];
end
else
begin
con_dout_ <= 1'bz;
con_clk_ <= 1'bz;
con_prog_ <= 1'bz;
end
if(pp_d[4] == 1'b0)
con_din_ <= 1'b0;
else
con_din_ <= 1'bz;
pp_error <= 1'b1; // VCC_SENSE
pp_sel <= con_din;
pp_pe <= pp_d[6]; // loopbacks
pp_busy <= pp_d[6];
end
default:
begin
con_clk_ <= 1'bz;
con_din_ <= 1'bz;
con_dout_ <= 1'bz;
con_prog_ <= 1'bz;
con_aux1_ <= 1'bz;
con_aux2_ <= 1'bz;
pp_ack <= 1'bz;
pp_busy <= 1'bz;
pp_pe <= 1'bz;
pp_sel <= 1'bz;
pp_error <= 1'bz;
end
endcase
end
endmodule
Så småningom kommer den att ha lite fler signaler, förutom 6st IO kommer det att vara pullups (som kan slås på vid behov) samt en styrbar VCC och en styrbar VPP (= MCLR för PIC).
Iaf är det så planen ser ut just nu. Tror det räcker för att kommunicera med det mesta... möjligtvis kan man ha en pull-down istället för up på någon av IO-ledningarna (såg att MSP430 hade det).
Du har kopplat direkt utan att göra schema först eller?
Jag är nämligen sugen på att bygga en likadan... Vill gärna fixa ett pcb i så fall. Vad är det för XILINX-krets du kör med, jag har XC9572XL hemma...
Jag förstår iofs varför du kör på experimentplatta, det är lite jobbigt att implementera alla programmerarna på en gång
Edit: hehe nu såg jag på bilden att du hade XL9572, du har ingen att sälja? Jag kan ju inte köra med 3.3V varianten och elfa tar 250kr de galningarna
/Johan
Jag är nämligen sugen på att bygga en likadan... Vill gärna fixa ett pcb i så fall. Vad är det för XILINX-krets du kör med, jag har XC9572XL hemma...
Jag förstår iofs varför du kör på experimentplatta, det är lite jobbigt att implementera alla programmerarna på en gång

Edit: hehe nu såg jag på bilden att du hade XL9572, du har ingen att sälja? Jag kan ju inte köra med 3.3V varianten och elfa tar 250kr de galningarna

/Johan
Det är en XC9572-PC44 jag har nu, men det blir en 64-pinnars 9572XL sen tror jag. Det är inte riktigt tillräckligt med IO på denna för att styra pullups och sånt.
Ska testa lite med denna på experimentkort innan jag börjar göra nån layout, men sen blir det ytmonterat och tillräckligt litet för att få plats direkt i d-sub kåpan hade jag tänkt.
edit: 3.3V går fint för det mesta, har tänkt att låta pullupsen ta hand om 5V när det behövs. XL har ju 5V-toleranta ingångar så det är inga problem.
Ska testa lite med denna på experimentkort innan jag börjar göra nån layout, men sen blir det ytmonterat och tillräckligt litet för att få plats direkt i d-sub kåpan hade jag tänkt.
edit: 3.3V går fint för det mesta, har tänkt att låta pullupsen ta hand om 5V när det behövs. XL har ju 5V-toleranta ingångar så det är inga problem.
Senast redigerad av cyr 25 januari 2005, 19:27:46, redigerad totalt 1 gång.
Ok jag tänkte tvärt om att de flesta 3.3V kretsar tål 5V på logikingångarna men var not inte så smart tänkt
Vilka ritningar går du efter ?
http://193.11.236.26:1234/projekt/uploa ... x_jtag.pdf
http://193.11.236.26:1234/projekt/uploa ... ter_MV.png
http://193.11.236.26:1234/projekt/uploa ... iggler.png
http://193.11.236.26:1234/projekt/uploa ... og_i2c.gif
http://193.11.236.26:1234/projekt/uploa ... stk200.gif
http://193.11.236.26:1234/projekt/uploa ... 0_jtag.gif
http://193.11.236.26:1234/projekt/uploa ... schaer.htm
http://193.11.236.26:1234/projekt/uploa ... og/pic.png
Edit: ändrat länkarna nu
/Johan

Vilka ritningar går du efter ?
http://193.11.236.26:1234/projekt/uploa ... x_jtag.pdf
http://193.11.236.26:1234/projekt/uploa ... ter_MV.png
http://193.11.236.26:1234/projekt/uploa ... iggler.png
http://193.11.236.26:1234/projekt/uploa ... og_i2c.gif
http://193.11.236.26:1234/projekt/uploa ... stk200.gif
http://193.11.236.26:1234/projekt/uploa ... 0_jtag.gif
http://193.11.236.26:1234/projekt/uploa ... schaer.htm
http://193.11.236.26:1234/projekt/uploa ... og/pic.png
Edit: ändrat länkarna nu
/Johan
Senast redigerad av strombom 25 januari 2005, 20:41:35, redigerad totalt 1 gång.
strombom skrev:Ok jag tänkte tvärt om att de flesta 3.3V kretsar tål 5V på logikingångarna men var not inte så smart tänkt![]()
Njae, det är långt ifrån alla. De flesta 5V brukar däremot vara TTL-nivåer på, och det är kompatibelt med 3.3V på ingångarna. PIC verkar vara kräsen, och kanske andra också, men det fixar sig nog bra med pullups.
Ritningar som jag kollat på är:
http://193.11.236.26:1234/projekt/uploa ... x_jtag.pdf
http://193.11.236.26:1234/projekt/uploa ... ter_MV.png
http://193.11.236.26:1234/projekt/uploa ... iggler.png
http://193.11.236.26:1234/projekt/uploa ... og_i2c.gif
Samt:
http://www.lancos.com/e2p/avrisp-stk200.gif
Och:
http://www.olimex.com/dev/images/msp430-jtag-d-sch.gif
Och så de två klassiska PIC-varianterna:
http://pramode.net/pic/pp.png
http://www.ic-prog.com/hschaer.htm
När det gäller AVR är jag inte så insatt i vad som funkar till vad. Det enda jag använt ovanstående avrisp till är att programmera SPI-minnen med ponyprog.
EDIT:
Har nu lyckats få den att "programmera sig själv", jag fick sätta dit några byglar för att koppla om några av pinnarna på parporten till JTAG-pinnarna på CPLDn istället för IO-pinnar. Kanske kan fixa det med lite trixiga motstånd och någon transistor sedan så man t.ex. bara behöver sätta DIP-switchen på 0000 för att uppdatera "firmware".
Skulle inte skada med AT89ISP kabeln:
http://www.atmel.com/dyn/resources/prod ... p_C_v5.PDF
Edit: smidigt att programmera om sig själv
/Johan
http://www.atmel.com/dyn/resources/prod ... p_C_v5.PDF
Edit: smidigt att programmera om sig själv

/Johan
Nu har jag lagt in beskrivningar av Xilinx, Altera, AT89ISP och AVRISP (STK2/300) i CPLDn.
Xilinx Impact känner igen den som en Xilinx-kabel, Altera Quartus känner igen den som en Altera-kabel och Ponyprog känner igen den som AVRISP (förutsatt att DIP-switchen är korrekt ställd förstås).
Nu behöver jag fixa en anslutningskabel så jag kan testa att verkligen programmera saker med den...
Xilinx Impact känner igen den som en Xilinx-kabel, Altera Quartus känner igen den som en Altera-kabel och Ponyprog känner igen den som AVRISP (förutsatt att DIP-switchen är korrekt ställd förstås).
Nu behöver jag fixa en anslutningskabel så jag kan testa att verkligen programmera saker med den...