Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Мережа з урахуванням нейрочіпа

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Микроконтроллер NEURON Chip містить три 8-разрядных процесора, об'єднаних внутрішньої шиною з умонтованими блоками загальної оперативної та енергонезалежної пам’яті, і навіть периферійними пристроями (мережним комунікаційним портом, таймерами, управляючими регістрами, портами ввода/вывода). Модель NEURON MC143120 також передбачає користування та зовнішньої пам’яті зберігання програм. Попри… Читати ще >

Мережа з урахуванням нейрочіпа (реферат, курсова, диплом, контрольна)

Міністерство спільного освітнього і професійного образования.

Московський Енергетичний Інститут філія у місті Смоленске.

Кафедра обчислювальної техники.

РАСЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА до курсової роботу з курсу.

" Мережі ЕОМ і кошти комунікації «на тему.

«Мережа з урахуванням нейрочипа».

| |грн. ВМ1−97 | | |студент: Вальков К. Г. | | |викладач: Аверченков О. Е. |.

р. Смоленськ 2000 г.

Аннотация.

Автор: Вальков Костянтин Георгійович, Група ВМ1−97, Смоленський філія Московського Енергетичного Інституту, кафедра Обчислювальною техники.

Ця робота включає у собі: 20 сторінок теоретичного запровадження, 4 сторінки описи розробки системи та 6 сторінки аналізу розробки. У пункт докладання входять три модуля: документований текст програми, схема принципова — електрична, технічне задание.

Назва роботи: «Обробка інформації котра надходить з аеродинамічних датчиків (датчики аналізу швидкості вітру) і передачі котра надходить інформації через мережу в ЕОМ, мережу реалізувати з урахуванням нейрочипа».

Кількість сторінок: 47 малюнків: 7 додатків: 3.

Зміст: Ця расчетно-пояснительная записка є наслідком проведеного аналізу роботи нейрочипа із наступною реалізацією мережі з його основі, і висновками результативності його застосування у разі. Результатом є схема і програмна реалізація роботи мережі з урахуванням нейрочипа для підрахунку швидкості вітру у разі перевищення деякого порога (швидкість вітру 50м/с) передача сигналу на центральну ЭВМ.

1.

Введение

.

1.1. Причини і наслідки об'єднання комп’ютерів в сеть.

А, щоб з найбільшим ефектом використовувати обчислювальні ресурси комп’ютерів, їх слід поєднати у мережу. Задовго доти, як з’явився мікропроцесор, великі обчислювальні системи об'єднували з допомогою телеграфних ліній зв’язку. Проте бурхливий розвиток комп’ютерних мереж почалося тільки з появою LAN (Local Area Network), коли використання комп’ютера невеликими фірмами стало економічно обгрунтованим. З появою можливості об'єднувати LAN в WAN (Wide Area Network) фахівці почали думати про проведення ідеї повної автоматизації виробництва — CIM (Computer Integrated Manufacturing). Проте попри зниження цін на мікропроцесори і оперативну пам’ять, ідея повністю автоматизованого підприємства у той час не осуществилась.

LON (Local Operating Network) призначена саме з автоматизації производства.

До XVIII століття створювали лише механічні верстати і застосовували відчутні види енергії. Однією з найважливіших передумов промислової революції з’явилися відкриття галузі фізики, наприклад перетворення енергії вже з виду на другий, що дозволило запустити ткацький верстат з допомогою пара і змусило рухатися автомобіль. Таким чином, з’явилася можливість обмежити використання людей ролі робочої сили й дедалі більше заміняти їхню самовіддану працю машинами. Внаслідок цього стало розвиток великих предприятий.

Наш час — час інформаційних технологій. Ми більше і більше вчимося обробляти інформацію з допомогою машин, зберігати, передавати і розподіляти її. Телефонна мережу, персонального комп’ютера, радіо, Інтернет — приклади того, як змінився світ завдяки інформаційним технологиям.

Комп’ютер і комп’ютерні мережі дедалі більше застосовуються для автоматизації виробничих процесів. Fieldbus-системы, які є також LON, можуть бути істотною складовою майбутніх мереж, базисом для розробок, які у недалекому майбутньому набудуть велике значення. Ідея СIМ стала особливо привабливою зараз, коли всі відомо, яким чином можна поєднати датчики і виконавчі механізми «на полі» (від анг. «in the field», мають на увазі термін Fieldbus — польова шина), не вдаючись до великим затратам. Ще кілька років тому я автомобілі мали від 20 до 50 датчиків і виконавчих механізмів; кілька років, за нашими оцінкам, їх кількість має значно зростидо 500 і більше. Це ж відбуватиметься у сфері автоматизації систем будинків, домашнього господарства, в промисловості й т. д.

Отже, об'єднання комп’ютерних системам управління до мережі то, можливо економічно ефективно з урахуванням Fieldbus-технологии.

До цього часу погляд особи на одне організацію навколишнього його світу носить яскраво виражений центристський характер. Багатьом фірм, партій та т.д. характерна жорстка ієрархічна структура. Такий підхід привноситься й у область управління технікою. Про те, що ієрархічна структура не оптимальна, відомо здавна. Це має наштовхнути нас стало на думку, що потрібно йти до децентралізації технологічних процессов.

LON створюється без використання PLC (Programmable Logic Controller) -контролерів з запрограмованої логікою. Основна ідея LON залежить від найбільш децентралізованому розподілі інтелекту на основі концепцій. 1.2. Управління технічними процессами.

1.2.1. Класичний подход.

Для управляючих систем традиційна централізована структура. Виходячи з централизованноcти системи, котра управляє обчислювальне пристрій затребувана дані датчиків чи приладів та після обробки повертає їх назад. Датчики, як і виконавчі механізми, що немає інтелектом. Більше сучасна структура включає у собі концентратори, які замінили довгі паралельні лінії передачі. Переваги такого підходу відомі: поліпшена електрична сумісність, простіше формування сполук, низька вартість ліній передачі, економія на клемах тощо. буд. Проте виникають труднощі, пов’язані переходити від одних принципів передачі решти, оскільки у часто відсутня сумісність низки параметрів. Результатом цього, стає ускладнення керуючої станції. З появою інтегральних мікроелементів широкого розповсюдження набули контролери з запрограмованої пам’яттю, минулі стандартизацію за умов експлуатації. Причому з недостатнім розвитком мікропроцесорної техніки ціни на всі апаратне забезпечення різко снизились.

Тим часом окреслилася нова тенденція — заміна контролерів з запрограмованої пам’яттю промисловими персональними комп’ютерами, які мають ряд переваг. По-перше, вказують застосовувати більш доступне за ціною апаратне забезпечення; по-друге, можна розробити просте у використанні та недороге програмне забезпечення, яке поставляють різні фірми, постійно удосконалюючи його. Значно рідше виникла потреба самостійного опрацювання і обслуговування. Єдиною проблемою то, можливо вибір підхожих програм реального часу, запропонованих ринком достатньої количестве.

1.2.2. Децентралізований подход.

З певного часу отримали стала вельми поширеною шинні системи, зокрема Fieldbus-системы, які порівняно з концентраторами даних економічно вигідніші. Fieldbus-системы є нову технологію, що пропонує нового образу мислення при системному проектуванні. Вузли Fieldbus-системы можуть децентрализованно використовувати інтелект керувати, регулювання і функцію контролю. У граничному разі це то, можливо система із повною відсутністю центрального управління (функції контролерів з запрограмованої пам’яттю, очевидно, розподіляють між різними вузлами мережі, такі як датчики, виконавчі механізми та внутрішнього облаштування індикації). Те, що це підхід дозволяє мислити цілком інакше, зрозумілим такому примере.

Уявімо зграю качок, летять у формі трикутника. Якщо вони самі управляються централізовано, то «центральний комп’ютер» постійно повинен розраховувати траєкторію польоту кожної качки. Коли б одне з них буде застрелена мисливцем, то комп’ютер з допомогою відповідного алгоритму, має знову заповнити утворене порожній простір, змінивши траєкторію польоту інших качок. Природно, на таку складної системи, як комп’ютер. такий алгоритм реалізувати непросто.

