Transcript

1

Eierlegende Wollmilchsau?

Mikrocontroller sind in fast jedem mo-dernen Gerät zu finden. Sie steuern, regeln,erfassen Eingaben und sind für eine über-sichtliche Ausgabe der Ergebnisse verant-wortlich. Obwohl die meisten Mikrocont-roller bereits über interne digitale Kompo-nenten (Timer, Zähler usw.) verfügen, sindfür ein funktionierendes System noch wei-tere externe Beschaltungen wie z. B. Ope-rationsverstärker, Komparatoren, Filter,A/D-Wandler, D/A-Wandler etc. erforder-lich. Ein solches System weist schon einenhohen Grad an Flexibilität auf, der jedochin einer vorhandenen Schaltung durch dieexterne Beschaltung des Mikrocontrollersbegrenzt wird. Was wäre, wenn diese Fle-

xibilität noch weiter gehen würde und pro-grammierbare digitale und analoge Peri-pheriekomponenten neben dem Mikro-controller in einem Chip integriert wären?Man hätte ein komplettes System auf ei-nem Chip und könnte die externe Beschal-

tung auf das Nötigste, z. B. platzmäßignicht zu integrierende Kondensatoren oderBedien- und Einstellelemente, minimieren.

Ein solches System hat Cypress Micro-systems mit seiner PSoCTM-Familie bereitsvor einiger Zeit auf den Markt gebracht.

PSoC™ –Programmable System-on-Chip

Die PSoC™-Familie von Cypress Microsystems ist an Flexibilität und Einsatzbreite kaumzu überbieten, befindet sich doch hier ein komplettes System auf einem Chip.

Neben einem leistungsfähigen Prozessor und den allgemein aus Mikrocontroller-Konfigurationen bekannten Peripherie-Komponenten wie Watchdog-Timer und Oszillatorbietet der PSoC™-Baustein programmierbare analoge und digitale Schaltungsblöcke, sodass der Elektronik-Entwickler hier individuelle A/D-Wandler, Filter usw. erstellen kann.Unser Artikel beschreibt den Aufbau und die Möglichkeiten eines PSoC™-Bausteins und

einen Leitfaden zum ersten kleinen Projekt.

Tabelle 1: Übersicht der wichtigsten vorhandenen Module

Digitale Module Analoge Module

• Timer 8, 16, 24, 32 Bit • Verstärker• Counter 8, 16, 24, 32 Bit • Komparatoren• PWM 8, 16 Bit • Analog-Digital-Wandler• I2C Master und Slave • Digital-Analog-Wandler• SPI Master und Slave • Filter• Full Duplex UART • DTMF-Tonerzeugung• IrDA-Empfänger und -Sender• CRC-Generator

PC-Technik

2

PC-Technik

Die Abkürzung „PSoC“ steht für „Pro-grammable System-on-Chip“ und verweistauf die Flexibilität, mit der diese Bausteineeingesetzt werden können. Neben den auseinem „normalen“ Mikrocontroller be-kannten Elementen wie Timer, UART usw.verfügt der PSoCTM-Baustein über zusätz-liche, programmierbare analoge und digi-tale Blöcke, die entsprechend der Anwen-dung individuell konfigurierbar sind. EineÜbersicht der wichtigsten vorhandenenModule zeigt Tabelle 1. Diese Module kön-nen in einem grafischen Editor der kosten-losen Entwicklungsumgebung „PSoCTM-Designer“ (siehe Abbildung 1) per „drag &drop“ einfach ausgewählt und auf denentsprechenden Blöcken abgelegt werden.Hierbei kann man die Ein- und Ausgängedes gewählten Moduls einfach in der Ansichtmit den gewünschten Pins des PSoCTM-Bausteins oder weiteren Modulen verbin-den, so dass tatsächlich ein individuellerMikrocontroller mit zusätzlichen analo-gen und digitalen Funktionen entsteht. DieRoutinen zur Verwendung bestimmterModule (z. B. Analog-Digital-Umsetzer)generiert die Entwicklungsumgebunggleich mit. So sind unterschiedlichste Kon-figurationen schnell und einfach erstellbar.Während der Laufzeit kann man per Soft-ware sogar zwischen verschiedenen Kon-figurationen umschalten, was wir an einemBeispiel betrachten wollen:

