- •Кафедра кітПіВ
- •Випускна робота бакалавра
- •“__ ” Травня 201_ р завдання на виконання випускної роботи бакалавра
- •Реферат
- •1 Телемедицина в Україні
- •1.1 Розвиток телемедицини в Україні
- •2. Розробка програмного забезпечення для драйвера вводу-виводу телемедичної інформації
- •2.1Основні положення
- •2.2 Протокол обміну даними
- •2.3Апаратна реалізація
- •3.3 Пpиклад програми ініціалізації та введення/виведення даних мовою turbo assembler (tasm)
- •Висновки
2.3Апаратна реалізація
Комп’ютер має від одного до восьми портів послідовного передавання даних, які реалізовуються на мікросхемі InteI 8250. Це універсальний асинхронний приймач/передавач (UART - Universal Asynchronous Receiver Transmitter). Мікросхема вміщує кілька внутрішніх регістрів, доступних через команди введення/виведення. При передаванні байт записується у буферний регістр передавача, звідки потім переписується у зсувовий регістр передавача. Байт „висувається” з регістра по бітах, молодшими бітами уперед. Аналогічно, приймач теж має зсувовий та буферний регістри. Зовнішні пристрої підмикаються до порту введення/виведення через з’єднувач типу DB25P або DB9P, які мають відповідно 25 та 9 виводів. У таблиці 2.1 подається призначення контактів з’єднувача.
Ha етапі ініціалізації комп’ютера модуль POST BIOS тестує наявні асинхронні адаптери та ініціалізує перші два з них. їхні базові адреси розташовано в області даних BIOS, починаючи з адреси 0000:0400Н. Перший адаптер, COMl, має базову адресу 3F8H і займає діапазон адрес з 3F8H до 3FFH. Другий адаптер, COM2, має базову адресу 2F8H і займає адреси 2F8H...2FFH. Асинхронні адаптери можуть викликати переривання: COMl - IRQ4 (INT OCH), COM2 - IRQ3 (WT OBH).
2.3.1 Пopm3F8H
ГІорт 3F8H відповідає регістру даних, котрі передаються чи приймаються. Для передавання дані треба записати у цей порт. Після прийняття даних від зовнішнього пристрою вони можуть зчитуватись з цього порту.
Залежно від стану старшого біта керувального слова, яке виводиться в керувальний регістр з адресою 3FBH, призначення порту 3F8H може змінюватись. Якщо цей біт дорівнює 0, порт 3F8H використовується для запису передаваних даних. Якщо ж він дорівнює 1, то порт 3F8H використовується для виведення молодшого байта подільника частоти тактового генератора. Змінюючи значення подільника, можна змінювати швидкість передавання даних. Старший байт подільника записується у порт 3F9H. Залежність швидкості передавання даних від значення подільника частоти подано нижче:
Подільник Швидкість (Бод)
На рецензію 1
До захисту 1
“__ ” травня 201_ р 2
ЗАВДАННЯ НА ВИКОНАННЯ ВИПУСКНОЇ РОБОТИ БАКАЛАВРА 2
2.1 Основні положення. . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Апаратна реалізація. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Текстова частина дипломної роботи: 22 с., 8 рис., 2 таблиці. 3
Об’єкт дослідження – драйвер вводу-виводу. 4
Мета дипломної роботи – аналіз Розробка програмного забезпечення для драйвера вводу-виводу телемедичної інформації. 4
Метод дослідження – программно-аналітичний із використанням комп’ютерних технологій. 4
Умови одержання дипломного проекту: за дозволом проректора із навчальної роботи ОНАЗ iм. О.С. Попова. 4
ВСТУП 4
2.1Основні положення 10
C++, Linux, Unix, Java, Java Script, PHP, 1C, OS Linux, Free BSD, Windows, MySQL, Oracle, написання мережних програм, сокети, адміністрування, Microsoft Windows, досвід Web програмування, досвід розробки додатків клієнт-сервер. Все це використовується при проектуванні та будівлі сучасних телемедичних мереж. 10
Ізмаїл 10
Б. Дністровськ 10
Котовськ 10
Южний 10
Арциз 10
Телемедицина розвивається по кільком напрямкам. 10
1. Використання медичними закладами в районних центрах баз даних, які зберігаються у ведучих медичних закладах обласного центру. Це може бути учбова література, проведення операцій. В БД повинні зберігатися також відеозаписи операцій. Це можливо тільки під керуванням системи керування Oracle, так як зображення рухливе. 10
2. Спостереження за операціями в реальному масштабі часу, як з боку лікаря в районному центрі за операціями, які робляться ведучими лікарями в обласному центрі і навпаки. 10
3. Консультація хворого по мережі або консультація у лікаря в обласному центрі. Можлива консультація лікаря районного центру у закордонних фахівців. 10
4. Телемедицина в надзвичайних ситуаціях( розвинена в Норвегії, Німеччині, Великій Британії, Америці). 10
5. Безперервна медична освіта на протязі всієї діяльності лікаря. 10
Порт послідовного передавання RS-232-C, який називається асинхронним адаптером, або послідовним інтерфейсом, має багатоцільове призначення: 11
2.3Апаратна реалізація 12
115200
2.3.2 Порт 3F9H
Порт використовується як регістр керування перериваннями від асинхронного адаптера або (після виведення в порт 3F9H байта з встановленим
у 1 старшим бітом) для виведення значення старшого байта подільника частоти. B режимі керування перериваннями порт має такий формат:
2.3.3 Порт 3FAH
Регістр призначено для ідентифікації переривань. Його вміст визначає причину переривань. Регістр має такий формат:
2.3.4 Порт 3FBH
Керувальний
регістр, доступний для запису та
зчитування.
2.3.5 Порт 3FCH
Регістр керування модемом. Керує станом вихідних ліній DTR, RTS3 ліній, специфічних для модемів OUTl та OUT2, для запускання діагностики при вході асинхронного адаптера, замкненого на його виході. Формат порту:
2.3.6 Пopт3FDH
Регістр
стану лінії.
2.3.7 Порт 3FEH
Регістр стану модема.
3 Програмування асинхронного адаптера
3.1 Ініціалізація асинхронного адаптера
Перше, що повинна зробити програма, яка працює з асинхронним адаптером, - це встановити протокол обміну та швидкість передавання даних. Після завантаження операційної системи встановлюється швидкість 2400 Бод, не виконується перевірка на парність, використовується один стоповий біт та лерувального довжина передаваного символу.
При введені з порту 3FBH програма може одержати поточний режим адаптера, наприклад, після завантаження BIOS з лерувального регістру 3FBH можна прочитати байт стану адаптера 0O0X0011=03H (або 13H). Для встановлення іншого режиму можна змінити потрібні поля та записати новий байт режиму за адресою 3FBH. Наприклад, режиму передавання, зображеного на рисунку 2.1, відповідає лерувально слово 00011110B=lEH.
Для завдання нового значення швидкості обміну даними треба встановити старший біт лерувального байта у 1 та вивести 80Н за адресою 3FBH. Після цього двома послідовними командами виведення треба завантажити подільник частоти. Молодший байт подільника завантажується у порт 3FBH, а старший – у порт 3F9H. Перед початком роботи ініціалізується регістр керування перериваннями (порт 3F9H), якщо у програмі навіть не використовуються переривання від самого адаптера. Якщо переривання не потрібні, у порт записується нуль. Ha цьому ініціалізація завершується.
Перед записом байту даних у регістр передавача треба перевірити, чи вільний є регістр зберігання передавача, тобто чи завершено передавання попереднього символу. Ознакою „порожнього” регістру зберігання є встановлений у 1 п’ятий біт регістру стану лінії з адресою 3FDH.
При прийманні даних перед введенням символу з порту приймача 3F8H треба перевірити значення біта 0 порту 3FDH. Якщо він дорівнює 1, то символ прийнято з лінії і останній перебуває у буферному регістрі приймача.
Для дозволу переривань необхідно встановити в 1 біти порту керування перериваннями 3F9H, відповідні тим перериванням, які треба опрацьовувати. Коли відбулося переривання, програма-опрацьовувач переривання повинна проаналізувати його причину за значенням вмісту порту ідентифікації переривання з адресою 3FAH. Наприкінці програми-опрацьовувача апаратного переривання повинна бути послідовність команд:
MOV AL,20H
OUT 20H,AL
IRET
Якщо водночас виникають декілька запитів на переривання, біт 0 регістру ідентифікації буде встановлено в 1. У такому разі перед завершенням опрацювань переривань треба знов прочитати регістр ідентифікації переривань і опрацювати наступне переривання. Процес повторюється доти, доки біт 0 регістру ідентифікації переривань не дорівнюватиме 0.
3.2 Приклад програми ініціалізації введення/виведення даних на мові Assembler-86
|
MOV DX,3FBH |
завантаження адреси алагоджувану регістру у DX |
|
IN AL,DX |
введення поточного режиму адаптера; після завантаження BIOS: швидкість 2400 Бод (подільник ЗОН), немає контролю на парність (D3=0, D4=X), один стоповий біт (D2=0), кількість бітів – 8 (D1=1, D0=1), слово стану дорівнює 000X0011=03H або 13Н 4 |
|
MOV AL,8QH |
порт керування настроюється на забезпечення передавання подільника: D7=1, інші біти дорівнюють 0, алагоджува слово дорівнює 80Н |
|
OUT DX,AL |
виведення алагоджувану слова |
|
MOVDX,3F8H |
завантаження адреси порту 3F8H та завантаження молодшого байта |
|
MOV AL,60H |
|
|
OUT DX,AL |
подільника частоти |
|
MOV DX,3F9H |
завантаження адреси порта 3F9H та завантаження старшого байта |
|
MOV AL,00H |
|
|
OUT DX,AI |
подільника частоти |
M3: |
MOV AL,TEH |
завантаження алагоджувану слова в AL |
|
MOV DX,3FBH |
завантаження адреси алагоджувану регістру |
|
OUT DX,AL |
виведення алагоджувану слова |
|
MOV AL,00H |
заборона переривань від RS-232-C |
|
MOV DX,3F9H |
завантаження адреси алагоджувану регістру переривань |
|
OUT DX,AL |
виведення алагоджувану слова |
Ml: |
MOV DX,3FDH |
завантаження адреси регістру стану лінії |
|
IN AL,DX |
введення слова стану лінії |
|
AND AL,20H |
регістр зберігання даних |
|
JZ Ml |
порожній, D5=1? |
|
MOV AL,41H |
так, завантаження даного в AL |
|
MOVDX,3F8H |
завантаження адреси порту передавання даних |
|
OUT DX,AL |
виведення даних |
|
MOV DX,3FDH |
завантаження адреси порту стану лінії |
M2: |
IN AL,DX |
введення слова стану лінії |
|
AND AL,01H |
перевірка наявності даних в лінії (D0= 1 ?) |
|
JZ M2 |
у циклі |
|
MOV DX,3F8H |
завантаження адреси порту приймання даних 3F8H у DX |
M5: |
IN AL,DX |
введення даних |
|
JMP M1 |
циклування програми |
|
NOP |
|
При наборі та виконанні програми у алагоджувану DEBUG замість міток треба вказати виконавчі адреси.
Програма дозволяє у покроковому режимі здійснити введення слова стану режиму адаптера після завантаження операційної системи, ініціалізувати адаптер на заданий режим, перевірити стан буфера передавання при передаванні даних та наявність даних у лінії при прийманні, здійснити передавання та приймання даних при замиканні контактів 2-3 з’єднувача (вхід на вихід). При циклуванні програми на контактах 2-3 за допомогою осцилографа можна спостерігати часові діаграми електричних сигналів та формат даних.