Припустимо тепер, що качки об'єднують у мережу у вигляді певної Fieldbus-системы. Тепер залишається лише поставити кожної качці кут, під яким вона летіти стосовно попереду летючою, і відстань від до неї. Коли якась з качок буде застрелена, то система щодо швидко відновиться сама й у заповнення порожнього простору не знадобиться будь-яких додаткових витрат. Інтелект кожної качки у тому випадку бути щодо невысоким.

Звісно ж, що у центрально-ориентированную систему може бути вмонтовані прості паралельні процеси, як це робиться в Fieldbus-системах. Але такий рішення «розробки центральноорієнтованої системи не напрошується. Центрально-ориентированная система «примушує» розробника думати централізовано, ладу складні алгоритми. До того ж у центрально-ориентированной системі завжди використовуються дорогі многозадачные користувальні системи, потребують великих витрат за розробку й обслуговування. Устрою Fieldbusсистем, навпаки, застосовують у багато, тому собівартість їх виробництва дуже мала.

3. Інформаційний обмін в якості основи розподілених систем.

1. Ієрархія системы.

Об'єднання систем комп’ютерів до мережі набуває настільки складний характер, що пласка архітектура мережі втрачає будь-який сенс. В усіх життєвих областях автоматизації перевагу надають мереж із вертикальною ієрархією систем, у яких кожному рівні можна реалізувати логічно окремий набір функцій. Розглянемо пятиуровневую модель якогось автоматизованого виробництва [рис.1−4]. Зліва від неї лежить мережу, з допомогою якої можна впорядкувати рівні. Зрозуміло, що його рівнів та його вид залежать від набору параметрів, визначальних конкретну систему. При автоматизації систем будинків цю схему виглядає зовсім по-іншому, як у системи управління технологічними процесами. Зрозуміло, від початкових умов (набору функцій конкретної рівня) залежить, яка мережу і якою рівні буде використано, — практика примушує думати більш гибко.

[pic].

У основі термінології, ухваленій у цій книжці, лежить таке правило: з узвичаєного визначення LAN (наприклад, IEEE 802.3), все мережі, які перебувають ієрархічно нижче, повинні називатися FAN (Fieldbus Area Networks). He проводиться поділу на «шини датчиків і виконавчих механізмів», «мультиплексные шини» тощо. буд., оскільки основним визначенню нього служать маркетингові інтереси. Ієрархічно вищестоящими стосовно LAN можна вважати WAN, котрі пов’язують LAN між собою, а окремих випадках і FAN (наприклад, з прямою поєднанні LonWorks мереж ISDN). Для повноти картини назвемо GAN — звані глобальні супутникові мережі, які перебувають ієрархічно вище WAN.

2. Семиуровневая модель ISO/OSI.

Для описи мережного взаємодії Міжнародна організація по стандартизації ISO (International Organization for Standardisation) розробила модель мережного об'єднання комп’ютерів (тоді йшлося насамперед про поєднанні з допомогою WAN і LAN), що була названа OSI (Open System Interconnection, у російській термінології - модель взаємодії відкритих систем). Трапляється повна його назва — модель ISO/OSI. Принцип, який у її основу, був щодо простий. Усі необхідні комунікаційні функції було зібрано і упорядковані у межах семиуровневой ієрархічної моделі. При меншої кількості рівнів розбивка на модулі це не дає переваг. Велика кількість рівнів небажано, оскільки існуючий з-поміж них інтерфейс призводить до так званим вертикальним недоліків — непродуктивною затратам системних ресурсів. За таких міркувань і це вибрано магічне число семь.

Коли розробляли стандарт ISO/OSI, найменше думали про функції реального часу й не передбачали появи Fieldbus-систем. Попри це, пізніше модель ISO вважали підходить специфікації та описи. Оскільки вона покладено основою більшості існуючих систем, виробляється загальний спосіб мислення, можливо, почасти сглаживающий її недостатки.

