88985

РОЗРОБКА ПРОГРАМНОЇ СКЛАДОВОЇ ТЕСТЕРА

Курсовая

Коммуникация, связь, радиоэлектроника и цифровые приборы

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

Украинкский

2015-05-06

1.58 MB

1 чел.

ЗМІСТ

[1]
ВСТУП

[2]
РОЗДІЛ 1.
АНАЛІТИЧНИЙ РОЗДІЛ

[2.1] 1.1 Захист комп’ютерних мереж  

[2.2] 1.1.1 Вибір мікроконтролера

[2.3] 1.1.1.1 Особливості ATmega8

[2.4] 1.1.1.2 Структура мікроконтролера ATmega8

[2.5] 1.1.2 Опис вибраних електронних компонентів

[2.6] 1.2 Розробка принципової схеми тестеру Ethernet кабелю

[3]
РОЗДІЛ 2.
РОЗРОБКА ПРОГРАМНОЇ СКЛАДОВОЇ ТЕСТЕРА

[3.1] 2.1 Програматор AVR

[3.2] 2.1.1 Вибір схеми адаптера

[3.3] 2.1.2 Електричні схеми адаптерів

[3.4] 2.2 Програмне забезпечення

[3.5] 2.2.1 Proteus 7

[3.6] 2.2.3 Arduino IDE

[3.7] 2.2.3 PonyProg

[4]
ВИСНОВКИ


ВСТУП

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

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

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


РОЗДІЛ 1.
АНАЛІТИЧНИЙ РОЗДІЛ

1.1 Захист комп’ютерних мереж  

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

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

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

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

1.1.1 Вибір мікроконтролера

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

Для демонстрації управління пам’яттю EEPROM використаємо мікроконтролер корпорації Atmel ATmega8-16PU, призначення виводів якого показано на рис. 2.1.

Рис. 1.1 – Призначення виводів мікроконтролера ATmega8 [20]

AVR – найбільша виробнича лінії серед інших флеш-мікроконтролерів корпорації Atmel. Atmel представила перший 8-розрядний флеш-мікроконтролер в 1993 році і з тих пір безперервно удосконалює технологію. Прогрес даної технології спостерігався в зниженні питомого енергоспоживання (мА / МГц), розширення діапазону живлячих напруг (до 1,8 В) для продовження ресурсу батарей систем, збільшення швидкодії до 16 млн. операцій в секунду, вбудовуванням емуляції в реальному масштабі часу, реалізації функції самопрограмування, вдосконалення та розширення кількості периферійних модулів, вбудовуванні спеціалізованих пристроїв (радіочастотний передавач, USB-контролер, драйвер РКІ, програмована логіка, контролер DVD, пристрої захисту даних) і ін.

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

Серцем мікроконтролерів AVR є 8-бітне мікропроцесорне ядро або центральний процесорний пристрій (ЦПП), побудований на принципах RISC-архітектури. Основою цього блоку служить арифметико-логічний пристрій (АЛП). По системному тактовому сигналу з пам'яті програм відповідно до вмісту лічильника команд (Program Counter – PC) вибирається чергова команда і виконується АЛП. Під час вибору команди з пам'яті програм відбувається виконання попередньої вибраної команди, що і дозволяє досягти швидкодії 1 MIPS на 1 МГц.

АЛП підключено до регістрів загального призначення РЗП (General Purpose Registers – GPR). Регістрів загального призначення всього 32, вони мають байтовий формат, тобто кожен з них складається з восьми біт. РЗП знаходяться на початку адресного простору оперативної пам'яті, але фізично не є її частиною. Тому до них можна звертатися двома способами (як до регістрів і як до пам'яті). Таке рішення є особливістю AVR і підвищує ефективність роботи і продуктивність мікроконтролера.

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

