PSoC - nastavení procesoru

V minulém díle jsme si řekli něco o prostředcích, které budeme potřebovat . Řekli jsme si kde sehnat obvody, programátor a začli jsme s úvodem do vývojového prostředí PSoC Desiner. Dnes budeme pokračovat, ale na úvod Vám představím LOW-COST programátor.

V minulém díle jsem uvedl, že vlastním originální programátor fy Cypress a toto řešení si velice pochvaluji. Odkaz na něj můžete nalézt zde:  PSoC miniprog1. Zakoupit ho lze u fyrmy MSC-VERTRIEBS-CZ s.r.o. a nebo Microdis. Na druhém uvedeném místě jsem ho kupoval i já, za cenu tuším něco málo přes 1100 korun. Při dněšním kurzi dolaru (24.2.2008), lze předpokládat výrazně nižší cenu.
Existuje však i levnější řešení, ikdyž já osobně bych si kdykoliv raději koupil originální programátor. Tím je FREE PROGRAMMER uvedený na : fóru PSOCDEVELOPER. Jedná se o programátor na paralelní port, obsahující minimum součástek, který však podporuje pouze mizivé procento obvodů fy Cypress, přesto pro základní práci stačí a pokud by si ho někdo stavěl, tak mu pro všechny našel lekce bude stačit také. Navíc je ovládací SW stále aktualizován, takže je možné že se seznam podporovaných obvodů rozšíří.


Minule jsme skončili úvodním nastavováním projektu. Vybrali jsme jméno projektu, programovací jazyk, typ procesoru... Dnes si nastavení dokončíme, představíme si základní funkční bloky procesoru a popíšeme globální vlastnosti. Následující obrázek zobrazuje okno PSoC Developperu, které se nám objevilo po nastavení projektu, které jsme provedli v minulém dílu.



Zde můžete vidět všechny uživatelské moduly, které je možno ve vybraném procesoru použít, o tom jak se moduly používají a kam je můžeme umisťovat, to si řekneme později. Nyní se podíváme na procesor samotný, představíme si některé jeho základní vlastnosti. Na to je nejlépe přepnout na tzv "Interconnect View", to provedeme kliknutm na červeně označené tlačítko:



 Zobrazí se nám vnitřní bloky PSoC, globální nastavení a nastavení jednotlivých bloků a portů. Tato část vývojového prostředí se stane základem naší práce (zapomeneme-li na samotný kód).