Усі фізичні і механічні параметри моделі визначаються на нижньому рівні, що є передавальним. На вищих рівнях визначається спосіб доступу до шині, описується складання кадрів даних, і здійснення його захисту під час передачі (зв'язок абонентів типу «точка-точка»). Якщо між двома пристроями встановлено з'єднання, то утворюються як дві зв’язку типу «точка-точка», які можна цілком различными.

На рівні 3 виконується маршрутизація, тобто вибір шляху. У телефонної мережі в таких межах здійснюють зв’язок шляху з номером телефону, тому його часто називають комутаційним. Рівень 4 управляє зв’язком «точка-точка»: він відпо-відає те що пакети даних, послані відправником, сягнули одержувача у властивому порядку, тобто управляє потоком информации.

На рівні 5 організуються сеанси — одночасний обмін даними між різними абонентами. У певних ситуаціях завданням цього рівня є ідентифікація його учасників і синхронізація сесій після їх переривання. На рівні 6 відбувається узгодження загального набору символів (языка).

Рівень 7, як і культурний рівень 1, посідає особливе місце: воно являє собою собою інтерфейс з зовнішнім світом, і навіть служби прикладного рівня — або самостійно, або вимагаючи цього рівнів, лежачих нижче нього, які у своє чергу також можуть звернутися до нижче лежачим рівням (ієрархічна система).

Розглянемо різні предметні області (набори параметрів, що описують систему), наприклад, системи автоматизації будинків та технологічних процесів. Вимоги, які пред’являються продуктивності цих двох управляючих систем, зовсім різні. Із міркувань безпеки при автоматизації технологічних процесів будь-коли виробляють підключення великої кількості вузлів одного сегменту. Вочевидь, із цієї причини у Fieldbus-системах, застосовуваних цієї області, намагаються використовувати трохи більше 1000 і навіть 100 вузлів. Але якщо можна обмежити кількість вузлів і відмовитися від маршрутизаторів (комутаційних вузлів), то рівень 3 непотрібен, може відпасти необхідність й у рівні 4. Виграш величезний: з комунікаційної колони випадає кілька інтерфейсів, система стає дешевше, підвищується її быстродействие.

При автоматизації будинків хочуть, навпаки, мати наскільки можна як жило якнайбільше вузлів. Поза тим користувальницька мережу, що об'єднує системи висвітлення, обігріву і регулювання клімату, повинна з'єднуватися з системами сигналізації і охорони. У цьому важливо, щоб вузли могли обмінюватися даними різними шляхами. Отже, рівні 3 і 4 виявляються необходимы.

Наведені приклади показують, що модель ISO/OSI не вимагає інтеграції всіх семи рівнів на реальну систему.

Функції нереалізованих рівнів можна перенести інші рівні. Майже всі Fieldbus-системы, використовувані для автоматизації процесів, мають всього рівні, тоді як, що застосовуються для автоматизації будинків, мають по крайнього заходу п’ять рівнів. LonWorks — одне з небагатьох Fieldbusсистем, у якій наявні всі сім рівнів. Це двома причинами. Перша зазначена майже переважають у всіх виданнях корпорації ECHELON: при універсальності застосування LonWorks повністю забезпечує об'єднання мереж компьютеров.

Друга причина згадується нечасто. Вже тепер очевидно, що LonWorks зрештою значно перевершить продуктивність всіх існуючих Fieldbus-систем. Коли сьогодні ми ще можемо автоматизувати всіх можливих процеси з допомогою LonWorks, то вже у майбутньому таку можливість представится.

Ще кілька зауважень щодо моделі ISO/OSI. Розрізняють два напрями комунікації [рис.1−6]. Комунікація між деяким рівнем п і низькому рівні вище (n +1) здійснюється з допомогою інтерфейсу, побудованого з урахуванням специфікацій служб. Верхній рівень «користувачем служб» (SU, Service User), а нижній — їх «постачальником» (SP, Service Provider). Обмін інформацією між рівнем ввозяться точках доступу до служби (Service Access Points, SAP), причому елемент вищого рівня може звертатися до елементу нижчого рівня. Це важливо, якщо, наприклад, потрібно з'єднати рівні з допомогою іншого шляху, яка досягається вибором спеціальних SAP.

[pic].

Горизонтальна комунікація (комунікація між двома однаковими лежать навпаки одне одного рівнями) здійснюється з допомогою протоколу типу Peer-to-Peer — протоколу взаємодії між елементами мережі. Таким чином, на семи рівнях існує сім протоколов.

1.4. Топологии.

Мережі можна класифікувати по фізичним і логічного структурі. Висловлення «мережу побудована за принципом кільцевої чи шинної структури» є неповним. Наприклад, основу Fieldbus-системы то, можливо фізична шина, чим верхньому рівні відповідає логічне кільце. Можливий і зворотний варіант. Питання, яка архітектура оптимальна, вирішують по-різному у кожному даному випадку. LonWorks передбачає різні топологічні структури, й вони мають право існування. Розглянемо їх разновидности.

[pic].

З огляду на реалізацію найпростіша структура — кільце [рис1−7], в якому всі вузли з'єднані друг з одним за принципом «точка-точка». Механізми передачі можна використовувати найрізноманітніші. Найбільш швидким у сфері Fieldbus-систем є «спосіб сдвигающего регістру»: кожен вузол має у розпорядженні такий регістр, який зрушує вступники дані. Оскільки всі вузли логічно з'єднані послідовно, то кільце утворює одну велику сдвигающий регістр, що з окремих вузлів — сдвигающих регістрів. Явна адресація у разі відсутня, кадр ідентифікується з його початку; після фази конфігурації кожен вузол може самостійно визначити, які біти зарезервовані йому. Якщо припустити, що це вузли посилають і приймають дані з максимально можливої швидкістю, то система теоретично має найкоротший термін реакции.

Проте за практиці найбільше зацікавлення представляють кільця іншого типу. Уявіть собі кільце, у якому вузли можуть приймати відвідувачів і посилати дані в обох напрямках. Якщо зруйнувати таке кільце у будь-якій точці, то тут для передачі всі інші вузли можна використовувати протилежний зміст. Це часто необхідне систем, потребують високої надійності (наприклад, системи спостереження). LonWorks допускає такий вид топологии.

При топології типу «зірка» всю інформацію проходить через центральний вузол. Як і кільці, всі системи зв’язку будуються за принципом «точка-точка», що часто спрощує систему комунікаційної техніки і розведення кабелю. Багато локальні мережі, фізично створені за типу «лінія» чи «кільце», мають розведення кабелю, таку «зірці». Проте системи типу «зірка», незважаючи з їхньої стала вельми поширеною, є коммутационными. Усі основні функції комутаційної системи зосереджено центральному комунікаційному устрої. Термінальне устаткування (телефонні апарати, факс-машины і т. буд.) має відносно невисокою інтелектом; це означає, що його можна купувати по досить низькій ціні. Причому продуктивність і інтелект перебувають у одному центральному устрої, що спрощує обслуговування системы.

Що стосується системам управління топологія типу «зірка» має поруч переваг: контролер з запрограмованої пам’яттю є класичної централізованої системою. Впровадження інтелектуальних компонентів ввода/вывода у сфері автоматизації технологічних процесів досі не досягло значного поступу ринку; контролери з запрограмованої пам’яттю і сьогодні грають домінуючу роль. Для поширення децентралізованих систем потрібно здійснити серйозну работу.

«Шина» — краще називати її «лінія» — один із найбільш широко поширених топологічних структур. Проте слід про її нестачі. Попри те що, кожен вузол електрично має лише одне з'єднання з лінією, фізично для підключення потрібні або здвоєні, або Т-образные рознімання, видатки які найчастіше недооцінюють. Значна частина коштів вартості вузла припадає на з'єднання, через чого ЄС неспроможна застосовуватися у багатьох послідовних системах, хоча у паралельних здатна забезпечити більш високу производительность.

Основною проблемою цієї топологічної структури є доступом до шині. У зв’язку з цим необхідно згадати один дуже важливого аспекту: для багатьох додатків вимога «real-time» (реального масштабу часу) критичний. Під реальним масштабом часу мається на увазі гарантоване час реакції системи. Наприклад, водій автомобіля повинен мати гарантію, що з натисканні на педаль гальма бажаний ефект гальмування дійдуть без задержки.

Розглянемо це аспект докладніше. Повне час затримки реакції є сума затримок всіх процесів, які у системі. Затримка, викликане шиною, то, можливо мінімальної проти іншими — у тому разі вона надає істотно на процес управління. Є ще на одному моменті, якому часто вже не приділяють уваги. Real-time вимагають багато системи, проте, з економічних міркувань, певний час реакції зазвичай гарантують лише із високим ймовірністю. Який сенс гарантувати час реакції «абсолютно», тоді як надійність системи задається ймовірнісними величинами (адже система може містити безліч непомехозащищенных електронних компонент)? Якщо час затримки гарантується з економічно прийнятною ймовірністю, цього предосить. Ця уваги ідея і була підхоплена LonWorks (LonWorks гарантує час доступу з певною ймовірністю, яку, можна визначити отже система буде придатна навіть у разі, що стосуються безпеки человека).

І ще кілька коротких зауважень щодо методів доступу. У локальних мережах найчастіше застосовують два методу доступу до шині: маркерный і множинний. Останній називається CSMA/CD (Carrier Sense Multiple Access/ Collision Detection-множественный доступ з контролем несучою / розпізнаванням колізій). Маркерный метод доступу простіше, але, на жаль, проти CSMA/CD його реалізація обходиться, зазвичай, значно дорожче. Сутність цього методу ось у чому. У шинної системі існує один маркер, який передається від вузла до вузлу відповідно до певному алгоритму. Вузол, що у якусь мить володіє маркером, отримує право відправляти повідомлення (займати шину). Потрібно стежити, щоб під час роботи системи було обміну двома чи більше маркерами, щоб маркер не губився тощо. Метод CSMA означає, що перш ніж отримати доступ до шині, вузли «прислухаються» до середовища (listen before talk -слухати колись, ніж говорить).

1.5. Инструментарий.

Одною з найбільш важливих причин успіху ринку Fieldbus-систем -наявність інструментарію їхнього розробки, настроювання й супроводу. Тут доречно навести класичний приклад, з історії 16-разрядных мікропроцесорів. Після розробки різними компаніями перших три моделі аналіз їхній продуктивності показував: у 8086 вона дуже невеличкий, у 68 000 — значно вища, а найбільшу продуктивність демонстрував Z8000 відносини із своїми надзвичайно гнучким набором регістрів. Але саме останній зник з ринку на першу чергу, 68 000 теж зміг наблизиться за обсягом продажів до 8086. це пояснюється багатьма причинами, але одне з них стала вирішальної: фірма Zilog, розробила Z8000, окремо не змогла своєчасно запропонувати відповідний інструментарій. Тому компанії, які мають ринку нові типи мікропроцесорів, мають чітко уявляти собі повну вартість майбутньої системи всіх етапах її існування (розробка, виконання і сопровождение).

Безсумнівно, що з її появою NEURON Chip («нейронного чипа"-программноапаратний комплекс, готовий до розробки та налагодження додатків для NEURON Chip) у розпорядження розробників надійшов необхідний інструментарій — LonBuilder. Echelon стала повторювати помилок інших компаній, і не концентрувала вагу свої фінансові ресурси розробка нових версій NEURON Chip. Навпаки, пріоритет віддали розробці нового і поліпшення існуючого інструментарію. Якщо порівняти результати досягнуті у тому напрямі LON-технологией та інші Fieldbus-системами, то LON значно випереджає й інші. Так-от стандартного апаратного мови Assembler, компанія Echelon перейшла до програмування NEURON Chip мовою вищого рівня NEURON C.

Мова програмування докладання для NEURON Chip (CPU-3) грунтується на ANSI-C, є відгалуженням мови програмування З. Він створили для NC не може застосовується й інших процессоров.

У основі побудови локальної мережі у стандарті LONWORKS лежить застосування спеціалізованих гібридних мікросхем NEURON Chip як микроконтроллеров вузлів локальної сети.

Микроконтроллер NEURON Chip містить три 8-разрядных процесора, об'єднаних внутрішньої шиною з умонтованими блоками загальної оперативної та енергонезалежної пам’яті, і навіть периферійними пристроями (мережним комунікаційним портом, таймерами, управляючими регістрами, портами ввода/вывода). Модель NEURON MC143120 також передбачає користування та зовнішньої пам’яті зберігання програм. Попри архітектурну симетричність внутрішніх процесорів, функціональне призначення кожного їх суворо детерміновано. Два їх управляють мережевий передачею даних з урахуванням многоуровнего мережного протоколу, а один призначений обслуговування прикладної частини програмного забезпечення вузла. Синхронізація роботи процесорів здійснюється з допомогою використання загальних областей пам’яті даних. Унікальність адреси кожного з микроконтроллеров стандарту LONWORKS може бути забезпечено наявністю власного 48-разрядного ідентифікаційний код, записываемого в энергонезависимую пам’ять за її производстве.

Взаємодія з зовнішніми пристроями виробляє процесор прикладного рівня у вигляді 11-выводного порту ввода/вывода. Функціональне призначення висновків порту то, можливо поставлено прикладних програмних забезпеченням, залежно від типів зовнішніх пристроїв, обслуговуваних микроконтроллером.

Що стосується недостатньою обчислювальної чи функціональною потужності микроконтроллера NEURON Chip для реалізації функцій вузла у стосунках з зовнішніми пристроями, у складі вузла може бути застосований додатковий микроконтроллер, задовольняє завданню збирання цих чи управління. У цьому вся разі порт ввода/вывода можна використовувати для зв’язку микроконтроллеров з організації обміну даними по рівнобіжному інтерфейсу, а сам микроконтроллер NEURON Chip виконує лише комунікаційні функции.

Задля реалізації мережевих функцій микроконтроллера служить 5-выводной комунікаційний порт, керований процесором, обслуговуючим два нижніх рівня мережного протоколу. З метою поєднання микроконтроллера з фізичною каналом зв’язку, до комунікаційному порту підключаються приемопередатчики в відповідність до обраним типом каналу зв’язку. 1.5.1. До основних рис микроконтроллеров NEURON Chip.

Кількість мікропроцесорів в кристалі - 3, типу MC143120.

Унікальний 48-битный код (NEURON ID).

EEPROM, ROM і RAM память.

11 двунаправленных ліній ввода/вывода.

2 16-битных таймера/счетчика.

5 ліній комунікаційного интерфейса.

Микроконтроллеры NEURON випускаються на 64-му выводном QFP (NEURON 3150) і 32 выводном SOIC корпусах (NEURON 3120xx). |Виробник |Найменування |EEPROM |RAM |ROM | |Motorola |MC143120B1DW |0.5K |1K |10K | | |MC143150B1FU |0.5K |2K |Ні | | |MC143120E2 |2K |2K |10K | |Toshiba |TMPN3120B1 °F |0.5K |1K |10K | | |TMPN3150B1 °F |0.5K |2K |Ні | | |TMPN3120E1 |1K |1K |10K |.

Промислово випущені у стандарті LONWORKS приемопередатчики забезпечують організацію наступних типів каналів зв’язку: лінійного, вільної топології, RS-485, радіочастотного, элекросетевого тощо. Швидкість передачі в каналах, залежно обраного типу каналу, забезпечується буде в діапазоні 330 бит/с — 1.25 Mбит/c.

Для поєднання каналів зв’язку різних типів можна застосовувати спеціальні маршрутизатори, побудова яких засноване на застосуванні двох микроконтроллеров NEURON, пов’язаних по рівнобіжному інтерфейсу порту ввода/вывода, і має власні приемопередатчики, відповідні характеристикам типів сопрягаемых каналів. На программно-логическом рівні побудови маршрутизатора, влаштуванню може бути запропоновані різні функції передачі даних між сегментами локальної сети.

Програмне забезпечення микроконтроллеров NEURON складається із трьох розділів: системного програмного забезпечення, прикладного, та програмного забезпечення рівня зв’язку данных.

Структурная схема нейрочипа зображено малюнку [рис.3−2] [pic].

Системне програмне забезпечення є резидентным кожного з микроконтроллеров. Його програмний код або прошивається у вмонтований вузол ROM моделей NEURON3120 на етапі виробництва микроконтроллеров, або записується в модуль зовнішньої пам’яті моделей NEURON3150. На програмнологічному рівні системне програмне забезпечення повністю реалізує функції багаторівневого мережного протоколу LONWORKS, планувальника завдань для прикладного рівня програмного забезпечення, і має код бібліотеки програмних функцій керувати портом ввода/вывода микроконтроллера. На основі застосування програмних засобів, наданих системним програмним забезпеченням, з урахуванням порту ввода/вывода можлива організація кількох типів інтерфейсів з зовнішніми пристроями: дискретного, паралельного, I2C, RS-232, Microwire, MicroLan і т.д.

Системна частина програмного забезпечення реалізує також повний набір операцій керувати мережним взаємодією вузлів системи. Реалізація мережним протоколом LONWORKS функцій управління конфігурацією мережі, дає можливість винесення завдань управління локальної мережею на окремий рівень, який забезпечувався б, незалежними від особливостей побудови окремих вузлів, аппаратно-программными средствами.

Прикладна частина програмного забезпечення будується розробником вузла і визначає набір завдань із обслуговування що з функціонуванням вузла процедур реєстрації даних, і управління виконавчими пристроями. На нижньому рівні систем автоматизації, побудованих за стандартом LONWORKS, визначається набір вхідних і вихідних мережевих змінних, необхідні функціонування конкретного вузла та її реалізації його мережевих функцій. При проектуванні прикладного програмного забезпечення, опис мережевих змінних окремого вузла визначається або у самодокументированной секції енергонезалежної пам’яті микроконтроллера, або опис їх мнемонічних імен, типів і розрядності записується в спеціальний зовнішній файл описи інтерфейсу проектованого вузла. Опис мережевих интерфейсных функцій вузла застосовується на етапі побудови зв’язків мережевих переменных.

З використанням як микроконтроллера вузла моделі NEURON3150 і зовнішньої пам’яті програм типу FLASH, допускається завантаження прикладної частини програмного забезпечення вузла через мережу LONWORKS. Ця функція дає можливість гнучкого управління вузлом без його демонтажу з системы.

Розробка прикладного рівня програмного забезпечення здійснюється з застосуванням спеціального мови програмування NEURON-C (спеціальної реалізації мови З). З рівня прикладного програмного забезпечення припускається використання (викликів) всіх функцій, наданих системної частиною програмного обеспечения.

На розробку вузлів, побудованих з урахуванням NEURON, застосовуються спеціальні апаратно-програмні отладочные комплекси LONBUILDER і NODEBUILDER, вироблені фірмою Echelon.

LONBUILDER, є крейт, яке у собі блок харчування, інтерфейс для в зв’язку зі комп’ютером і має 7 слотів для установки эмуляционных модулів. LONBUILDER дозволяє собі з допомогою встановлюваних до нього модулів виробляти отладку:

1. прикладного програмного забезпечення модулів розроблених користувачем з урахуванням різних NEURON-контроллеров,.

2. об'єднувати кілька эмуляционных модулів до мережі Echelon .для налагодження мережевих взаимодействий,.

3. з допомогою роутер-модуля здійснювати об'єднання діючої і проектованої сетей,.

4. об'єднувати вузли ECHELON у мережі різних типів, і навіть LONBUILDER можна використовувати, як шлюзумаршрутизатора мережі ECHELON, із можливістю каскадирования окремих крейтов LONBUILDER. Отже, LONBUILDER реформи є найміцнішим засобом налагодження як безпосередньо прикладного програмного забезпечення конкретного модуля, а й повноцінним эмулятором мережі ECHELON, а враховуючи його широкі можливості при побудові реальної мережі її ціна перестає бути настільки лякаюче високої (від 24 тисяч доларів на базової поставці, що з LONBUILDER, 2-х эмуляторов NEURON 3150, службового модуля LONBUILDER, роутера, РС-карты, програмного забезпечення і комплекту проводов).

Рівень поєднання вузлів нижнього рівня системи автоматизації з пристроями верхнього рівня припускає використання спеціалізованого програмного забезпечення в організацію взаємодії вузлів микроконтроллерной мережі. Зазвичай, пристрій управління локальної мережею організується з урахуванням самого персонального комп’ютера, що містить пристрій поєднання з мережею у стандарті LONWORKS. З рівня подібного комп’ютера можна забезпечити управління зв’язуванням вихідних вхідних змінних окремих вузлів нижнього локальної сіті й здійснювати загальні функції управління мережею, що передбачають ідентифікацію вузлів, визначення та управління їх статусом в локальної мережі, тестування мережевих змінних кожного з узлов.

Структура зв’язків мережевих змінних вузлів локальної мережі, і певне при конфігурації мережі стан кожного з вузлів, записується як і энергонезависимую пам’ять вузлів, і у базі даних комп’ютераконфигуратора сети.

Слід зазначити, що протокол LONWORKS передбачає спеціальні функції захисту даних, і їх кодування під час передачі між вузлами мережі. Ці функції забезпечують надійність передачі і неспроможність несанкціонованої заміни вузлів локальної мережі. [pic] На малюнку 1−16 зазначена структура обміну даними між нейрочипами типу SLAVE A і MASTER A. На даному малюнку зображені три нейрочипа MASTER A, але в обробці у разі досить й однієї. Для поєднання нижнього рівня локальної мережі, побудованої з урахуванням стандарту LONWORKS, з рівнем комп’ютерних станцій можна буде застосувати плати й на автономні устрою, промислово випущені фірмами, підтримують даний стандарт. Так фірма IEC (США) виробляє автономний сервер даних (Datalogger), реалізований з урахуванням PC-104 і оснащений интерфейсной платою для взаємодії з мережею, виконаною з урахуванням микроконтроллера NEURON.

При роботи станцій верхнього рівня систем автоматизації, базируемых на стандарті LONWORKS, може застосовуватися як комерційне, наприклад, продуковане фірмою IEC, котрі чи ж спеціалізоване програмне забезпечення розроблене окремими користувачами на вирішення конкретних завдань (наприклад, MIMS, розроблене Sandia National Laboratories).

1. Постановка задачи.

1.1. Огляд літератури та запропоновані методи решения.

У зв’язку з тим, перший нейрочип було зроблено у середині 1999 року, кількість літератури яка описує роботу нейрочипа обмежена. Вітчизняних книжок ще написано, задіяні лише переклади зарубіжних авторів. Так найпридатнішою книгою для реалізації цього завдання є книга німецького автора Дітріх — Лой — Швайнцер «Lon технологія». У цій книжці є як структурна, функціональна, і програмна реалізація роботи нейрочипа. Внутрішньої, електричної схеми нейрон чіпа знайдено був за раніше описаним обставинам й у авторським патентом виданими США (USA patent № DC1233 -10 1999) про авторські права у нейрочипа. Тому приведений у додатку № 1 схема є лише з приблизною функціональної - електричної схемою, тобто. зображені зовнішні висновки мікросхем, але, а внутрішньої структурі умалчивается.

Методів реалізації поставленого завдання нашому випадку то, можливо значна частина. Це пов’язано з тим, що елементна база досить різноманітна і постійно удосконалюється. Приміром, нині існує порядку 15 видів нейрочипов, з умонтованим і до зовнішньої пам’яттю, працівників різних частотах, різним кількістю висновків, і різною формою, розміром микросхем.

За завданням необхідно реалізувати мережу з урахуванням нейрочипа для обробки даних вступників з аеродинамічних датчиків підрахунку швидкості вітру. Т.к. дана мережа має складатися з двох основних частин: розгалуженої мережі датчиків (кожен елемент полягає датчика + обробний нейрочип) і центрального процесора (граничний нейрочип + шина передачі в комп’ютер), то тип нейрочипов і зовнішніх пристроїв обраний оптимально з умови забезпечення їхніх такими компонентами: 1) напруга харчування: +(5−12)В 2) місце розташування: обсягом 30×20×7 (см3) 3) вібраційна устойчивость.