Ein Temperaturlogger soll in einem Fe-rienhaus in festgelegten Abständen dieTemperatur aufzeichnen und einmal täg-lich die erfassten Daten über ein Modem anden heimischen Rechner übertragen.

Um diese Aufgabe zu lösen, werdenzwei Konfigurationen für den PSoCTM-Baustein erstellt. Die erste besteht aus denModulen zur Aufbereitung und Messungdes Sensorsignals und ist während desgesamten Tages aktiviert. In der zweitenKonfiguration werden die Module zur

Ansteuerung für den Modembetrieb aus-gewählt und entsprechend verbunden.

Während des gesamten Tages ist Kon-figuration 1 aktiv, erfasst die Temperatur-daten und speichert sie ab. Einmal täglichwird auf Konfiguration 2 umgeschaltet unddas Modem aktiviert. Das Gerät wählt dieRufnummer des heimischen Rechners undüberträgt die gespeicherten Daten. Danachwird die erste Konfiguration wieder solange aktiviert, bis die nächste Datenüber-tragung ansteht.

Die Architektur des PSoCTM stellt demAnwender also sehr viele Möglichkeitenzur Verfügung. Der unbestrittene Vorteilist die Flexibilität, aber auch die Einspar-möglichkeit von externen Komponentensollte nicht außer Acht gelassen werden.Dies ist gerade für den Hobby-Elektro-niker sehr nützlich, da man neben der ei-gentlichen digitalen Steuerschaltung „malschnell“ einen Verstärker oder Filter „auf-bauen“ kann, auch wenn man gerade kei-nen (passenden) Operationsverstärker zurHand hat.

Der Aufbau – eine Übersicht

Das Blockschaltbild des PSoCTM-Bau-steins ist in Abbildung 2 zu sehen. Aufden ersten Blick ist zu erkennen, dass ne-ben dem leistungsfähigen 8-Bit-Prozessor(M8C-CPU) zunächst zahlreiche (digita-le) Peripheriebausteine vorhanden sind:

• bis zu 32 kB wiederprogrammierbaresFlash-ROM

• bis zu 2 kB SRAM• interner 24-MHz-Oszillator• Echtzeit-Uhr• I2C-Schnittstelle• Hardware-MultipliziererDer Clou des PSoCTM sind allerdings die

programmierbaren analogen und digitalenPSoCTM-Blöcke (gelb hinterlegt), mit de-nen man die bereits oben aufgezählten undviele weitere Funktionen realisieren kann.Eine Beschreibung des internen Aufbausund die genaue Funktionsweise dieserBlöcke würde den Rahmen dieses Arti-kels sprengen und kann den zahlreichenDatenblättern und „Application Notes“(siehe [1]) entnommen werden.

Die konfigurierbaren Ein-/Ausgabeportsdes PSoCTM können als Ein- oder Ausgangfür die analogen PSoCTM-Blöcke, als Ein-oder Ausgang für die digitalen PSoCTM-Blöcke oder über den Systembus als digi-tale Ports für den Prozessor dienen.

Der Einstieg

Der Einstieg in die Welt des PSoCTM

sollte für jemanden, der über etwas Erfah-rung in der Mikrocontroller-Programmie-rung verfügt, kein großes Problem darstel-len, jedoch ist eine gewisse Einarbeitungs-zeit zwingend erforderlich, um die Möglich-keiten dieses Bausteins begreifen und an-wenden zu können. Hierbei bieten die vie-len Informationen auf der PSoCTM-Home-page [1] des Herstellers eine gute Hilfe. Es

Bild 1: Modul-und Verbindungs-ansicht imPSoCTM-Designer

Bild 2: Blockschaltbild eines PSoCTM-Bausteins

3

werden neben den Datenblättern für dieeinzelnen Bausteine zahlreiche „Applica-tion Notes“ zur Verfügung gestellt. Hier-bei handelt es sich zum Teil um Beschrei-bungen einzelner wichtiger Punkte, z. B.was man beim Einstieg beachten muss(AN2010: „Getting Started with PSoC“)oder Erläuterungen zum Verständnis deranalogen Blöcke (AN2041: „Understan-ding Switched Capacitor Analog Blocks“).

