Класс проверки знаний

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    17,14 Кб
  • Опубликовано:
    2012-11-27
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Класс проверки знаний

Аннотация

В данном проекте разработан автоматизированный комплекс проверки знаний, позволяющий производить одновременный контроль знаний до 127 рабочих мест. Основой комплекса является система сбора и обработки информации на основе локальной микросети на базе микропроцессорных контроллеров, выполняющая функции по управлению работой автоматизированных рабочих мест, сбору, отображению и хранению информации. Функции обработки информации возложены на ЭВМ, которая после окончания времени контроля знаний, собирает информацию, обрабатывает ее и выдает результаты проверки.

Введение


В последнее время широкое распространение получили различные микропроцессорные системы. В качестве одной из актуальнейших задач при использовании подобного рода систем является разработка различного вида автоматизированных классов для контроля знаний, призванных значительно облегчить образовательный процесс для преподавателей без ущерба для его быстродействия. В данном курсовом проекте был реализован один из вариантов такого автоматизированного класса для контроля знаний.

автоматизированный знание проверка контроллер

1. Замысел проекта


В основу данного проекта была положена идея создания автоматизированного класса проверки знаний. Автоматизированный класс проверки знаний - это совокупность аппаратных и программных средств, реализующих функции одновременного контроля знаний нескольких человек. В качестве аппаратных средств используется ЭВМ типа IBM PC совместимый компьютер и система сбора и обработки информации на однокристальных микроконтроллерах типа МК-51, соединенных в локальную вычислительную сеть. В функции каждого микроконтроллера входит управление соответствующим автоматизированным местом (сбор информации и передача ее в ЭВМ). В функции ЭВМ входит обработка информации полученной от микроконтроллеров и выдача результатов текущей проверки.

Проверка знаний осуществляется в соответствии со следующим алгоритмом: проверяющий раздает задания в виде тестов. Проверяемые вводят ответы на задания при помощи клавиатуры в память микроконтроллера (сначала вводится номер вопроса, затем номер ответа). После окончания времени отведенного на задание микроконтроллеры прекращают опрос клавиатуры и передают собранную информацию в ЭВМ, которая обрабатывает ее и выдает результаты проверки как на экран дисплея, так и на семисегментные индикаторы, установленные на каждом рабочем месте.

2. Техническое задание


Разработать аппаратные и программные средства автоматизированного класса проверки знаний (пункт 1) в соответствии со следующими исходными данными:

·   опрос автоматизированных рабочих мест;

·   хранение полученной информации;

·   передача информации в ЭВМ;

·   обработка информации;

·   выдача результатов.

3. Описание принципиальной схемы автоматизированного класса проверки знаний


3.1 Описание функциональной схемы

Типовая функциональная схема автоматизированного класса проверки знаний представлена на рисунке 1.

Основой разрабатываемого автоматизированного класса является локальная микросеть, организованная на базе микропроцессорных контроллеров типа ОМК-51.

Каждый из микроконтроллеров выполняет функции по управлению работой соответствующего рабочего места, сбору, отображению и хранению информации, а также передачи ее в ЭВМ.

На ЭВМ возложены функции по обработке собранной с рабочих мест информации и выдаче результатов, как на экран дисплея, так и на семисегментные индикаторы каждого рабочего места.

Рисунок 1. Функциональная схема

3.2 Описание принципиальной схемы

Принципиальная схема отдельного рабочего места, разработанная в соответствии с функциональной схемой, представлена на рисунке 2.

Основой схемы является микропроцессорный контроллер семейства MCS-51, выполненный на базе микросхемы типа АТ89С51. Данная микросхема представляет собой однокристальный микроконтроллер, имеющий встроенный универсальный асинхронный приемопередатчик (УАПП), 32 линии ввода-вывода, два таймера-счетчика, два источника внешних прерываний, 4К внутренней флэш-памяти и 128 байт ОЗУ. Именно он выполняет функции по управлению рабочим местом.