З даних вимог був обраний наступний тип нейрочипов, перетворюючих пристроїв і пристроїв поєднання: нейрон чіп SLAVE A MC143120 32-LED SOG, нейрон чіп MASTER A MC143120 32-LED SOG, перетворююче пристрій MS555, пристрій поєднання MC145407.

1.2. Аналіз задания.

Відповідно до завданням необхідно обробка інформації котра надходить з аеродинамічних датчиків (датчики аналізу швидкості вітру) і передачі котра надходить інформації з мережі в ЕОМ, мережу реалізувати з урахуванням нейрочипа. Виходячи з цього наше пристрій складатиметься з двох глобальних частин: частина належить датчику SLAVE A BLOCK, і частина належить ЕОМ MASTER A BLOCK. Перший блок складатиметься з перетворюючого чіпа «555», який перетворює аналоговий електричний сигнал в прямокутний імпульсний сигнал. Далі сигнал надходить на вхід NC SLAVE A, де проводять підрахунок кількості імпульсів у визначений проміжок часу, т.а. частота імпульсів відповідає швидкості вітру. Після підрахунку дані разом із номером нейрочипа (кожен чіп має власний індивідуальний номер, який зашивається у ньому під час виробництва) потрапляють у пристрій поєднання NC з лінією передачі. Потім за лінію зв’язку, у разі це RS232C, перетворившись знову у устрої поєднання інформація вступає у NC MASTER A, у якому вона обробляється і якщо швидкість вітру у даному пакеті інформації перевищує припустимий поріг в 50м/с, то пакет доповнюється даними (час отримання пакета нейрочипом MASTER A: годинник, хвилини), і кожні пристрій поєднання передається в центральну ЕОМ лінією зв’язку RS232C. Т.а. в ЕОМ отримають пакет у якому даних про швидкості вітру, місце розташування датчика (що буде визначено за двозначним номером нейрочипа), і часу отримання цієї інформації. Оновлення інформації відбувається кожні 100мкС (причому даний параметр є установочным, тобто. можна змінити при перепрограммировании нейрочипа MASTER A.

У нашому випадку використовується лінія передачі RS232C, це не найкращий, але найпростіший варіант реалізації передачі між датчиком і ЕОМ. Інтерфейс RS232C накладає серйозні обмеження на відстані між датчиком й була центральною ЕОМ. Воно неспроможна перевищувати 300 м, т.к. відстань між SLAVE A BLOCK і MASTER A BLOCK може становити близько 150 м і відстань між MASTER A BLOCK й була центральною ЕОМ їх може становити 150 м, у сумі 300 м. Як було вказано вище це не найкращий варіант, т.к. злітне полі великого аеродрому може тривати на 15−20км, то передачу інформації потрібно випускатиме з допомогою повторювачів. Але використовуючи трансиверы MC145407 можливо поєднання лише з RS232C, а й іншими інтерфейсами RS…, т.к. можлива передача з допомогою інфрачервоних променів і радіо сигналів. Всі ці методи передачі дозволяють значно збільшити відстані між датчиками й була центральною ЕОМ, але де вони є більш дорогими і може внести перешкоди в роботу бортових радіолокаційних станцій літаків і РЛС термінала аеропорту. Тож у нашому випадку доцільно використовувати інтерфейси типу RS.

1.3. Опис алгоритма.

Вищеописана структура передачі веде до формування певного алгоритму роботи програми. З цієї структури програма було остаточно розбито на дві части:

1-ая частина є лічильником що вважає кількість імпульсів поданих п’ять вхід мікросхеми NC SLAVE A. Це виробляється шляхом підрахунку чергування нулів і одиниць цьому вході за певний проміжок времени.

2-ая частина є аналізатором, тобто. аналізується яка надходить інформація з великої кількості датчиків (+нейрочип). Дані зчитуються кожні 100мкС. Якщо сягаючи умови перевищення порога в 50 імпульсів, що відповідає швидкості вітру у 50м/с, ці дані виділяються і після доповнення до них часу передаються в лінію передачі RS232C.

Є як і додаткова частина для програмування NC в SLAVE A mode. Тобто. у тому, щоб уникнути порушень у роботі нейрочипов необхідно визначити пріоритети у процесі роботи, тобто. SLAVE A має пріоритет нижче, чем.

Выводы.

Отже маємо конкретне завдання та їх рішення. У розділі 2 розглянуть її реалізація мовою NEURON C.

2. Розробка программы.

1. Структура програми з описанием.

При аналізі устрою було обрано така структура коли він схема було поділено на частини програмування яких ведеться окремо через висновки CP0… CP4 кожного з нейрочипов, дана структура дозволила як зменшити розмір програм для програмування нейрочипов, а й спростити сам безпосередній процес програмування і применшити витрат часу на тестування чіпа і обсягу його ПЗУ. І тому вся програма було остаточно розбито деякі модулі, кожен із визначає свою область роботи, перша виконує стандартну завантаження нейрочипа в SLAVE A mode, друга завантажується у цей чіп і виконує перерахунок імпульсів вступників з його вхід і передачу даних в інтерфейс RS485 й третя часть (основная) виконує обробку сигналу яке надходить із всіх нейрочипов типу SLAVE A включених в LonWorks протокол .

1-ая частина стандартним методом переводить нейрочип в SLAVE A mode. Це необхідне зменшення рівня її пріоритету, щоб інформація яка надходить від усіх нейрочипов цього виду не вступала в конфлікт при виході з интефейса RS 485, т.к. це сприятиме помилок при пересилання даних, і неправильної роботі обробного нейрочипа.

2-ая частина є лічильником що вважає кількість імпульсів поданих п’ять вхід мікросхеми NC SLAVE A. Це виробляється шляхом підрахунку чергування нулів і одиниць цьому вході за певний проміжок времени.

3-ая частина є аналізатором, тобто. аналізується що надходить інформація з великої кількості датчиків (+нейрочип). Дані зчитуються кожні 100мкС. Якщо сягаючи умови перевищення порога в 50 імпульсів, що відповідає швидкості вітру у 50м/с, ці дані виділяються і після доповнення до них часу передаються в лінію передачі RS232C.

2. Структура модулей.

1-ый модуль складається з процедури стандартних команд в що ходять в окремий пакет поставки нейрочипа фірми Motorola. 2-ой модуль складається з процедури pragma enable_io_pull-ups яка є лічильником по входу 5 через кожні 100мкС дані виводяться в лінію зв’язку. 3-ый модуль складається з таких процедур: а) pragma scheduler_reset // процедура скидання б) pragma enable_io_pull-ups // процедура подчета імпульсів (описана вище) в) pragma num_addr_table_entries 1 //процедура додавання тимчасових даних до наявних р) pragma one_domain // головна процедура (об'єднання решти) буд) pragma app_buf_out_priority_count 0 // процедура скасування буфера е) pragma net_buf_out_priority_count 0 // процедура скасування счетчика.