Den weitaus größeren Teil bilden je-doch konkrete Anwendungsbeispiele, z. B.Bewegungsmelder oder ein Telefonlog-ger. Aus dem Studium dieser Beispieleerhält man wertvolle Informationen, diebei der Umsetzung des eigenen Projektessehr hilfreich sind.

Eine weitere effektive Informations-quelle – nicht nur für den Einstieg – ist das„PSoC Customer Forum“ [2]. In diesem

Forum sind PSoCTM-Anwender, sowohlEinsteiger als auch Profis, aus der ganzenWelt aktiv und versuchen, entsprechendeFragen zu beantworten bzw. Probleme zulösen. In den meisten Fällen ist die gestellteFrage bereits nach wenigen Stunden be-antwortet. Ein Blick in dieses Forum lohntsich auch dann, wenn man gerade keinekonkrete Frage hat, sondern sich überschon vorhandene Lösungen informierenoder Anregungen für eigene Projekte er-halten möchte.

Und schließlich bietet Cypress über denInternet-Support so genannte Tele-Trai-nings-Module an, die Schritt für Schrittden Weg zur Realisierung eines konkretenProjektes gehen. Die Erläuterung zu dendort herunterladbaren Projekten findetallerdings nach Registrierung per Tele-fon-Konferenzschaltung in den USA statt,ist für deutsche Anwender also eher kos-

tenintensiv, und sie findet zudem für unsnachts statt. Aber immerhin geben schondie Projektfiles selbst einen erstklassi-gen Einblick in die Entwicklung vonProjekten.

Das erste Projekt

Im Folgenden beschreiben wir die Er-stellung eines kleinen ersten Projekts, umden Einstieg zu erleichtern und die erstenAnfangsschwierigkeiten auf ein Minimumzu begrenzen. Hierbei soll mit geringemAufwand eine LED an Port 2.0 zum Blin-ken gebracht werden. Bevor man jedochstarten kann, muss die zugehörige Ent-wicklungsumgebung – der PSoCTM-Desig-ner – von der Homepage [1] (Sektion „Soft-ware & Drivers“) in der neusten Versionheruntergeladen und installiert werden.Danach wird die Software gestartet und einneues Projekt angelegt (File → New Pro-ject → Create New …).

In den daraufhin erscheinenden Fens-tern wählt man zunächst den Projektnamenund dann den gewünschten Mikrocontrol-

ler aus (Abbildung 3). Nachdem alle Ein-stellungen über den Button „Fertig stellen“bestätigt sind, generiert der PSoCTM-Desig-ner das Grundgerüst der Applikation undstartet darauf die Modulauswahl im „De-vice Editor“ (Abbildung 4). Links im Fens-ter sind alle verfügbaren Module aufge-listet, aufgeteilt in mehrere Gruppen. Immittleren Teil wird das Datenblatt desaktuell ausgewählten Moduls dargestellt.Es beschreibt neben den technischen An-gaben auch die Funktionsprototypen, d. h.die Befehle zur Verwendung des Moduls.In den meisten Fällen ist sogar ein kleinesBeispielprogramm („Sample Code“) auf-geführt.

Für die blinkende LED wird ein 8-Bit-Zähler benötigt, so dass man im Abschnitt„Counters“ das Modul „Counter8“ mit ei-nem Mausklick auswählt.

Im mittleren Teil ist jetzt die kompletteBeschreibung der technischen Eigenschaf-ten, der Parameter sowie der Steuerbefehle(8-Bit-Counter-API) sichtbar. Zur Über-nahme dieses Moduls in das Design klickt

Bild 3: Erstellung eines neuen Projek-tes

Bild 4: Modulaus-wahl im „DeviceEditor“

Bild 5:Verbindungsan-sicht im „DeviceEditor“

4

man mit der rechten Maustaste auf das Icon„Counter8“ und betätigt den Menüpunkt„Select“, daraufhin wird das Modul in derAnsicht „Selected User Modules“ sicht-bar. Auf der rechten Seite des Fensters – im„Resource Meter“ – erfolgt die Anzeigeder verfügbaren und der verbrauchtenRessourcen des gewählten PSoCTM-Bau-steins. Man kann hier erkennen, dass der8-Bit-Counter einen digitalen Block und67 Byte im ROM für die Ansteuerfunk-tionen belegt.