Рассмотрим типовую схему включения данного микроконтроллера.

Конденсаторы С12 и С13 совместно с кварцевым резонатором ZQ1 составляют генератор тактовых импульсов, необходимый для синхронизации контроллера. Номиналы приборов выбираются в соответствии с рекомендациями фирм-изготовителей, приведенными в руководстве по эксплуатации, и составляют:

С12 = С13 = 27 пФ;

ZQ1 = 22,118 МГц.

Резистор R1 и конденсатор С11 образуют схему начальной установки МПК, то есть обеспечивают сброс микроконтроллера при включении напряжения питания. Их номиналы определяются исходя из рекомендаций фирм-изготовителей, приведенных в руководстве по эксплуатации, что для корректного сброса прибора на входе «RESET» микроконтроллера должен обеспечиваться низкий уровень сигнала в течение времени, соответствующего двум машинным циклам МПК и определяемого постоянной времени заряда конденсатора С11.

R1 = 8,2 кОм;

С11 = 12 мкФ.

Резисторная сборка Е1 представляет собой набор подтягивающих резисторов, необходимых для корректного осуществления операций ввода-вывода посредством порта Р0 микроконтроллера. Номинал, входящих в ее состав резисторов также определяется рекомендациями по эксплуатации фирм-изготовителей и составляет 5,1 кОм.

На микросхемах DD4 и DD5 реализуется типовая схема подключения микросхем внешней памяти к микроконтроллеру, которая выполняет функцию устройства хранения сигнала.

Микросхема DD5 типа 6264 представляет собой ОЗУ объемом 8 Кбайт, имеющее восьмиразрядную шину данных, используемую как для записи, так и для считывания информации.

Микросхема DD4 типа К1533ИР33 представляет собой восьмиразрядный однонаправленный регистр сдвига, обеспечивающий «защелкивание» младшего байта адреса на время считывания или записи информации.

Основным требованием при выборе микросхем является обеспечение требуемого быстродействия и необходимого объема памяти (для микросхемы DD5).

Микросхема DD1 типа SP232IP представляет собой стандартную схемотехническую реализацию устройства согласования уровней ТТЛ-логики и уровней интерфейса RS-232 последовательного порта компьютера.

Конденсаторы С2, С4, С8, С9, С10 образуют типовую схему включения микросхемы DD1. Их номиналы выбираются из справочного руководства по эксплуатации фирмы-изготовителя и составляют:

С2 = С4 = С8 = С10 = 0,1 мкФ;

С9 = 47 мкФ.

Конденсаторы С1, С3, С5, С6, С7 являются фильтрующими для уменьшения высокочастотных помех по питанию с целью обеспечения корректной работы цифровых микросхем устройства. Их номиналы выбираются в соответствии с рекомендациями фирм-изготовителей, приведенными в руководстве по эксплуатации, и составляют:

С1 = С3 = С5 = С6 = С7 =0,1 мкФ.

На микросхеме DD6 типа КР580ВД79 выполнен контроллер клавиатуры и дисплея (ККД). Использование ККД позволяет разгрузить микроконтроллер от рутинных операций опроса клавиатуры и поддержания (рефреша) изображения на однострочном дисплее.

Микросхема HG1 типа BQ-M326RD представляет собой однострочный дисплей, состоящий из четырех семисегментных индикаторов. Данная микросхема содержит также встроенные буферные схемы для обеспечения требуемых токов нагрузки.

Для сканирования клавиатуры и дисплея дополнительно используется инвертирующий дешифратор на четыре выхода, выполненный на микросхеме DD2.1 типа КР1533ИД14.

Локальная микросеть организуется посредством встроенного в микропроцессорный контроллер универсального асинхронного приемопередатчика (УАПП) через разъем ХР2 по последовательному интерфейсу RS-232C. В качестве структуры используемой локальной сети выбрана моноканальная, поскольку является более удобной для рассматриваемого класса управляющих микросетей, так как допускают простую наращиваемость и модифицируемость системы. Кроме того, в моноканальной микросети время доставки сообщения не зависит от общего числа микропроцессорных контроллеров, и они обладают большей живучестью и надежностью.