.

3. Опис интерфейса.

1. Человеко-машинный интерфейс Человеко-машинный інтерфейс вважатимуться «історією, де немає кінця». Це — модель, яка вдосконалюватися одночасно зі зростанням знань людини своїм власним поведінці, сприйнятливості і відповідних реакціях. Fieldbus -системаце система датчиків і виконавчих механізмів. Для здобуття права люди, обслуговуючі устрою, машини тощо., могли швидше, краще, ефективніше працювати із нею, доведеться «промацати багато каналів». У майбутньому інтерфейсі людина-машина основні завдання візьмуть він, поруч із клавіатурою і можливими камерами, мікрофони, датчики смаку, запаху і температури, блискавично реагують на будь-які дії человека.

2. Обробка ошибок.

Обробка помилок відбувається посредствам внутрішньої захисту NC. Перепади напруги визначаються блоком MC33164, який призупиняє роботу NC. Запуск відбувається після інтервал установленный Выводы.

Отже маємо готові програми мовою NEURON З. У наступному розділі будуть описані результатів тестування й досвід роботи программы.

3. Результативна часть.

3.1. Тестування программы.

3.1.1. Вибір методики тестирования.

Вибір методики тестування складне завдання, яка ставиться перед програмістом і може спричинити розвиток програмного продукту, його вдосконалення. Мета тестування виявити помилки програми поки що не початковому етапі знають, до розповсюдження даного вірусу. І тому були розроблено спеціальні методи тестування: висхідний і спадне тестування, V -тестування, тестування з принципу чорного і білого ящика.

