CYPRESS 000: Kiparisas

October 22nd, 2014

Atnešė kažkada man prietaisiuką padaryta su Cypress Semiconductor mikroschema. Tai buvo cy7c68013a-128axc šimtasdvidešimtaštunkojis. Aš apie juos nė bum-bum, tik žinau, kad mano loginis analizatorius padarytas su tos pačios šeimos čipuku. Ir dar žinojau, kad softas gali būti serial eprome arba užkraunamas per USB iš kompo. Po nesėkmingo remonto (beja tai buvo labai gaidiškas moleview mikroskopas) nutariau kiek prasiplatinti savo žinias. Ir iš kinų užsakiau paprastesnę versiją- CY7C68013a-56VXC devboarduką.

Cypress CY7C68013a
Kiek suprantu “all included".

Softą kroviausi iš Cypreso saito. Nusikroviau kelis failus, ko pasekoje turiu savo kompe “GPIF designer" -tai makrosu generatorius kuris padeda sukurti I/Okojyčių veikimą (kurio dar nesupratau), “Keil uVision2″ - tai kompiliatorius/linkeris ir (kraunasi atskirai) Cypress Suite kur yra programa firmwarės užkrovimui- “control center".
Iš “C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.1\Drivers\Win7\x64″ suinstaliuojam plokštelei draiverius. Ji turi pasimatyti kaip “Cypress FX2LP no EEPROM Device", čia jei epromas nesuprogramintas arba jumperis išjungia tą mikroschemą.

Besinagrinėdamas šitą čipuką pastebėjau, kad nėra standartinio “Hello World" mirksiuko projekto! (nu gal neradau greitai). Todėl, kad pramušti savo smegenyse ledus, kiek pasinagrinėjus gavosi taip:

1. Pasileidžiam uVison ir darom naują projektą. Ten rašom nauja failą-projektą “betkas.uv2″. Pasirenkam čipuką.
2. Susikuriam naują C failą, “mainas.c". Ji pridedam prie projekto “add files to group…".
3. Į tą patį folderį persikopijuojam trys failus “fx2.h", “fx2regs.h" ir “EZUSB.LIB". Pastarąją biblioteką irgi pridedam prie projekto. Tikrai rasim failus kažkur tarp pavyzdukų.
4. Jei norėsim programuoti serial eprom, persikopijuojam failą “Hex2bix.exe".
5. Į failą “mainas.c" parašom tokią programą:

#include “fx2.h"
#include “fx2regs.h"

void main(void)
{
IFCONFIG = 0×00; // set the ports as general-purpose I/O
OEA |= 0xFF; // set PORT A as outputs
for(;;)
{
IOA |= 0×01; // set PA0 high
EZUSB_Delay(200); // delay for ~200 ms

IOA &= ~0×01; // set PA0 low
EZUSB_Delay(200); // delay for ~200 ms
}
}

6. Einam į “options for Target…" ir ten prie OUTPUT pažymim, kad norim “HEX" failo.
7. Einam į “options for Target…" ir ten prie “BL51 Locate" nuimam varnelę, o grafoje “Code Range:" rašom “0×80-0×0FFF", o “Xdata Range:" rašom “0×1000″.
8. Sukompiliuojam programą su “Build target" arba “Rebuild all". Gaunam hex failą:

Build target 'Target 1′
compiling mainas.c…
linking…
Program Size: data=11.0 xdata=4473 code=132
creating hex file from “betkas"…
“betkas" - 0 Error(s), 0 Warning(s).

9. Dabar su Cypress USB Control Center galime įkelti hex failą į kontrolerio RAM. Turi pradėti mirksėti vienas LED1 (arba PA0 keisti savo lygį).
10. Jei norim šį programinį šedevrą įrašyti į epromą, reikia dar pasidaryti automatinį hex konvertavimą. Tai pasidaro tuose pačiuose “options for target", skyrelyje “output", skyrelyje “run user program" rašom “hex2bix -i -f 0xC2 -o betkas.iic betkas.hex"
Susikompiliuoja ir gaunasi kitas failas:

Build target 'Target 1′
compiling mainas.c…
linking…
Program Size: data=11.0 xdata=4473 code=132
creating hex file from “betkas"…
User command #1: hex2bix -i -f 0xC2 -o betkas.iic betkas.hex
Intel Hex file to EZ-USB Binary file conversion utility
Copyright (c) 2012-2013, Cypress Semiconductor Inc.
153 Bytes written.
Total Code Bytes = 132
Conversion completed successfully.
“betkas" - 0 Error(s), 0 Warning(s).

