Урок 3. ПУСК и смена
Пока линия запускается сама, как только включили питание, и выпускает детали без конца. Для опыта нужно другое: смена — одинаковое число деталей на входе, запуск по команде и остановка сама собой. В этом уроке появятся тумблер ПУСК и две микросхемы, которые решают, пропустить ли очередной импульс генератора к источнику.
3.1. Идея: когда выпускать деталь
Источник выпускает деталь по фронту RELEASE. Сейчас туда идёт генератор CK напрямую. Нам нужно, чтобы импульс проходил, только когда:
- тумблер ПУСК включён —
RUN = 1; - смена ещё не кончилась — выпущено меньше 128.
Это «И» трёх условий: такт, ПУСК и «не конец смены».
3.2. Идея: конец смены — один бит
Почему 128, а не 100? Потому что 128 в двоичном виде — 1000 0000: это первое число, у которого загорается старший бит R7 счётчика «выпущено». Пока выпущено 0…127, R7 = 0; как только стало 128 — R7 = 1. Значит, «смена ещё идёт» — это просто НЕ R7. Ни сравнений, ни лишних микросхем: конец смены нам сообщает сам счётчик.
3.3. Формула
| CK | RUN | R7 | REL |
|---|---|---|---|
| такт | 0 | — | 0 — стоим |
| такт | 1 | 0 | такт — идём |
| такт | 1 | 1 | 0 — смена |
NDONE = НЕ R7— одна инверсия на CD4069;CKR = CK И RUN— первый вентиль И на CD4081;REL = CKR И NDONE— второй вентиль И той же CD4081.
Источник теперь слушает REL, а не голый CK: в уроке нога RELEASE перецепляется на новую метку.
3.4. Идея: что внутри у CD4069 и CD4081
У CD4069 шесть инверторов: вход A → выход G, B → H и так далее. Нам нужен один: A = R7, G = NDONE. Свободные входы B…F — на GND: у КМОП-микросхемы вход нельзя оставлять «в воздухе».
У CD4081 четыре вентиля И: A, B → J; C, D → K; E, F → L; G, H → M. Два первых соединены цепочкой: выход J (CKR) идёт на вход C. Свободные E…H — на GND.
3.5. Сборка
Вставь урок через Cmd+I поверх урока 2 (текст — в конце урока). Появятся:
- на площадке — тумблер ПУСК (метка
RUN); - снаружи — CD4069 и CD4081;
- нога
RELEASEисточника перецепится сCKнаREL.
3.6. Проверка
- Выключи и включи питание: ленты пустые, станки пустые, линия стоит.
- Нажми R — оба табло 0.
- Включи ПУСК — пошла смена: детали выходят раз в секунду.
- Через 128 секунд левое табло встанет на 128, выпуск остановится сам.
- Линия доработает то, что внутри, и правое табло тоже дойдёт до 128.
| Что смотришь | Что видно |
|---|---|
| ПУСК выключен | генератор идёт, детали не выходят |
| левое табло | встаёт на 128 и больше не растёт |
| правое табло | догоняет до 128 |
| источник и сток | по 128 |
Вставка урока 3 (Cmd+I)
# Lesson 3 — START and the shift. Release = CK · RUN · NOT(R7): the switch starts it, and when "released"# reaches 128 its top bit R7 becomes 1 and closes the gate — the shift is over by itself.# Insert on top of lesson 2. The source now listens to REL instead of the bare clock.input run(RUN)at(run, B, 40, 300)"TI CD4069UB"(A=R7, G=NDONE, B=GND, C=GND, D=GND, E=GND, F=GND)"TI CD4081B"(A=CK, B=RUN, J=CKR, C=CKR, D=NDONE, K=REL, E=GND, F=GND, G=GND, H=GND)reconnect(src.RELEASE = REL)Не получается? Что-то не работает →