41
НАМЕНСКИ РАЧУНАРСКИ СИСТЕМИ Пројектни задатак Професор: Студент: Доц. др Иван Поповић Недељко Радуловић

Namenski racunarski sistemi

Embed Size (px)

DESCRIPTION

Projektni zadatak, ETF, Signali i Sistemi, Elektronika

Citation preview

Page 1: Namenski racunarski sistemi

НАМЕНСКИ РАЧУНАРСКИ

СИСТЕМИ

Пројектни задатак

Професор: Студент:

Доц. др Иван Поповић Недељко Радуловић

112/07

Page 2: Namenski racunarski sistemi

Contents

Текст задатка......................................................................................................................3

Блок шема система............................................................................................................5

Објекат управљања 1.....................................................................................................6

Објекат управљања 2.....................................................................................................7

Објекат управљања 3...................................................................................................12

Формати порука и протоколи.........................................................................................15

Комуникација са ОУ1..................................................................................................17

Комуникација са ОУ2..................................................................................................21

Комуникација са ОУ3..................................................................................................24

Програмски послови микроконтролера.........................................................................29

Програмски послови ОУ1...........................................................................................29

Програмски послови ОУ2...........................................................................................30

Програмски послови ОУ3...........................................................................................30

Закључак...........................................................................................................................31

Литература........................................................................................................................32

2

Page 3: Namenski racunarski sistemi

Параметри

EDCBA=10100

Текст задатка

Централни рачунар базиран на микроконтролеру фамилије МСП430х4хх повезан је са

више објеката управљања (ОУ) преко стандардног пундуплекс галвански одвојеног

асинхроног серијског мулти-дроп интерфејса. За комуникацију се користи УАРТ протокол

у формату 8Е1. За процесирање спољашњих прекида према централном микроконтролеру

(μС) је доступна једна комуникациона линија која је заједничка за све ОУ. Систем се

користи за управљање процесом обраде радних узорака у плазма комори.

ОУ1 обавља послове управљања системом за униполарно импулсно напајање. Од стране

централног μС се подешавају подаци о учестаности, односу сигнал/периода и о вредности

напонских нивоа за време трајање интервала генерисања импулса у 10 битном формату.

Исте ове вредности се мере од стране ОУ1 у истом формату. У случају одступања задатих

и измерених вредности преко 5% прекидом се централном μС сигнализира овај догађај. У

случају одступања већег од 15% гаси се излаз импулсног генератора о чему се прекидом

обавештава централни μС.

ОУ2 обавља послове мерења процесних параметара (температуре радног комада, притиска

радног гаса и температуре зида коморе као и контролу протока расхладне течности).

Температура радног комада се мери у опсегу од 0 до 600°С са резолуцијом од 1 степен,

помоћу сензора температуре са позитивним температурним коефицијентом. При

температури од 600°С, на прикључним контактима сензора температуре се генерише

напон од 200mV.

3

Page 4: Namenski racunarski sistemi

Притисак радног гаса се мери помоћи сензора притиска у опсегу од 0,001bar до 1bar са

резолуцијом 0,001 bar. Сензор притиска је напајан са ±15V и на излазу генерише напон у

опсегу ±5V. Кола сензора притиска и температуре су галвански одвојена од ОУ2.

Температура коморе се одређује на основу мерења температуре расхладне течности

помоћу отпорних сензора температуре на две позиције, улазној и излазној. Мерни опсег

сензора је од -5°C до 65°C, што је и номинална вредност у систему за хлађење, док је

резолуција мерења 0,3°C.

У случају када је разлика температура расхладне течности већа од 10% прекидом се

обавештава централни μC о овом догађају. У случају одступања већег од 25% прекидом се

обавештава централни μC, који о овом догађају обавештава ОУ1 који гаси излаз

генератора. Такође, отвара се вентил за контролу протока расхладне течности.

Контрола протока расхладне течности се врши помоћу униполарног корачног ПМ мотора,

са корачним углом од 14,4° који је директно спрегнут на осовини са прецизним