4. Описание программного обеспечения автоматизированного класса проверки знаний


При управлении сложными протяженными объектами (такими как автоматизированный класс) используются системы с распределенным управлением, состоящие из множества контроллеров, управляющих отдельными функциональными блоками объекта. Между подсистемами должна обеспечиваться информационная связь. Поэтому обязательным элементом распределенной системы управления является локальная сеть, объединяющая отдельные микроконтроллеры (МК) в систему.

На такую сеть возлагаются обычно простые функции передачи сообщений за гарантированное время. Протяженность линии связи обычно не превышает десятков метров, размер сообщения - нескольких десятков байтов, а время доставки сообщения - в пределах от 0,01 до 1,0 с.

Типичными являются два режима информационного обмена в сети: широковещательный, когда передаваемое сообщение предназначается для всех остальных подсистем (микроконтроллеров сети), и абонентский, когда сообщение предназначается только одному МК.

Обычно первым способом передаются различные информационные параметры, используемые многими подсистемами. Это позволяет уменьшить загрузку сети за счет исключения множественных передач одного и того же сообщения различным адресатам. Вторым способом обычно передаются команды управления от центрального устройства к исполнительным или сообщения экстренного характера.

Наиболее широко распространены локальные сети двух структур: кольцевые и моноканальные (типа BITBUS). Последние являются более удобными для рассматриваемого класса управляющих микросетей, так как допускают простую наращиваемость и модифицируемость системы. Кроме того, в моноканальной микросети время доставки сообщения не зависит от общего числа микропроцессорных контроллеров, и они обладают большей живучестью и надежностью.

В сетях с единым моноканалом все микроконтроллеры связаны между собой одной общей (разделяемой) линией связи (рисунок 1). В качестве линии передачи данных обычно используется коаксиальный кабель или витая пара с согласующими резисторами на концах.

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

Наиболее перспективным методом доступа к разделяемому моноканалу является интервально-маркерный метод, позволяющий устранить конфликты в канале и наиболее полно использовать пропускную способность канала. Вкратце этот метод сводится к следующему.

1. При нулевой загрузке в канале периодически появляется маркер, генерируемый одним из микроконтроллеров сети. Маркер содержит номер микроконтроллера, являющегося ведущим. Главная обязанность ведущего - поддерживать синхронизм в сети путем периодической выдачи маркера в канал.

2. Период генерации маркера состоит из определенного числа «окон», равного числу микроконтроллеров в сети. Каждое окно имеет свой номер и принадлежит одной из подсистем.

3. В процессе захвата канала микроконтроллер, желающий выдать свой пакет (сообщение), должен дождаться появления маркера и отсчитать от него свое окно. Если при этом его не опередят другие микроконтроллеры, то, дождавшись своего окна, подсистема может, не опасаясь конфликтов, начинать передачу данных (рисунок 3).

Рисунок 3. Диаграмма одного периода сети

4. После выдачи сообщения микроконтроллер генерирует свой маркер и становится новым ведущим. Старый ведущий микросети, распознав, что моноканал захвачен, освобождается от этой роли.

5. Отсчет момента времени от маркера до своего окна производится по следующему правилу. Длительность окна принимается равной времени передачи одного байта данных. Если ведущий имел номер l, то первое окно будет принадлежать микроконтроллеру с номером l+1, затем МК с номером l+2 и так далее. Время ожидания своего окна Т можно определить как

,

где  - время передачи одного байта, то есть длительность окна.

Число Х определяется следующим образом:


где k - номер микроконтроллера, пытающегося захватить канал,

;

l - номер ведущего,

;

n - число микроконтроллеров в сети.

. Если самому ведущему необходимо выдать сообщение, то он может захватить канал во время своего окна, то есть вместо генерации очередного маркера начать передавать свое сообщение.