1.1.1.1 Особливості ATmega8

  •  Малоспоживаючий 8-розрядний мікроконтролер з архітектурою AVR RISC.
  •  Пам'ять програм 8 Кб з можливістю перезаписувати 10 000 разів, 512 байт флеш-пам’яті для зберігання змінних (100,000 циклів перезапису), 1 Кб ОЗП і 32 регістри загального призначення.
  •  23 порти вводу/виводу, об’єднаних в три групи:
  1.  Порт В (РВ0 – РВ7): Два виводи (РВ6 і РВ7) використовуються для підключення кварцового резонатора. Виводи РВ2 – РВ5 зарезервовані для програмування в середині схеми. Таким чином, для загального застосування лишаються порти РВ0 і РВ1.
  2.  Порт С (РС – РС: 7 виводів). Порти РС0 – РС5 можна використовувати в якості аналогових виводів. РС6 зазвичай використовується для скидання.
  3.  Порт D (PD0 – PD7: 8 виводів). Цей порт можна використовувати для загального призначення.
  •  Два 8-розрядних Таймера/Лічильника з роздільним прескалером, режим порівняння
  •  16-розрядний Таймер/Лічильник з розділеним прескалером, режим порівняння, режим захвату
  •  Таймер реального часу з незалежним генератором
  •  3 канали ШІМ
  •  6 каналів 10-розрядного АЦП
  •  Послідовний інтерфейс з двома проводами
  •  Програмований послідовний USART
  •  Інтерфейс SPI с режимами Master/Slave
  •  Програмований сторожовий таймер з окремим незалежним генератором
  •  Вбудований аналоговий компаратор
  •  Скидання при ввімкненні, програмований захист від провалів живлення
  •  Вбудований калібрований RC-генератор
  •  Обробка внутрішніх і зовнішніх переривань
  •  5 режимів з пониженим енергоспоживанням: Idle, ADC Noice Reduction, Power-save, Power-down, і Standly
  •  Напруга живлення 4.5 – 5.5В
  •  Тактова частота 0 – 16 МГц

1.1.1.2 Структура мікроконтролера ATmega8

Структура мікроконтролера ATmega8 показана в додатку А. Ядро процесора AVR об’єднує набір RISC-інструкцій з регістрами. Мікроконтролер ATmega8 має наступні особливості: 8 Кб флеш-пам’яті програм, 512 байт флеш-пам’яті змінних, 1 Кб ОЗП, 23 порти вводу/виводу, 32 робочих регістри загального призначення, 3 програмованих Таймери/Лічильника з режимом порівняння, внутрішні і зовнішні переривання, програмований послідовний порт USART, двопортовий послідовний інтерфейс, 6-канальний АЦП з розширенням 10 біт, програмований сторожовий таймер з вбудованим генератором, послідовний порт SPI, 5 режимів пониженого енергоспоживання. Режим Idle вимикає процесор, при цьому живлення надходить на ОЗП, Таймери/Лічильники, порт SPI, і обслуговування переривання.

Пам’ять: у мікроконтролерах AVR реалізована Гарвардська архітектура, відповідно до якої розділені не тільки адресні простори пам'яті програм і пам'яті даних, але і шини доступу до них. Кожна з областей пам'яті даних (оперативна пам'ять і EEPROM) також розташована в своєму адресному просторі.

Пам’ять програм (Flash ROM або Flash ПЗП): пам'ять програм призначена для зберігання послідовності команд, що керують функціонуванням мікроконтролера, і має 16-ти бітову організацію. Всі AVR мають Flash-пам’ять програм, яка може бути різного розміру, - від 1 до 256 Кбайт. Її головна перевага в тому, що вона побудована на принципі електричної перепрограмованості, тобто допускає багатократне стирання і запис інформації. Програма заноситься в Flash-пам’ять AVR як за допомогою звичайного програматора, так і за допомогою SPI-інтерфейса, зокрема безпосередньо на зібраній платі. Можливістю внутрішньосхемного програмування (функція ISP) через комунікаційний інтерфейс SPI володіють всі мікроконтролери AVR, окрім Tiny11 і Tiny28.

1.1.2 Опис вибраних електронних компонентів

Для кращої візуалізації ми обрали світлодіоди типу AL-103OR3D-D, діаметр якого 10 мм. Габаритне креслення та технічні параметри даного світлодіода показані на рис. 1.2.

Рис. 1.2 – Габаритне креслення світлодіода AL-103OR3D-D

Кнопку RESET візьмемо тактову типу PSM-1/0, габаритне креслення показано на рис.1.3.

Рис. 1.3 – Габаритне креслення тактової кнопки

Світлодіоди для індикації обриву кабелю «витої пари» візьмемо зеленого свічення, ультра яскраві, як вони добре світять і споживають менший струм відносно інших. В нашому випадку це LG30240. Значення постійних напруги та струму для нього будуть рівними:

1.2 Розробка принципової схеми тестеру Ethernet кабелю

