Docstoc

Deel 3 Sprekende thermometer, CF

Document Sample
Deel 3 Sprekende thermometer, CF Powered By Docstoc
					TECHNIEK     ONTWERPEN MET PIC24F




    Explorer-16
    Deel 3: Sprekende thermometer,
    CF-kaart-simulatie en cryptopuzzel
    Jan Buiting & Luc Lemmens, in samenwerking met Microchip Technology en Labcenter Electronics


                                                                               Deze maand een geavanceerdere
                                                                               simulatie (maar nog steeds
                                                                               helemaal gratis) met een VSM
                                                                               model van apparatuur voor
                                                                               geheugenkaartjes die worden
    aangesloten op ons PIC24F-systeem (helemaal virtueel natuurlijk). Aan het eind kunt u nog een CF-kaart
    crypto puzzel oplossen en kans maken op enkele mooie prijzen die door Microchip en Labcenter ter beschikking
    gesteld worden. Maar laten we ons nu eerst nog maar eens bezig houden met de sprekende thermometer.


    De sprekende thermometer van de vo-      wikkelde PIC24F-software kunt maken     worden uitgevoerd. Het enige wat
    rige maand is niet zomaar een simu-      en debuggen tot op het hoogste niveau   daarvoor nodig is, is te weten hoe de
    latie. Deze bestaat uit drie onderde-    in combinatie met hardware zoals sen-   PIC24F PIM op het Explorer-16 demo-
    len: (1) Proteus VSM van Labcenter,      sors en spraakuitvoer. De interactie    board van ons Explorer-16 pakket ge-
    (2) MPLAB van Microchip Technology       tussen de hardware en de software       programmeerd moet worden.
    (beide van de Explorer-16 CD-ROM) en     kan uitgebreid getest worden zonder
    (3) het bestand Demo2.zip. Alle onder-   dat de benodigde onderdelen op de
    delen staan op de CD-ROM die gratis      werktafel liggen en zelfs voordat ze
                                                                                     Sprekende thermometer
    bijgesloten is in de Elektuur-uitgave    daadwerkelijk aangeschaft worden.       We geven hier wat informatie om u
    van januari 2007.                                                                vertrouwd te maken met de hardware
    Als u dat nog niet hebt gedaan, moet     Nog een reden voor deze werkwijze:      in het Explorer-16 pakket. Omdat er
    u zeker de ‘Demo1’ simulatie van ja-     door eerst te simuleren doet de pc het  uitgebreide productbeschrijvingen,
    nuari 2007 van het                                                                                   user manuals en
    Explorer-16 board                                                                                    software-installa-
    zelf draaien. Druk           de simulaties laten zien hoe eenvoudige                                 tiegidsen te vin-
    en klik naar harte-                                                                                  den zijn op de CD-
    lust op alle knop-          maar ook ingewikkelde PIC24F-software                                    ROM’s in het pak-
    pen in de virtuele                                                                                   ket (neem de tijd
    omgeving van Pro-
                                ontwikkeld en gedebugged kan worden.                                     alles te lezen, dat
    teus VSM en kijk                                                                                     is echt de moeite
    hoe het systeem reageert met zijn ver-   grootste deel van het ontwerpwerk       waard), kunnen we ons concentreren
    schillende indicatoren.                  voor u en dat scheelt tijd en geld ver- op onze specifieke behoeftes. We hel-
    ‘Demo2’ van de uitgave van februari      geleken met het werken met echte        pen u snel op weg, waarbij we er na-
    2007 is nog leuker om te zien... en te   hardware-componenten.                   tuurlijk van uitgaan dat u redelijk vlot
    horen, bij een echte toepassing. Voor-   Mocht u onder de indruk raken van de    met een pc kunt omgaan.
    al als u temperatuurvariaties simuleert  kracht van de simulaties en de mate
    en er in slaagt om uw eigen spraakbe-    van integratie tussen de producten      1. Prik het Audio PICtail board in de
    standen te maken.                        van Labcenter en Microchip, bedenk      PICtail-busconnector op de Explorer-16
    Het doel van deze simulaties is te leren dan dat het ontwerp van de spreken-     print. Vergewis u er van dat de PIC24F
    hoe je heel eenvoudige maar ook inge-    de thermometer echt in hardware kan     PIM op het demoboard zit.


    62                                                                                                            elektuur - 3/2007