11. Dabar su tuo pačiu “usb control" galima užprogramuoti ROMą. Neužmirškit jumperio ir programuojam su komanda “program 64kb eeprom".

Štai jums ir “Hello World" ir padarytas!

Kaip Kinai “užmuša" konstravimą

October 18th, 2014

Šiaip, vienas detaliu tikrintojas biški sunervavo ir jam buvo ieškoma pamaina. Yra visokių projektų internete, todėl pasirinkimas tikrai didelis, tačiau tingėjosi konstruotis, todėl buvo papurtytas Kiniškas Aliexpress ir ten nupirktas tas pats detalių testeris kuris aprašomas Vokiškuose puslapiuose http://www.mikrocontroller.net/articles/AVR_Transistortester . Kaina jo su atsiuntimu buvo $14.89. Galima rasti gal pigiau, galima ir brangiau. Pridėjus kelis dolerius, galima nupirkti ir su grafiniu ekranėliu. Man reikėjo įšriubuoti į jau esama korpusą, tai pasirinkau su standartiniu LCD ekraniuku. Nes vistiek ekraniukas bus kitas.

tranzistortester

Už beveik 15USD męs gaunam: ATMEGA328, standartinį LCD su invertuotu vaizdu ir šlykščiu mėlynu pašvietimu, kelias smulkias SMD detales, jungtis, kištukus, konstrukcinius elementus ir žalią PCB. PCB yra numatyta vieta pajungti programatorių. Taigis softą galima sudėti ir naujesni ar išviso perprogramuoti kitaip.
Read the rest of this entry »

Lemputės- slapta manija

October 7th, 2014

Darbe aš dažnai ieškau “lempučių". Kabutėse todėl, kad tos lemputės yra plačiąją prasme lemputės, indikatoriai ir šiaip nesuprantami daikčiukai. Kadangi lemputės greitai sudužta, labai dažnai gaunu tik paverkti prie lemputės likučių. Tačiau laikas nuo laiko randu kokią nematytą “naujieną". Kadangi grafomanijos spaudimas didelis, o nieko naujo naujo nesukonstravau, tai biški parašysiu apie lemputes. Tai bus toks “nesusistemintas" rašinys, bet gal kam bus įdomu.

Prededam, beja kai kurios nuotraukos išsididina:
various strange tubes
Lemputė pavadinta ДВЦ-25. Tai dujošvytė lempa skirta kalibruoti kažkokius spektrometrus. Skiriasi nuo paprastų lempučių tuom, kad užpildyta deuteriu (vandenilio sunkiuoju izotopu) ir tikriausiai švyti specifine spalva.
Read the rest of this entry »

Dar pabambėsiu: Lietuviškos mugės ir šiaip

September 28th, 2014

Taip jau gavosi, kad visą savaitę pavaduoju bendradarbę ir visiškai neliko “laisvos fantazijos" ką nors daryti. Kaip sakoma- darbas užmuša talentą. :)
Todėl biški pabambėsiu, kad atskleisti savo mizantropišką intravertiškumą.

Off-topic: kažkada buvau susigalvojęs sau ir sudėtingesnę diagnozę. Tačiau tą pačią dieną pamečiau lapuką kur užsirašiau, tai liko tik šitas…

Ėjau į paštą ir pastebėjau, kad vyksta kažkokia mugė. Tai kai tik išsilakstė visokie svečiai iš namų, nuvažiavau pažiūrėti kas ten ir kaip. Šaip, iškarto važiavau nusistatęs, kad viskas bus blogai… todėl ir įspūdžiai liko nykoki. Nepagerino ir tai, kad atvykau aš tik sekmadienį, jau po 4 valandos ir kioskeliai jau užsidarinėjo.
Man nepatinka mugės vien tik dėl to, kad jose būna kiniškas šlamštas ir kad tas šlamštas užstoja tikruosius amatininkus. Dar, paskutiniu metu atsirado tokių “didesnių amatininkų" kurie net ir su vietinės gamybos produkcija kiek gožia smulkiuosius.
muge
Dar man nepatinka fantazijos stoka- jei kažkas gamina “kreivus samčius", tai už poros kioskelių tikrai pamatysiu tokius pat ar panašius samčius. Read the rest of this entry »