Кожен із даних методів має власну специфіку та спрямовано усунення певних видів помилок, але кожен метод відрізняється по принципу реалізації. Приміром, V-тестирование здійснюється з редагуванням програми, позаяк у даному тестуванні блокуються певні блоки програми, інші ж тестуються. У методі тестування за принципом чорного чи білого ящика програма не зазнає ні яких змін, але можна, що це тестування можуть призвести до зависанню комп’ютера або іншими збоїв у системі, т.к. принцип дії цього залежить від максимальної завантаженні програми, заповнення всіх полів, введення невірних даних не знаючи, як і куди потрапить, як у темряві (чорна скринька) чи відкрито (білий ящик). Висхідний і спадне тестування дуже схожі на V-тестирование, лише у відмінність від цього вибирається конкретне напрям тестування, від великого (основного блоку до меншим (процедури, функції) навпаки, від менших до великим. У цьому одні блоки замінюються заглушками, інші тестуються. У нашому разі провести котрійсь із даних методів можна тільки стосовно програмі, для тестування ж устрою необхідно тестувати його продуктивність чи імітувати дане устройство.

3.1.2. Опис методики тестирования.

Для проведення аналізу продуктивності систем, ще реалізованих у конкретних пристроїв, вирішальне значення має тут метод імітації. Під імітацією розуміється створення моделі, відтворюючої роботу Fieldbusсистеми, аналіз якій провадяться з урахуванням реальних подій, але у відриві від реальної масштабу часу. Імітація має низку переваг: гнучке зміна параметрів, які впливають роботу системи, можливість програти найгірший варіант і т.д.

Провівши приблизну імітацію виконання даним пристроєм своїх функцій було зроблено такі висновки: 1) Програми виконує поставлене мінімум функцій. 2) Програми має низку додаткових функцій, які полегшують роботу з нею. 3) Програма легко модифікується. 4) Програма повністю захищена від власних помилок що з непрофесіоналізмом користувача. 5) Програма не захищена від власних помилок системи та свідомих дій суперечать мети програми. 6) Пристрій виконує необхідні функции.

3.1.3. Результаты.

Через війну тестирования (имитации) програми розвитку й устрою отримано необхідні дані, був виявлено ніяких помилок виходять далеко за межі обмеження на программу.

3.2. Обмеження на разработку.

Дане програмне забезпечення працюватиме лише з мікросхемах зазначених вище. Напруга харчування необхідно подавати роздільно на обидва блоку схемы.

1) Шина земля мусить бути роздільної, у запобігання помех.

2) напруга харчування: +(5−12)В.

3) місце розташування: обсягом 30×20×7 (см3).

4) вібраційна устойчивость.

3.3. Інструкція пользователю.

З використанням даного устрою необхідно додержуватися умов певні у пункті 3.2. Крім зазначених вимог необхідно дотримуватися запобіжники при підключенні устрою до харчування, т.к. неправильне підключення призведе до виходу з експлуатації нейрочипов. Програмування нейрочипов проводити через висновки CP0… CP4 зазначені на схемою. За необхідності можна розробити интерфейсную програму яка простим опитуванням COM-порта видаватиме даних про швидкості вітру у тому чи іншому місці аеродрому із зазначенням часу надходження данных.

Выводы.

Тепер видно, що реалізоване пристрій виконує поставлене й зовсім позбавлений помилок, що дозволяє без побоювань працювати з програмою і устройством.

Заключение

.

Через війну виконаної роботи було організовано структурна схема розподілених датчиків для виміру швидкості вітру. Із даної схеми і визначення продуктивності отриманої імітованій системи зроблено висновки про придатності нейрочипов для цій галузі їх використання. У результаті використання датчиків з урахуванням нейрочипов на невеликих аеродромах немає під собою економічного підгрунтя, т.к. вартість нейрочипа значно більше наявних нині аналогів, а продуктивність їх при невелику кількість не значно вища інших процесорів. Тому дане пристрій потрібно використовувати при великому кількості датчиків, більше тисяч, тоді продуктивність датчиків з нейрочипами і приймально-передавальних пристроїв з їхньої основі значно вища, аніж за тому самому кількості датчиків з допомогою інших процесорів. Звідси видно такі переваги та недоліки цього методу. Преимущества:

. не велика вартість компонентів для реалізації окремого прикладного узла,.

. дуже проста конфігурація вузла нижнього уровня,.

. велика номенклатура пристроїв і приладів, випущених промислово у країнах ЄС та і має вбудовані вузли LONWORKS до роботи на складі мереж ECHELON (велика поширеність стандарту в мире),.

. дуже багато готових процедур з адаптації типовий периферії у кімнаті стандартного бібліотеці NEURON,.

. простота розробки прикладного програмного забезпечення вузлів. Недостатки:

. надзвичайно велика вартість, хоча й ефективних і зручних, отладочных средств,.

