Построение систем на микроконтроллерах: Методические указания к курсовому проектированию, страница 3

Процесс проверки ИМС представляет собой совокупность элементарных  проверок.

Элементарная проверка (ЭП) состоит в подаче на входы ИМС очередного ТС, приеме с выходов ИМС фактической реакции, сравнении ее с эталоном c последующим ветвлением. Если фиксируется отличие ФР  от эталона, процесс проверки завершается с выдачей информации о неисправной работе ИМС (например, в виде засветки красного светодиода); в случае совпадения ФР и эталона осуществляется формирование следующего ТС, эталона для него и переход к следующей ЭП.

Если при выполнении всех  элементарных проверок каждый раз фиксировалось совпадение ФР и эталона, то после завершения последней элементарной проверки выдается информация об исправной работе ИМС в виде засветки, например, зеленого светодиода.

С учетом вышеизложенного алгоритм проверки ИМС имеет циклическую структуру -цикл с параметром, в котором значение параметра цикла определяется количеством необходимых ЭП. Тело цикла включает выполнение следующих действий:

·  Прием фактической реакции

·  Сравнение ФР и эталона с последующим ветвлением

·  Формирование следующего ТС (может быть совмещено с выводом)

·  Формирование (при необходимости) эталона для следующего ТС.

Особо отметим следующий момент. Объект проверки – ИМС – может содержать несколько одинаковых элементов. В этом случае необходимо обеспечить формирование информации о неисправной работе каждого элемента. С этой целью после обнаружения несовпадения ФР и эталона необходимо зафиксировать элемент, при проверке которого обнаружилось несовпадение, и не прекращать процесс проверки, а перейти к проверке следующего элемента, если данный элемент не последний. Например, если ИМС содержит 3 одинаковых элемента, необходимо в схеме МКС и программе проверки предусмотреть использование 4-х светодиодов: RED1, RED2, RED3 и GREEN.

6.2 Особенности организации проверки для конкретной ИМС.

Анализ схемы дешифратора показывает, что полная проверка ДШ должна быть выполнена как по информационным, так и по управляющим входам.

Проверка по информационным входам осуществляется путем перебора сигналов на этих входах. Алгоритм перебора имеет структуру -цикл с параметром, в котором значение параметра цикла равно 8.

Для полной проверки ИМС по управляющим входам необходимо выполнить перебор 4 раза: три раза для проверки ДШ в запрещенном состоянии (Е1 = 0,  =  = 1) и один раз для проверки ДШ в разрешенном состоянии (Е1 = 100). В каждом из трех первых случаев надо убедиться в наличии неактивных сигналов на всех выходах ДШ при любом наборе сигналов на входах ИМС; в последнем случае необходимо зафиксировать наличие «бегущего 0» на выходах ДШ (в соответствии с таблицей истинности, см. табл. 3).

7.  Разработка схемы алгоритма проверки ИМС.

Алгоритм проверки ИМС осуществляет задание начальных условий для очередного перебора (начальное ТС, начальный эталон) и переход к перебору тестовых слов, который реализуется в виде вспомогательного алгоритма PTS.

7.1.  Схема алгоритма перебора PTS


7.2. Схема алгоритма проверки ИМС.

8. Разработка  программы. проверки ИМС.

8.1. Текст основной программы проверки ИМС

;         Определение регистров

          test_slovo    :         equ    30h                                

          fakt_reakc   :         equ    31h                                

          etalon          :         equ    32h                                

          par_c           :         equ    33h

;         Определение портов

; Порт Р0 используется для вывода ТС из МК на входы ИМС

; Порт Р1 используется для ввода в МК слов

; фактической реакции с выходов ИМС

; Порт Р2 – вывод сигналов засветки на светодиоды

START:       MOV P1, #0FFh             ; Настроить порт Р1 на ввод

                    MOV test_slovo, #00h      ; Начальное ТС для I запрещ. комб. по управ. вх. (Е1 = 0)

                    MOV etalon, #0FFh                  ; Начальное значение эталона

                    ACALL  PTS

                    MOV test_slovo, #10h    ; Начальное ТС для II запрещ. комб. ( = 0)

                    ACALL  PTS

                    MOV test_slovo, #8h      ; Начальное ТС для III запрещ. комб. ( = 0)

                    ACALL  PTS

                    MOV test_slovo, #20h    ; Нач. ТС для разреш. комбинации

                    MOV etalon, #0FFh                  ; Начальное значение эталона

                    ACALL  PTS

NO_ERR:    MOV P2, #2h

                    SETB PCON.1                ; Переход в режим сниженного энергопотребления

ERROR:      MOV P2, #1h

                    SETB PCON.1

Формат ФР (ЭТ)

7

6

5

4

3

2

1

0

 

8.2.  Текст подпрограммы перебора тестовых слов PTS.

PTS:  mov   par_c, #8     ; Установить параметр цикла

m1:    mov   R5, P1                   ; Ввод фактической реакции

          mov   a, etalon       ; etalon → a

          xrl      R5, a            ; R5  a → R5

          jnz     ERROR       ; Ф.Р. ≠ ЭТ, если да – выход на проверки с засветкой красного светодиода

          inc     P0                ; Формирование нового ТС

          JNB   P0.5, m2      ; Если запрет по одному

          JNB   P0.4, m2      ; из управляющих входов

JNB   P0.3, m2      ; то не изменять эталон

rl        a                  ; Е1 = 100

mov   etalon, a       ; изменить эталон

m2:    DJNZ          par_c, m1    ; Е1 ≠ 100, не изменять эталон

          RET

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

Тело цикла включает:

- прием ФР на очередное ТС;

- сравнение ФР с эталоном с последующим ветвлением, а именно, если ФР равно эталону, переход к следующему действию в теле цикла, в противном случае выход из процесса проверки;

- формирование следующего ТС;

- формирование (по необходимости) эталона для следующего ТС.

Рассмотрим реализацию последнего раздела 8 в случае использования других МК.

МК PIC16C73 фирмыMICROCHIP

Пусть через порт PORTD на входы ИМС поступают ТС,  через порт PORTB МК принимает слова ФР,  PORTC связан с светодиодами.

Init              ; Настройка портов

                    Bsf     STATUS,RPO ;

                    Movlw                  ‘11000000’b

                    Movwf                  TRISD