В загальному випадку дана схема являє собою плату, на якій встановлений мікроконтролер, до якого під’єднанно роз’їм  RJ-45(на схемі виглядає як Wire1…Wire8).

Рис. 1.4 – Схема пристрою

Схема скидання, яки показана у правій частині на рис. 1.4, забезпечує перехід контроллера на початок програми без вимкнення живлення. Вона складається із кнопки Reset, резистора R9 та конденсатора С2. При відпущеній кнопці на вивід RESET подається «1». При замиканні (програмуванні) струм стікає на землю і на виводі формується «0» по якому і перезавантажується контролер.

Рис. 1.5 – Схема скидання мікроконтролера

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

Рис. 1.6 – Схема живлення мікроконтролера

Схема блоку індикації обриву провідника складається з роз’ємну RJ-45(на схемі виглядає як Wire1…Wire8), восьми діодів D9…D16, восьми світлодіодів D1…D8 та восьми резисторів R1…R8. Схема якого показана на Рис. 1.7.

Рис. 1.7 – Схема блоку індикації обриву провідника


РОЗДІЛ 2.
РОЗРОБКА ПРОГРАМНОЇ СКЛАДОВОЇ ТЕСТЕРА 

2.1 Програматор AVR

Практично всі AVR-контроллери мають функцію схемного програмування ISP (In-System Programming). Це означає, для прошивки кодів програми потрібно витягувати мікроконтролер із плати і встановлювати його в панель програматора. Тепер «гора сама йде до Магомета», тобто комп’ютер через спеціальний адаптер підключається до роз’єму ISP, встановленому на схемі (рис.2.1). Адаптер часто побудований таким чином, що після закінчення програмування він автоматично відключається від виводів мікроконтролера, не заважаючи роботі інших вузлів.

Рис. 3.1 – Підключення комп’ютера до мікроконтролера [6]

Таблиця 2.1 – Виводи для програмування

Сигнал

Розшифровка

Функція

Призначення

SCK

Serial ClocK

Вхід МК

Тактовий сигнал в МК

MOSI

Master Out – Slave In

Вхід МК

Інформаційний сигнал в МК

MISO

Master In – Slave Out

Вихід МК

Інформаційний сигнал із МК

GND

GrouND

Загальний

Загальний вивід

RES

RESet

Вхід МК

Лог. «0» – програмування

VCC

Voltage Common Collector

Живлення

Напруга живлення 2,7…5,5В

Шина зв’язку мікроконтролера з адаптером містить 6 сигналів (табл. 3.1): три вхідних, один вихідний і два по живленню. Інформація передається в послідовному вигляді по протоколу SPI (Serial Programming Interface).

Кожний із інформаційних сигналів підключається до визначеного виводу мікроконтролера, а точніше, до лінії порту, що має альтернативну назву MISO, MOSI або SCK (таблиця 2.2). Подвійне призначення виводів взято від платформи MCS-51. При всій різноманітності мікросхем AVR, виводи SPI в них строго закріплені.

Таблиця 2.2 – Призначення виводів для програмування

Корпус мікросхеми

Сигнал інтерфейсу SPI і виводи МК

VCC

GND

RES

SCK

MOSI

MISO

DIP-28

7

8

1

19

17

18

Так як ми вирішили розташувати адаптер на схемі, то виводами XP1, XS1 можна нехтувати. Контакти програматора напряму будуть підключені до ніжок контроллера.

2.1.1 Вибір схеми адаптера

Вибір електричної схеми адаптера залежить від трьох факторів:

  •  керуючої комп’ютерної програми, призначеної для прошивки мікроконтролера;
  •  типу порту, що використовується в комп’ютері (COM або LPT);
  •  необхідного рівня сервісних та захисних функцій.