. Выдав маркер, ведущий микроконтроллер запускает таймер на время , а если в это время никто не захватит канал, то весь цикл повторяется еще раз и так далее.

. При обнаружении пропажи маркера для восстановления синхронизма в микросети каждый МК выполняет следующие простые действия: выдерживает паузу длительностью

,

где i - собственный номер МК;

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

Этой процедурой обеспечивается автоматическое восстановление работы микросети при отказе микроконтроллера, являющегося в данный момент ведущим.

. При интервально-маркерном методе удается избежать любых конфликтов в канале в силу следующих причин:

·   контроль пропажи маркера ведется постоянно всеми МК сети и полностью синхронно, так как счетчики паузы корректируются примерно одновременно при приеме каждого байта и, следовательно, все МК обнаружат пропажу маркера одновременно;

одновременно начинается отсчет паузы всеми микроконтроллерами;

·   микроконтроллер с меньшим номером первым генерирует маркер и восстановит синхронизм в микросети.

Последовательный порт микроконтроллера АТ89С51 допускает передачу 9-битных кодов. Используя это, можно легко ввести признак маркера таким образом, что байт маркера будет отличаться от любого информационного байта. На рисунке 4 представлена структура маркера; старший бит является признаком маркера (для маркера - 1). Бит 7 используется для простейшего контроля по паритету. Семибитное поле адреса позволяет иметь в системе до 127 подсистем с номерами от 0 до 126. Адрес 127 зарезервирован для широковещательной передачи.

Рисунок 4. Структура маркера

Рисунок 5. Формат сообщения

Используемый формат сообщения представлен на рисунке 5 и предусматривает следующие поля:

Ап - адрес получателя;

Ао - адрес отправителя;

L - длина поля данных (0 - 255);

CRC - байт контрольной суммы.

Можно определить четыре состояния, в которых будет находиться каждый МК микросети:

·   приемник (R) - в этом состоянии МК прослушивает канал, принимает сообщения и выбирает из них необходимую информацию;

·   передатчик (W) - в этом состоянии МК, захватив канал, передает свое сообщение;

·   ведущий (H) - МК является ведущим и поддерживает синхронизм в сети;

·   специальное состояние (RM) - МК реализует процедуру восстановления синхронизма в сети.

Граф состояний МК представлен на рисунке 6.

Запрос на передачу сообщения формируется в МК прикладной программой управления объектом (рабочим местом) и обозначен RQ. Задержки, реализуемые таймером, имеют следующий смысл:

ТМ1 - контроль пропажи маркера, задержка равна ;

ТМ2 - ожидание своего окна ;

ТМ3 - ожидание окончания периода сети ;

ТМ4 - пауза перед выдачей маркера при восстановлении синхронизма, задержка равна .

Для реализации подсистемы (рабочего места) требуются следующие ресурсы: УАПП, таймер, два уровня прерываний. Этими ресурсами располагает МК51, позволяющий вести передачу и прием данных со скоростью до 375 кбит/с. Время передачи одного байта, обрамленного стартовым и стоповым битами (плюс 9-й разряд), составляет 58,7 мкс. Пропускная способность микросети при этом равна примерно 17 кбайт/с.

Рисунок 6. Граф состояний микроконтроллера микросети.

Микроконтроллер, работающий в составе распределенной системы управления на основе локальной микросети, должен кроме прикладной программы управления иметь еще и программные средства доступа к моноканалу. Таким образом, микроконтроллер должен работать в двухпрограммном режиме с разделением всех ресурсов между этими двумя сопрограммами. Должен быть реализован механизм взаимодействия между сетевой и прикладной программами. Обычно этот механизм реализуется путем присвоения сетевой программе более высокого приоритета.

; - constants -        equ    060h  ; стек

; - variables -

tau     equ    030h  ; время передачи одного байта        equ    031h  ; времz ожидания своего окна                   equ    032h  ; число МК сети

command equ        033h  ; принятый байт