V levém sloupci se nacházejí 3 důležité části nastavení. Jsou tzv. Global Resources, obsahující nastavení hodin procesoru,  vnitřních hodin a jejich předděliče, nastavení oscilátoru, napájení analogových bloků, nastavení měniče, reference a podobně. Velmi důležitou částí nastavení jsou: User module parameters, ty určují vlastnosti vybaným modulům. (Například zdroj hodin, výběr vnitřiních sběrnic, nastavení přerušení - jejich povolení a typ, a mnoho dalších. Pod tímto oknem se nachází Natavení portů, zde se nastavuje řízení směru, typ portu, přerušení...

Prostředí sloupec se stane jistě vaším nejoblíbenejším. Zde jsou zobrazeny digitální a analogové bloky procesoru, vnitřní sběrnice a samotné porty. V následujícím díle si ukážeme jak na sběrnice připojovat porty a jak dále ty to sběrnice připojovat k blokům.

Pravá část zobrazuje přehled využitých pinů procesoru.

Global Resources

Nyní si představíme základní globální vlastnosti, jež lze v procesorech PSoC nastavovat. Jsou to:
  • CPU Clock
    • Hodiny procesoru - tzv taktování pro provádění instrukcí - tato vlastnost není totožná se systémovými hodinami. Pamatujte, že při nastavení například 24MHz není procesor schopen pracovat na napětí menším než 5V. Hodnoty, které je možné nastavit pro dané napájcí napětí najdete v dokumentu Technical Reference Manual, což je jakási bible pro vývojáře s těmito systémy.
    • Berte na vědomí, že vyšší frekvence CPU znamená také vyšší spotřebu, proto se snažte v zařízeních, kde je nutné spotřebu hlídat, omezit frekvenci CPU na nejnižší možnou míru.
  • 32k Select
    • Nastavení interního, nebo externího oscilátoru. Pokud je třeba vyšší přesnost, doporučuje se použití externího krystalu. 32k oscilátor ať vnitřní nebo vnější je jediným hodinovým signálem fungujícím po dobu sleep módu, pokud je třeba aby bylo nějaké zařízení aktivní během tohoto režimu, musí být taktování s tohoto zdroje.
  • PLL MODE
    • tento parametr umožňuje zasynchronizovat vnitřní oscilátor 32k a následně IMO (intermal main oscilator) na externí oscilátor. Tím lze například při pripojení hodinového krystalu z vnějšku získat přesné hodiny na IMO o frekvenci 23,968 Mhz
  • SLEEP MODE
    • Toto nastavení určije s jakou frekvencí se bude sleep timmer probouzet - je taktován z 32k zdroje hodin.
  • VC1, VC2, VC3_SOURCE, VC3
    • Toto jsou předděličky pro zdroje sloužící jako zdroje hodin pro digitální a analogové bloky. V příštím díle si ukážeme jejich použití. VC1 jde nastavit od 1 do 16, zdojem je IMO (běžně 24MHz, VC2 od 1 do 16, zdrojem je VC1, VC3 jde nastavit od 1 od 255, zdroj je volitelný. Pamatujte, že nastavením velkých frekvencí se zvyšuje spotřeba obvodu
  • SYSCLK_SOURCE
    • nstavuje zdroj systémových hodin. Normálně to je IMO, který má však přesnost 2,5%, je-li vyžadována vyšší přesnost je možné nastavit zdroj hodin na P0.4 a nebo oscilátor na P0.1 a P0.0.
  • SysClck*2 Disable
    • Tento parametr umožňuje zdvojnásobit systémový čas. Zvyšuje se však spotřeba.
  • ANALOG POWER
    • Zapíná a vypíná analogové SC (switched capacitor) bloky, zároveň umožňuje nastavit napájení a tím i přesnost analogových referencí.
  • REFMUX
    • Nastavuje druh analogové reference:
      • Vdd/2 ± BandGap nastavuje analogovou zem na polovinu napájecího napětí a meze na Vdd/2 - BanGap a Vdd/2 + BandGap. BandGap je určen hodnotou 1,3 V. To znamená, že pokud napájíme procesor 5 volty, pak rozsah je 1,2V - 3,8V.
      • Vdd/2 ± Vdd/2 nastavuje rozsah od 0 do napájecího napětí.
      • Další volby si lze jednoduše dopočítat
  • AGND BYPASS
    • Pokud chceme omezit šum při práci s analogovými bloky, připojíme externí kapacitu na pin P2.4 a nastavíme tento parametr na ENABLED.
  • OP-amd Bias
    • Nastavuje proud analogovými bloky, pro začátek návrhu se doporučuje mít tuto možnost vypnutou. Při zapnutí umožňuje přesnější práci s analogovými bloky, zvyšuje jejich rychlost,
  • A_BUFF POWER
    • Nastabuje napájení analogových výstupních bufferů - více v některé z dalších kapitol
  • SWITCH MODE PUMP
    • Umožňuje použít vnitřní měnič například pro napájení z baterie - ukážeme si na praktické aplikaci.
  • Trip Voltage[LVD(SMP)]
    • Nastavuje napětí pro low-voltage stav
    • vyvolává přerušení
  • LVD Throttleback
    • umožňuje snížit rychlost procesoru, pokud dojde k poklesu napájecího napájení
  • Supply Voltage
    • Volba napájecího napětí (5V, 3,3V)
  • Watchdog Timmer
    • Povolení nebo zakázání WatchDogu
Příště si již ukážeme praktický příklad jak využít dnes nabytých znalostí.

Komentovat článek

Jméno:  
Zpráva:

Komentáře k článku

článek zatím nikdo nekomentoval