Nusipirkau, bl, tranzistorių

September 20th, 2014

Nu va, jau antrą kartą užsiraunu aš su parduotuve RCL.lt pirkimais. Mano eksperimentams prireikė MPSA92 tranziukų. Kinai kol atvež užsakytą maišą… tai nutariau nusipirkti kokius 20 vnt. Lietuvoje. Geografiškai man patogiau nuvažiuoti į RCL parduotuvę, tai prieš porą savaičių nuvariau. Teturėjo rodos 9 vienetus. Nu gerai. Sunaudojau juos visus ir šiandien nutariau dar nusipirti- vėl ta pati bėda, bet sakė, kad 10 duos. Nusipirkau.

O dabar prasideda loterija. Pasiėmiau iš maišelio porą tranzų- pasitikrinau, viskas OK. Poto pradedu lituoti ir likusius iš maišelio… Pajungiu ir matau, kad kažkaip keistai veikia.

MPSA92 vs LM317

Ania, visi tranzai vienodi? Visi MPSA92? O kai kurie visai ir ne tranzai, o gal LM317?

Kas įdomiausia, kad LM317 netgi bandė veikti kaip tranzas. Ir gal net nesusvilo…

Man negaila to lito ar kiek, bet gal baikit mane apgaudinėti… Dar buvau kažkada gavęs kažko, bet ne BAV70 diodo.

Gal pasidalinkit, kokių nesamonių jums teko pridaryti nuo netiesioginės kaltės?

AVR62: išsamiau

September 6th, 2014

Buvo toks komentaras:

Būtų labai šaunu jeigu šitą straipsnį išplėstum ir padarytum kažką panašaus į “Levas for dummies'. T.y. nieko arba mažai 'raukiantiems' paaiškintum daugiau apie jungtis, kaip sąveikauja plokštės elementai vienas su kitu, koks ten softas naudojamas, kodėl būtent jungi tą su anuo ir t.t.

Net nežinau nuo ko pradėti. Gal pradesiu nuo ideologijos. :) Man nepatinka Arduino mintis- kad 'dummiai' pasiima kažkokią overpriced plokšte ir net nežinodami kaip kas veikia pradeda programuoti kažkokia iškreitpta makrosais kalba. AVR serijos mikroschemos yra labai jau low-level, todėl reikia programuoti viską nuo pradžių arba bent išsinagrinėti kaip kas veikia, kad netyčia nesigautu hardwarinių konfliktų. Read the rest of this entry »

AVR62: Atmega8 universali plokštė su pribambasais

September 5th, 2014

Prasidėjo nuo to, kad prisilupau kažkokios elektronikos su ATMEGA8-16 čipukais. Todėl buvo nelabai skubant padaryta žalia PCB. kurioje kažkodėl pamišau I2C pull-up.
nixie atmega8 RTC dynamic indication
Plokštėje numatytos vietos šiai hardwarei:

  1. RTC -Philips PCF8593 arba analogas. Tikras I2C plius INT0.
  2. Drėgmės ir temperatūros sensorius DHT11.
  3. High side switch IPS511G.
  4. RS485 standartinė mikroschema, SN75176.
  5. Visos kojos išvestos į 0,1″ jungtis.
  6. “cominis" kvarcas.
  7. ISP, 6 pin.
  8. Plokštę galima pjauti ir visa periferija pasišalina.

Per savaitės laiko skirtumą padaryta dar viena PCB. Specialiai skirta NIXIE lempom. T.y. yra katodų ir anodų raktai ir aukštos įtampos šaltinis. Palaiko iki 6 lempų, dinaminė indikacija. PCB'e viena esminė klaida, kuri atsikartoja 6 kartus, todėl naudojamas kiek gudresnis supaprastintas jungimas- izoliacija per kondikus. Kaip šito straipsnio komentaruose. Naudojami 6 aukštavolčiai (MPSA92) tranzai ir К155ИД1 (74141) mikroschema. Beja čekiška mikroschema man testavimo metu susvilo…