механичким вентилом и оптичким енкодером који мери позицију вентила. За потпуно

отварање вентила расхладне течности неопходно је да корачни мотор начини 2 пуна

обртаја. Тачна позиција вентила се мери помоћу инкременталног енкодера са индексним

зарезом (НМ излаз) и шаље се централном μC у форми вредности у опсегу 0-7190 са

резолуцијом 1°).

На страни ОУ3 налази се матрична тастатура са 16 тастера, преко које се врши одабир

алгоритма управљања процесом и одабир конфигурационог фајла као и три

четвороцифарска мултиплексирана ЛЕД дисплеја са заједничком Е=1 - катодом на којима

се приказују подаци о температури коморе, притиску радног гаса и температури радног

комада. Након одабира алгоритма управљања централном μC се шаље прекид, након чега

централни микроконтролер од ОУ3 преузима податак о селектованом алгоритму у 10-

битном формату. Након одабира конфигурационог фајла централном μC се шаље прекид,

након чега централни μC од ОУ3 преузима конфигурациони фајл. Обзиром на величину

4

Page 5: Namenski racunarski sistemi

конфигурационог фајла потребно је обезбедити да је његов пренос нижег приоритета од

приоритета осталих догађаја у систему.

Блокшема система

У систему се налази микроконтролер из фамилије МSP430х4хх који је повезан са три

објекта управљања. Веза је остварена стандардним пундуплекс мулти-дроп интерфејсом.

За комуникацију се користи UART протокол који користи две стандардне линије RXD и

TXD. Уланчавање објеката управљања је омогућено daisy chain логиком. IRQ линија

служи да објекти управљања сигнализирају прекиде централном микропроцесору.

Напајање потребно за дати контролер је:

V cc=1.8÷3.6V

5

Page 6: Namenski racunarski sistemi

Блок шема система

1Објекат управљања

ОУ1 обавља послове управљања системом за униполарно импулсно напајање. Учестаност,

однос сигнал/периода и вредности напонских нивоа задајемо преко μС. У оквиру ОУ1 се

обавља и поређење задатих вредности са оствареним и у случају одступања:

- већег од 5% сигнализира се прекид централном μС

- већег од 15% гаси се излаз импулсног генератора и сигнализира се прекид

централном μС.

6

Page 7: Namenski racunarski sistemi

Улази овог блока су учестаност, однос сигнал/периода и вредност напонског нивоа задати

од стране μС, уједно се исте те вредности мере на сигналу добијеном на излазу импулсног

генератора. На пиновима Р1.0, Р1.1 и Р1.2 су измерене величине док су на пиновима Р1.3,

Р1.4 и Р1.5 задате и то учестаност, однос сигнал/периода и вредност напонског нивоа,

респективно. Постоје и два излаза од којих један(Р1.6) представља и сигнал дозволе рада

импулсног генератора и он је једнак 1 све док је одступање мање од 15%, док други(Р1.7)

излаз служи за сигнализирање прекида и једнак је 1 ако је одступање веће од 5%.

Блок шема ОУ1

2Објекат управљања

ОУ2 обавља послове мерења процесних параметара (температуре радног комада, притиска

радног гаса и температуре зида коморе као и контролу протока расхладне течности).

Температура радног комада се мери у опсегу од 0 до 600°С, помоћу сензора температуре

са позитивним температурним коефицијентом. При температури од 600°С, на

прикључним контактима сензора температуре се генерише напон од 200mV.

7

Page 8: Namenski racunarski sistemi

Сензор температуре

Термистор на свом излазу генерише напон од 0-200mV па је зато потребно користити

појачавач и потребно је галвански одвојити коло сензора од ОУ2. Шема везивања сензора

температуре је приказана на следећој слици.

8

Page 9: Namenski racunarski sistemi

Шема везивања сензора температуре

Сензор температуре на свом излазу генерише аналогни сигнал који се преко појачавача

шаље A/D конвертору. A/D конвертор од контролера добија сигнал за почетак конверзије

(Start Conversion), као и сигнал такта(SCL). Преко серијског излаза A/D конвертор

