Autonómny systém pre zber teplotných dát z pôdneho profilu

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Tnu wiki.png
Trenčianska Univerzita Alexandra Dubčeka v Trenčíne
Fakulta Mechatroniky
Fm wiki.png
Autonómny systém pre zber teplotných dát z pôdneho profilu

zadanie práce
Semetrálna práca


Autor:
Pedagogický vedúci: Ing. Tomáš Páleník
Študijný odbor: Mechatronika

Akademický rok

2009/2010

Abstrakt

Práca sa zaoberá návrhom a realizáciou hardvérovej časti systému pre zber teplotných dát z pôdneho profilu. V prvej časti sú popísané použité technológie. Je popísaná technológia PSoC, ktorá predstavuje rodinu mikroprocesorov novej generácie, ktoré sú konfigurovateľné presne podľa požiadaviek užívateľa. Rýchly komunikačný protokol I2C pre krátke vzdialenosti je predstavený v samostatnej kapitole s konkrétnymi príkladmi komponentov použitých v systéme. Podobne, protokol 1-Wire zabezpečujúci komunikáciu na väčšie vzdialenosti, zaberá samostatnú kapitolu, v ktorej je časť venovaná použitému teplomeru. V druhej časti sa zaoberáme samotným návrhom systémového hardvéru. Náležitá pozornosť bola venovaná návrhu puzdier senzorov tak, aby ich mechanické vyhotovenie bolo odolné voči vplyvom agresívneho prostredia, a aby nedošlo k fyzickému poškodeniu samotného senzora. Pre zapojenie mikroprocesora bola navrhnutá schéma zapojenia. Táto obsahuje návrh napájacej časti, ochranný obvod pre sieť 1-Wire, prevodník z EIA-232 na TTL úrovne a zapojenie I2C komponentov. Následne bolo zapojenie realizované.

Abstract

The work deals with design and implementation of the hardware part of the system for collecting temperature data from the soil profile. The first section describes the used technologies. PSoC technology represents a family of microprocessors of the next generation, which are configurable exactly by the user's requirements. Fast I2C communication protocol used for a short distance communication is presented in a separate chapter with specific examples of components used in the system. Similarly, 1-Wire protocol providing communications at greater distances, occupies a separate chapter, where one section is dedicated to the used thermometer. The second section deals with the actual system hardware design. Particular attention was paid to the sensors encapsulation, so that the mechanical construction was resistant to the influence of aggressive environment, and to avoid physical damage to the sensor itself. The proposed schematics for the microprocessor’s connections, includes power supply, protective circuit for the 1-Wire network, converter from EIA-232 to TTL levels and I2C components circuitry. Using this schematics we built circuits board.

Úvod

Meranie teploty a následne teplotný profil predstavujú nevyhnutnú súčasť vstupných informácií pri realizácii environmentálnych, stavebných, konštrukčných, a aj elektronických a elektrotechnických projektov. V tejto práci sa budeme zaoberať návrhom systému pre meranie teplôt v rozsahu od –55°C do +85°C. Teplota sa dá merať viacerými metódami. Mechanicky, ako príklad uvedieme bimetalový teplomer, kde sa ručička ukazovateľa vychyľuje podľa teploty využívajúc tepelnú rozťažnosť materiálov. Elektricky, príkladom je odporový teplomer, kde sa využíva zmena elektrického odporu vodiča alebo polovodiča od teploty. Elektronicky, v našom prípade v digitálnej forme použitím integrovaného obvodu, ktorý analógovo meria teplotu a následne ju prevádza zabudovaným A/D prevodníkom na digitálne vyjadrenie.

V práci sa zaoberáme prehľadom technológií Cypress PSoC, Philips I2C a Dallas Semiconductor 1-Wire a ich využitím na zber teplotných dát z pôdneho profilu. Programovateľný systém na čipe - PSoC predstavuje inovatívnu rodinu mikroprocesorov, ktoré sú flexibilne programovateľné v jazyku C a assembleri. Ich výhodou je možnosť vystavať a nakonfigurovať želané prídavné obvody, ktoré sa pri tradičných rodinách mikroprocesorov pripájajú externe. Na skladanie takýchto obvodov sa používajú digitálne a analógové bloky, ktoré predstavujú základné stavebné jednotky podporných obvodov mikroprocesora. Ako príklad slúži populárne rozhranie RS-232, ktoré je na PSoC možné vytvoriť pomocou digitálnych blokov. Dostatočné množstvo pamäti RAM a Flash poskytuje priestor aj pre pamäťovo náročnejšie aplikácie. I2C je protokol vytvorený firmou Philips na komunikáciu medzi zariadeniami na krátku vzdialenosť, typicky na doske plošných spojov. Je často používané v spotrebnej elektronike, telekomunikáciách a priemyselnej elektronike. Každé zariadenie na rozhraní I2C má svoju unikátnu adresu, pomocou ktorej komunikuje s mikroprocesorom, a tak je možné na jednu zbernicu pripojiť i viac zariadení rovnakého typu. Protokol 1-Wire bol podobne, ako protokol I2C vyvinutý na komunikáciu na krátku vzdialenosť. Rozšírením jeho používania bola táto špecifikácia prepracovaná a v súčasnosti je maximálna podporovaná vzdialenosť zariadenia od mikroprocesora 500 metrov. Zbernica 1-Wire sa skladá z jediného dátového vodiča a uzemnenia. Špecifickou vlastnosťou tohto systému je možnosť použiť parazitné napájanie, pri ktorom zariadenie odoberá energiu z dátového vodiča.