Jetzt müssen die Konfigurationen derglobalen Ressourcen und des Zählermo-duls vorgenommen werden. Hierzu schal-tet man den „Design Editor“ über denMenüpunkt „Config → Interconnect“ indie Verbindungsansicht (InterconnectView, Abbildung 5). Hier wird das Zähler-modul zunächst über den Menüpunkt „Con-fig → Place User Module“ platziert. ImAnschluss daran trägt man die erforderli-chen Konfigurationen, wie in Abbildung 6gezeigt, ein. Dabei sind im Bereich „Glo-bal Resources“ zunächst der Systemtaktund dann die Teilerwerte der drei internenTaktteiler VC1 bis VC3 festzulegen.

Bild 6: Konfiguration

Im Abschnitt „User Module Parame-ters“ konfiguriert man den Zähler so, dassder Ausgang des Teilers VC3 die Takt-quelle bildet. Der Parameter „Period“ undder Vergleichswert mit „CompareValue“bilden die Angabe des Endwertes. Ent-sprechend der Einstellung „CompareType“wird der Ausgang „CompareOut“ bei ei-nem Zählwert von kleiner oder gleich demVergleichswert auf High-, ansonsten aufLow-Pegel gesetzt. Bevor man diesenAusgang auf ein weiteres Modul bzw. aufeinen Ausgang schalten kann, ist er aufeine Zeilenleitung (hier Row_0_Output_0)zu führen („CompareOut“). Diese Leitungwird dann mit einer Leitung des Ausgangs-busses („GlobalOutput“, GOO bzw. GOE)verbunden, indem man den Ausgangsmul-tiplexer der Zeilenleitung anklickt und imdaraufhin erscheinenden Fenster (Abbil-dung 7) die Treiberstufe 0 auswählt. ZumAbschluss wird die Treiberstufe 0 mit demPortpin P 2.0 verbunden, indem PORT_2_0angeklickt und über „Select“ auf „Global-OutputEven_0“ programmiert wird. Somitist die Konfiguration des Zählerbausteinsbeendet und man kann die Applikationüber den Menüpunkt „Config → GenerateApplication“ generieren.

Dann erfolgt der Start des eigentlichenProgrammier-Editors, des „Application-Editor“ über den Menüpunkt „Config →Application Editor“ sowie der Aufruf derDatei „main.asm“. Jetzt fügt man unter derZeile „_main:“ lediglich den Befehl

call Counter8_1_Startein, und die Programmierung ist beendet.

Auf den Befehlssatz gehen wir hier nichtweiter ein, da die PSoCTM-Homepage hier-zu einige übersichtliche Dokumente zur Ver-fügung stellt (siehe [3] und [4]) und alleModulbeschreibungen mit entsprechendenProgrammierbeispielen ausgestattet sind.

Mittels der Taste „F7“ wird das Projektnun kompiliert und eine Programmdatei(hex) erzeugt, die man mit einem geeigne-ten Programmiergerät zum Test in einenPSoCTM-Baustein laden kann.

Um ein besseres Verständnis für dieVerschaltungs- und Programmiermöglich-keiten der digitalen und analogen Blöckezu erhalten, kann man nach dem erfolgrei-chen Test mit diesem Beispielprojekt et-was „spielen“. Ändern Sie einen Parame-ter und prüfen Sie die Auswirkungen! Ver-binden Sie den Ausgang des Zählers mitPort 1.5 anstatt mit Port 2.0!

Dieses Beispielprojekt zeigt den prin-zipiellen Ablauf einer auf PSoCTM basie-renden Entwicklung und bildet somit einenkleinen Einstieg, um das gesamte Konzeptder PSoCTM-Familie zu durchblicken undanzuwenden. Bis es jedoch so weit ist,muss der Anwender noch etwas Fleißar-beit investieren, die ihm aber durch denumfangreichen Herstellersupport erleich-tert und mit einem ultrakompakten Schal-tungsdesign sowie der Möglichkeit zurindividuellen Mikrocontrollerlösung ho-noriert wird.