контролеру шаље дигитални сигнал, као и сигнал Busy који говори контролеру да ли је

конверзија готова и да ли је A/D конвертор спреман да почне нову конверзију.

Под галванским одвајањем је подразумевано одвајање помоћу оптокаплера. Шема

галванског одвајања је приказана на следећој слици.

Шема галванског раздвајања

Притисак радног гаса се мери помоћи сензора притиска у опсегу од 0,001bar до 1bar.

Сензор притиска је напајан са ±15V и на излазу генерише напон у опсегу ±5V. Пошто је

коло сензора притиска такође галвански одвојено од ОУ2, шема везивања је веома слична

шеми везивања термистора и дата је на следећој слици.

9

Page 10: Namenski racunarski sistemi

Шема везивања сензора притиска

На следећој слици је приказана шема везивања два отпорна сензора температуре:

10

Page 11: Namenski racunarski sistemi

Шема везивања улазног и излазног термистора

Мултиплексером се наизменично бира један од два улаза, па се мерење шаље преко А/D

конвертора микроконтролеру.

Контрола протока расхладне течности се врши помоћу униполарног корачног ПМ мотора,

који је директно спрегнут на осовини са прецизним механичким вентилом и оптичким

енкодером који мери позицију вентила. За потпуно отварање вентила расхладне течности

неопходно је да корачни мотор начини 2 пуна обртаја. Тачна позиција вентила се мери

помоћу инкременталног енкодера са индексним зарезом.

11

Page 12: Namenski racunarski sistemi

За управљање корачним мотором се користе посебни драјвери, а шема везивања је

приказана на следећој слици:

Шема везивања корачног мотора

Драјвер је приказан на следећој слици:

Драјвер за униполарни корачни мотор

12

Page 13: Namenski racunarski sistemi

Инкрементални енкодер

3Објекат управљања

ОУ3 служи за комуникацију са оператером. На страни ОУ3 се налази матрична тастатура

са 16 тастера преко које се врши одабир алгоритма управљања и конфигурациони фајл.

13

Page 14: Namenski racunarski sistemi

Матрична тастатура са 16 тастера

Пошто је поступак скенирања тастатуре временски захтеван, ради растерећења

микроконтролера, имплементирана је подршка за рагистровање било ког притиснутог

тастера и јединствени излазни сигнал који се може користити за генерисање прекидног

захтева у случају притиснутог тастера. Наиме, постављањем Select All сигнала, сви

сигнали селекције реда су постављени на активни ниво. Након што је било који тастер или

14

Page 15: Namenski racunarski sistemi

комбинација тастера притиснута, генерише се сигнал INTR, након чега контролер може

иницирати процес скенирања тастатуре.

На страни ОУ3 се налазе и три четвороцифарска мултиплексирана ЛЕД дисплеја са

заједничком катодом на којима се приказују подаци о температури коморе, притиску

радног гаса и температури радног комада. Четвороцифарски ЛЕД дисплеј можемо

посматрати као 4 једноцифарска ЛЕД дисплеја. Потребно је мултиплексирати 12

једноцифарских дисплеја. На следећој слици је дата шема.

Мултиплексирани ЛЕД дисплеји

Дисплеји су реализовани помоћу 8 демултиплексера и 4 селекционе линије. Помоћу

селекционих линија се одређује на који ће ЛЕД дисплеј бити уписана цифра. А сигнали

који иду од мултиплексера одређују који ће сегменти дисплеја бити укључени. У овом

15

Page 16: Namenski racunarski sistemi

случају у једном тренутку може бити исписана само једна цифра. Потребно је обезбедити

стално освежавање дисплеја, тако да се свака цифра прикаже 24 пута у секунди, и због

такве карактеристике ока имаћемо осећај да су све цифре истовремено на дисплејима.

Формати порука и протоколи

Централни микроконтролер повезан је са објектима управљања преко стандардног

пундуплекс галвански одвојеног асинхроног серијског мулти-дроп интерфејса. За

комуникацију се користи УАРТ протокол у формату 8Е1. Што значи да је у једној поруци

