Обобщенная блок-схема алгоритма работы тестера ИМС (блок-схема алгоритма работы тестера). Разработка детальной блок-схемы алгоритма тестирования ИМС, страница 8

Выбираем транзистор VT7 типа КТ361Г с параметрами:

Iк max=50 мА;

Uкэ max= 35 мА;

Uкэ нас = 0,2 В;

Pк max = 150 мВт;

β= 110.

 
 


Максимально необходимый ток базы VT1:

 мА.


Рис. 6.  Принципиальная схема тестера цифровых ИМС


Отпиранием электрического ключа управляет низкий уровень (логический 0) на выводе Р3.2. Используя справочные данные [2] на микроконтроллер К1816ВЕ751, проверяем возможность управления транзистором VT1 от МК:

I0вых Р3imax =1,6 мА> Iб VT1min

Задаваясь током управления I0вых Р3i=1 мА (с целью надежного насыщения транзистора), рассчитаем номинал токоограничительного резистора R10:

Ом.

Выбираем номинал R10 равным 4,3 кОм. Номинал резистора R11, служащего для более надежного отпирания и запирания транзистора VT1, выбираем равным также 4,3 кОм.

3.5. Разработка программы работы микроконтроллера

3.5.1. Разработка детальной блок-схемы алгоритма работы тестера

Детальная БСА работы тестера приведена на рис.7. В ней используется подпрограмма временной задержки с именем DELAY длительностью 20 мс для устранения влияния дребезга контактов управляющих кнопок SB1 и SB2. После отжатия кнопки SB1 («ТЕСТ») выполняется ввод номера N тестируемой ИМС со входов порта P0. Затем происходит переход на подпрограмму тестирования ИМС, соответствующую заданному номеру. В качестве результата тестирования ИМС в программе используется флаг общего назначения F0, который находится в 5-м разряде регистра слова состояния программы PSW [2]. Этот флаг может быть установлен, сброшен и проверен командами МК. Если результат тестирования положительный, то флаг F0 устанавливается в 1, если же результат отрицательный, то флаг сбрасывается в 0. Флаг F0 является выходным параметром подпрограммы тестирования ИМС, который передается в основную программу работы МК. На основании его значений производится вывод результатов тестирования включением индикаторов «НОРМА» или «БРАК».

Детальная БСА подпрограммы тестирования ИМС К155ЛА1 с именем TEST01 изображена на рис.8. Она разработана на основании таблицы состояний ИМС, приведенной в табл. 4. В начале работы подается питание на тестируемую ИМС выводом низкого уровня на линию порта P3.2, при этом включается ключ на транзисторе VT1. После временной задержки 20 мс, вносимой подпрограммой DELAY, начинается процесс тестирования ИМС согласно табл. 4. Первые 15 состояний входных сигналов и соответствующих выходных проверяются в цикле. В качестве счетчика циклов используется регистр R2. Затем проверяется последнее состояние из табл. 4, когда на всех входах ИМС присутствуют логические 1. Если в результате тестирования состояния выходов Q1 и Q2 ИМС будут соответствовать данным из табл.4, то программа установит флаг F0. Если же хотя бы одно из состояний будет неправильным, то флаг F0 останется сброшенным. В конце подпрограммы производится отключение питания ИМС.

3.5.2. Расчет длительности временный задержки

Временная задержка используется в программе работы прибора после подачи питания на тестируемую ИМС, а также для устранения влияния дребезга контактов при срабатывании управляющих кнопок. Примем, что требуемое время задержки составляет 20 мс. Временная задержка реализуется программой DELAY, которая вызывается командой CALL DELAY. В программе используется 2 вложенных цикла:

DELAY:  MOV  R6, # EXTR

LOOP2:   MOV  R7, # INTR

LOOP1:   DJNZ  R7, LOOP1 ;  внутренний цикл

DJNZ  R6, LOOP2 ;  внешний цикл

RET

В описании команд МК51 [2, 4] указывается, за сколько машинных циклов (МЦ) выполняется каждая команда: MOV – 2МЦ, DJNZ – 2МЦ,  RET – 2МЦ, CALL  – 2МЦ.

Время машинного цикла Тмц связано с тактовой частотой  fCLK  работы МК соотношением:

Тмц = = .

При  fCLK = fZQ = 4 МГц  имеем:

Тмц =  = 3 мкс.