. відсутність вузлів WDT, вузла автоматичного скидання включення харчування (потребує зовнішнього супервізора) й можливості роботи у «сплячому режимі» у микроконтроллеров NEURON,.

. вкрай слабка розрада даного стандарту дилерськими фірмами в России.

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

Через великий вартості пакета розробки, компіляції і компановки програм написаних на NEURON З перевірити працездатність програми є неможливим, тож і мусять задовольнитися лише зразковим теоретичним результатам та результатів імітаційного і математичного моделирования.

Хоча нині нейрочипы є дорогим продуктом, але його майбутнє, т.к. нашого часу головним чинником є швидкість, а швидкість нейрочипа доки бачить ограничений.

1. Дитрих-Лой-Швайнцер. «LONтехнология». ПГТУ .395с. 1999.

2. Журнал «Радіо і зв’язок» № 4 1999г.

3. Войкова О. П. «Нейронные сіті й нейрочипы», Москва, 280с., 2000 г.

8. Приложения.

8.1. Текст программы.

8.1.1 Підготовка нейрон чипов.

************************************************************************ * Ця програма на Neuron З встановлює Neuron Chip в slave A * mode. ************************************************************************ IO0 parallel slave s_bus; #define DATA_SIZE 255 //максимально дозволене полі даних struct parallel_io_interface { unsigned int length; //length of data field unsigned int data[DATA_SIZE]; }piofc when (io_in_ready (s_bus))1 //готовність прийому інформації { piofc. length = DATA_SIZE; //максимальну кількість в байтах to read io_in (s_bus,&piofc); //отримати 10 байт incoming data } when (io_out_ready (s_bus)) //готовність передати 10 байт { piofc. length = 10; //у байт io_out (s_bus,&piofc); //передати 10 байт з буфера } when (…) //умова яким буде передано повідомлення заповнення буфера { io_out_request (s_bus); } request.

8.1.2. Програма обработки.

************************************************************************ * Ця програма на Neuron З задає Neuron Chip в slave A * підрахунок імпульсів вступників з нейрочипа. ************************************************************************ #pragma enable_io_pullups ////////////////////Параматры для підрахунку (визначаються користувачем)//////////// #define lower_limit 0 //нижню межу підрахунку #define upper_limit 100 //верхня межа підрахунку #define shaft_direction 1 //напрям рахунки (тобто., 0=лево, 1=право) /////////////////// Програма ////////////////////// IO5 input pulsecount analog_input; IO5 input quadrature shaft_encoder; //імпульси надходять п’ять вхід нейрочипа signed long count; signed long increment; when (io_update_occurs (shaft_encoder){ if (shaft_direction) count += input_value; else count -= input_value; //висновок даних /////////////////// Перевірка ////////////////////// if (countupper_limit) count=upper_limit; //Перевірка переповнення overflow } when (reset) // Скидання { count = 0; }.

************************************************************************ * Ця програма на Neuron З задає Neuron Chip в master A * приймає інформацію з всіх нейрочипов типу slave A у разі перевищення порогового рівня 50 імпульсів, що * відповідає вітрі 50м/с передає інформацію в центральну ЕОМ вказавши номер того датчика від якого надійшла * дана інформація, і її надходження ************************************************************************ #pragma scheduler_reset // процедура скидання #pragma enable_io_pull-ups // процедура подчета імпульсів (описана вище) #pragma num_addr_table_entries 1 #pragma one_domain #pragma app_buf_out_priority_count 0 #pragma net_buf_out_priority_count 0 #define timerl 100 // таймер виробляє опитування по входам на наявність інформації кожні 100мкС #define max_char_from_PC 30 //максимально дозволене у символів прийнятих нейрочипом #define porog 50 //настановний поріг { unsigned int speed; //даних про швидкості unsigned int number; // даних про номері датчика }; #define max_packet_size 60 // максимально дозволений пакет отсылаемый в ЕОМ { unsigned int speed; //даних про швидкості unsigned int minutes; //час приймати повідомлення unsigned int hours; unsigned int number // номер датчика }; /******************************** Додаткові файли ************************************/ #include.

/********************************* Визначення I/O ****************************************/ IO5 output bit RTS; IO2 output bit СTS; IO4 output serial baud (4800) RXD; // read data from PC IO10 output serial baud (4800) TXD; // send data to PC IO8 input bit R/W; IO5 input bit CS; IO9 input bit HS; /****************************** Мережні дані *************************************/ network input struct temp_time pctobc_speed_in; // speed network input struct temp_time pctobc_number_in; // number network input struct time NV_time_in; // BC time network input boolean NVfan_state_in // TRUE: fan is flashing network input boolean NVcomp_state_in; // TRUE: compressor is on network output struct temp_time bind_info (unackd) NV_timesetpt_out;

//************************************ Глобальні ***************************************/ char input_but[max_packet_size]; // пакет отсылаемый в ЕОМ char input_buf1[max_char_from_PC]; // Input from PC (1st time) char input_buf2[max_char_from_PC]; // Input from PC (2nd time) char * buf_ptr; // покажчик в буфері boolean packet_found = FALSE; // пакет не знайдено. boolean compress_state = FALSE; // датчик не все гаразд int last_num_chars; // кількість зарахованих символів int speed; char out_char[1]; struct bcd digits; // holds BCD data to be sent to PC // digits. d1 most significant nibble in ms byte // digits. d2 least significant nibble in ms byte // digits. d3 most significant nibble // digits. d4 least significant nibble // digits. d5 most significant nibble in ls byte // digits. d6 least significant nibble in ls byte struct { // data from bc unsigned int speed; unsigned int number; } bc_data; struct speed_time bc_number; /************************************ Timers ******************************************/ mtimer repeating check_CTS; mtimer repeating get_data_from_bc; // every 100 ms poll bc // then send to PC /*********************************** Functions ****************************************/ boolean append_packet () description: assert CTS, append data to input_buf[ ] if any and return append_packet = TRUE if 1st char. = ‘D' and last char. is a CR. { boolean packet; int і; int num_chars1; int num_chars2; packet = FALSE; num_chars1 = 0; num_chars2 = 0; io_out (CTS, 0); // enable cts num_chars1 = io_in (RXD, input_buf1, max_char_from_PC); io_out (CTS, 1); // disable cts when (io_puls_up io5 > porog) { num_chars2 = io_in (RXD, input_buf2, max_char_from_PC); // append data over to where final packet goes if (num_chars1 ≠ 0) { // if data append it to input_buf for (і = last_num_chars; і < last_num_chars + num_chars1; і++) { input_buf[i] = input_buf1[ і - last_num_chars ]; // append } last_num_chars = last_num_chars + num_chars1; } if (num_chars2 ≠ 0) { // if data append it to input_buf for (і = last_num_chars; і < last_num_chars + num_chars2; і++) { input_buf[i] = input_buf2[ і - last_num_chars ]; // append } last_num_chars = last_num_chars + num_chars2; } if (last_num_chars > 0) { // something there if (input_buf[0] ≠ ‘D') { // A packet is started and packet is invalid last_num_chars = 0; // reset count of total characters read packet = FALSE; } else if (input_buf[ last_num_chars — 1 ] == ‘/r') { // 1st char. a ‘D' and last char. a carriage return packet = TRUE; } } // something there return (packet); } // This function converts a hex character to 2 ASCII characters // and sends the characters to out the TXC port to the PC // void putch_hex (unsigned int hex_char) { out_char[0] = (hex_char >> 4) & 0x0f; // keep lower nibble if (out_char > 9) out_char[0] += 0×37; else out_char[0] += 0×30; io_out (TXD, out_char, 1); // output 1 char. out the 232 port to the PC out_char[0] = hex_char & 0x0f; if (out_char > 9) out_char[0] += 0×37; else out_char[0] += 0×30; io_out (TXD, out_char, 1); // output 1 char. out the 232 port to the PC } // // This function converts two ascii characters to a decimal digit // unsigned char to_dec (unsigned char msb, unsigned char lsb) { return ((msb — 48) * 10 + (lsb — 48)); } /************************************* Reset ***************************************** when (reset) { bc_data.hours = 0; bc_data.minutes = 0; bc_data.speed = 0; bc_data.number = 0; check_CTS = timer1; // repeating timer when to assert CTS // to check for PC data get_data_from_bc = 100; // every 100 ms poll bc and then send to PC when (io_puls_up io5 >50) { when (timer_expires (check_CTS) { // go get next character (s) packet_found = append_packet (); // append more data if any // to input_buf[]. // also returns true if // when finds what looks like a good packet. check_CTS = timer1; } when (packet_found) { // process packet // packet format: switch (input_buf[1]) { // select from type of packet byte case ‘1':// set time if (last_num_chars == 7) { NV_timesetpt_out.temp = 255; // code for do not use // convert ASCII HHMM in input_buf[2−5] to unsigned int. bc_data.hours = NV_timesetpt_out.hours = to_dec (input_buf[2], input_buf[3]); bc_data.minutes = NV_timesetpt_out.minutes = to_dec (input_buf[4], input_buf[5]); } break; case ‘2': // set number if (last_num_chars == 5) { // convert ASCII set point in input_buf[2−3] to unsigned int. bc_data.number = NV_timesetpt_out.speed = to_dec (input_buf[2], input_buf[3]); NV_timesetpt_out.hours = 255; // code for do not use NV_timesetpt_out.minutes = 255; // code for do not use } break; default: // bad packet break; } packet_found = FALSE; // finished last packet last_num_chars = 0; // reset # of bytes collected in packet for (temp = 0; temp < max_packet_size; temp++) { // not needed but helps in d input_buf[temp] = 0; } } when (nv_update_fails) { } when (nv_update_occurs (NV_time_in)) { // BC to PC time (HHMM) bc_data.hours = NV_time_in.hours; // HH time bc_data.minutes = NV_time_in.minutes; // MM time } when (nv_update_occurs (pctobc_temp_in)) { // BC to PC speed bc_data.speed = pctobc_temp_in.temp; // BC speed } when (nv_update_occurs (pctobc_setpt_in)) { // BC to PC number bc_data.setpoint = pctobc_setpt_in.temp; // BC number } when (nv_update_occurs (NVcomp_state_in)) { if (NVcomp_state_in == TRUE) { compress_state = TRUE; } else { compress_state = FALSE; } } when (nv_update_occurs (NVfan_state_in)) { if (NVfan_state_in == TRUE; fan_state = TRUE; } else { fan_state = FALSE; } } when (nv_update_fails (NVcomp_state_in)) { // datchik not responding compress_state = FALSE; // assume off } when (timer_expires (get_data_from_bc)) { // every 100 ms send data to PC and poll fan and compressor for status poll (NVcomp_state_in); // compressor state get_data_from_bc = 100; // 100 ms repetitive timer // packet consists of:

out_char[0] = ‘B'; // Beginning of packet character io_out (TXD, out_char, 1); // send out 232 port // output time (hours only) bin2bcd ((long) bc_data.hours, &digits); out_char[0] = digits. d5 + 0×30; // high time BCD digit converted to ASCII io_out (TXD, out_char, 1); out_char[0] = digits. d6 + 0×30; // low time BCD digit converted to ASCII io_out (TXD, out_char, 1); // output time (minutes only) bin2bcd ((long) bc_data.minutes, &digits); out_char[0] = digits. d5 + 0×30; // high time BDC digit converted to ASCII io_out (TXD, out_char, 1); out_char[0] = digits. d6 + 0×30; // low time BCD digit converted to ASCII io_out (TXD, out_char, 1); // output time (speed) bin2bcd ((long) bc_data.speed, &digits); out_char[0] = digits. d5 + 0×30; // high speed. BCD digit converted to ASCII io_out (TXD, out_char, 1); out_char[0] = digits. d5 + 0×30; // low speed. BCD digit converted to ASCII io_out (TXD, out_char, 1); // output time (number) bin2bcd ((long) bc_data.number, &digits); out_char[0] = digits. d5 + 0×30; // high stpt BCD digit converted to ASCII io_out (TXD, out_char, 1); out_char[0] = digits. d6 + 0×30; // low stpt BCD digit converted to ASCII io_out (TXD, out_char, 1); // output datchik on/off if (compress_state == TRUE) { // datchik is on // (i.e. LEDs scrolling) io_out (TXD, «1», 1); // output to PC datchik is on } else {// datchik is off (i.e. LEDs not flashing) io_out (TXD, «0», 1); // output to PC datchik is off } // a ends the packet io_out (TXD, «r», 1); // }.

Міністерство спільного освітнього і спеціальної освіти РФ.

Московський Енергетичний Институт.

(Технічний Университет).

Філія у місті Смоленске.

Кафедра обчислювальної техники.

Технічне завдання до курсової роботу з дисциплине.

" Мережі ЕОМ і кошти комунікації «на тему.

«Мережа з урахуванням нейрочипа».

| |грн. ВМ1−97 | | |студент: Вальков К. Г. | | |викладачі: Аверченков О. Е. |.

р. Смоленськ 2000 г.

1. Область применения.

Дане влаштування і програмне забезпечення може і використовуватися на аеродромах великої площі з розгалуженою мережею датчиків визначення швидкості вітру у різних напрямах, і областях злітної смуги. І подальшої передачі на центральну ЭВМ.

2. Мету й назначение.

Освоїти принципи побудови мереж з допомогою нейрочипов. Вивчити структуру і програмний мову NEURON З. Визначити чи придатна дана мережа щодо різноманітних аеродромів (малої, середньої та великої протяжності). Розробити електричну схему устрою комунікації датчик — центральна ЕОМ з внутрішнім пристроєм обработки.

3. Технічні требования.

Вимоги до апаратурі: для повноцінної роботи даного устрою необхідно напруга харчування +(5−12)В. Середовище передачі: інтерфейс RS232C (25 контактний розняття). Відхилення від які у специфікації характеристик елементів (2%. Вимоги до надійності: пристрій має працювати у будь-якому положенні (вертикальне, горизонтальне), у різноманітних погодні умови повноцінно виконувати своє завдання і дозволяють опрацьовувати позаштатні ситуації, які під час роботі, пов’язані із недостатньою кваліфікацією оператора.

4.Задание.

Розробити влаштування і програмне забезпечення щодо нього виконує таку функцію: обробка інформації котра надходить з аеродинамічних датчиків (датчики аналізу швидкості вітру) і передачі котра надходить інформації через мережу в ЕОМ, мережу реалізувати з урахуванням нейрочипа.

11. Оглавление.

Анотація.__________________________________________________________ 2 1.

Введение

__________________________________________________________3 1.1. Причини і наслідки об'єднання комп’ютерів до мережі. ______________3 1.2. Управління технічними процесами ______________________________4.

1.2.1. Класичний підхід _________________________________________ 4.

1.2.2. Децентралізований підхід ___________________________________5 1.3. Інформаційний обмін в якості основи розподілених систем ___________7.

1.3.1. Ієрархія систем _____________________________________________7.

1.3.2. Семиуровневая модель ISO/OSI ________________________________8.

1.4. Топології _____________________________________________________11 1.5. Інструментарій ________________________________________________15.

1.5.1. До основних рис микроконтроллеров NEURON Chip _____17 2. Постановка завдання ._______________________________________________ 24.

2.1. Огляд літератури та запропонованих методів рішення.________________ 24.

2.2. Аналіз завдання. ________________________________________________ 25.

2.3. Опис алгоритма____________________________________________27 3. Розробка программы_____________________________________________28.

3.1. Структура програми з описанием._______________________________28.

3.2. Структура модулей._____________________________________________29.

3.3.Описание интерфейса.___________________________________________30.

1. Человеко-машинный інтерфейс ______________________________30.

2. Обробка помилок _________________________________________30 4. Результативна часть.______________________________________________31 4.1. Тестирование.___________________________________________________31.

4.1.1. Вибір методики тестування ______________________________31.

4.1.2. Опис методики _______________________________________32.

4.1.3. Результати ______________________________________________32.

4.2. Обмеження на программу.______________________________________33.

4.3. Інструкція користувачеві _______________________________________33.

Заключение

_______________________________________________________34.

Список литературы

_________________________________________________36 Приложения._______________________________________________________37.

1. Документований текст программы.______________________________38.

2.Техническое завдання. ____________________________________________ 43.

3. Схема принциповаэлектрическая._____________________________П1 Оглавление.________________________________________________________46.

Показати весь текст
Заповнити форму поточною роботою