садржано 8 бита података, бит парности и један стоп бит. Бит Е је бит парне парности и

он има вредност 0 ако је број бита у пакету паран у супротном он има вредност 1.

С обзиром да имамо 3 објекта управљања, за њихово адресирање нам је довољно два бита,

међутим због могућег проширења за адресирање објеката управљања оставићемо четири

бита.

АДРЕСА

А3 А2 А1 А0

ОУ1 0 0 0 1

ОУ2 0 0 1 0

ОУ3 0 0 1 1

С обзиром на формат поруке, адресна порука би изгледала овако:

A /D BCP STOP/CON A3 A2 A1 A0

7 6 5 4 3 2 1 0

16

Page 17: Namenski racunarski sistemi

A /D бит говори да ли се ради о адресној поруци или о податку. Ако има вредност 1 реч је

о broadcast поруци која је упућена одређеном објекту управљања.

ВСР бит говори о томе да ли се ради о broadcast поруци која је упућена свим објектима

управљања (ВСР=1), или само одређеном објекту управљања (ВСР=0) и тада се врши

адресирање тог објекта управљања помоћу бита А3А2А1А0.

STOP/CON бит ће имати вредност 1 када је генерисан било који од прекида објекта

управљања 1 и 2, и служи да би се тако прекинуло слање конфигурационог фајла. Када

има вредност 0 онда слање конфигурационог фајла може неометано да се одвија. И овај

бит има то значење само када је у питању broadcast порука.

Уколико је ВСР=1 тада битови А3А2А1А0 не представљају адресу објекта управљања

него одређују тип broadcast поруке:

А3 А2 А1 А0

Иницијализација система 0 0 0 0

Гашење целог система 0 0 0 1

ОУ1: Аларм 1 0 0 1 0

ОУ1: Аларм 2 0 0 1 1

ОУ2: Аларм 1 0 1 0 0

ОУ2: Аларм 2 0 1 0 1

ОУ3: Прекид 1 0 1 1 0

ОУ3: Прекид 2 0 1 1 1

ОУ1: Аларм 1 – Одступање задатих и измерених вредности на импулсном генератору за

5%

17

Page 18: Namenski racunarski sistemi

ОУ1: Аларм 2 – Одступање задатих и измерених вредности на импулсном генератору за

15%. Гаси се излаз импулсног генератора.

ОУ2: Аларм 1 – Када је разлика температуре расхладне течности већа од 10%.

ОУ1: Аларм 2 – Када је разлика температуре расхладне течности већа од 25%. Обавештава

се ОУ1 који гаси излаз генератора.

ОУ3: Прекид 1 – Прекид након одабира алгоритма управљања.

ОУ3: Прекид 2 – Прекид након одабира конфигурационог фајла.

1Комуникација саОУ

Да би микроконтролер започео комуникацију са ОУ1 потребно је да прво пошаље поруку

у којој ће навести адресу ОУ1:

1 0 0 0 0 1

7 6 5 4 3 2 1 0

Након адресирања ОУ, контролер наставља комуникацију са одређеним ОУ постављањем

бита A /D=0 , A /D=0 С /D C4 C3 C2 C1 C0

7 6 5 4 3 2 1 0

Где бит С /Dговори да ли се ради о податку(С /D=0) или команди (С /D=1).

Битови С4 до С0 одређују команде.

18

Page 19: Namenski racunarski sistemi

Анализираћемо изглед поруке када централни рачунар шаље команду ОУ1:

0 1 С4 С3 С2 С1 С0

7 6 5 4 3 2 1 0

Команде за ОУ1 су:

С4 С3 С2 С1 С0

Читање фреквенције 0 0 0 0 1

Читање односа сигнал/периода 0 0 0 1 0

Читање вредности напонских нивоа 0 0 0 1 1

Задавање фреквенције 0 0 1 0 0

Задавање односа сигнал/периода 0 0 1 0 1

Задавање вредности напонских нивоа 0 0 1 1 0

Укључивање импулсног генератора 0 0 0 0 0