; - bit's -       bit      20 h. 0         ; окончание приема байта       bit      20 h. 1         ; окончание операци контроля

; - code -      00h    start

; - Interrupt Vector Table -

; - UART -   023h  UART_ISR

; - End of UART -

; - End of Interrupt Vector Table -

; - Start -:     mov   SP,#st         P0,#0ffh      P1,#0ffh      P2,#0ffh      P3,#0ffh      psw,#00h          TMOD,#022h        ; 00100010b: 8-bit auto-reload Timer1 and Timer0  SCON,#050h        ; 01010000b 8-bit uart, baud rate - variable      PCON,#080h        ; 10000000b select double baud rate, select SM0 bit in Scon       TCON,#000h        ; clear TCON        TH1,#0f4h   TL1,#0f4h          countl,#00h  counth,#00h R2,#34h                ; low byte of last address of current signal data          R3,#35h                ; high byte of last address of current signal data      command,#00h          current,#00h DPTR,#00h TR1            ; turn on Timer1     ES               ; enable serial interrupt          Flag             ; clear bit Flag        FlgM           ; clear bit FlgM      EA              ; вкл. прерывания:         clr      P3.2   P3.0   a,#00h         @r0, a         a,#(20h+20) @r0, a:        jnb          Flag, loop    a, command Flag   FlgEnd, Trans       a,#10h, l1

; маркер      loop:  cjne    a,#01h, l2

; команда 01 - вывод данных из памяти на ЦАП

call     DAC  loop:  cjne    a,#02h, l3

; команда 02 - импульсный сигнал   Pulse  loop3:          cjne    a,#03h, l4

; команда 03 - изменение намагничивающего тока

call     Change        loop:  cjne    a,#04h, loop

; - Finish -

; - Interrupt Routine -

; - UART Interrupt -_ISR:         psw   psw,#08h     ; register bank 0 from 08h to 0Fh        acc          TI, ti_0        RI, ri_0_exit:         acc    psw

; transmit command_0:    clr      TI      uart_exit

; receive command_0:      clr      RI      a, SBUF      a,#0FFh                ; A and 11111111b          command, a Flag   uart_exit

; - End of UART Interrupt -_Fill:         Wr_M         uart_exit

; - End of Interrupt Routine -

; запись информации в память_M:

; 1 байт - старший байт адреса последнего байта сигнала

mov   a, SBUF                ; read SBUF          a,#0FFh                ; A and 11111111b counth, a          R3, counth   Wr_M_Exit

; 2 байт - младший байт адреса последнего байта сигнала

ri_1:   a, SBUF                ; read SBUF          a,#0FFh                ; A and 11111111b countl, a          R2, countl    Wr_M_Exit

; 3-ий и остальные байты

ri_2:   mov   a, SBUF      a,#0FFh                ; A and 11111111b @DPTR, a  DPTR          countl          ; decrement countl a, countl      ; проверка countl на нуль        Wr_M_Exit; a, counth         ; проверка counth на нуль       ri_3;

mov   countl, R2    ; восстановление исходных

mov   counth, R3   ; значений

mov   DPTR,#00h;          Wr_M_Exit_3:                counth_M_Exit:

ret

; передача информации в ЭВМ

mov   TH0,#T                 ; своего      TR0            ; окна          TF0, trans_end     ; канала перехвачен TF0             ; канал захвачен:  mov   DPTR,#00h ; устанавливаем начальный адрес области памяти:  movx a,@DPTR             ; считываем первый байт из внешней памяти          SBUF, a                ; передаем первый байт DPTR                   ; инкрементируем счетчик адреса         R2, aus1                ; проверка на окончание

djnz    R3, aus1                ; передачи_end:

; ввод кода нажатой клавиши:          jnb     P1.1, Input   P1.0   a,#40h         @r0, a          P1.0   a,@r0

; вывод информации на индикаторы

Output: setb P1.0

mov   a,#90h         @r0, a         P1.0   a,@r0

END

Похожие работы на - Класс проверки знаний

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!