2. Steek de PICkit2 module op de 6-
voudige printheader op het Explorer-16
board, zorg er voor dat de LEDs aan
                                              Kernpunten van het
de kant van het Audio PICtail Plus
board zitten (zie de opmerking bij het
                                              Explorer-16 project
Explorer-16 pakket).
3. Zet de spanning aan van het Explo-
                                              • Economische en educatieve opstap naar 16-bits
rer-16 board (9...15 VDC bij ongeveer           microcontroller-technologie en simulatie
300 mA).
                                              • Explorer-16 pakket voor een superlage prijs
4. Installeer de software van de PICkit
2 van het Explorer-16 pakket. Contro-         • Gratis Proteus VSM, MPLAB IDE en MPLAB C30 op CD-ROM
leer dat versie 2.0 of hoger beschikbaar
is, want oudere versies bieden geen           • Gratis simulatie-projectbestanden
ondersteuning voor de PIC24F-familie.         • Explorer-16 demo-board ondersteunt PIC24F en dsPIC33
Indien nodig kunnen updates van de
Explorer-16 projectpagina van de Elek-        • PICkit 2 geschikt voor PIC baseline / midrange / 18F / 24F /
tuur-website gedownload worden.                 dsPIC33 (updates verkrijgbaar)
5. Prik de USB-kabel van PICkit 2 in
een vrij USB-slot op de pc. Installeer        • PIC24F en dsPIC33 PIM modules beschikbaar voor stand-
het apparaat door de gebruikelijke              alone toepassingen
Windows-vragen te beantwoorden.
Van nu af aan wordt de PICkit 2 auto-         • Geschreven en ondersteund door experts van Microchip
matisch herkend.                                Technology, Labcenter en Elektuur
6. Start de PICkit 2 software (er is au-
tomatisch een link op het bureaublad
                                              • Crypto-wedstrijd
geplaatst). Dan zal het programma             • Interactieve ondersteuning middels een project-pagina en
melden: ‘PICkit2 found’, en - belang-
                                                forum op de website van Elektuur
rijk - ‘PIC Device found’ (in dit geval,
de PIC24FJ128GA010 op het demo
board).
7. Klik nu op File → Import hex →
Demo2.hex. Het kan nodig zijn even
te zoeken waar u het .hex-bestand
heeft geplaatst (zie deel 2). Als dit
bestand eenmaal gevonden en ge-
selecteerd is, zal het PICkit 2 pro-
gramma melden: ‘Hex fi le success-
fully imported’, waarna de gebruike-
lijke knoppen voor een programmer
zichtbaar worden zoals Write, Verify,
Read, Erase. Het is niet nodig om een
van de ‘VDD Target’ vierkantjes aan
te vinken.
8. Klik nu op Write en het hex bestand
wordt naar de PIC24F gestuurd op het
demo-board (figuur 1). De rode LED in
de PICkit 2 module zal gaan knippe-
ren ten teken dat het systeem bezig is.
Wacht tot het klaar is.
9. Schakel de spanning van het demo-
board uit, wacht een paar seconden en
schakel de spanning weer in. De spre-
kende thermometer gaat lopen en de
‘degrees Celsius’ boodschap zal uit de
mini-luidspreker van het Audio-PIC-
tail-board komen. In sommige gevallen
moet de reset-knop worden ingedrukt
om de applicatie te starten.
10. De huidige temperatuur kan wor-
den afgevraagd door op S4 te drukken
op het demo board.

Sluit een luidsprekerset met geïnte-
greerde versterker aan op het Audio        Figuur 1. De PICKit 2 heeft met succes het hex-object-codebestand voor de sprekende thermometer geladen en staat klaar om het in
PICtail board.                             de PIC24F te laden via de plug-on pod.