Керуючих програм, що допускають роботу з AVR, відомо багато. Наприклад, AVreal (http://www.ln.com.ua/~real/avreal), IC-Prog (http://www.ic-prog.com), PonyProg (http://www.lancos.com), Willem Eprom (http://www.willem.org). Всі вони безкоштовні і підтримують широку номенклатуру AVR-контроллерів. Будь-яку з них можна використовувати в подальшій роботі, виготовивши адаптер по наведених на сайтах схемах. І все-таки доведеться взяти одну базову програму, щоб не виникало різного роду конфліктів.

Вибір зупинемо на програмі PonyProg (автор Claudio Lanconelli, Італія). По-перше, підтримка PonyProg заложена в Сі-компіляторах і відладчиках. По-друге, з її допомогою можна прошивати hex-файли.

Тип порту підключення до комп’ютера визначається системною конфігурацією. Якщо LPT-порт постійно зайнятий під принтер або його взагалі нема, то вибирають COM-порт, і навпаки. Додаткові аргументи. Довжина з’єднувального кабелю між адаптером і COM-портом може складати 5…8 м, а для LPT-порту – лише 1,5…2 м. З іншої сторони, схеми LPT-адаптери простіші в конструкції і містять менше деталей. Для довідок, існують промислові адаптери AVR з підключенням до USB.

Сервісні і захисті функції дають користувачу альтернативу вибору. Що краще, зробити більш простий чи більш складний адаптер – вирішувати кожному для себе. Критерій істини – практика.

2.1.2 Електричні схеми адаптерів

На сайті розробника PonyProg http://www.lancos.com/siprogsch.html розміщені схеми LPT- і COM-адаптерів. Приймемо їх за основу, але з модифікаціями, що підвищують ступінь захисту та сервіс.

Найпростіший варіант LPT-адаптера (рис. 2.2) містить резистори, котрі обмежують екстраструми і зменшують «дзвін» на фронтах імпульсних сигналів. Закорочені виводи 2, 12 і 3, 11 роз’єму XP1 дозволяють програмі ідентифікувати присутність апаратної частини.

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

На рис.2.3 показана схема більш інтелектуального LPT-адаптера, виходи якого автоматично переводяться в високоімпедансний стан після закінчення програмування. Шлях проходження керуючого сигналу: контакт 5 роз’єму XP1, резистор R5, вивід 19 мікросхеми DD1. Заміну рівнів логічного «0» і логічної «1» призводить сама програма PonyProg. Вона ж в процесі програмування виставляє логічний «0» на контакті 4 роз’єму XP1, заставляючи світитись індикатор HL1.

Рис. 2.2 – Найпростіший варіант LPT-адаптера [6]

Присутність потужний буферних повторювачів в мікросхемі DD1, з однієї сторони, покращує крутизну фронтів сигналу, а з іншої – побічно захищає комп’ютер від аварійних перевантажень. Резистори R1…R5, R8…R10 покращують узгодження імпедансів, а в критичній ситуації можуть послужити ще й плавкими запобіжниками.

Резистор R6 забезпечує рівень логічної «1» на виході Е мікросхеми DD1 при від’єднанні кабелю від LPT-порту. Тим самим виходи буферів переводяться у вимкнений стан від ліній інтерфейсі SPI в мікроконтролері. Живлення мікросхеми DD1 (Vcc = 5 В) подається від плати програмованого пристрою. Конденсатор С1 блокувальний. Він повинен розміщуватись близько до виводів 10, 20 мікросхеми DD1.

Адаптер с буферною логічною мікросхемою добре використовувати в умовах підвищених індустріальних перешкод. Вперше подібний пристрій було розроблено фірмою Kanda Systems на противагу налагоджувальним комплектам STK200, STK300, співпадаючи з ними в розпайці вихідного роз’єму. З тих пір подібні адаптери часто називають Kanda STK200/300.

Рис. 2.3 – Схема складнішого варіанту LPT-адаптера [6]

На рис. 2.4 показаний простий адаптер COM-порту. Призначення елементів: резистори R1, R3…R5 обмежують струми, стабілітрони VD2…VD4 обмежують напругу (4.7 В), резистор R2 закриває транзистор VT1 при від’єднанні кабелю від комп’ютера. Діод VD1 обмежує напругу від’ємної полярності, що поступає із COM-порту. В інших аналогічних схемах його не встановлюють, надіючись на високу допустиму напругу транзисторів BC547 (Philips), котрі використовуються замість VT1.

Схема невибаглива в деталях і добре зарекомендувала себе на практиці, у всякому випадку, при керуванні від програми PonyProg.

Рис. 2.4 – Схема простого СОМ-адаптера [6]

Рис. 2.5 – Схема складнішого СОМ-адаптера [6]

Більш складний COM-адаптер (рис. 2.5) включає в себе буферну мікросхему DD1, виходи якої переводяться у високоімпедансний стан вручну перемикачем SA1. Невеличка деталь: входи мікросхеми DD1 не захищені стабілітронами, хоча рівні сигналів СОМ-порту коливаються від –10 до +10 В. Причина полягає у великому опорі резисторів R1…R3 і наявності внутрішніх діодів по входам мікросхеми DD1.

Живлення 5 В (Vcc) подається від плати програмованого пристрою. Конденсатор С1 зменшує імпульсні перешкоди. Резистори R5…R9 демпфують викиди на фронтах імпульсів. Якщо індикатор HL1 погашений, то можна програмувати мікроконтролер. Наявність свічення означає, що мікросхему DD1 ніби то вилучили із панелі. Ручне відключення виходів адаптера інколи краще програмного, наприклад при пошуках причин несправностей.

Як стало зрозуміло раніше в нашому випадку використовується схема COM-адаптера представлена на рис. 3.4. Ця схема є найбільш економною і простою. Для лабораторного стенду складнішого і не потрібно.

2.2 Програмне забезпечення

Широке використання мікроконтролерів в світі сприяло появі на ринку програмних продуктів супроводу розробки додатків від різноманітних фірм-виробників. На заміну окремим програмам (асемблерам, компіляторам, відладчикам та ін.) прийшли інтегровані системи розробки додатків (IDE – Integrated Development Environment), розроблені під Windows, зі зручним користувацьким інтерфейсом, великою кількістю функцій, починаючи від редагування програми і закінчуючи програмуванням мікроконтролерів.

В даній роботі ми скористалися двома продуктами: AVR Studio та вище згаданим PonyProg. Обидві ці програми розповсюджуються безкоштовно і ідеально підходять для програмування нашого мікроконтролера.

2.2.1 Proteus 7

При розробці і налагодженню програмного забезпечення для даного проекту ми використовували Proteus 7 Professional, фірми Labcenter Electronics.

Proteus VSM - програма-симулятор мікроконтролерних пристроїв. Вона підтримує багато мікроконтролерів, а саме PIC, 8051, AVR, HC11, ARM7/LPC2000 і інші поширені процесори. Більше 6000 аналогових і цифрових моделей пристроїв. Працює з більшістю компіляторів у тому числі з асемблером.

PROTEUS VSM дозволяє дуже достовірно моделювати і налагоджувати досить складні пристрої в яких може міститися кілька МК одночасно і навіть різних родин в одному пристрої.

PROTEUS містить величезну бібліотеку електронних компонентів.

Якщо компонент не програмований – то це легко виправити - потрібно на сайті виробника завантажити його SPICE модель і додати в підходящий корпус.

Proteus 7 складається з двох основних модулів:

  •  ISIS - графічний редактор принципових схем служить для введення розроблених проектів з подальшою імітацією і передачею для розробки друкованих плат в ARES. До того ж після налагодження пристрою можна відразу розвести друковану плату в ARES яка підтримує авто розміщення і трасування по вже існуючій схемі.
  •  ARES - графічний редактор друкованих плат з вбудованим менеджером бібліотек і автотрасувальник ELECTRA, автоматичної розстановкою компонентів на друкованій платі.

  •  USBCONN - цей інструмент дозволяє підключитися до реального USB порту комп'ютера.
  •  COMPIM - цей компонент дозволяє вашому віртуальному влаштуванню підключиться до РЕАЛЬНОМУ COM-порту вашого ПК.

PROTEUS VSM - чудово працює з популярними компіляторами Сі для МК:

  •  CodeVisionAVR (для МК AVR)
    •  IAR (для будь-яких МК)
    •  ICC (для МК AVR, msp430, ARM7, Motorola)
    •  WinAVR (для МК AVR)
    •  Keil (для МК архітектури 8051 і ARM)

Програма PROTEUS VSM ідеально підходить для відладки проектів на основі мікроконтролерної техніки, дозволяє підлагоджувати плату навіть не маючи її прототипу.

Рис. 2.6 – Схема тестера Ethernet кабелю

На Рис. 2.6 зображена повна схема пристрою який ми розробили.

2.2.3 Arduino IDE

Arduino — апаратна обчислювальна платформа, основними компонентами якої є плата вводу/виводу та середовище розробки на мові Processing/Wiring. Arduino може використовуватися як для створення автономних інтерактивних об'єктів, так і підключатися до програмного забезпечення, яке виконується на комп'ютері (наприклад: Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider). Інформація про плату (малюнок друкованої плати) знаходиться у відкритому доступі і може бути використана тими, хто вважає за краще збирати плати самостійно.

Рис. 2.6 – Головне вікно середовища Arduino IDE

Плата Arduino складається з мікроконтролера Atmel AVR, а також елементів обв’язки для програмування та інтеграції з іншими пристроями. На багатьох платах наявний лінійний стабілізатор напруги +5В або +3,3В. Тактування здійснюється на частоті 16 або 8 МГц кварцовим резонатором. У мікроконтролер записаний завантажувач (bootloader), тому зовнішній програматор не потрібен.

На концептуальному рівні усі плати програмуються через RS-232 (послідовне з’єднання), але реалізація даного способу різниться від версії до версії. Новіші плати програмуються через USB, що можливо завдяки мікросхемі конвертера USB-to-Serial FTDI FT232R. У версії платформи Arduino Uno в якості конвертера використовується контролер Atmega8 у SMD-корпусі. Дане рішення дозволяє програмувати конвертер таким чином, щоб платформа відразу розпізнавалася як мишаджойстик чи інший пристрій за вибором розробника зі всіма необхідними додатковими сигналами керування. У деяких варіантах, таких як Arduino Mini або неофіційній Boarduino, для програмування потрібно підключити до контролера окрему плату USB-to-Serial або кабель.

Плати Arduino дозволяють використовувати значну кількість I/O виводів мікроконтролера у зовнішніх схемах. Наприклад, у платі Decimila доступно 14 цифрових входів/виходів, 6 із яких можуть видавати ШІМ сигнал, і 6 аналогових входів. Ці сигнали доступні на платі через контактні площадки або штирьові розніми. Також існує декілька видів зовнішніх плат розширення, які називаються "shields" ("щити"), які приєднуються до плати Arduino через штирьові розніми.

2.2.3 PonyProg

Найпопулярніша програма PonyProg є вільно розповсюджу вальною GNU-програмою з відкритим початковим кодом і призначена для програмування flash-мікросхем з послідовним доступом.

PonyProg написана італійцем Клаудіо Ланконеллі і існує в Windows i Linux версіях. Має підтримку російської мови. Може використовувати паралельний порт (LPT) або стандартний послідовний порт (СОМ).

PonyProg підтримує ряд популярних програма торів, в тому числі STK200/300, JDM/Ludipipo, EasyI2C та DT-006 AVR від Dontronics. Також з його допомогою можна програмувати і через наш програматор.

З допомогою PonyProg можна завантажувати дані в мікроконтролери Atmel AVR i MicroCHIP PicMicro, а також програмувати мікросхеми пам’яті з послідовним доступом (I2C Bus, Microwire, SPI EEPROM).

Повний список програмованих мікросхем можна прочитати на сайті PonyProg, а скачати дану програму із сторінки http://www.lancos.com/ppwin95.html.

Окрім всього вище переліченого, PonyProg надає можливість редагувати текст програми на рівні зміни значення байтів.

Інтерфейс програми доволі простий та прозорий (рис. 3.7). Основна задача – правильно його налаштувати, для цього необхідно спочатку зайти в меню "Setup" і вибрати пункт "Calibration", потім ще й пункт "Interface Setup...". Про це PonyProg повідомляє при першому запуску. Далі вибираємо тип мікроконтролера, скориставшись меню "Device" - "AVR micro", відкриваємо НЕХ файл та прошиваємо його.

Основні використовувані кнопки (іконки) панелі PonyProg показані на рис.2.8 та описані нижче.

Рис. 2.7 – Інтерфейс програми PonyProg2000

Кнопки верхнього ряду:

1. New Window – відкрити нове вікно

2. Open Device File... – відкрити файл прошивки

3. Open Program Memory (FLASH) File – відкрити файл прошивки FLASH

4. Open Data Memory (EEPROM) File – відкрити файл прошивки EEPROM

5. Save Device File – зберегти файл

6. Save Program Memory (FLASH) File – зберегти файл прошивки FLASH

7. Save Data Memory (EEPROM) File – зберегти файл прошивки EEPROM

Рис. 2.8 – Значення кнопок в PonyProg

Кнопки нижнього ряду:  

8. Read Device – прочитати всю мікросхему

9. Read Program Memory (FLASH) – прочитати FLASH

10. Read Data Memory (EEPROM) – прочитати EEPROM

11. Write Device – записати всю мікросхему

12. Write Program Memory (FLASH) – записати FLASH

13. Write Data Memory (EEPROM) – записати EEPROM

14. Erase all the Device to FF – стерти мікросхему

15. Security and Configuration Bits... – виклик меню FUSE і біти конфігурації


ВИСНОВКИ

В даній роботі було реалізовано програмно-апаратний засіб тестуваня Ethernet кабелю. Для цього було використано ультра яскраві світлодіоди та мікроконтролер. Було також розкрито особливості будови та принципи програмування мікроконтролера.

На практиці, при прокладці комп'ютерних локальних мереж часто виникає необхідність у перевірці кабелів на наявність обриву і правильності їх закриття у вилки / розетки. Робити це за допомогою звичайного тестера (на прозвон) вкрай незручно, саме тому в даній роботі було розроблено пристрій для зручного тестування кабелю на обрив.

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


СПИСОК СКОРОЧЕНЬ

BOD – Brown-Out Detection

LED – Light Emitting Diode

IDE – Integrated Development Environment

SPI – Serial Programming Interface

ISP – In-System Programming

MOSI – Master Out – Slave In

MISO – Master In – Slave Out

VCC – Voltage Common Collector

МК – мікроконтролер

ЦПП – центральний процесорний пристрій

АЛП – арифметико-логічний пристрій

ОЗП – оперативний запам’ятовуючий пристрій

ШІМ – широко-імпульсна модуляція

АЦП – аналого-цифровий перетворювач

РЗП – регістри загального призначення


СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

  1.  Евстифеев А.В. Микроконтроллеры AVR семейства Mega. Руководство пользователя. – М.: Изд. дом «Додэка ХХІ», 2007. – 592с.
  2.  Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих. – М.: Изд-во МГТУ им. Н.Э.Баумана, 2007. – 240с.
  3.  Программирование на языке С для AVR и PIC микроконтроллеров. – К.: «МК-Пресс», 2006. – 400с.
  4.  Голубцов М.С. Микроконтроллеры AVR: от простого к сложному. – М.: СОЛОН-Пресс, 2003. – 288с.
  5.  Курка Р.Р. Середовище розробки програмного забезпечення мікроконтролерів AVRStudio: Методичні вказівки для самостійної роботи студентів. – Львів, 2006. – 11с.
  6.  С.М. Рюмик Микроконтроллеры AVR. Ступень 1-10. – Чернигов, 2005. – 44с.
  7.  Семенов Б.Ю. Силовая электроника для любителей и профессионалов – М.: СОЛОН-Р, 2001. – 37с.
  8.  Опадчий Ю.Ф., Глудкин О.П., Гуров А.И. Аналоговая и цифровая электроника – М.: Горячая линия – Телеком, 2000. – 768 с.
  9.  Москатов Е. А Справочник  по полупроводниковым  приборам – М.: Журнал "Радио", 2007. – 327с.
  10.  С.Боровский, С.Слободянюк, Е.Власова, В.Галушко довідник «Захалявная тетрадь» - НИИП «Рапид ЛТД», 2000 г.
  11.  Кудрявцев И.А. Фалкин В.Д. Электронные ключи: учеб. пособие. – Самара : Самар. гос.аэрокосм. ун-т., 2002. – 24с.
  12.  Иванов В.И.Справочник по полупроводниковых электронных приборов – М.: Высшая школа, 2000. – 324с.
  13.  Фрунзе А. В. Микроконтроллеры? Это же просто!. — М.: ООО «ИД СКИМЕН», 2003. – Т.3.
  14.  Новиков Ю. В., Скоробогатов П. К. Основы микропроцессорной техники. Курс лекций. — М.: Интернет-университет информационных технологий, 2003.
  15.  http://www.chipdip.ru/product0/26121.aspx.
  16.  http://elektronika7.ru/sdm.htm
  17.  http://myrobot.ru/stepbystep/mc_architecture.php.
  18.  http://hardware.zp.ua/docs/com9.html.
  19.  http://www.inaeksu.vstu.vinnica.ua/kafs/mpa/microproc/index.htm.
  20.  http://www.opticstoday.com/katalog-statej/stati-na-ukrainskom/optikoelektronna-elementna-baza/svitlodiodi-firmi-sotso.html.
  21.  http://www.icmicro.narod.ru/info_ru/led/led.htm.
  22.  http://www.atmel.com.
  23.  http://www.alldatasheet.com.
  24.  http://www.myrobot.ru/stepbystep/mc_architecture.php.
  25.  http://www.spt.ru/victor/max.htm.


ДОДАТКИ


Додаток А

Текст програми

#define F_CPU 1000000UL // частота МК

#include <avr/io.h>

#include <util/delay.h>

#define waitMs 250

unsigned char cabelTypeNormal[] = {1, 2, 4, 8, 16, 32, 64, 128};

unsigned char cabelTypeCossover[] = {4, 32, 1, 8, 16, 2, 64, 128};

/*

1   = 0b00000001

2   = 0b00000010

4   = 0b00000100

8   = 0b00001000

16  = 0b00010000

32  = 0b00100000

64  = 0b01000000

128 = 0b10000000

*/

boolean Cossover = false; // тут міняється тим обжимки кабелю

int main(void)

{

 DDRB = 255; // всі порти PORTB на вихід

 while (1) {

   unsigned char ledsBlink = 0;

   while (ledsBlink < 8) {

     if (Cossover == false) {

       blinkLed(cabelTypeNormal[ledsBlink]);

     } else {

       blinkLed(cabelTypeCossover[ledsBlink]);

     }

     ledsBlink++;

   }

   ledsBlink = ledsBlink - 1; //

   while (ledsBlink > 0) {

     if (Cossover == false) {

       blinkLed(cabelTypeNormal[ledsBlink]);

     } else {

       blinkLed(cabelTypeCossover[ledsBlink]);

     }

     ledsBlink--;

   }

   Cossover = !Cossover; // змінюємо тип обжиму кабелю

 }

 return 0;

}

void blinkLed(unsigned char currentLed) {

 PORTB = currentLed;

 _delay_ms(waitMs);

 PORTB = 0;

 _delay_ms(waitMs);

}


Додаток Б

Монтажна плата


Додаток В

Схема пристрою


 

А также другие работы, которые могут Вас заинтересовать

66771. Обработка пространственной информации об объектах речной сети для определения характеристик подтопления промышленных объектов при паводках 11.32 MB
  Целью работы является разработка методов, алгоритмов и программного обеспечения для определения характеристик подтопления промышленных объектов в паводковый период на основе совместной обработки пространственной информации об объектах речной сети и промышленности...
66775. Формирование и функционирование организационных структур управления субъектов предпринимательской деятельности современной России 871 KB
  Формирование и развитие организационных структур управления субъектов предпринимательской деятельности. Понятие и основная терминология организационной структуры управления субъекта предпринимательской деятельности. Понятие организационной структуры управления субъекта предпринимательской деятельности...
66776. ВЗАИМОСВЯЗЬ МОТИВАЦИОННО-СМЫСЛОВОЙ СФЕРЫ С СОСТОЯНИЕМ АДАПТАЦИИ ЛИЧНОСТИ В ПОСТЭКСТРЕМАЛЬНЫХ УСЛОВИЯХ 684 KB
  Многочисленные исследования, наблюдения, эксперименты не только не исчерпали проблему адаптации, а, напротив, показали ее глубину и многомерность. В последнее время предметом исследования психологов все чаще становится проблема адаптации личности в экстремальных и постэкстремальных условиях.
66777. АЛГОРИТМЫ И ПРОГРАММНЫЕ СРЕДСТВА ИДЕНТИФИКАЦИИ НЕЧЕТКИХ МОДЕЛЕЙ НА ОСНОВЕ ГИБРИДНЫХ МЕТОДОВ 4.41 MB
  Такой алгоритм исключает недостаток методов основанных на производных неспособность проходить локальные минимумы и недостаток генетического алгоритма не всегда точное попадание в глобальный оптимум. Трехэтапная идентификация параметров сначала многократным запуском алгоритма имитации отжига генерируется...
66778. Роль управленческого фактора в процессе взаимодействия коммерческих банков и их клиентов 439.5 KB
  Взаимодействие коммерческих банков и их клиентов промышленных предприятий осуществляется в различных организационных формах от создания финансово-промышленных групп на основе слияния промышленного и банковского капитала и до предельно формализованных контактов ограничивающихся привычными финансовыми...
66779. ТЕХНОЛОГИИ ДИСТАНЦИОННОГО ОБУЧЕНИЯ 149 KB
  Преимущества дистанционного обучения: Возможность заниматься в удобное для себя время в удобном месте и темпе. Но в этом таится и сложность дистанционные курсы в основе которых лежат новые технологии обучения не вписываются в структуру и программы традиционного обучения.