Ir aišku: RTC nixie clock with moisture DHT11 (sourcecode for AVR and compiled version for mega8).
Softas aišku testinis, ne galutinis produktas. Iš įdomumu: visa dinaminė indikacija padaryta per taimerio pertraukimą. Ten biškį kažką sumaliau su simbolio vietos skaičiavimu ir gavosi nelabai elegantiškai. INT0 gauna signalą iš RTC taimerio. Ar tai 1Hz dažniu ar suveikia du kartus per sekundę… tik tada nuskaitomas laikrodis. Kas 4 tickus iškviečiamas “lėtas softwarinis pertraukimas"- paprasčiausiai skaitymas iš DHT11 labai lėtas ir jei jį atlikinėti indivualiais, tai mirga neoninės lempos. Dabar DHT11 skaitymas tikriausiai pertraukiamas kelis kartus tikrais pertraukimais. Tačiau viskas veikia ir neoninės lemputės visiškai nemirga.

Dabar turėdamas desietką PCB manau kiek apmažinsių nixių atsargas.

CRT2 arba klijavimo pamokėlės

August 30th, 2014

Kiekvienas nepabaigtas aparačiukas, ypač stiklinis, turi tendencija kur nors nukristi ir sudužti, laideliai turi tendencija nutrukti… ir panašiai. Senesnės žinutės ekraniukas pasirodė toks fainas, o ir reikia pasimokyti klijuoti organinį stiklą, todėl nutariau padaryti mažytę permatomą dėžutę šiam kineskopui. Kiek pasiautėjau Corel Draw programoje:

minit CRT TV monitor CCTV crystal clear case
Ir gavau visą kalną puzlės gabaliukų.
Read the rest of this entry »

CRT

August 23rd, 2014

Dabartiniais LCD, oLED, amoLED ar net plazma laikais man kartais užeina depresinė psichozė ir pradedu nostalguoti dėl senoviškos technologijos. Tai išlenda raudoni šviesos diodai, tai VFD, tai net NIXIE ar kitokios lempos. Dabar panostalguosim apie CRT (angliškai Cathode Ray Tube), musiškai- kineskopai. Tačiau dar tikriausiai daugelis atsimena ar turi visokius CRT televizorius, todėl apie juos nieko ir nepaišysim. Prisiminsim juodai-baltą technologiją ir atitinkamus kineskopus. Deja, namie aš neturiu jokio Šhiljalio, vienintelis daiGtas su CRT tai Apple Macintosh SE su nulėkusia atmintim. Todėl panagrinėsim kiek keistesnės formos kineskopus.

Pradžiai va šituos:
CRT viewfinders
Kairėje kineskopiukas iš Sony 8 kameros, per vidurį kažkas nuo Panasonico (triubelės kodas M01KGG007WB) ir dešinėje kogero moderniausias modeliukas iš nežinomo šaltinio.
Read the rest of this entry »

5MHz etaloninis generatorius

August 12th, 2014

Tiesa, jis nėra toks jau tikslus etalonas, bet buitinėm reikmėm sueis. Kai dariau prietaiso panelę, tai tame prietaise buvo sumontuotas 5MHz generatorius. Jis naudojamas kai staiga reikia pasitikrinti, ar koks dažnuminis prietaisas nenuplaukė į dausas. Senasis generatorius buvo padarytas naudojant senas tarybines TTL mikroschemas ir aišku davė stačiakampį su visom privalomom harmonikom. Jau planavau į perdarytą prietaisą kišti tą generatorių, bet poto … užmyniau ant tos schemos ir ji trakštelėjo. Todėl prietaisą surinkau be generatoriaus. O dabar labai labai neskubėdamas nutariau padaryti tą generatorių per naujo. Tik dabar užsinorėjau gražios sinusoidės. Internete radau keletą schemų ir naudodamas archaine pjaustytos plokštelės technologiją pradėjau dėlioti generatorių. Viena schema nesuveikė, kita schema nesuveikė, poto pakeičiau vieną tranzą ir kažkaip netyčia jau užfiksavau kažkokius elektros virpesius- traukulius. Tačiau schema pirmiausia buvo labai silpna energetiškai- reikėjo išėjimo stipriako. Poto užtikau harmonikas. O poto, kai sumontavau filtrą pamačiau, kad reikia didesnės amplitudės.
Taip gimė šis prietaisiukas:
5MHz etalonas
Kai dažnio stabilizatorius panaudotas labai gražus auksinis 5MHz kvarcas iš senos tarybinės matavimo technikos. Paprastai tokie būna sukišti į termostatus, tačiau man užtenka ir tokio tikslumo.
Read the rest of this entry »

Unhappy Tikbalang