3/2007 - elektuur                                                                                                                                                        63
TECHNIEK      ONTWERPEN MET PIC24F



                                                                                                                   TC1047
                                                                                                                   Maar waar is de temperatuursensor?
                                                                                                                   Hoewel hij niet is aangegeven op de
                                                                                                                   foto van het Explorer-16 board met
                                                                                                                   de verklarende teksten van de vorige
                                                                                                                   maand, zit hij vlakbij de PIM zoals in fi-
                                                                                                                   guur 2 te zien is. De kleine TC1047 laat
                                                                                                                   zien hoe gemakkelijk het is om senso-
                                                                                                                   ren aan te sluiten op de PIC24F. Het
                                                                                                                   datablad van de TC1047 is de moeite
                                                                                                                   van het bestuderen waard voor uw ei-
                                                                                                                   gen projecten en is daarom te vinden
                                                                                                                   op de webpagina van het Explorer-16
                                                                                                                   project.

                                                                                                                   Houd uw vinger ongeveer vijf secon-
                                                                                                                   den op het SMD-tje met de drie pootjes
                                                                                                                   en druk nogmaals op S4.


           Figuur 2. De TC1047 temperatuur sensor op het Explorer-16 demo-board. Deze wordt volledig ondersteund   Educatief speeltje
                              door de systeem-software en is gemakkelijk vanuit C te benaderen.
                                                                                                                   De sprekende thermometer lijkt mis-
                                                                                                                   schien wat simpel, maar er zitten heel
                                                                                                                   wat uitdagingen in voor de echte C-
                                                                                                                   programmeur. Een stukje code van het
                                                                                                                   programma is in figuur 3 te zien. Wat
                                                                                                                   dacht u van het volgende:

                                                                                                                   1. Pas het programma aan om automa-
                                                                                                                   tisch te gaan spreken als de tempera-
                                                                                                                   tuur meer dan een halve graad veran-
                                                                                                                   dert. Of laat een alarm afgaan als een
                                                                                                                   bepaalde temperatuur wordt bereikt.
                                                                                                                   2. Maak je eigen spraakbestanden.
                                                                                                                   Hoe dat kan is te zien in een tutorial
                                                                                                                   die gratis beschikbaar is op het down-
                                                                                                                   load gebied van de Explorer-16 project-
                                                                                                                   pagina. Dan komt u er meteen achter
                                                                                                                   dat hiervoor extra geheugen nodig is,
                                                                                                                   waardoor de informatie in het stukje
                                                                                                                   verderop over CF-kaartjes van pas kan
                                                                                                                   komen.
                   Figuur 3. Een deel van de C-broncode die is geschreven voor de sprekende thermometer.
                                   Hier wordt de ADC uitgelezen en omgezet naar spraak.
                                                                                                                   Als u hiermee aan de slag gaat, dan
                                                                                                                   maakt u uitgebreid gebruik van de C30
                                                                                                                   compiler, Proteus VSM en de MPLAB
                                                                                                                   omgeving. Let wel, alles kan gesimu-
                                                                                                                   leerd worden waardoor het vertrou-
                                                                                                                   wen dat het straks allemaal meteen
                                                                                                                   gaat werken terecht groeit. Er is heel
                                                                                                                   wat om mee te experimenteren – laat
                                                                                                                   ons weten hoe het u vergaat en meld
                                                                                                                   uw ervaringen in ons online-forum.


                                                                                                                   Aan de slag met geheugenkaartjes
                                                                                                                   Laten we nu eens aan de slag gaan met
                                                                                                                   geheugenkaartjes met de PIC24F en de
                                                                                                                   Microchip Media Storage Library.
                                                                                                                   De virtuele hardware voor dit deel van
                                                                                                                   het artikel is ontworpen voor de de-
                                                                                                                   monstratieversie van Proteus VSM van
                               Figuur 4. Directory-tabel op een (virtuele) CompactFlash-kaart.                     de Explorer-16 CD die bij Elektuur ja-
                    Adres 0x7A00 is alleen maar ter illustratie bij dit plaatje dat met UltraEdit is gemaakt.      nuari 2007 zat.


    64                                                                                                                                          elektuur - 3/2007
  Kraak de geheime code

  CompactFlash
  crypto-uitdaging
  De inhoud van het CF-kaartje (cfimage.bin) dat voor de Proteus VSM simulatie van
  deze maand werd gebruikt, komt feitelijk van een echt CF-kaartje van een geheim
  agent. Daar staat een bestand ‘SECRET.DAT’ op waarin contactgegevens staan
  die leiden naar een beperkte hoeveelheid gratis Microchip ICD2 debuggers en
  Proteus VSM software.
  De eerste drie lezers van de Nederlandse, Duitse, Franse en Engelse editie
  van Elektuur (in totaal 12 prijzen) die er in slagen om de informatie uit
  het bestand te ontcijferen en de instructies daarin te volgen, kunnen
  een gratis ICD2 debugger en een versie van Proteus VSM voor de
  PIC24FJ128GA010 winnen.
  Het bestand ‘SECRET.DAT’ is natuurlijk versleuteld, maar de ge-
  heim agent was nogal onvoorzichtig en liet nog een bestand
  op het CF-kaartje achter dat kan bijdragen aan een succes-
  vol verloop van deze missie. Alle informatie die nodig is
  voor het onderzoeken van de kaartinhoud is in dit artikel
  te vinden en er is ook geen speciale kennis nodig van
  cryptografie.
  Via het mededelingenveld op de Explorer-16 project-
  pagina zullen we misschien wat hints geven voor
  het kraken van de code en om de informatie te
  verkrijgen die naar de prijzenkast leidt. Veel
  succes!


  Medewerkers van Microchip Technology,
  Labcenter Electronics, Segment B.V. en
  hun familieleden zijn uitgesloten van
  deze wedstrijd!