Гашење импулсног генератора 1 1 1 1 1

Изглед поруке када центални рачунар шаље податке (на пример фреквенцију):

- прво се шаље команда

0 1 0 0 1 0 0

7 6 5 4 3 2 1 0

19

Page 20: Namenski racunarski sistemi

- потом се шаље податак, у овом случају податак има 10 бита, па се мора послати из

два дела. Прво се шаље виших пет бита а потом нижих пет бита.

0 0 D9 D8 D7 D6 D5

7 6 5 4 3 2 1 0

0 0 D4 D3 D2 D1 D0

7 6 5 4 3 2 1 0

Задавање напонских нивоа и односа сигнал/периода је потпуно аналогно задавању

фреквенције, једина разлика је у адреси команде.

Изглед поруке када ОУ1 шаље податак централном рачунару:

- прво централни рачунар шаље команду за читање податка (на пример,

фреквенције) са сензора:

0 1 0 0 0 0 1

7 6 5 4 3 2 1 0

- потом ОУ1 шаље централном рачунару поруку у следећем облику:

D /ECHO D5 D4 D3 D2 D1

7 6 5 4 3 2 1 0

D /ECHO=1 значи да се шаље податак, у супротном се шаље ехо порука. У случају слања

фреквенције(10 бита), порука има следећи изглед:

20

Page 21: Namenski racunarski sistemi

1 D9 D8 D7 D6 D5

7 6 5 4 3 2 1 0

1 D4 D3 D2 D1 D0

7 6 5 4 3 2 1 0

ЕСНО порука служи као контрола слања податка. ЕСНО порука има следећи садржај:

D /ECHO INTR=0 AL2 AL1 DE DO FE PE

7 6 5 4 3 2 1 0

Где су значења битова следећа:

INTR – говори да ли је у питању преидни вектор.

AL1 и AL2 – Говоре да ли је дошло до одступања измерених вредности од задатих за 5%

односно 15%.

DE – data error, уколико послати подаци нису адекватни у смислу прекорачења опсега.

DO – data overrun, уколико је послат следећи пакет а да претходни није искоришћен.

FE – frame error

PE – parity error, уколико је дошло до грешке парности при преносу.

У случају да се шаље прекидни вектор порука је следећег облика:

D /ECHO INTR=1 AL2 AL1 А3 А2 А1 А0

7 6 5 4 3 2 1 0

Где бити А3-А0 представљају адресу ОУ1.

На пример, ако је одступање измерених вредности 5% порука коју ОУ1 шаље централном

рачунару ће бити:

21

Page 22: Namenski racunarski sistemi

0 1 0 1 0 0 0 1

7 6 5 4 3 2 1 0

2Комуникација саОУ

Комуникација централног рачунара са ОУ2 започиње поруком:

1 0 0 0 1 0

7 6 5 4 3 2 1 0

Након адресирања ОУ, контролер наставља комуникацију са одређеним ОУ постављањем

бита A /D=0 , A /D=0 С /D C4 C3 C2 C1 C0

7 6 5 4 3 2 1 0

Ако је бит С /D=1, значи да централни рачунар шаље команду, иначе се ради о податку.

Команде за ОУ2 су:

С4 С3 С2 С1 С0

Читање температуре радног комада 0 0 0 0 1

22

Page 23: Namenski racunarski sistemi

Читање притиска радног гаса 0 0 0 1 0

Читање температуре зида коморе на улазу 0 0 0 1 1

Читање температуре зида коморе на излазу 0 0 1 0 0

Читање протока расхладне течности 0 0 1 0 1

Читање вредности оптичког енкодера 0 0 1 1 0

Читање вредности инкременталног енкодера

0 0 1 1 1

Слање позиције корачном мотору 0 1 0 0 0

Отварање вентила 0 1 0 0 1

Дакле, ако централни рачунар захтева читање неког податка(температуре радног комада)

од стране ОУ2 порука ће изгледати овако:

A /D=0 С /D=¿1 0 0 0 0 1

7 6 5 4 3 2 1 0