Pôda predstavuje veľmi špecifické a agresívne prostredie. Celoročne meniaca sa teplota, vplyv vlhkosti, sucha, mrázu a tepla, spolu s chemickým pôsobením látok obsiahnutých v pôde pôsobí negatívne na akýkoľvek materiál uložený v zemi. Je nutné zohľadniť vhodný výber puzdier senzorov a ich utesnenie, aby merania mohli prebiehať bez poruchy po celé stanovené obdobie. Podobne, je nutné zabezpečiť čo najmenší vplyv slnečného žiarenia na povrchové senzory pomocou clôn. Aj keď použijeme bifilárne vinutie v podobe kríženého kábla, pripojenie 1-Wire siete k mikroprocesoru z vonkajšieho prostredia si vyžaduje návrh prepäťovej ochrany proti indukovanému napätiu. Pre napájanie mikroprocesora a jeho periférií potrebujeme 5V resp. 3,3V. Napájanie musí byť stabilizované s ochranou proti prepólovaniu a tepelnou ochranou obvodu. Treba mať na pamäti, že pri práci s obvodmi digitálnej elektroniky je potrebné mať napájacie napätia čo najviac vyhladené. Na komunikáciu s užívateľom bolo vybraté rozhranie RS-232, pre jeho jednoduchú aplikovateľnosť a demonštráciu možností PSoC. Čas uloženia dát je zapisovaný podľa údajov z obvodu reálneho času, ktorý používa kódovanie BCD. Tak ušetríme miesto v pamäti, ktoré môže byť ďalej využité na uloženie väčšieho množstva údajov. Výber pamäte pre dáta je dôležitou súčasťou návrhu zariadenia. Bol vybratý typ FRAM, ktorý má podobné parametre čítania a zápisu, ako pamäte typu RAM. Fero-elektrická pamäť má významnú výhodu oproti pamätiam typu EPROM a starším typom EEPROM v rýchlosti zápisu. Pred zápisom nie je potrebné kontrolovať, či už boli predchádzajúce dáta zapísané.

Tieto vstupné informácie nám uľahčia návrh a realizáciu systému vzhľadom na celkovú spotrebu zariadenia a v neposlednom rade aj na cenu. Hotový systém bude ľahko modifikovateľný aj pre použitie v iných aplikáciách.

Mikroprocesory PSoC

Mikroprocesory PSoC [1] (Programmable System on Chip – Programovateľný systém na čipe) sa skladajú z konfigurovateľných blokov analógových obvodov a digitálnej logiky, ktoré sú vzájomne programovo prepojené. Uvedená architektúra nám podľa [1] umožňuje vytvárať zákaznícke konfigurácie mikroprocesora tak, aby boli splnené požiadavky potrebné na realizáciu jednotlivých aplikácií. Blokový diagram na Obr. 1.1 zobrazuje architektúru celej rodiny mikroprocesorov PSoC. V nasledujúcich štyroch podkapitolách sa budeme venovať popisu hlavných častí mikroprocesora.

Obr. 1.1 Architektúra PSoC

Jadro PSoC

Na Obr. 1.2 sú zobrazené prvky architektúry jadra PSoC. Procesor je 8-bitový a dokáže spracovať až 4 milióny inštrukcií za sekundu.

Obr. 1.2 Jadro PSoC

8-bitová architektúra podporuje použitie až 64 kilobajtov pamäti Flash, v ktorej je uložená užívateľská aplikácia. Flash pamäť je „in-circuit programmable“, takže PSoC je možné programovať aj potom, ako je zapojený do dosky plošných spojov. Flash je zároveň aj „in-application programmable“, čo znamená, že mikroprocesor je schopný dynamicky meniť svoju vlastnú pamäť.