Bild 7: Auswahl desAusgangstreibers

Internet:

[1] Cypress’ PSoC-Homepagehttp://www.cypress.com/PSoC

[2] Cypress’ PSoC Consumer Forumhttp://www.cypress.com/forums/categories.cfm?catid=3

[3] PSoCTM-Designer:Assembly Language User Guidehttp://www.cypress.com/cfuploads/pub/Assembler.book.pdf

[4] Instruction Set Quick Referencehttp://www.cypress.com/cfuploads/pub/intructions.pdf

Bequem programmieren

Die PSoC™-Bausteine der Fa. CypressMicroSystems bieten sowohl dem profes-

PC-Technik

5

sionellen Schaltungsentwickler als auchdem ambitionierten Hobby-Elektronikereine sehr große Anwendungsbandbreiteund viele Möglichkeiten zur schnellen Er-stellung einer funktionierenden Schaltungauf einem Chip.

Die Besonderheit des Cypress PSoC™stellen die konfigurierbaren Analog- undDigitalblöcke dar, mit denen der Mikro-controller um Funktionsblöcke wie Timer,Zähler, Filter, A/D-, D/A-Umsetzer usw.erweitert werden kann. Diese Eigenschaf-ten und Funktionen haben wir im erstenTeil dieses Artikels ausführlich vorgestellt.Obwohl die Programmierung, wie wir siean unserem ganz einfachen Beispielpro-jekt gezeigt haben, eine umsichtige Fleiß-arbeit erfordert, lohnt der Aufwand, dennes entsteht ein besonders kompaktes Schal-tungsdesign, das sich von herkömmlichenLösungen durch den geringen Hardware-Aufwand abhebt. Gerade komplexe undvom Anwender im ultrakompakten Designgeforderte Lösungen sind nur über einensolchen Weg realisierbar. Man denke hiernur an Mini-Messwertaufnehmer mit eige-ner Intelligenz, die Transpondertechnik,künftige RFID-Anwendungen usw.

Aber ohne ein passendes Programmier-gerät ist ein einfacher Einstieg natürlichnicht möglich. Das „PSoC™ MiniProg“von Cypress MicroSystems ist solch eineinfaches und günstiges Programmierge-rät, mit dem die PSoC™-Mikrocontrollerdirekt in der Zielschaltung programmiertwerden können. Dieses Programmierge-rät, das mit einer kleinen Entwicklungspla-tine für die ersten Versuche und Experi-mentierschaltungen mit dem PSoC™-Con-troller geliefert wird, ist Mittelpunkt unse-rer Praxisbetrachtungen.

In-System Serial Programming

Die Daten werden über eine 5-poligeSchnittstelle, deren Belegung in Tabelle 2aufgeführt ist, vom PC aus in den Bausteinübertragen. An dieser Stelle kommt dasISSP™(In-System Serial Programming)-Protokoll [1] zum Einsatz. Das bedeutet,dass die Daten über die Datenleitung(SDAT) zwischen dem Programmiergerätund dem PSoC™-Baustein seriell übertra-gen werden. Die Übertragungsrichtung die-ser Verbindung kann sich im Program-mierverlauf auf Anforderung des Pro-

Lieferumfangdes Programmiergerätes:

· MiniEvaluation Board, das auch alsProgrammieradapter benutzt werdenkann!

· MiniProgrammer „PSoC™ MiniProg“· CY8C29466-24PXI 28pin DIP Sample· PSoC™ Designer CD· USB-Kabel· User Guide

Tabelle 2:ISSP-Programmierschnittstelle

SDAT Serieller Datenein-/-ausgangSCLK ÜbertragungstaktXRes ResetVSS MasseVDD Betriebsspannung

Bild 8:Der

Anschlussdes PSoC™

an dieProgrammier-schnittstelle

Ansicht des Liefer-umfangs

grammers ändern, d. h., es handelt sichbeim SDAT-Anschluss um einen Ein-/Aus-gang. Den Takt für diese Kommunikationstellt ausschließlich das Programmiergerätüber die SCLK-Leitung zur Verfügung.