Након ове поруке, ОУ2 шаље поруку централном рачунару. С обзиром да се температура

радног комада мери у опсегу од 0 до 600°С са резолуцијом од 1 степен, биће потребно 10

бита да се пошаље та вредност.

D /ECHO D4 D3 D2 D1 D0

7 6 5 4 3 2 1 0

23

Page 24: Namenski racunarski sistemi

1 D9 D8 D7 D6 D5

7 6 5 4 3 2 1 0

1 D4 D3 D2 D1 D0

7 6 5 4 3 2 1 0

Притисак радног гаса се мери помоћи сензора притиска у опсегу од 0,001bar до 1bar са

резолуцијом 0,001 bar. Дакле, за слање вредности ритиска биће нам потребно 10 бита. Па

ће слање вредности притиска бити аналогно слању температуре радног комада.

Температура коморе се одређује на основу мерења температуре расхладне течности

помоћу отпорних сензора температуре на две позиције, улазној и излазној. Мерни опсег

сензора је од -5°C до 65°C, што је и номинална вредност у систему за хлађење, док је

резолуција мерења 0,3°C. Дакле, за слање температуре коморе потребно је 8 бита. Па ће

порука изгледати овако:

1 D7 D6 D5 D4

7 6 5 4 3 2 1 0

1 D3 D2 D1 D0

7 6 5 4 3 2 1 0

Контрола протока расхладне течности врши се подешавањем отворености вентила.

Позиција вентила се мери оптичким енкодером, и тада нам за слање податка централном

рачунару треба 6 бита.

1 D5 D4 D3 D2 D1 D0

7 6 5 4 3 2 1 0

24

Page 25: Namenski racunarski sistemi

Ако се пак, мерење врши инкременталним енкодером, за слање податка потребно нам је

10 бита.

1 D9 D8 D7 D6 D5

7 6 5 4 3 2 1 0

1 D4 D3 D2 D1 D0

7 6 5 4 3 2 1 0

Ако централни рачунар шаље позицију за корачни мотор порука ће изгледати овако:

0 1 D5 D4 D3 D2 D1 D0

7 6 5 4 3 2 1 0

Ако објекат управљања 2 шаље ЕСНО поруку она је следећег облика:

D /ECHO INTR=0 AL2 AL1 DE DO FE PE

7 6 5 4 3 2 1 0

Где сви бити имају иста значења као и код ОУ1, само што су у овом случају AL1 и AL2

догађаји када је разлика температура расхладне течности већа за 10% односно 25%.

У случају да се шаље прекидни вектор порука је следећег облика:

D /ECHO INTR=1 AL2 AL1 А3 А2 А1 А0

7 6 5 4 3 2 1 0

Где бити А3-А0 представљају адресу ОУ2.

25

Page 26: Namenski racunarski sistemi

На пример, ако је разлика температура расхладне течности већа за 10% порука коју ОУ2

шаље централном рачунару ће бити:

0 1 0 1 0 0 1 0

7 6 5 4 3 2 1 0

3Комуникација саОУ

Комуникација централног рачунара и објекта управљања 3 почиње следећом поруком:

1 0 0 0 1 1

7 6 5 4 3 2 1 0

После тога следи порука, у којој централни рачунар шаље команду или неки податак ОУ3:

A /D=0 С /D C4 C3 C2 C1 C0

7 6 5 4 3 2 1 0

Команде за ОУ3 су:

С4 С3 С2 С1 С0

Одабир алгоритма управљања 0 0 0 0 1

Одабир конфигурационог фајла 0 0 0 1 0

Слање алгоритма управљања 0 0 0 1 1

26

Page 27: Namenski racunarski sistemi

Слање конфигурационог фајла 0 0 1 0 0

Испис на 1. дисплеј температуре радног комада

0 0 1 0 1

Испис на 2. дисплеј притиска радног гаса 0 0 1 1 0

Испис на 3. диплеј температуре коморе на улазу

0 0 1 1 1

Испис на 3. диплеј температуре коморе на излазу

0 1 0 0 0

Читање температуре радног комада 0 1 0 0 1