Het ontwerp bestaat uit een PIC24F,  Bruikbare achtergrondinformatie over             In figuur 4 is een hexdump van de di-
een gesimuleerde CompactFlash-kaart  CompactFlash (CF) kaartjes en het                rectory-tabel op 7A00h getoond. Deze
en een RS232-ter-                                                                                        geeft een heleboel
minal. Dit komt                                                                                          informatie over de
grofweg neer op
de situatie dat
                       CF-kaartjes hebben vanaf nu geen                             geheimen implementatie van
                                                                                                         het systeem. De
het PICtail Plus                                                                                         precieze locatie
printje op het Ex-
                           meer, dankzij de Media Storage                           Library              van de directory-
plorer-16 board                                                                                          tabel is afhanke-
wordt geprikt en vervolgens wordt    FAT16-formaat is te vinden in de refe-           lijk van de geheugengrootte van het
verbonden met een RS232-terminal     renties [1], [2] en [3]. Wat we moeten           CF-geheugenkaartje.
of terminal-emulator aan UART2 – in  weten over deze media is:
werkelijkheid.
                                     • het feit dat een CF-kaartje in ATA
                                                                                      Het programmeren van de
Er is ook een voorbeeldproject,        mode draait, terwijl een SD-kaartje            geheugenkaart in C
DEMO3.MCW, dat gebruik maakt van       in MMC-mode loopt;                             Vooropgesteld dat u redelijk overweg
de Microchip Media Storage Library.  • de opbouw van de sectoren van een              kunt met de programmeertaal C, kunt
Deze bibliotheek heeft een eenvoudi-   ATA drive;                                     u in het bestand FileIO.c in Demo3.zip
ge file-I/O-API en implementeert een  • de noodzaak van een                            de code van alle functies die hierboven
FAT16-opslagstructuur op het geheu-    bestandssysteem;                               genoemd zijn terugvinden. Hieruit is te
genkaartje. De Media Storage Libra-  • enige kennis van FAT16, directory-             destilleren hoe de verschillende techni-
ry kan zowel CompactFlash als SD/      tabellen e.d.;                                 sche vereisten voor CF-kaartjes geïm-
MMC-kaartjes aan, hoewel wij ons in  • het bestand CFIMAGE.BIN is een                 plementeerd kunnen worden voor ons
dit artikel alleen met CompactFlash    binaire dump van de sectoren van               PIC24F-systeem. Wel moet worden op-
zullen bezig houden.                   de drive.                                      gemerkt dat de Media Storage Library