Die Einleitung des eigentlichen Program-miervorgangs kann hier auf zwei unter-schiedliche Arten erfolgen, entweder überden „Power-on-Mode“ oder durch eine vor-gegebene Reset-Sequenz über den XRes-Pin (Reset-Mode).

Im „Power-on-Mode“ wird zunächst dieBetriebsspannung durch das Programmier-gerät eingeschaltet. Danach wartet es solange, bis die Spannung stabil ist und aufder SDAT-Leitung eine negative Flankeauftritt. Dann kann der PSoC™-Bausteininitialisiert werden. Da aber das SDAT-Signal nach dem Anlegen der Betriebs-spannung sehr verrauscht sein kann, sindFehler möglich. Daher sollte man zur Ini-tialisierung den „Reset-Mode“ bevorzu-gen. Hier wird nach der Stabilisierung derBetriebsspannung vom Programmer einkurzer Reset-Impuls erzeugt, nach dem derInitialisierungsbefehl an den Mikrocont-roller gesendet werden kann. Zu beachtenist hier allerdings, dass einige 8-poligeBausteine nicht über einen Reset-Pin ver-

fügen – sie sind somit allein über denPower-on-Mode programmierbar.

Vorbereitung der Zielschaltung

Die Zielschaltung mit dem PSoC™-Bau-stein muss für die Verbindung mit demProgrammiergerät so ausgelegt sein, dassdie ISSP™-Schnittstelle frei zugänglich ist.Im besten Fall sieht man eine Stiftleistevor, auf die der „MiniProg“ direkt aufge-steckt werden kann.

Für erfolgreiche Datenübertragungensind bei den Verbindungen mit der Pro-grammierschnittstelle einige wichtige Kon-ventionen zu beachten [2], die im Folgen-den zusammengefasst sind. Die Datenlei-tung wird mit P1(0) und die Taktleitung

6

mit P1(1) des PSoC™-Bausteins verbun-den. Dies sind Portpins, die im normalenBetrieb der Schaltung als Ein- oder Aus-gang (z. B. zum Einschalten einer LEDoder Abfragen eines Tasters) zum Einsatzkommen. Die Verbindung dieser Portpinsnach Masse darf minimal einen Widerstandvon 1 kOhm und maximal eine Kapazitätvon 120 pF haben (siehe Abbildung 8).Besteht keine Möglichkeit, diese Werteeinzuhalten, leistet eine steckbare Unter-brechung (Jumper o. Ä.) gute Dienste.

Das Reset-Signal (XRes) sollte direkt mitder Programmierschnittstelle verbundenwerden, um zu gewährleisten, dass derProgrammiermodus verlässlich aktiviertwerden kann. Oftmals erfolgt der Reset imNormalbetrieb von einem speziellen Re-set-Baustein oder durch einen System-Re-set. In einem solchen Fall müssen dieseReset-Quellen über einen Widerstand(1 kOhm) entkoppelt werden (siehe Abbil-dung 8). Das XRes-Signal bleibt aber trotz-dem direkt mit dem entsprechenden Pindes PSoC™-Bausteins verbunden.

Der VDD-Pin sollte nur in dem Fall an dieBetriebsspannung des PSoC™ angeschlos-sen werden, wenn der „Power-on-Mode“verwendet wird. Der GND-Pin ist in jedemFall direkt mit der Masse der Zielschaltungzu verbinden.

Das Programmiergerät

Das Programmiergerät „PSoC™ Mini-Prog“ ist sehr klein und kompakt undunkompliziert in der Anwendung. Bevorman es jedoch einsetzen kann, sind dieEntwicklungsumgebung „PSoC™ Desig-ner“ und der „PSoC™ Programmer“ aufdem PC zu installieren. Erst dann wird dasProgrammiergerät über das mitgelieferteKabel an einen freien USB-Port des PCsangeschlossen. Ist diese Verbindung in

Bild 9: Der PSoC™ MiniProg inder Übersicht. Die Lage derAnzeigen und der Schnittstellenist hier gut zu sehen.

Bild 10: Das Hauptfenster der PSoC™-Programmiersoftware