Читање притиска радног гаса 0 1 0 1 0

Читање температуре коморе на улазу 0 1 0 1 1

Читање температуре коморе на излазу 0 1 1 0 0

На пример ако желимо да испишемо на први дисплеј вредност температуре радног комада,

порука ће изгледати овако:

A /D=0 1 0 0 1 0 1

7 6 5 4 3 2 1 0

Након ове команде следи порука са податком о вредности коју треба исписати.

A /D=0 0 D9 D8 D7 D6 D5

7 6 5 4 3 2 1 0

27

Page 28: Namenski racunarski sistemi

A /D=0 0 D4 D3 D2 D1 D0

7 6 5 4 3 2 1 0

Вредност притиска радног гаса се исписује врло слично као и вредност температуре

радног комада с тим да је једина разлика у команди која претходи поруци са подацима:

A /D=0 1 0 0 1 1 0

7 6 5 4 3 2 1 0

Ако желимо да испишемо вредност температуре коморе на улазу, централни рачунар прво

шаље поруку са следећим садржајем:

A /D=0 1 0 0 1 1 1

7 6 5 4 3 2 1 0

Потом следи порука која садржи 8 бита који представљају вредност температуре коморе

на улазу:

A /D=0 0 D7 D6 D5 D4

7 6 5 4 3 2 1 0

A /D=0 0 D3 D2 D1 D0

7 6 5 4 3 2 1 0

Што се тиче слања порука од ОУ3 ка централном рачунару, шаљу се подаци са тастатуре.

Након команда за учитавање алгоритма управљања следи читање 10-битног податка од

стране ОУ3.

28

Page 29: Namenski racunarski sistemi

A /D=0 1 0 0 0 0 1

7 6 5 4 3 2 1 0

A /D=0 0 D9 D8 D7 D6 D5

7 6 5 4 3 2 1 0

A /D=0 0 D4 D3 D2 D1 D0

7 6 5 4 3 2 1 0

Након што је учитан алгоритам управљања генерише се прекид:

D /ECHO=0Ѕ/ЕСНО

=0АU KF

7 6 5 4 3 2 1 0

Уколико је прекид настао после одабира алгоритма управљања онда је бит AU=1, а ако је

прекид настао после одабира конфигурационог фајла онда је KF=1. Након овог прекида,

централни рачунар шаље команду за слање алгоритма управљања или конфигурационог

фајла. За слање алгоритма управљања се шаље следећа команда:

A /D=0 1 0 0 0 1 1

7 6 5 4 3 2 1 0

Потом следи слање алгоритма управљања:

D /ECHO=1 D9 D8 D7 D6 D5

7 6 5 4 3 2 1 0

D /ECHO=1 D4 D3 D2 D1 D0

29

Page 30: Namenski racunarski sistemi

7 6 5 4 3 2 1 0

За слање кофигурационог фајла је следећа команда:

A /D=0 1 0 0 1 0 0

7 6 5 4 3 2 1 0

Након ове команде следи слање конфигурационог фајла.

D /ECHO=1 В7 В6 В5 В4

7 6 5 4 3 2 1 0

D /ECHO=1 В3 В2 В1 В0

7 6 5 4 3 2 1 0

Због трајања слања конфигурационог фајла, обезбеђено је да је тај догађај најнижег

приоритета и прекида се одговарајћом broadcast поруком. Ако је генерисан неки од

прекида вишег приоритета зауставља се слање конфигурационог фајла и обрађује се

генерисани прекид. Након тога се наставља слање конфигурационог фајла.

Програмски пословимикроконтролера

Централни рачунар обавља најважније функције у систему. Остали микроконтролери

помажу и олакшавају рад централном рачунару. Централни рачунар комуницира са свим

ОУ, док они не могу да комуницирају између себе.

По укључивању система одговарајућом broadcast поруком се врши иницијализација

система и постављају се пинови као улазни односно излазни. Након иницијализације

30

Page 31: Namenski racunarski sistemi

централни рачунар извршава одговарајући алгоритам који се прекида уколико неки од