3/2007 - elektuur                                                                                                          65
TECHNIEK        ONTWERPEN MET PIC24F



                                                                                                                            tekstinvoermodus wordt met ctrl-Z af-
                                                                                                                            gesloten. Als het bestand eenmaal is
                                                                                                                            afgesloten en naar het CF-kaartje is
                                                                                                                            ‘geschreven’, zal het programma het
                                                                                                                            bestand heropenen en op de terminal
                                                                                                                            laten zien. Het programma maakt ge-
                                                                                                                            bruik van buffers, zodat gegevens met
                                                                                                                            512 bytes per keer worden gelezen of
                                                                                                                            geschreven. De lopende simulatie is in
                                                                                                                            figuur 5 te zien.


                                                                                                                            Volgende maand
                                                                                                                            We besluiten de serie met een meer-
                                                                                                                            talige thermometer. Dat gaat mooi
                                                                                                                            samen met het creëren van eigen
                                                                                                                            spraakbestanden en opslag op CF-
                                                                                                                            kaartjes – met verschillende kaartjes
                                                                                                                            voor elke taal.
                                                                                                                                                                     (060280-3)




          Figuur 5. De simulatie van het CF-kaartje toont de kracht en veelzijdigheid van de combinatie van VSM en MPLAB.
                                                                                                                            Literatuur
                                                                                                                            [1] Compact Flash Interface voor microcon-
    nog in ontwikkeling is bij Microchip en                          te voeren, kunt u weer vinden op de                    trollers, Elektuur december 2002.
    dat u de relevante disclaimers in acht                           Explorer-16 project pagina. Zoek naar                  [2] Data opslag op CompactFlash (CF) Cards,
    moet nemen. Hoewel Labcenter en Mi-                              Demo3.zip in het gratis download-                      Elektuur maart 2004.
    crochip nauw samengewerkt hebben                                 gebied. Download het, sla het op en                    [3] CompactFlash (CF) Interface, Elektuur juni
    om dit aan Elektuur-lezers het eerste                            open het dan net als de vorige twee                    2003.
    aan te bieden, moet u er wel rekening                            simulaties.
    mee houden dat de firmware nog zeker
    niet uitontwikkeld is.                                           De code in het hoofdbestand DEMO3.                     Projectnieuws, gratis downloads
                                                                                                                            & updates zijn verkrijgbaar op de
                                                                     C vraagt om een bestandsnaam, waar-                    Explorer-16 project-pagina op
                                                                     na u wat tekst kunt invoeren en deze
    De simulatie van deze maand                                      vervolgens wordt opgeslagen. Be-                       www.elektuur.nl/explorer-16
    Het archiefbestand dat nodig is om de                            standsnamen moeten in 8.3-formaat                      en het ‘Explorer-16’ onderwerp op the
    gratis simulatie van deze maand uit                              zijn, want het gaat hier om FAT16. De                  Elektuur-forum.




      Explorer-16 pakket
      Het Explorer-16 pakket bestaat uit vier onderdelen in een doos:



      1. Explorer-16 demo-board
      2. PIC Kit 2 starter kit
      3. Audio PICtail plus dochterboard
      4. MPLAB C30 kortingsbon van 20%

      Het totale pakket kost bij Elektuur slechts
      € 179,00 (incl. BTW)

      Er is ook nog een bijzondere aanbieding voor Elektuur lezers op
      www.labcenter.co.uk/products/elektoroffer.htm




    66                                                                                                                                                       elektuur - 3/2007

				
DOCUMENT INFO
Shared By:
Tags: Compact, Flash
Stats:
views:15
posted:3/30/2011
language:Dutch
pages:5