Ordnung, beginnt die grüne „Status“-LEDneben der USB-Buchse des MiniProg zublinken. Sollte der USB-Treiber im Zugeder Installation der Programmer-Softwarenicht korrekt installiert worden sein, sobleibt diese LED dunkel.

Eine weitere LED („Target Power“) zeigtan, ob am VDD-Ausgang des Programmier-gerätes eine Spannung ausgegeben wird,die das Zielsystem vom Programmiergerätaus versorgt.

Jetzt kann die ISSP™-Schnittstelle desMiniProg an die vorbereitete Zielschal-tung angeschlossen werden.

Die Lage der LEDs und der Schnittstel-len sind aus Abbildung 9 entnehmbar.

Mit der zugehörigen Entwicklungsum-gebung, dem „PSoC™ Designer“, werdenjetzt die gewünschten Konfigurationen derprogrammierbaren Analog- und Digital-blöcke vorgenommen sowie das Programmin „Assembler“ oder der Programmierspra-che „C“ (optional) erstellt, um somit dieFunktionen der Zielschaltung zu definie-ren. Die Vorgehensweise hierbei ist imersten Teil dieses Artikels bereits ausführ-lich erläutert worden.

Die Programmiersoftware (Abbildung 10)ist jetzt aus dem „PSoC™ Designer“ he-

raus über das Menü „Program ➞ ProgramPart“ zu starten, dann werden die notwen-digen Konfigurationen vorgenommen:Port ➞ Programmiergerät auswählen

(hier: MiniProg1)Device Family ➞ Baustein-Familie

(z. B. 27x43)Device ➞ Baustein (z. B. CY8C27443)Programming mode ➞ Programmier-

modus (s. o.)Power Device ➞ Spannungsversorgung

am VDD-Pin ein-/aus- schalten

Jetzt kann man das erstellte Programmüber den „Program“-Button in den PSoC™-Baustein des Zielsystems übertragen unddirekt testen.

Flexibles SystemDie Bausteine sind bis zu 50.000-mal

wiederbeschreibbar, so dass man auch klei-ne Änderungen schnell ausprobieren kann,ohne jedes Mal einen neuen Controller ein-setzen zu müssen. So kann man aber auchetwa mit einem „Laborcontroller“ das Pro-gramm selbst, aber besonders spätere Än-derungen daran, ausgiebig testen, bevor dasfertige Programm bzw. dessen Update aufdas vielleicht nicht immer für den Entwick-ler verfügbare Zielsystem übertragen wird.Und jeder Entwickler wird die Möglichkeitschätzen, auf diese Weise sehr schnell Mo-difikationen und neue Ideen/Features rea-lisieren zu können. Besonders bei der kom-merziellen Nutzung bringt dies große Vor-teile, kann man doch schnell auf neue An-

PC-Technik

7

Internet:

[1] In-System Serial Programming(ISSP) ™ Protocolhttp://www.cypress.com/Application note „AN2026a“

[2] Design for In-System Serial Pro-gramming (ISSP)™

http://www.cypress.com/Application note „AN2014“

forderungen reagieren, ohne dass jedes Malneue Hardware-Kosten entstehen.

Ein mitgeliefertes Testboard, das „Mi-niEvaluation Board“, vereinfacht den Ein-stieg in die PSoC™-Welt noch weiter. Aufdieser kleinen Leiterplatte befinden sichLEDs, ein Potentiometer, ein Taster, eineStiftleiste zum Aufstecken des MiniProgund ein Sockel für einen PSoC™-Control-ler. Man kann also einfache Programmier-versuche ohne jegliches Löten sofort ineiner Schaltung ausführen.

Außerdem kann man dieses Testboard in

Verbindung mit dem „MiniProg“ als „Stand-alone“-Programmiergerät für PSoC™-Bau-steine verwenden, um diese im o. g. Sinneohne die entsprechende Zielschaltung be-schreiben zu können.

Insgesamt hält der Schaltungsentwicklermit dem PSoC™-System also ein äußerstuniversell einsetzbares und effizientes Ent-wicklungswerkzeug in der Hand, das denrein softwaremäßigen Entwurf extrem kom-pakter Schaltungsdesigns mit implemen-tierter Intelligenz gestattet und dabei einehohe Flexibilität an den Tag legt.


Recommended