Procesor je pripojený k viacerým digitálnym a analógovým blokom, ktoré poskytujú funkcionalitu a flexibilitu charakteristickú pre celú rodinu PSoC. Digitálne bloky môžu byť zapojené ako časovače, počítadlá, UART, PWM generátory. Analógové bloky zasa slúžia na zostavenie zosilňovacích prvkov s programovateľným zosilnením, komparátory a filtre.

Vnútorné registre

M8C je 8-bitový mikroprocesor MIPS harvardskej architektúry s voliteľnou hodinovou frekvenciou od 93.7 kHz do 24 MHz. Má päť vnútorných registrov, ktoré sú využívané pri vykonávaní programu:

A
akumulátor
X
index
PC
počítadlo
SP
ukazovateľ na hromadu
F
príznaky

Všetky registre okrem 16-bitového registra PC sú 8-bitové. Pri resete sa registre A, X, PC a SP nastavia na 0x00 a register F sa nastaví na 0x02. Pri každej operácii s hromadou je register SP automaticky zvýšený alebo znížený. Ak je posledný bajt v hromade na adrese 0xFF, SP bude ukazovať na adresu 0x00 v pamäti RAM. Pri vývoji firmvéru je preto dôležité zamedziť prepísaniu užívateľsky definovaného obsahu pamäti od adresy 0x00. Prístup k vnútorným registrom je vykonávaný použitím nasledujúcich inštrukcií :

MOV A, výraz
MOV X, výraz
SWAP A, SP
OR F, výraz
JMP návestie

Adresný priestor

M8C má tri adresné priestory: ROM, RAM a registre. K adresnému priestoru ROM pristupujeme cez jeho vlastné adresy a dátovú zbernicu. ROM zahŕňa SROM a Flash pamäte. V pamäti Flash je uložený firmvér zariadenia a je rozdelená do 64-bajtových blokov. Používateľ nemusí ošetrovať prechod programu na ďalšiu pamäťovú stránku, pretože M8C automaticky zvyšuje 16-bitový register PC pri každej inštrukcii presahujúcej hranice aktuálnej stránky, ako je uvedené v [2]. V pamäti SROM je uložený program využívaný na spúšťanie PSoC, kalibrovanie obvodov a vykonávanie operácií s pamäťou Flash. Funkcie zabezpečované SROM sú volané z programu uloženého v pamäti Flash alebo pomocou programátora. Adresný priestor registrov je využívaný na konfigurovanie programovateľných blokov mikroprocesora. Skladá sa z dvoch 256-bajtových blokov. Na prepínanie medzi blokmi sa nastavuje bit XIO v registri F. Ak je F nastavený, zvolí sa blok1, ak nie je nastavený, zvolí sa blok0.

Inštrukčné formáty

M8C má spolu sedem inštrukčných formátov, ktoré používajú inštrukcie o dĺžkach jeden, dva a tri bajty. Všetky bajty inštrukcie sú vyvolávané z programovej pamäte Flash, za použitia adries a dátovej zbernice, ktoré sú nezávislé od adries a dátovej zbernice používaných pre registre a prístup do pamäte RAM.

Vstupy a výstupy PSoC

Vstupy a výstupy poskytujú možnosť nastaviť režim vysokej-impedancie alebo režim s napájaním a pre odporový stav poskytujú možnosť pre zvolenie konfigurácie pull-up alebo pull-down.

Digitálne a analógové bloky PSoC

Digitálne a analógové bloky zobrazené na Obr. 1.3, sú moduly vytvorené z digitálnych a analógových prvkov, ktoré sú konfigurovateľné pre rôzne druhy operácií pomocou registrov špecifických pre každý blok. Digitálne bloky vykonávajú funkcie, ako časovač, počítadlo, PWM generátor, generátor náhodných čísel alebo CRC generátor. Rôzne vstupné a výstupné signály potrebné pre funkčnosť digitálnych blokov môžu byť získané zo vstupných a výstupných signálov iných blokov alebo vstupných a výstupných pinov procesora. Bloky sú pripojiteľné k vnútornej hodinovej frekvencii procesora. Analógové bloky môžu byť nakonfigurované na zosilňovacie funkcie na analógových signáloch. Môžu zosilňovať, tlmiť a invertovať vstupné signály.

Obr. 1.3 Digitálne a analógové bloky PSoC

Kombináciou týchto blokov má užívateľ možnosť vytvoriť si svoj obvod na mieru. V prípade, že nevyužije všetky bloky, sú tieto k dispozícii pre ďalšie použitie. Pri niektorých aplikáciách je dôležité nastaviť správnu hodinovú frekvenciu mikroprocesora.