М И Н И СТ Е РСТ В О О БРА ЗО В А Н И Я РО ССИ Й СК О Й Ф Е Д Е РА Ц И И В О РО Н Е Ж СК И Й ГО СУ Д А РСТ В Е Н Н Ы Й У...
6 downloads
226 Views
373KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
М И Н И СТ Е РСТ В О О БРА ЗО В А Н И Я РО ССИ Й СК О Й Ф Е Д Е РА Ц И И В О РО Н Е Ж СК И Й ГО СУ Д А РСТ В Е Н Н Ы Й У Н И В Е РСИ Т Е Т
Ф И ЗИ ЧЕ СК И Й Ф А К У ЛЬТ Е Т Ф А К У ЛЬТ Е Т К О М ПЬЮ Т Е РН Ы Х Н А У К
А Ц П И Ц А П В А В Т О М А Т И ЗИ РО В А Н Н Ы Х СИ СТ Е М А Х Н А У ЧН Ы Х И ССЛЕ Д О В А Н И Й
Пособиепоспециальност ям 51500 “Рад иоф изика иэлект роника” 071900 “И нф ормационны есист емы ит ех нологии”
В О РО Н Е Ж 2003
2 Ут в ерж д ено научно-мет од ическим сов ет ом ф изического ф акульт ет а
Сост ав ит ели:
А лгазинов Э .К ., Бобреш ов А .М ., Д ы бой А .В .
Программа под гот ов лена на каф ед ре элект роники ф изического ф акульт ет аВ оронеж ского госуд арст в енного унив ерсит ет а.
Рекоменд ует ся д ля магист рант ов 2-го год а обучения по специальност ям 51500 “Рад иоф изика иэлект роника”, 071900 “И нф ормационны е сист емы ит ех нологии”.
3 В ведени е. ............................................................................................................... 4 Ц и ф ро -а на ло го вы е прео бра зо ва тели (Ц А П )................................................. 5 А на ло го -ц и ф ро вы е прео бра зо ва тели (А Ц П )................................................. 8 А Ц П по с ле д о в ат е льно го приб лиж е ния.......................................................... 9 Дв ухт акт ный инт е грирующий А Ц П . ........................................................... 10 А Ц П с пре о б разо в ание м напряж е ния в час т о т у........................................ 11 А Ц П паралле льно го , или м гно в е нно го , пре о б разо в ания.............................. 12 А Ц П паралле льно го , или м гно в е нно го , пре о б разо в ания.............................. 12 П ри нц и пы ф у нкц и о ни ро ва ни я и нтерф ейса ................................................ 13 Ла бо ра то рны е ма кеты ..................................................................................... 14 Поряд ок работ ы с плат амиL-154 иL-1208.............................................. 14 П ЛА ТА L-154 ..................................................................................................... 15 П ро грам м но е о б е с пе че ние ............................................................................. 16 Библиот екапод программ иязы к Паскаль................................................ 16 Пример.......................................................................................................... 16 И спользуемы ет ермины .............................................................................. 17 Ф ормат ы д анны х ......................................................................................... 17 Част от а в в од а............................................................................................... 19 М од елипамят и............................................................................................ 19 Ф ункцииобщ его назначения..................................................................... 19 Работ ас аналогов ы миканалами................................................................ 20 Ц иф ро-аналогов ы еканалы ......................................................................... 22 Работ ас преры в аниями.............................................................................. 22 Ф ункцииработ ы ст аймерами................................................................... 23 П ла та L-1208 ...................................................................................................... 25 Ц иф ро- аналогов ы й преобразов ат ель(Ц А П)........................................... 25 Ц иф ров ы ев х од ы ив ы х од ы ....................................................................... 25 Пример.......................................................................................................... 25 Ф ормат ы д анны х ......................................................................................... 26 К онф игуриров аниеплат ы .......................................................................... 26 Работ ас каналом ПрямогоД ост упак Памят и(ПД П)............................. 29 Ц иф ров ы еТ Т Л Линии................................................................................ 32 Работ ас Преры в аниями............................................................................. 32 С пи сок ли тера ту ры .......................................................................................... 34
В В ЕД ЕНИЕ
4
Д анное учебное пособие пред назначено д ля ст уд ент ов , в ы полняю щ их лаборат орны е работ ы по курсу “А в т омат изиров анны е сист емы научны х исслед ов аний” (А СН И ). В перв ой част и крат ко описы в аю т ся общ ие принципы работ ы Ц А П иА Ц П, кот оры е яв ляю т ся неот ъ емлемой част ью лю бой сов ременной сист емы сбора д анны х иуправ леният ех нологическим илид ругим процессом. Д алее прив од ит ся т ех ническая инф ормация о плат ах L154 иL1208 ф ирмы L-Card , а т акж еописаниебиблиот ек д ляих программиров ания на язы ке Паскаль (Turbo Pascal ф ирмы Borland). М акет ы д ля в ы полнения лаборат орны х работсд еланы на основ е IBM – сов мест имого компью т ера иод ной из описанны х плат , кот орая уст анов лена в слот расш иренияISA на сист емной плат екомпью т ера. В сост ав макет ов в х од ят т акж е приборы – осциллограф ы , генерат оры сигналов , в зав исимост и от в ы полняемой работ ы.
5
Ц ИФ РО-А НА ЛОГОВ Ы Е П РЕОБРА ЗОВ А ТЕЛИ (Ц А П ) Н еот ъ емлемой част ью Ц А П яв ляет ся операционны й усилит ель (О У ) с х орош ими линейны ми св ойст в ами. Парамет ры О У опред еляю т ся разряд ност ью Ц А П, д иапазоном в ы х од ны х напряж ений, бы ст род ейст в ием, нагрузочной способност ью ит .д . Н апомним основ ны есв ойст в а О У ирассмот рим од ну из базов ы х сх ем его в клю чения. Н есмот ря на больш ое разнообразиет ипов О У , д ляупрощ ениярасчет ов пред полагает ся, чт о в сеони облад аю тслед ую щ имисв ойст в ами: 1. К оэф ф ициентусиления при разомкнут ой пет ле обрат ной св язи рав ен бесконечност и. 2. В х од ноесопрот ив лениеО У рав но бесконечност и. 3. В ы х од ноесопрот ив лениерав но нулю . 4. Ш ирина полосы пропускания рав на бесконечност и (бесконечно прот яж еннаяамплит уд но-част от наях аракт ерист ика). 5. При рав енст в е напряж ений на прямом и инв ерт ирую щ ем в х од е в ы х од ное напряж ение рав но нулю (от сут ст в уетнапряж ение смещ ениянуля). Н а рис.1 изображ ена од на из базов ы х сх ем в клю чения О У , кот орая работ ает как инв ерт ирую щ ий усилит ель. Э т а сх ема ш ироко использует ся в измерит ельной т ех нике, в част ност иприизгот ов лении Ц А П. Н айд ем в ы раж ения д ля коэф ф ициент а усиления при т аком в клю чении. Поскольку неинв ерт ирую щ ий Р и с.1 в х од заземлен, его пот енциал рав ен нулю . Согласно прав илу 1, пот енциал инв ерт ирую щ его в х од а т акж е рав ен нулю (эт от ак назы в аемая в ирт уальная земля). В прот ив ном случае, т ак как коэф ф ициентусиления рав ен бесконечност и, на в ы х од е появ ляет ся бесконечно больш ой полож ит ельны й сигнал, кот оры й пост упаетна инв ерт ирую щ ий в х од . Поскольку согласно прав илу 2 в х од ной т ок О У рав ен нулю , справ ед лив о в ы раж ение: ii = −i f (1) Поскольку прав ы й в ы в од резист ора R i нах од ит ся под пот енциалом земли, а к лев ому в ы в од у прилож ено в х од ное напряж ение vi , т о в х од ной
6 v vi т ок ii = . А налогично получаем i f = 0 . Под ст анов ка эт их Ri Rf v − v0 v − Rf в ы раж ений в (1) д ает i = или 0 = . Ri Rf vi Ri Т аким образом, коэф ф ициентусиленияв ы ш еприв ед енной сх емы рав ен − R f R i . Н а рис.2 пред ст ав лена т ипичная ст рукт урная сх ема n-разряд ного Ц А П. О н сод ерж итрегист р из n ф иксат оров , в кот оры х нах од ит ся д в оичное число, под леж ащ ее преобразов анию . К аж д ы й ф иксат ор управ ляетработ ой т ранзист орного клю ча, св язанноР и с. 2 го с опред еленны м резист ором в резист орной мат рице(сет ке). Прецизионны й ист очник опорного напряж ениязад аетд иапазон изменения в ы х од ного напряж ения Ц А П. В ы х од ной операционны й усилит ель(О У ) в ы полняетф ункцию суммат ора, обеспечив аяслож ениерезульт ат ов при од нов ременной акт ив ации т ого или иного набора клю чей. Призамы канииод ного из клю чей в ы х од ноенапряж ениеЦ А П опред еляет ся произв ед ением опорного напряж ения Eref на от нош ение сопрот ив лений резист ора обрат ной св язиисопрот ив ления мат рицы , нах од ящ егосяв цепи д анного клю ча. Н апример, еслизамкнутклю ч, соот в ет ст в ую щ ий ст арш ему значащ ему разряд у (СЗР) регист ра, т о в ы х од ное напряE R ⋅ E ref = ref . ж ение e out = 2R 2 При уст анов ке логической ед иницы в разряд е 1 E R e out = ⋅ E ref = ref . При за8R 8 мы кании нескольких клю чей результ ирую щ ее в ы х од ное напряж ение опред еляет ся суммой в клад ов откаж д ого замкнут ого клю ча. Т аким образом, д ля прив ед енной сх емы Ц А П мож но получит ь 16 различны х Р и с. 3 д искрет ны х уров ней в ы х од ного напряж ения, соот в ет ст -
7 в ую щ их 16 различны м д в оичны м комбинациям на в х од е Ц А П. Д ляn-разряд ного Ц А П мож етбы т ьполучено д о 2 n уров ней в ы х од ного напряж ения. Д ля прост ы х Ц А П общ его назначения в се эт и компонент ы мож но объ ед инит ь в од ной инт егральной микросх еме. О д нако д ля Ц А П больш ей разряд ност и изгот ов ление их по прив ед енной в ы ш е сх еме сопряж ено со значит ельны ми т руд ност ями. Э т о св язано с необх од имост ью изгот ов ления на од ном крист алле сопрот ив лений с очень больш ой разницей в номиналах . Н апример, д ля 10-разряд ного Ц А П сопрот ив лениерезист ора в цепимлад ш его значащ его разряд а д олж но бы т ь в 210 раз больш е сопрот ив ления резист ора обрат ной св язи. В силу эт ого приизгот ов лении инт егральны х Ц А П чащ е использует ся сх ема, прив ед енная на рис.3. По св оим х аракт ерист икам эт а сх ема экв ив алент на изображ енной на рис.2, но в ней использую т сярезист оры т олько д в ух номиналов – R и2R. Ст рукт ура резист орной мат рицы т аков а, чт от ок, в т екаю щ ий в нее через какую -либо в ет в ь, д елит сяв каж д ом узленад в арав ны х т ока.
8
А НА ЛОГО-Ц ИФ РОВ Ы Е П РЕОБРА ЗОВ А ТЕЛИ (А Ц П ) А налого-циф ров ы е преобразов ат ели пред ст ав ляю тсобой наиболее в аж ную част ьлю бой сист емы сбора д анны х . Работ а лю бого А Ц П ст роит ся на срав нениианалогов ого опорного сигнала с в х од ны м сигналом. Поэт ому больш инст в о сх емны х реализаций А Ц П основ ано либо на использов ании в нут реннего Ц А П д ля генериров ания опорного сигнала, илина применениинекот орого способа инт егриров ания д ля осущ ест в ления ф ункциипреобразов ания. Рассмот рим некот оры е сх емот ех нические приемы , используемы еприпост роениив нут ренних ф ункциональны х ст рукт ур А Ц П. Н аиболее прост ымт ипом А Ц П яв ляет ся А Ц П с д инам иче с ко й ко м пе нс ацие й. Н а рис. 4а показана ст рукт урная сх ема т акого преобразов ат еля. Зд есь использует ся счет чик импульсов , кот оры й обеспечив аетпост епенное нараст аниев ы х од ного сигнала св язанного с ним Ц А П, пока эт отсигнал непрев ы ситуров ень в ы х од ного сигнала. В ы х од ной сигнал Ц А П при каж д ом ед иничном изменении сост ояния счет чика в озраст аетна в еличину млад ш его значащ его разряд а (М ЗР). К омпарат ор ост анав лив аетсчет чик, когд а в ы х од ное напряж ение Ц А П д ост игаетуров ня в х од ного сигнала. Сост оя-
Р и с. 4
9 ние счет чика в эт от момент и яв ляет ся циф ров ы м в ы х од ны м сигналом А Ц П. Глав ны й нед ост ат ок эт ого прост ого способа аналогоциф ров ого преобразов ания – низкое бы ст род ейст в ие и зав исимост ь в ременипреобразов ания отуров ня в х од ного сигнала (рис. 4б). Поэт ому чащ е применяю тмод иф ициров анны й в ариантА Ц П с д инамической компенсацией - т ак назы в аемы й "след ящ ий" А Ц П. В эт ом случае использует ся рев ерсив ны й счет чик, счит аю щ ий как в прямом, т ак иобрат ном направ лении (рис.4в ). Э т о позв оляетот слеж ив ат ь изменениесигнала в обоих направ лениях приуслов ии, чт о изменениясигналанев елики. А Ц П пос лед ов а т ельногоприб лиж ения Эт отт ип А Ц П использует сянаиболеечаст о д ляреализацииф ункций аналого-циф ров ого преобразов ания в сист емах со сред ним ив ы соким бы ст род ейст в ием. В ст рукт уру А Ц П послед ов ат ельного приближ ения т акж е в х од итЦ А П, од нако его сигнал нараст аетд о уров ня в х од ного сигнала т очно за n т акт ов , гд еn – разряд ност ьА Ц П. (рис. 5а). Т аким образом, процесс преобразов ания занимаетменьш е в ремени, а в ремя преобразов ания не зав иситотуров ня в х од ного сигнала. В д анном мет од е в х од ной сигнал аппроксимирует ся д в оичны м код ом и осущ ест в ляет ся пров ерка д ля каж д ого разряд а код а, пока не буд етд ост игнут о наилучш ее приближ ение к в еличине в х од ного сигнала. Пров ерка начинает ся со ст арш его значащ его
Р и с. 5
10 разряд а регист ра послед ов ат ельного приближ ения (РПП), значениекот орого уст анав лив ает сяв 1 ипроисх од итпров ерка, прев ы ш ает лив ы х од ной сигнал Ц А П уров ень в х од ного сигнала. К онт роллер сбрасы в аетст арш ий значащ ий разряд , еслиэт а перв оначальная оценка прев ы ш аетв еличину в х од ного сигнала. В прот ив ном случае ост ает ся уст анов ленноезначениест арш его значащ его разряд а. В след ую щ ем т акт еконт роллер уст анав лив аетв 1 значение след ую щ его (по ст арш инст в у) разряд а, иснов а, исх од я из результ ат а срав нения сигналов , компарат ор “реш ает ”, сбрасы в ат ь илиост ав ит ь уст анов ку эт ого разряд а (рис. 5б,в ). Преобразов ат ель работ аетаналогичны м образом д о т ех пор, пока не буд етпров ерен млад ш ий значащ ий разряд . После эт ого значение регист ра РПП яв ляет ся наилучш им д в оичны м приближ ением в х од ного сигнала – эт о иест ьв ы х од ной циф ров ой сигнал А Ц П. След уетобрат ит ь в нимание на т о, чт о д ля прав ильной работ ы алгорит ма пред полагает ся пост оянст в о в х од ного сигнала на прот яж ениев сего процесса преобразов ания, поэт ому нав х од еА Ц П, как прав ило, уст анав лив ает сяуст ройст в о в ы борки– х ранения, кот орое“зах в ат ы в ает ” уров ень сигнала ипод д ерж ив аетего на пост оянном уров не в т ечениенекот орого в ремени. Д в ухт а кт ный инт егрирующ ий А Ц П В д анной реализациив х од ное напряж ение инт егрирует ся в т ечение некот орого в ремени. К ак прав ило, эт о в ремясоот в ет ст в уетв ременной реализациив сей счет ной послед ов ат ельност ив нут реннего счет чика. В конце эт ого инт ерв ала счет чик сбрасы в ает ся, а в х од инт еграт ора переклю чает ся на ист очник опорного сигнала. В ы х од ное напряж ение инт еграт ора т еперь уменьш ает ся по линейному закону, пока нед ост игнут о его нулев оезначение. В эт ом случаесчет чик ост анав лив ает ся иинт еграт ор уст анав лив ает ся в нулев ое полож ение. Ст рукт урная сх ема т акого А Ц П пред ст ав лена на рис.6а. Роль инт еграт ора в ы полняетО У , в цепиобрат ной св язикот орого в клю чена емкост ь C. К инв ерт ирую щ ему в х од у т акж е под клю чен резист ор. Легко рассчит ат ь, чт о напряж ение на в ы х од е О У опред еляет ся в ы t
1 1 раж ением: v 0 = − ∫ vidt , то есть пропорционально интегралу в х од ного RC 0
напряж ения. В о в ремяразряд кинапряж ениена емкост иC уменьш ает сяпо линейному закону (рис. 6б), поэт ому напряж ение v 0 опред еляет сяпо в ремениразряд ки t 2 . Ф акт ическив моментот клю чения в х од а О У отист очника в х од ного сигнала запускает ся счет чик. О ст анов ка счет а происх од ит , когд а емкост ь C полност ью разряж ает ся. Показание счет чика в эт отмоментиопред еляетзначение в ы х од ного (циф ров ого) сигнала А Ц П. М ет од д в ух т акт ного инт егриров ания обеспечив аетряд преимущ ест в , глав ное из кот оры х - х орош ие ш умов ы е х аракт ерист ики. В ы сокочаст от ны е ш умы , пост упаю щ иена в ы х од инт еграт ора, компенсирую т сяза в ремяинт егриро-
11
Р и с. 6 в ания. Н ед ост ат ком ж ет аких А Ц П яв ляет сяих от носит ельно низкоебы ст род ейст в ие. А Ц П с преоб ра зов а нием на пряж ения в ч а с т от у А налогов ое в х од ное напряж ениев т аком т ипеА Ц П преобразует ся с помощ ью прецизионного преобразов ат еля напряж ение – част от а (ПН Ч) в
Р и с. 7
12 послед ов ат ельност ь импульсов , част от а кот оры х пропорциональна в еличинеэт ого напряж ения (рис. 7). Зат ем счет чик ф ормируетв ы х од ное циф ров ое слов о пут ем под счет а эт их импульсов в т ечение ф иксиров анного инт ерв ала в ремени. Э т отмет од облад аетв ы соким бы ст род ейст в ием ине используетв ст роенны й Ц А П, х аракт еризует ся в ы сокой помех оуст ойчив ост ью . Т акиеА Ц П имею тнизкую ст оимост ь. О д нако, эт отмет од мож етбы т ьнепригод ен д ляА Ц П больш ой разряд ност и, т ак как т ребует ся значит ельное в ремя д ля под счет а больш ого числа импульсов . А Ц П па ра ллельногопреоб ра зов а ния М ет од мгнов енного, илипараллельного преобразов ания, иллю ст рирует ся на рис.8. О н использует ся в т ех случаях , когд а т ребует сяоченьв ы сокая скорост ь преобразов ания. В х од ной сигнал срав нив ает ся од нов ременно со в семипорогов ы миуров нямис помощ ью компарат оров , смещ енны х д руг от носит ельно д руга на в еличину млад ш его значащ его разряд а. При под аче аналогов ого сигнала на в х од А Ц П компарат оры , смещ енны е в ы ш е уров ня в х од ного сигнала, имею тна в ы х од е логический ноль, а смещ енны е ниж е эт ого уров ня – логическую ед иницу. Процесс кв ант ов ания занимаетод ин ш аг, благод аря чему д ост игает ся наив ы сш ее бы ст род ейст в иесред ив сех рассмот ренны х т ипов А Ц П. О д нако д ля n-разряд ного преоров (например, 255 компарат оров образов ат еля т ребует ся 2 n − 1 компарат д ля8-разряд ного А Ц П).
Р и с. 8
13
П РИНЦ ИП Ы ФУНКЦ ИОНИРОВ А НИЯ ИНТЕРФ ЕЙ СА Сущ ест в ует несколько мет од ов реализации инт ерф ейса А Ц Пмикропроцессор. С хема “с а мых пос лед них д а нных”. В эт ом мет од е реализации инт ерф ейса А Ц П работ аетнепреры в но. В концекаж д ого цикла преобразов ания он обнов ляетд анны е в в ы х од ном буф ерном регист ре изат ем ав т омат ически начинаетнов ы й цикл преобразов ания. М икропроцессор прост о счит ы в аетсод ерж имое эт ого буф ера, когд а ему нуж ны самы е послед ние д анны е. С хема “за пус ка -ож ид а ния”. М икропроцессор инициируетв ы полнение преобразов ания каж д ы й раз, когд а ему нуж ны нов ы е д анны е, а зат ем непреры в но т ест ируетлинию EOC (End of Convert) преобразов ат еля, чт обы узнат ь, закончилосьлипреобразов ание. Заф иксиров ав конец преобразов ания, он счит ы в аетв ы х од ное слов о преобразов ат еля. Э т отмет од несколько прощ е в реализации, но приэт ом микропроцессор от в лекает ся от в ы полненияв сех д ругих программ нав ремяпреобразов ания. отмет од основ ан Ис пользов а ние прерыв а ния микропроцес с ора . Э т на использов аниисист емы преры в аний микропроцессора. Процессор или т аймер запускаетпреобразов ат ель изат ем перех од итк в ы полнению д ругих зад аний. К огд а преобразов аниезав ерш ено, А Ц П в ы зы в аетпреры в ание микропроцессора. Д ляреализацииаппарат ны х преры в аний у больш инст ва микропроцессоров имею т ся в неш ние в ы в од ы , изменение сост ояния кот оры х прив од итк в ременной ост анов ке в ы полнения т екущ ей программы и перех од у к специальной под программеобслуж ив анияпреры в ания. Происх од итэт о след ую щ им образом. После изменения сост ояния соот в ет ст в ую щ его в неш него в ы в од а микропроцессор прекращ аетв ы полнение т екущ ей программы исох раняетв ст еке в сю необх од имую инф ормацию , в т ом числе т екущ ее сост ояние в нут ренних регист ров , д ля послед ую щ его в осст анов ления работ ы . Зат ем он осущ ест в ляетпоиск и в ы полнение обслуж ив аю щ ей программы , пред назначенной д ляв ы боркид анны х отА Ц П. Поиск обслуж ив аю щ ей программы осущ ест в ляет ся с помощ ью т ак назы в аемы х в ект оров преры в аний. А д реса от д ельны х обслуж ив аю щ их программ, соот в ет ст в ую щ их номеру преры в ания, х ранят ся в опред еленной област и памят и, назы в аемой в ект орной т аблицей. Благод аря эт ому процессор знает , к какой ячейке памят иобрат ит ься в от в етна сигнал преры в ания. После т ого как обслуж ив аю щ ая программа в ы полнена, микропроцессор в озв ращ ает сяк в ы полнению исх од ной программы .
14 ЛА БОРА ТОРНЫ Е М А КЕТЫ М акет ы в ы полнены на основ е платL-154 иL-1208 ф ирмы L-Card. Н иж е прив ед ены т ех нические х аракт ерист ики, поряд ок работ ы с эт ими плат ами, а т акж е библиот еки под программ на язы ке Pascal, кот оры е позв оляю тиспользов ат ь основ ны е в озмож ност и эт их плат , не в д ав аясь в т онкост инизкоуров нев ого программиров ания. П оряд ок ра б от ы с пла т а ми L-154 и L-1208 I. Пров еряет ся соед инение пров од ов меж д у плат ой и используемы ми в работ еприборами. О собое в ниманиеслед уетприэт ом уд елит ь заземлению сигналов иналичию общ ей земли. II. В клю чает сякомпью т ер III.В клю чаю т ся ист очники сигналов и измерит ельное оборуд ов ание (в ольт мет ры , осциллограф ы ид р.) IV.Т еперь мож но запуст ит ь используемое программное обеспечение иработ ат ьс ним. V.В ы клю чаю т сяист очникисигналов иизмерит ельноеоборуд ов ание. VI.В ы клю чает сякомпью т ер.
15 П ЛА ТА L-154 Плат а L-154 пред назначена д ля преобразов ания аналогов ы х сигналов в циф ров ую ф орму д ля персональной Э В М , а т акж е д ля в в од а/в ы в од а с помощ ью циф ров ы х Т Т Л линий иуправ ленияод ним в ы х од ны м аналогов ы м каналом (циф ро-аналогов ы й преобразов ат ель). У прав ление произв од ит сялибо в программном реж име, либо в реж имегенерациипреры в аний. Плат а позв оляетосущ ест в лят ь многоканальны й в в од с аналогов ы х каналов с част от ой д о70 кГц наканал. Н а плат е имеет ся од ин А Ц П, на в х од кот орого припомощ икоммут ат ора мож етбы т ь под ан од ин из 16 (32) аналогов ы х каналов с в неш него разъ ёмаплат ы. П а ра метры А Ц П • Д иф ф еренциальны х 16 • с общ ей землёй 32 Разряд ност ь 12 бит В ремяпреобразов ания 1.7 мкс В х од ноесопрот ив ление 2 Mом Д иапазон в х од ного сигнала ±5.12В , ±2.56В , ±1.024В в зав исимост иотполож ения перемы чек наплат е М аксимальнаячаст от апреобразов ания 70 кГц Защ ит ав х од ов • прив клю ченном пит ании • компью т ера в х од ы защ ищ ены на±20 В • при в ы клю ченном пит ании в х од ы защ ищ ены на±10 В В ремяуст анов ленияаналогов ого т ракт а 4 мкс примаксимальном перепад енапряж ения (в ременны епарамет ры прив ед ены д ля т очност иуст анов ленияаналогов ого т ракт ад о 1 М ЗР) К оличест в о каналов
Н а плат е уст анов лен од ин Ц А П, кот оры й в ы д аётпост оянное напряж ениев соот в ет ст в иис записанны м в негоциф ров ы м код ом. П а ра метры Ц А П К оличест в о каналов Разряд ност ь В ремяуст анов ления В ы х од ной д иапазон
1 12 бит 10 мкс ±5.12 В
16 Н а плат е уст анов лено т ри счёт чика-т аймера (од на микросх ема 580В И 53) с кв арцев ой ст абилизацией 1 М Гц, припомощ икот оры х осущ ест в ляет сяпрограммнаясинх ронизацияв в од а игенериров ание преры в аний. П рогра ммное об ес печ ение В д анны й описы в ает ся библиот ека под программ, пред назначенны х д ляработ ы с плат ой А Ц П L-154 на язы кеТ урбо Паскальд ляIBM PC. Библиот ека сод ерж итф ункции, позв оляю щ иеосущ ест в лят ь в в од - в ы в од аналогов ой ициф ров ой инф ормациив асинх ронном реж име, в в од ит ьив ы в од ит ь аналогов ую инф ормацию как в од ноканальном, т ак ив многоканальном реж имах , в в од ит ь ив ы в од ит ь д анны е в программном реж име ив реж имегенерациипреры в аний . Биб лио т е ка по д про грам м и язык П ас каль Д ляв ы зов аф ункций из язы каTurbo Pascal В ам необх од имо: • созд ат ьф айл с исх од ны м т екст ом наязы кеПаскаль; • д обав ит ь в начало него след ую щ ую ст року: {$F+} – д ля использов ания д альней мод елив ы зов апроцед ур иф ункций; • объ яв ит ь в неш ние мод улиl154pas илиl1208pas в зав исимост иотуст анов ленной плат ы. П рим е р Программа осущ ест в ляетасинх ронны й в в од поочеред но со в сех каналов А Ц П иот ображ аетполученны езначениянаэкране. {$F+} uses l154pas; var i : Integer; UsilIndex : ARRAY[0..2] OF WORD; Channel : WORD; begin if(Plata_Test = 1) then begin writeln('No Board Detected'); exit; end; UsilIndex[0]:=$C0; {У силениерав но1} UsilIndex[1]:=$40; {У силениерав но2} UsilIndex[2]:=$80; {У силениерав но5} for i:=0 to 15 do begin {У ст анав лив аем д иф ф еренциальны й реж им, усиление= 1, x=0..15 - номер канала x=0 - перв ы й канал, x=15 - 16й канал} Channel:=x OR UsilIndex[0]; write(AdChan[Channel]); end end.
17 Ис по льзуе м ые т е рм ины Перед т ем, как перех од ит ь к описанию ф ормат ов д анны х , а т акж е процед ур иф ункций, в х од ящ их в сост ав библиот еки, поясним некот оры е т ермины , кот оры ебуд утиспользов аны ниж е. Н азв ание Смы сл Rate И нт ерв ал в в од ав микросекунд ах Nch Числоканалов д лямногоканального в в од а Data У казат ельнацелочисленны й массив д ляд анны х Npoint Число от счет ов д ля од ноканального в в од а и число кад ров д ля многоканального в в од а (под кад ром понимает ся послед ов ат ельност ьв в од имы х от счет ов по Nch каналам) Channel Н омер каналаприод ноканальном в в од е Channels У казат ель на целочисленны й массив с номерами каналов д ля многоканального в в од а Usil К оэф ф ициентусиления Ф о рм ат ы д анных А ЦП
Д анны е, счит анны ес А Ц П, преобразую т сяв ф орматзнаков ого целого д в убайт ного числа (-2048 <= N < 2048). При эт ом максимальное напряж ение, соот в ет ст в ую щ ее уст анов ленному в х од ному д иапазону, рав но +2047, а минимальное-2048. ЦА П
Д анны е, в ы д ав аемы е на Ц А П, св язаны с уст анав лив аемы м напряж ением след ую щ ей т аблицей: К од Н апряж ение +4095 +5.12 В ольт +2048 0 В ольт 0 -5.12 В ольт Но м е р канала А Ц П Н а плат е А Ц П имеет ся 16 д иф ф еренциальны х аналогов ы х каналов или32 канала с общ ей землёй, в ф ункциях в в од а с А Ц П зад ает сят акой парамет р, как номер канала А Ц П илипослед ов ат ельност ь номеров каналов д ля многоканального в в од а. Н омера каналов зад аю т ся целы мичисламиот нуляд о т рид цат иод ного (0 соот в ет ст в уетперв ому каналу, т рид цат ьод ин послед нему). В номер канала в х од итт акж е коэф ф ициентусиления, т . е. д ля каж д ого канала мож но уст анов ит ь инд ив ид уальны й коэф ф ициент усиления.
18 Реж им под клю чения(д иф ф еренциальны й 16 - канальны й или 32 канальны й с общ ей землёй) уст анав лив ает ся т акж е программно бит ом M32. Ф о рм ат но м е ра канала Бит 8 И мя U2
7 U1
6 5 M32 C5
4 C4
3 C3
2 C2
1 C1
Прид иф ф еренциальном под клю ченииполеM32 д олж но бы т ьрав но 0 (соот в ет ст в енно битC5 номера канала C5-C1 т акж е д олж ен бы т ь рав ен нулю ). В 32-канальном реж име битM32 д олж ен бы т ь рав ен ед инице, при эт ом номер каналазад аёт сяв семибит амиC5-C1. "Но м е р канала" (С4-С1) в д иф ф е ре нциально м ре ж им е Бит4 Бит3 Бит2 Бит1 номер АЦ П 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1
канала 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
П о ле "К о эф ф ицие нт ус иле ния" (U2-U1) БитU2 1 0 1 0
БитU1 1 1 0 0
усиление 1 2 5 зарезерв иров ан
19 Н апример, прив ы ст ав ленном наплат еперемы чками д иапазоне±5.12 В иусилении5 д иапазон буд ет±1.024 В , априусилении1 д иапазон буд ет±5.12 В . Час т о т а в в о д а Прив в од е с синх ронизацией отт аймера зад аёт ся парамет р Rate, опред еляю щ ий инт ерв ал в в од а меж д у кад рами. И нт ерв ал Rate зад аёт ся в микросекунд ах . М инимальное значение инт ерв ала зав иситотчисла в в од имы х каналов и отбы ст род ейст в ия компью т ера. При многоканальном в в од е (ф ункция SOFT) минимальное значение инт ерв ала в в од а сост ав ляет 15 микросекунд , а при од ноканальном (ф ункция STREAM()) соот в ет ст в енно 10 микросекунд . Мо д е ли пам ят и В се ф ункциибиблиот екипред полагаю тиспользов ание д альних указат елей как д ля в ы зов а процед ур, т ак ид ля перед ачи ад ресов д анны х , поэт ому прииспользов аниикомпилят ора Т урбо Паскаль необх од имо указат ьд ирект ив у {$F+} Ф ункции о б ще го назначе ния Ф ункцииобщ его назначения пред назначены д ля ув ед омленияд райв ера об уст анов ленной конф игурацииплат ы с помощ ью перемы чек. При помощ иперемы чек мож но изменит ь базов ы й ад рес плат ы в прост ранст ве в в од а-в ы в од а компью т ера, иизменит ьномер линиипреры в ания. По умолчанию д райв ер наст роен на базов ы й ад рес 0x300 ина линию преры в ания IRQ 3, приизмененииэт их парамет ров В ам след уетсообщ ит ьо них д райв еру, в ы зв ав описы в аемы е ниж е ф ункции с соот в ет ст в ую щ ими парамет рами. Ф ункцииобщ его назначения позв оляю т т акж е пров од ит ьт естналичияплат ы в компью т ере. У ст анов кабазов ого ад реса(SETBASEADDRESS) procedure SETBASEADDRESS(address : WORD); У ст анав лив аетнов ы й базов ы й ад рес в прост ранст в еPC д ляф ункций д райв ера. address - значениебазов огоад ресаплат ы в компью т ере У ст анов каномерапреры в ания(INTR_SETUP) procedure INTR_SETUP(number : WORD); Сообщ аетд райв еру о в ы бранном номерепреры в ания (IRQ3 - IRQ6) на плат е. По умолчанию на плат е уст анов лен номер преры в ания IRQ3 и д райв ер изначально пред полагает , чт о номер преры в аниярав ен IRQ3. П арам е т ры ü irq_number – номер преры в ания - irq_number = 0 - IRQ3
20 - irq_number = 1 - IRQ4 - irq_number = 2 - IRQ5 - irq_number = 3 - IRQ6. Пров ерканаличияплат ы в компью т ере(PLATA_TEST) function PLATA_TEST : WORD; Пров од итд иагност ику наличия плат ы А Ц П в компью т ере. В озв ращ аетнулев оезначениев случаеуспеш ного т ест иров анияприсут ст в ияплат ы иненулев оезначениев прот ив ном случае. Н енулев оезначениеозначает , чт о либо плат а от сут ст в уетв компью т ере, либо значение базов ого ад реса плат ы не соот в ет ст в ует уст анов ленному через процед уру SETBASEADDRESS. Раб о т а с анало го в ым и каналам и Ф ункциид анного разд ела служ атд ляобеспеченияв в од а аналогов ы х сигналов в компью т ер в различны х программны х реж имах : в асинх ронном реж имеив реж имесинх ронизацииотуст анов ленногонаплат ет аймера. У ст анов каномераканала А Ц П (SETCHANNEL) procedure SETCHANNEL(Nch : WORD); У ст анав лив аетканал А Ц П Channel д ля послед ую щ его в в од а ф ункцией од нократ ного асинх ронного в в од аSAMPLE(). П арам е т ры ü Nch - номер каналаА Ц П (см, ф орматномераканала) О д нократ ны й асинх ронны й в в од с А Ц П (SAMPLE) function SAMPLE : INTEGER; О сущ ест в ляет аналого-циф ров ое преобразов ание с канала А Ц П, пред в арит ельно уст анов ленного при помощ и SETCHANNEL. Д анной ф ункцией уд обно пользов ат ься д ля асинх ронного од ноканального в в од а, когд анет ребует сяпереуст анав лив ат ьномер канала. О д нократ ны й в в од с переуст анов кой канала А Ц П (ADCHAN) function ADCHAN(Channel : WORD) : INTEGER; У ст анав лив ает зад анны й канал А Ц П и осущ ест в ляет аналогоциф ров ое преобразов ание. Д анная ф ункция уд обна д ля осущ ест в ления асинх ронного в в од а с разны х каналов А Ц П. В озв ращ аетрезульт атпреобразов анияпо каналу 'Channel'. О д нократ ны й в в од послед ов ат ельност иканалов А Ц П (KADR) procedure KADR(Data, RealChannel : pointer; Nch : WORD);
21 В в од итNch от счет ов с каналов А Ц П, указанны х в массив е Channels в массив Data. Т о ест ь, еслиВ ам, например, т ребует ся в в ест и по од ному значению с т рех каналов А Ц П, т о В ы мож ет есф ормиров ат ьцелочисленны й массив Channels из 3 элемент ов , приэт ом перв ы й буд етрав ен код у д ляперв огоканала, в т орой д ляслед ую щ его ит . д. П арам е т ры ü Data - целочисленны й массив , в кот оры й буд утпомещ ены результ ат ы в в од ас Nch каналов ü Channels - целочисленны й массив с номерамиканалов ü Nch - число каналов О д ноканальны й в в од с синх ронизацией отт аймера(STREAM) procedure STREAM(Data : pointer; NPoint, Channel, Rate : WORD); О сущ ест в ляетсчит ы в аниепослед ов ат ельност и от счет ов с зад анного каналаА Ц П с инт ерв алом Rate меж д у от счет ами. П арам е т ры ü Data - целочисленны й массив , в кот оры й буд утпомещ ены в в од имы еот счет ы ü Npoint - числов в од имы х от счет ов (1 <= Npoint <= 32768) ü Channel -номер канала А Ц П, по кот орому буд утв в од ит сяд анны е ü Rate - инт ерв ал в в од ав микросекунд ах М ногоканальны й в в од с синх ронизацией отт аймера(SOFT) procedure SOFT(Data : pointer; NKadr : WORD; RealChannel : pointer; Nch, Rate : Процед ура SOFT осущ ест в ляетв в од NPoint кад ров с Nch аналогов ы х каналов , номера кот оры х перед аю т ся в целочисленном массив е Channels с инт ерв алом Rate мкс меж д у кад рами. Под кад ром под разумев ает ся ряд от счет ов , сост оящ ий из результ ат ов послед ов ат ельного опроса перв ы х Nch каналов , указанны х в массив е'Channels'. П арам е т ры ü Data - целочисленны й массив , в кот оры й буд утпомещ ены в в од имы е от счет ы ü Npoint - числов в од имы х кад ров (1 <= Npoint*Nch <= 32768) ü Channels - целочисленны й массив с номерамиканалов А Ц П, по кот оры м буд утв в од ит сяд анны е ü Nch - число каналов ü Rate - инт ерв ал в в од а
22 Ц иф ро -анало го в ые каналы Н а плат е А Ц П уст анов лен од ин Ц иф ро - А налогов ы й Преобразов ат ель (в д альнейш ем Ц А П), припомощ икот орого мож но управ лят ь в неш нимиуст ройст в ами, генериров ат ьсигналы произв ольной ф ормы ит . п. А синх ронны й в ы в од наЦ А П (OUTDA) procedure OUTDA(code : WORD); У ст анав лив аетв ы х од ное напряж ение на Ц А Пе в соот в ет ст в иис код ом Code. П арам е т ры ü Code - в ы в од имы й код наЦ А П (см. описаниеф ормат ов д анны х ). Синх ронны й од ноканальны й в ы в од наЦ А П (OUTDAARRAY) procedure OUTDAARRAY(Date : pointer; rate, NPoint : WORD); В ы в од итNPoint от счет ов из массив аData наЦ А П с инт ерв алом Rate П арам е т ры ü Rate - инт ерв ал в в од ав микросекунд ах ü Npoint - числов ы в од имы х от счет ов ü Data - массив с в ы в од имы миот счет ами Раб о т а с пре рыв аниям и В в од по преры в аниям использует ся, как прав ило, прианализе процессов на мед ленны х част от ах в в од а (д о 10 кГц). О бщ ая ид еология в в од а обы чно св од ит ся к след ую щ ему: плат а генерируетпреры в ание в компью т ер, в кот ором пред в арит ельно д олж ен бы т ьзагруж ен д райв ер-обработ чик используемого плат ой преры в ания, кот оры й послекаж д ого в ы зов а в ы полняеткакую либо ф ункцию (в в од итс А Ц П, в ы в од итна Ц А П ит . п.). ы х зад аний необх од иПримечание. О бы чно при в ы полнении прост мост ив работ ес преры в аниямина в озникает , од нако эт отразд ел прив ед ен в качест в есправ очного. Генериров аниепреры в аний (INITINTR) procedure INITINTR(rate1, rate2 : WORD; name : pointer); Программируетконт роллер преры в аний и плат у д ля работ ы в реж име генерации уст анов ленного преры в ания. После в ы зов а процед уры INITINTR плат а генерируетпреры в ания с инт ерв алом, рав ны м произв ед ению : Rate1*Rate2 мкс. кот орое обрабат ы в ает ся д райв ером-обработ чиком, ад рес кот орого перед ает ся в парамет ре Vector. Д райв ер - обработ чик д олж ен позабот ит ся о сбросе как конт роллера преры в аний компью т ера, т ак и конт роллерапреры в аний плат ы АЦ П
23 П арам е т ры ü Rate1, Rate2 - инт ерв ал генериров ания преры в аний (Rate1*Rate2 мкс) ü Vector - ад рес обработ чикапреры в аний Сброс ф лагапреры в аний (RESET_IRQ) procedure RESET_IRQ; Д райв ер-обработ чик преры в ания IRQ д олж ен перед в ы х од ом из обработ кипреры в ания сбросит ьрегист р преры в анияна плат еив компью т ере. Д ляэт огод ост ат очно в ы зв ат ьRESET_IRQ. В ы клю чениепреры в аний (STOP_INTR) procedure STOP_INTR; В ы клю чаетреж им генерациипреры в аний на плат еив осст анав лив аетконт роллер преры в аний PC. Д анную ф ункцию необх од имо в ы зы в ат ь послезав ерш енияиспользов анияплат ы в реж имегенериров анияпреры в аний. Ф ункции раб о т ы с т айм е рам и Н а плат еуст анов лен т рёх канальны й т аймер, кот оры й мож етиспользов ат ься д ля генериров ания преры в аний ид ля синх ронизации процессов в в од аив ы в од а. Программиров аниет аймера(TIMER) procedure TIMER(Timer, Mode, Rate : WORD); У ст анав лив аетод ин из т рёх каналов т аймера в реж им Mode изаписы в аетв счёт чик д анного каналат аймераинт ерв ал Rate. П арам е т ры ü Timer - номер канала т аймера (от0 д о 2). Т рет ий канал т аймера использует ся д ля в неш ней синх ронизации(его счёт ны й в х од в ы в ед ен нав неш ний разъ ём). ü Mode - уст анав лив аемы й реж им т аймера (болеепод робноеописание реж имов см. в глав енизкоуров нев оеописаниеплат ы ). ü Rate - уст анав лив аемы й инт ерв ал в микросекунд ах . О ж ид аниеперех од анат аймере(WAIT_TIMER) procedure WAIT_TIMER(Timer : WORD); В т ом случае, есликанал Timer запрограммиров ан в реж им генерациимеанд ра, т о припомощ ипроцед уры WAIT_TIMER мож но синх ронизиров ат ьпроцессы в в од а/в ы в од апо т аймеру. П арам е т ры ü Timer - номер каналат аймера(от0 д о2).
24 Чт ениерегист расост ояният аймера(GET_TIMER) function GET_TIMER : WORD; Д анная ф ункция в озв ращ аетрегист рт аймера, в кот ором сод ерж ат ся бит ы сост ояния в сех т рёх каналов т аймера. Приэт ом млад ш ий битсод ерж итсост ояниелинииперв ого канала т аймера, в т орой бит- соот в ет ст в енно вт орогоканалаит рет ий - т рет ьего каналат аймера.
25 П ЛА ТА L-1208 Плат а L-1208 имеет в св оем сост ав е 12-бит ны й Ц А П, кот оры й управ ляет8 аналогов ы ми каналами в ы в од а, а т акж е 8 линий Т Т ЛШ д ля в в од а и в ы в од а циф ров ы х сигналов . Н а плат е уст анов лен сигнальны й процессор ADSP-2105 ф ирмы Analog Devices. Поэт ому перед использов анием Ц А П нуж но загрузит ь в сигнальны й процессор управ ляю щ ую программу (“прош ив ку”). У прав ляю щ ую программу нуж но загруж ат ь в сего од ин раз послев клю чениякомпью т ера ид о начала работ ы с плат ой (после в ы клю ченияпит анияпамят ьпрограмм сигнального процессора обнуляет ся). Ф айл Loadbios.exe, в х од ящ ий в сост ав ш т ат ного программного обеспечения, яв ляет ся программой – загрузчиком, а сама “прош ив ка” располагает ся в ф айлах Lbios10.BIN и Lbios10.DSL. К оманд а имеетслед ую щ ий ф ормат : LOADBIOS.EXE LBIOS10. Плат аL-1208 позв оляет : • О сущ ест в лят ь многоканальны й в ы в од аналогов ы х каналов с част от ой д о66 кГц наканал • О сущ ест в лят ьасинх ронны й в ы в од наразличны еаналогов ы еканалы • О сущ ест в лят ь в ы в од в т рех реж имах : в программном реж име, в реж име Прямого Д ост упак Памят иив реж имегенерациипреры в аний IRQ. • У прав лят ьциф ров ы милиниямив асинх ронном реж име Ц иф ро - анало го в ый пре о б разо в ат е ль(Ц А П ) Н а плат е уст анов лено в осемь каналов Ц А П. К аж д ы й из них в ы д ает пост оянное напряж ение в соот в ет ст в ии с записанны м в него циф ров ы м код ом. П арам е т ры Ц А П К оличест в о каналов Разряд ност ь В ремяуст анов ления В ы х од ной д иапазон
8 12 бит 15 мкс ±5.12В , ±10.24В , 0 - 5.12В , 0 - 10.24В В зав исимост иотполож енияперемы чек
Ц иф ро в ые в хо д ы и в ыхо д ы Н а плат ах имею т ся циф ров ы е в х од ны е ив ы х од ны е Т Т Л линии, при помощ икот оры х мож но управ лят ьв неш нимиуст ройст в ами, осущ ест в лят ь циф ров ую синх ронизацию в ы в од аит . п. П рим е р Прив ед еннаяниж епрограмма осущ ест в ляетасинх ронны й в ы в од пилообразного сигнала нав се8 Ц А Пов .
26 uses crt, l1208pas; var i, j : WORD; {$F+} begin if(Plata_Test8 = 1) then begin writeln('No Board Detected'); exit; end; Zero_Mode8(1); while keypressed = FALSE do for i:=0 to 819 do for j:=0 to 8 do OUTDA8(i*5, j); end.
Ф о рм ат ы д анных Д анны е, в ы д ав аемы е на Ц А П, св язаны с уст анав лив аемы м напряж ением след ую щ ей т аблицей К од Н апряж ение 0 MIN 2048 (MAX+MIN)/2 4095 MAX • MIN - М инимальное напряж ение (зав иситотуст анов ленны х перемы чек конф игуриров анияв ы х од ного д иапазона) • MAX - М аксимальное напряж ение (зав иситотуст анов ленны х перемы чек конф игуриров анияв ы х од ного д иапазона) Но м е р Ц А П а Н омер Ц А Па зад аёт сяцелы м числом от0 д о 7, приэт ом 0 соот в ет ст в уетперв ому Ц А Пу, а7 послед нему. К о нф игуриро в ание плат ы Ф ункции конф игурации пред назначены д ля ув ед омления д райв ера об уст анов ленной конф игурацииплат ы . Ф ункцииобщ его назначения позв оляю тт акж епров од ит ьт естналичияплат ы в компью т ере. У с т ано в ка б азо в о го ад ре с а (SETBASEADDRESS8) procedure SETBASEADDRESS8(address : WORD); У ст анав лив аетнов ы й базов ы й ад рес в прост ранст в еPC д ляф ункций д райв ера. П арам е т ры ü address - значениебазов ого ад реса плат ы в компью т ере У ст анов каномерапреры в ания(INTR_SETUP8) procedure INTR_SETUP8(irq_number : WORD);
27 Сообщ ает д райв еру о в ы бранном номере преры в ания (IRQ10 или IRQ11) на плат е. По умолчанию на плат е уст анов лен номер преры в ания IRQ11 и д райв ер изначально пред полагает , чт о номер преры в аниярав ен IRQ11. П арам е т ры irq_number – номер преры в ания - irq_number = 0 - IRQ10 - irq_number = 1 - IRQ11. Пров ерканаличияплат ы в компью т ере(PLATA_TEST8) function PLATA_TEST8 : WORD; Произв од итд иагност ику наличия плат ы в компью т ере. В озв ращ ает нулев ое значение в случае успеш ного т ест иров ания присут ст в ия плат ы с загруж енны м д райв ером Lbios иненулев ое значение в прот ив ном случае. Н енулев ое значение означает , чт о либо плат а от сут ст в уетв компью т ере, либо небы л загруж ен д райв ер Lbios, либо значениебазов ого ад реса плат ы несоот в ет ст в уетуст анов ленному с помощ ью SETBASEADDRESS8. В о зв ращае м о е значе ние ü 0 - плат аобнаруж ена ü 1 - плат анеобнаруж ена. К о нф игуриро в ание в ре м е нных парам е т ро в плат ы Н а плат еимеет сяод ин в ст роенны й в процессор счет чик-т аймер, при помощ икот орого мож но осущ ест в лят ь синх ронны й в ы в од на аналогов ы е каналы . Т аймер запускает ся уст анов ленны м на плат екв арцев ы м генерат ором, чт о обеспечив аетт очную синх ронизацию процессов в ы в од а. Н аплат е уст анов лен кв арц 10 М Гц, при эт ом минимальны й инт ерв ал, с кот оры м программирует сят аймер, сост ав ляетсоот в ет ст в енно100 нс. Т аймер управ ляет ся д в умя регист рами: базов ы м 16-бит ны м регист ром, в кот ором х ранит сяинт ерв ал в в од а и8-бит ны м регист ром масш т абиров ания т аймера, припомощ икот орого мож но замед лят ь процессы в ы в од а. Н апример, при уст анов ленном коэф ф ициент е масш т абиров ания рав ны м ед инице, максимальны й инт ерв ал в ы в од а рав ен $FFFF*100нс*1=6553.5мкс, при коэф ф ициент е масш т абиров ания рав ны м 100 максимальны й инт ерв ал в ы в од а сост ав ляет $FFFF*100нс*100=655.350мс. В о в сех ф ункциях д райв ера, гд е перед ает ся д лит ельност ь инт ерв ала в в од а, парамет р Rate записы в ает ся в базов ы й регист р т аймера. Д ля переуст анов кирегист ра масш т аба использует ся специальная ф ункция изменениямасш т аба. И зменениемасш т абат аймера(SET_TIMER_SCALE8) procedure SET_TIMER_SCALE8(value : WORD);
28 По умолчанию прив в од е/в ы в од е массив ов в ременной инт ерв ал зад ает ся в микросекунд ах (т . е. масш т аб рав ен 10). Д анная ф ункция пред назначена д ляизменениямасш т абазад ания инт ерв алав в од а/в ы в од а. П арам е т ры Парамет р value - 8 бит ное число, опред еляю щ ее масш т аб в в од а в сот нях наносекунд (минимальное значение - 1, максимальное значение 256): Н апример, - value = 1 инт ерв ал в в од а/в ы в од азад ает сяв сот нях наносекунд - value = 10 инт ерв ал в в од а/в ы в од а зад ает ся в микросекунд ах ( уст анов ленопоумолчанию ) - value = 100 инт ерв ал в в од а/в ы в од а зад ает ся в д есят ках микросекунд В клю чениеЦ А Пов (ZERO_MODE8) procedure ZERO_MODE8(code : INTEGER); Под клю чаетв ы х од ы в сех Ц А Пов к разъ ёму. Послев клю чения пит ания компью т ера, а т акж е после загрузки программы в процессор ADSP в ы х од ы в сех Ц А Пов от клю чаю т сяотв неш него разъ ёма, приэт ом на разъ емеуст анав лив ает сянулев оенапряж ение. П арам е т ры ü Mode = 0 - от клю чениеЦ А Пов ü Mode = 1 - под клю чениеЦ А Пов А синх ронны й в ы в од наЦ А П (OUTDA8) procedure OUTDA8(code, dac_number : INTEGER); У ст анав лив аетв ы х од ное напряж ение на Ц А Пе в соот в ет ст в иис код ом Code. П арам е т ры ü Code - в ы в од имы й код наЦ А П (см. описаниеф ормат ов д анны х ). А синх ронны й многоканальны й в ы в од (KADR8) procedure KADR8(Nch : WORD; Code, DacNumbers : pointer); У ст анав лив аетв ы х од ное напряж ение на Nch Ц А Пах в соот в ет ст в ии со значениями, перед анны мив массив еData. П арам е т ры ü Nch - число Ц А Пов ü Data - в ы в од имы екод ы ü Channels - номераЦ А Пов
29 Синх ронны й в ы в од наЦ А Пы (SOFT8) procedure SOFT8(Nch : WORD; Code, DacNumbers : pointer; Rate, NPoint : WORD); В ы в од итNPoint кад ров из массив а Data на Ц А Пы с инт ерв алом Rate. Под кад ром понимает ся послед ов ат ельност ь в ы в од а Nch от счет ов на Nch Ц А Пов . В т ом случае, если при помощ и д анной ф ункции в ы в од буд ет происх од ит ьнена в сев осемьЦ А Пов , т о на т ех каналах , на кот оры ев ы в од ид т ине буд ет , уст анов ит ся нулев ое напряж ение на в се в ремя в ы полнения д анной ф ункции. Парамет ры ü Nch - число Ц А Пов ü Channels - массив с номерамиЦ А Пов ü Rate - инт ерв ал в ы в од а ü Npoint - числов ы в од имы х кад ров ü Data - массив с в ы в од имы микад рами Синх ронны й в ы в од наЦ А Пы в ф онов ом реж име(SOFT_FON8) procedure SOFT_FON8(Nch : WORD; Code, DacNumbers : pointer; Rate, NPoint : WORD); Д анная процед ура записы в аетNch*NPoint от счет ов в памят ь уст анов ленного на плат е процессора. После перед ачипарамет ров плат а начинаетциклическив ы в од ит ь перед анны е д анны е на указанны е каналы Ц А Пов . Д ляпрекращ енияф онов ого в ы в од а на Ц А Пы необх од имо в оспользов ат ься процед урой KADR8. Число Nch*NPoint нед олж но прев ы ш ат ь512, в прот ив ном случае плат а зав иснет .В т ом случае, еслиприпомощ ид анной ф ункциив ы в од буд етпроисх од ит ьнена в сев осемьЦ А Пов , т о на т ех каналах , на кот оры е в ы в од ид т ине буд ет , уст анов ит ся нулев ое напряж ениед ов ы зов аф ункцииKADR8(). П арам е т ры ü Nch - число Ц А Пов ü Channels - массив с номерамиЦ А Пов ü Rate - инт ерв ал в ы в од а ü Npoint - числов ы в од имы х кад ров ü Data - массив с в ы в од имы микад рами
Раб о т а с канало м П рям о го До с т упа к П ам ят и (П ДП ) К анал ПД П яв ляет сяуд обны м сред ст в ом д ляреализацииалгорит мов работ ы в реальном масш т абе в ремени, когд а т ребует ся од нов ременно с в ы в од ом д анны х работ ат ь с д ругими уст ройст в ами, например с плат ой А Ц П. В реж име в ы в од а по каналу ПД П конт роллеру ПД П необх од имо
30 т олько указат ьобласт ьпамят и, из кот орой буд етосущ ест в лят ься в ы в од , и конт роллер ПД П сам в ф онов ом д ля цент рального процессора реж име (т о ест ь без участ ия Ц П) начнетв ы в од ит ь указанную област ь памят и, при эт ом имеет ся в озмож ност ь от слеж ив ат ь счет чик используемого канала ПД П, кот оры й мож етиспользов ат ьсяд ляопред еления, какаячаст ьбуф ера уж ев ы в ед ена. М ож етбы т ь использов ан т акж е реж им ав т оинициализации ПД П, в кот ором ПД П в х од итв в ечны й цикл в ы в од а указанной област ипамят ипо принципу кольцев ого буф ера, когд а после полного в ы в од а буф ера, конт роллер ПД П сам без ост анов ки и пропуска от счет ов прод олж аетв ы в од ит ьснов а с начала буф ера ит . д . Приэт ом появ ляет сяоченьуд обнаяв озмож ност ьорганизов ы в ат ьработ у в реж имереальногов ремени. В х од ящ ие в сост ав д райв ера под программы сод ерж атв се необх од имы е ф ункциид ля управ ления конт роллером ПД П ипозв оляю торганизов ы в ат ь практ ически лю бы е алгорит мы в в од а-в ы в од а с помощ ью каналов ПД П. Синх ронны й в ы в од наЦ А Пы по ПД П (DMASOFT8) procedure DMASOFT8(Nch:WORD; Code,DacNumber:pointer; Rate, NPoint, Dmm : WORD); В ы в од итNPoint кад ров из массив а Data на Ц А Пы с инт ерв алом Rate по каналу ПД П. Под кад ром понимает ся послед ов ат ельност ь в ы в од а Nch от счет ов на Nch Ц А Пов . В т ом случае, еслиприпомощ ид анной ф ункции в ы в од буд етпроисх од ит ь не на в се в осемь Ц А Пов , т о на т ех каналах , на кот оры е в ы в од ид т и не буд ет , уст анов ит ся нулев ое напряж ение на в се в ремяв ы полненияд анной ф ункции. П арам е т ры ü Nch - число Ц А Пов ü Channels - массив с номерамиЦ А Пов ü Rate- инт ерв ал в ы в од а ü Npoint - числов ы в од имы х кад ров ü Data- массив с в ы в од имы микад рами ü Dmm- парамет р, в клю чаю щ ий реж им ав т оинициализации. Е сли реж им ав т оинициализациибуд етв клю чен, послев ы в од аNPoint кад ров плат а в нов ь прод олж итв ы в од из буф ера, начиная с ад реса Data д о т ех пор, пока канал ПД П иплат а небуд утост анов лены припомощ и DMA_OFF8. 0 - реж им ав т оиницализациив ы клю чен 1 - реж им ав т оинициализациив клю чен
31 Ф ункцияв ы клю ченияконт роллераПД П (DMA_OFF8) procedure DMA_OFF8; Процед ура д ля в ы клю чения конт роллера DMA. Е ё необх од имо в ы зы в ат ь, когд а работ а с конт роллером ПД П зав ерш ена. Е сли конт роллер бы л перев ед ен в реж им в в од а с ав т оинициализацией ине бы л в ы клю чен, т о после в ы х од а из программы скорее в сего произойд етзав исание компьют ера. Ф ункцияпров еркизав ерш енияв ы в од апо ПД П (DMA_TEST8) function DMA_TEST8 : WORD; В озв ращ аетноль, если в ы в од по ПД П не зав ерш ен и ед иницу - в прот ив ном случае. Д анную ф ункцию мож но применят ьт олько прив в од ес в ы клю ченны м реж имом ав т оинициализации. При в ы клю ченном реж име ав т оинициализации счет чик канала ПД П уст анав лив ает ся в -1 после зав ерш енияв ы в од а, DMA_TEST8 пров еряетзначениесчет чика на -1 и, если оно не рав но -1, т о в озв ращ аетноль. При в клю ченном реж име ав т оинициализации счет чик ПД П никогд а не ст анов ит ся рав ны м -1, поэт ому в эт ом реж имеDMA_TEST8 буд етв сегд ав озв ращ ат ьноль. Пров ерка базов огоад ресабуф ерад ляПД П (DMA_ADDRESS_TEST8) function DMA_ADDRESS_TEST8(Data : pointer; NPoint : WORD) : WORD; Ф ункция в озв ращ аетноль, если буф ер с базов ы м ад ресом Data и размером NPoint слов непересекаетст раницу ПД П. П арам е т ры ü Data - пров еряемы й базов ы й ад рес буф ера ü Npoint - размер буф ера Д ост уп к счет чику каналаПД П (DMA_COUNTER8) function DMA_COUNTER8 : INTEGER; В озв ращ аетчисло слов , кот орое ост алось в ы в ест ипо ПД П (приод нократ ном в ы в од епослезав ерш ения в ы в од а счет чик ПД П уст анов ит сяв 1). Перв оначальное сод ерж имое счет чика перед в ы в од ом перв ого слов а рав но числу перед ав аемы х слов минус од ин.
32
Ц иф ро в ые ТТЛ Л инии Чт ениев осьмициф ров ы х линий (INPBYTE8) function INPBYTE8 : WORD; В озв ращ аетсост ояние8-мив х од ны х циф ров ы х Т Т Л линий. В ы в од на в осемьциф ров ы елинии(OUTBYTE8) procedure OUTBYTE8(code : WORD); У ст анав лив ает8 в ы х од ны х циф ров ы х линий в соот в ет ст в иис бит амимлад ш егобайт апарамет ра'Code'. П арам е т ры ü Code- ус т анав лив ае м ый ко д Раб о т а с П ре рыв аниям и В ы в од по преры в аниям использует ся, как прав ило, д ля мед ленны х процессов (част от а д о 10К Гц). О бщ ая ид еология в ы в од а обы чно св од ит ся к след ую щ ему: плат а Ц А П генерируетпреры в ание в компью т ер, в кот ором пред в арит ельно д олж ен бы т ь загруж ен д райв ер-обработ чик используемого плат ой преры в ания, кот оры й перед аетплат ев ы в од имы езначения. Преры в анияс многоканальны м в ы в од ом (INTR_DAC8) procedure INTR_DAC8(rate : WORD; Vector : pointer; Nch : WORD); Программируетконт роллер преры в аний иплат у д ля работ ы в реж име многоканального в ы в од а на Ц А Пы с зад анны м инт ерв алом в ы в од а. Д райв ер - обработ чик д олж ен позабот ит mся о сбросе как конт роллера преры в аний компью т ера, т ак и конт роллера преры в аний плат ы А Ц П. Д райв ер д олж ен перед ат ь плат е Nch номеров каналов Ц А Пов и в ы в од имы енаних значенияприпомощ иNch в ы зов ов PUT_INTER_DA. П арам е т ры ü Rate - инт ерв ал генериров анияпреры в аний ü Vector - ад рес обработ чикапреры в аний ü Nch - число в ы в од имы х каналов Ц А П Сброс ф лагапреры в аний (RESET_IRQ8) procedure RESET_IRQ8; Д райв ер-обработ чик преры в ания IRQ д олж ен перед в ы х од ом из обработ кипреры в ания сбросит ьрегист р преры в анияна плат еив компью т ере. Д ляэт огод ост ат очно в ы зв ат ьпроцед уру RESET_IRQ8.
33 В ы клю чение преры в аний (STOP_INTR8) procedure STOP_INTR8; В ы клю чаетреж им генерациипреры в аний на плат еив осст анав лив аетконт роллер преры в аний PC. Д анную ф ункцию необх од имо в ы зы в ат ь послезав ерш енияиспользов анияплат ы в реж имегенериров анияпреры в аний. В ни ма ни е. Прив ы зов е д анной ф ункциибуд етсгенериров ано од но преры в ание, в ы зв анноеот клю чением плат ы отлиниипреры в ания. Д ляизбеж ания зав исания программы из-за эт ого “лож ного” преры в ания в примерах использует ся переменная GlobalVar, припомощ икот орой основ ная программа пред упреж д аетобработ чик преры в аний о т ом, чт о буд етсгенериров ано “лож ное” преры в ание, кот ороененад обуд етобрабат ы в ат ь.
34 С П ИС ОК ЛИТЕРА ТУРЫ 1. Сопряж ение д ат чиков и уст ройст в в в од а д анны х с компью т ерами IBM PC: Пер. с англ./ Под . ред . У . Т омпкинса, Д ж . У эбст ера. – М .: М ир, 1992. 2. Гнат ек Ю .Р. Справ очник по циф роаналогов ы м ианалогоциф ров ы м преобразов ат елям/ Ю .Р. Гнат ек. – М .: Рад ио исв язь, 1982. 3. К узнецов А .А . Э лемент ы бы ст род ейст в ую щ их аналого-циф ров ы х преобразов ат елей/ А .А . К узнецов , О .А . К узнецов . – М .: Э нергия, 1969. 4. Гут ников В .С. И нт егральная элект роника в измерит ельны х уст ройст в ах / В .С. Гут ников . – Л.: Э нергоат омизд ат , 1988. 5. Гит ис Э .И ., Пискунов Е .А . А налого-циф ров ы е преобразов ат ели/ Э .И . Гит ис, Е .А . Пискунов . – М .: Э нергоат омизд ат , 1981. 6. О рнат ский П.П. А в т омат изиров анны е измерения и приборы / П.П. О рнат ский. – К иев : В ы сш . ш к., 1980. 7. Лебед ев О .Н . И зд елияэлект ронной т ех ники. Ц иф ров ы емикросх емы . М икросх емы памят и. М икросх емы Ц А П иА Ц П: Справ очник/ О .Н . Лебед ев , А .И . М ирош ниченко, В .А . Т елец. – М .: Рад ио исв язь, 1994. 8. Н ов иков Ю .И . Разработ ка уст ройст в сопряж ения д ля персонального компью т ера т ипа IBM PC/ Ю .И . Н ов иков , О .А . К алаш ников , С.Э . Гуляев . – М .: Э К О М , 1997.
35
Сост ав ит ели: А лгазинов Э д уард К онст ант инов ич, Бобреш ов А нат олий М их айлов ич, Д ы бой А лександ р В ячеслав ов ич.
Ред акт ор: Т их омиров аО .А .