F*****g solder bridge

Kai Kinai pagamina PCB dešimtimis, tai kartais atsiranda noras palituoti urmu. Čia vienam projektui pagimdytos PCB:
solder bridge
Technologija tokia, kad prilituojama sunkiausiai lituojama detalė- šiuo atveju ATMEGA48V10 super-duper korpuse. Poto prilituojamas minimalus detalių kiekis- 4 rezistoriai ir jungtis. Tada jungiama prie programatoriaus ir leidžiama diagnostinis softas.
Continue reading →

FPGA:0008 – UART

Nu va. Schema didėja ir sudetingėja. Taip pat įvedami įvairūs pataisymai į jau esamus modulius. Todėl dabar stengsiuos prie straipsnio pridėti projekto archyvą. Tai bus su RARu suarchyvuotas Quartuso archyvas (qar) failas. Teoriškai, užteks tik importuoti archyvuotą projektą į Quartusą ir viskas veiks.

Komentaruose skaitytojas rašė apie RS232 modulį. Tiksliau į serial protokolo modulį. Aš nesu toks didelis gudrutis, todėl modulį paėmiau iš FPGA4FUN puslapio. Tačiau jo panaudojimą vilkinau tol, kol bus galima vizualiai panaudoti mūsų “pamokėlėse”. Taigi mintis tokia- sukurti kažkokią tai primityvią serial terminalo video plokštę. Vienam gale RS232 (konvertuotas iki LVTTL lygio), o kitame- monitorius.
Kaip bazę naudojam tą patį video generatorių ir jau spėjusius įgrįsti melynai žalius kvadratėlius.
Continue reading →

FPGA:0007 -tekstinė atmintis

Iš eilės einantys skaičiai nelabai įdomūs. Todėl prie mūsų “video kontrolerio” reikia pritaikyti atmintį. Kad į tą atmintį rašyti informaciją, o displėjus rodytu kas ir kaip čia gaunasi.
Maždaug taip:
grafika yiff
Čia dar galima pastebėti, kad aš padidinau šrifta du kartus tiek į plotį, tiek į aukštį. Paprasčiausiai labai jau mažos raidelės buvo ant ekrano, o ir video atmintis labai didelė gautusi. Continue reading →

FPGA:0006 – VGA Taimingo tiuninimas

Rašiau, kad eksperimentiniame SVGA displėjuje raidelės nesutampa su fonų ir minėjau, kad bandysim tai remontuoti.
Pirmiausia, reikia visus signalus- ir teksto ir fono, ir gal kokių nors spraitų spalvinę informaciją sinchronizuoti su pixel clocku. Tam tikslui esame “blankerio” modulį perdarom iš paprastos logikos į sinchroninį, naudojantį registrus. Naujas source kodas jau atrodo taip:

module blanker(clk,r,g,b,blank,qr,qg,qb);
input clk;
input [3:0] r;
input [3:0] g;
input [3:0] b;

input blank;

output reg [3:0]qr;
output reg [3:0]qg;
output reg [3:0]qb;

always @(posedge clk)
begin
	  qr <= (blank) ? 8'b00000000 : r  ;
	  qg <= (blank) ? 8'b00000000 : g  ;
	  qb <= (blank) ? 8'b00000000 : b  ;
end
endmodule

Continue reading →

Kad priešas nepasinaudotu…

Tikriausiai visi matė tokią atgyveną kaip mikroschemą su DIP/DIL korpusu:
metric-imperial
Per vidurį stovi Rusiška, tiksliau dar tarybinė mikroschema К155ИД1. Nekalbam apie mikroschemų “turinį”, šnekam apie korpusą, tiksliau apie išmatavimus. Tarybinės ir vakarietiškos kaip ir vienodo tipo mikroschemos, tačiau yra viena subtilybė kuria susiduriau tik prieš kelis metus. Pasirodo, nuo pat dizaino nukopijavimo laikų, šios mikroschemos biški skiriasi. Vakarietiškos mikroschemos naudoja imperinį (colinį) skaičiavimą ir atstumas tarp kojyčių yra tiksliai 0.1″ (viena dešimtoji colio), tuo tarpu tarybinės mikroschemos yra metrinės ir atstumas tarp kojų yra 2.5mm.
metric-imperial
Continue reading →

FPGA:0005 – Tekstinis displėjus

Papaišėm spalvotus fonus. Bet jei norime parodyti kokį nors tekstą, panašiai kaip senoviniam tekstiniam displėjuje? Aišku galima! Viena iš pirmųjų minčių- prikabinti didelį video RAMą kaip šiuolaikinėse video plokštėse ir nuo RAM turinio keisti vaizdą. Aišku taip galima, bet mes neturim tiek atminties. Netgi naudojant po 4 bitus vienai spalvai, gaunasi: 1024x768x3x4/8=1179648 baitai (1.125 megabaito). Tačiau mums užtenka tekstinio displėjaus. Jį sudaro tekstinė atmintis, šrifto atmintis ir spalvų atmintis (kartais paletizuota). Kadangi tingiu paišyti ir ieškoti internete, panaudosiu 8 bitų ATARI kompiuterio šriftą, kurį savo laiku ištraukiau iš to kompo ROMo. Šis šriftas skirtas TV ekranui, todėl jis toks pastorintas. Šriftas užima 8×8 matricą, tačiau iš šonų visada yra tušti pixeliai raidžių atskirimui. Senoviški ekranai naudodavo mažesnes matricas, o tarpelius tarp raidžių darydavo hardwariškai. Gal apseisim be šito.
Continue reading →

Įrankis

Tikriausiai daugelis pirko kiniškus šešiakampius raktelius kurie susisuka kaip vaškiniai?
geras irankis
Kam juos galima panaudoti? Prireikė vienam projekte apdoroti plokštumą, o nėra frezavimo staklių. Bandymai su šlifavimo staklėmis baigėsi gėdingu fiasko. Besiblaškant po youtube, buvo pastebėtas toks specifinis įrankis kurio mintis labai paprasta- vieno peilio drožtuvas. Todėl kiniškas kiek didesnis šešiakampis buvo modifikuotas:
Continue reading →