објеката управљања генерише прекид. Уколико је прекид омогућен, централни рачунар

шаље broadcast поруку којом обавештава остале објекте управљања да ће се сервисирати

неки од прекида. Код daisy chain конфигурације за уланчавање, приоритет прекида је

одређен позицијом објекта управљања. Објекат управљања који је генерисао прекид, а

уједно је највећег приоритета, једини ће на улазу daisy chain логике имати активан ниво

DCin сигнала. Неактиван ниво DCin сигнала на улазу daisy chain логике осталим објектима

управљања сигнализира да не одговарају на примљену broadcast поруку. Уједно омогућује

се објекту управљања који је послао захтев зе прекид највећег приоритета да несметано

пошаље адресу свог прекидног вектора централном рачунару. Затим централни рачунар

шаље broadcast поруку о каквом се прекиду ради и сви објекти управљања се тада

понашају на унапред одређен начин. Централни рачунар може такође и да замаскира

прекид уколико је у току процесирање неког другог прекида. У сваком тренутку може да

пошаље захтев за поруку статуса објеката управљања и на основу тога одредити даљи ток

рада. Уколико добије поруку да је дошло до грешке у слању, поново шаље податак.

1Програмски пословиОУ

Објекат управљања 1 послове управљања системом за униполарно импулсно напајање. Од

стране централног рачунара добија вредности за фреквенцију, однос сигнал/периода и

напонске нивое. Затим пореди измерене и задате вредности. У случају одступања

измерених од задатих вредности од 5% шаље се порука централном рачунару, а ако је

одступање веће од 15% поново се о томе обавештава централни рачунар али се и гаси

излаз импулсног генератора.

31

Page 32: Namenski racunarski sistemi

2Програмски пословиОУ

ОУ2 обавља послове мерења процесних параметара: температуре радног комада, притиска

радног гаса и температуре зида коморе као и контролу протока расхладне течности. Поред

тога, ОУ2 врши управљање корачним мотором. У случају када је разлика температура

расхладне течности већа од 10% прекидом се обавештава централни рачунар о овом

догађају. У случају одступања већег од 25% прекидом се обавештава централни рачунар,

који о овом догађају обавештава ОУ1 који гаси излаз генератора. Што се тиче управљања

корачним мотором, од стране централног рачунара се задаје позиција мотора а затим ОУ2

генерише сигнал којим се управља мотором. Мотор је директно спрегнут са вентилом па

се окретањем осовине мотора отвара односно затвара вентил. Позиција мотора се мери

оптичким и инкременталним енкодером. Ови подаци се могу слати централном рачунару

уколико постоји такав захтев.

3Програмски пословиОУ

ОУ3 служи за комуникацију са оператером. Преко тастатуре вршимо одабир алгоритма

управљања и конфигурационог фајла. Микроконтролер чека прекид са тастатуре и онда

почиње процес скенирања тастатуре и смешта унете вредности у меморију.Те вредности

се касније шаљу централном рачунару. Због величине конфигурационог фајла, обезбеђено

је да је прекид након његовог одабира најнижег приоритета. Сем тастатуре ОУ3 садржи и

три 4-цифарска LED дисплеја. На њима се исписују вредности температуре коморе,

температуре радног комада и притиска радног гаса

32

Page 33: Namenski racunarski sistemi

Закључак

Након приказа шеме целокупног система за управљање процесом обраде радних узорака у

плазма комори, приказан је изглед хардвера на страни сваког од објеката управљања.

Након тога је објашњен начин комуникације између централног рачунара и објеката

управљања. Приказан је један од начина повезивања централног рачунара са

периферијским уређајима, дати су формати порука и описани су програмски послови и

централног рачунара и периферијских микроконтролера. Услед изабране конфигурације

везивања, начина адресирања омогућено је даље проширење система.

33

Page 34: Namenski racunarski sistemi

Литература

- Белешке са предавања, Наменски рачунарски системи, 2010/2011

- МSP430x4xx User's Guide

- Лабораторијске вежбе из Наменских рачунарских система, 2010/2011

34