Thyratron 시프트 레지스터. 시프트 레지스터를 사용합니다. SHCP – 클록 입력

1. 목차

2. 소개 ............................................................................................................ 2

3. 문헌 출처 검토 ............................................ 3

3.1. 일반 정보레지스터에 대하여.................................. 3

3.2. 트리거에 대한 일반 정보 .............................. 6

3.3. 시프트 레지스터 .......................................... 12

3.4. 범용 레지스터............................................ 20

4. 시프트 레지스터 회로의 개발 … 24

4.1. 초기 데이터 .......................................................... 24

4.2. 시프트 레지스터 개발 절차 .............................. 24

4.3. 4상 쉬프트 레지스터 개발.................. 25

5. 결론……………………………………………………………. 27

6. 참고문헌 목록 .............................. 28


2. 소개

레지스터– 디지털 장치의 가장 일반적인 구성 요소입니다. 이는 단어를 구성하는 많은 관련 변수에 대해 작동합니다. 워드에서 수신, 발행, 저장, 비트 그리드에서 이동, 비트 단위 등 다양한 작업이 수행됩니다. 논리 연산.

시프트(순차) 레지스터는 시프트에 사용됩니다. N-한 방향의 비트 수. 또한 숫자가 아닌 정보를 이동하는 데 사용할 수도 있습니다.

시프트 레지스터는 저장 장치, 직렬 코드를 병렬로 변환하는 변환기, 지연 장치 및 펄스 카운터로 사용됩니다(그러나 시프트 레지스터를 카운터로 사용하는 것은 매우 비경제적입니다).

3. 문헌 출처 검토

3.1. 레지스터에 대한 일반 정보

레지스터는 플립플롭과 대부분 논리 요소를 포함하는 비트 회로로 구성됩니다. 그들은 단일 단위로 작동합니다.

가변 전송선의 수에 따라 레지스터는 단상(single-phase)과 파라위상(paraphase)으로 구분되며, 동기화 시스템에 따라 단일 주기, 푸시-풀 및 다중 주기로 구분됩니다. 그러나 주요 분류 기능은 데이터를 수신하고 발급하는 방법입니다. 이를 바탕으로 그들은 구별한다. 병렬(정적)레지스터, 순차(이동)그리고 병렬 직렬 .

병렬 레지스터에서는 워드가 모든 비트에서 동시에 수신되고 출력됩니다. 비트별 논리적 변환이 적용될 수 있는 단어를 저장합니다.

순차 레지스터에서는 워드가 수신되어 자리 단위로 출력됩니다. 단어를 입력하고 출력할 때 타이밍 신호가 비트 그리드에서 단어를 이동시키기 때문에 이를 이동이라고 합니다. 시프트 레지스터는 비가역적(단방향 시프트 사용) 또는 가역적(양방향 시프트 가능)일 수 있습니다.

직렬-병렬 레지스터에는 직렬 및 병렬 유형의 입력과 출력이 모두 있습니다. 직렬 입력 및 병렬 출력(SIPO, 직렬 입력 - 병렬 출력), 병렬 입력 및 직렬 출력(PISO, 병렬 입력 - 직렬 출력) 옵션뿐만 아니라 수신 및 발행 방법을 조합할 수 있는 옵션도 있습니다. 단어.

병렬(정적) 레지스터에서는 비트 회로가 서로 통신하지 않습니다. 비트에 공통되는 것은 대개 클록 회로, 재설정/설정 회로, 출력 또는 수신 허가, 즉 제어 회로입니다. 리셋 입력 R과 EZ 신호에 의해 제어되는 세 번째 상태 출력을 갖는 직접 동적 입력을 갖춘 D형 플립플롭에 구축된 정적 레지스터의 회로 예는 다음과 같습니다. 그림 1 .

그림 1.정적 레지스터 다이어그램(a) 및 기존 그래픽 지정(b)

현대 회로 기술은 주로 동적 제어 기능을 갖춘 D형 플립플롭에 레지스터를 구성하는 것이 특징입니다. 많은 경우 세 번째 상태의 출력이 있습니다. 일부 레지스터는 버퍼 레지스터로 분류됩니다. 즉, 큰 용량성 및/또는 낮은 저항에서 작동하도록 설계되었습니다. 활성 부하. 이는 추가 인터페이스 회로 없이 고속도로에서 직접 작동을 보장합니다.

정적 레지스터는 레지스터 메모리 블록, 즉 레지스터 파일을 생성하는 데 사용됩니다.

레지스터의 주요 기능:

1) 데이터 저장고,

2) 정보수신,

3) 발급정보,

4) 정보 이동,

5) 코드 변환,

6) 원하는 숫자를 0 또는 1로 설정하고,

7) 비트 논리 연산: 분리, 결합, 모듈로 덧셈 2.

3.2. 트리거 이해

트리거 –큰 수업 전기 장치, 오랫동안 두 개 이상의 안정적인 상태 중 하나를 유지하고 외부 신호의 영향으로 번갈아 가며 재생 프로세스(전환 프로세스의 결과)를 허용합니다. 전기 회로, PIC에서 다룹니다)).

트리거는 메모리(메모리 요소 – 래치)가 있는 펄스 논리 장치입니다.

12개 이상의 서로 다른 통합 트리거가 있습니다. 분류는 다음을 기준으로 합니다.

기능적 징후

트리거에 정보를 쓰는 방법입니다.

기능적 특성에 따라 T 트리거, JK 트리거, RS 트리거, D 트리거, 결합 트리거(TV, DV, E, R) 등이 있습니다.

정보를 기록(수신)하는 방법에 따라 다음과 같이 구분됩니다.

8) 비동기식 트리거:

a) 내부 지연이 있는 경우

b) 입력 펄스 레벨에 의해 제어됩니다.

9) 동기식 트리거(클럭):

a) 내부 지연이 있는 경우

b) 타이밍 펄스 레벨에 의해 제어됩니다.

단일 사이클 동작(단일 단계);

다중 작업.

활성화된 클럭 펄스가 적용될 때만 정보가 클럭 트리거에 기록됩니다. 이러한 트리거는 타이밍 펄스의 레벨 제어(작동에 특정 신호 레벨이 필요함)와 에지 제어(신호 레벨에 의존하지 않고 그 존재가 중요함)로 구분됩니다. 클록 펄스는 때때로 동기화, 실행 또는 명령 신호라고도 합니다(일반적으로 다이어그램에서 문자 C-클럭으로 표시됨).

동적 입력은 직접적이거나 역적일 수 있습니다. 직접 동적 제어를 통해 클록 신호가 0에서 1로 변경될 때 전환할 수 있습니다(). 역동적 제어 - 클럭 신호를 1에서 0으로 변경합니다().

타이밍 펄스 에지 제어:

타이밍 펄스 감쇠 제어:

타이밍 펄스의 상위 레벨 제어:

타이밍 펄스의 하위 레벨 제어:

내부 지연이 있는 클록 트리거(신호가 끝날 때 트리거됨)는 일반적으로 단일 종단형입니다. 다중 주기 트리거는 다음 이후에 실행됩니다. N-충동 없음.

RS 트리거에는 S(설정)와 R(재설정)의 두 가지 정보 입력이 있습니다. S 신호와 R 신호의 동시 적용은 허용되지 않습니다. ~에 그림 2타이밍 신호의 에지에 의해 트리거되는 동기식 RS 트리거를 보여줍니다.

그림 2.동기식 RS 트리거

입력 외에도 가장 간단한 RS 트리거에는 두 개의 출력도 있습니다. 출력은 다음을 나타냅니다. 그리고 . 출구 직접, a-역이라고합니다. 두 출력의 전압 레벨은 서로 반대입니다. = 1이면 = 0, 또는 = 0, 그 다음 = 1. 또한 트리거의 상태가 = 1, a = 0을 단위라고 합니다. 트리거가 0일 때 = 0 및 = 1. 신호가 트리거 입력에 도달하면 상태에 따라 전환이 발생하거나 원래 상태가 유지됩니다.

그림 3. -트리거: 기존 그래픽 지정 및 두 개의 논리 요소 AND-NOT이 있는 회로

~에 그림 3가장 간단한 트리거가 표시됩니다. 여기서는 2개의 NAND 게이트만 사용됩니다. 입력의 목적: - 트리거를 단일 상태로 설정하고 - 0 상태로 되돌립니다. 입력 명칭 위의 대시는 높은 수준의 입력 전압이 낮은 수준의 전압으로 대체될 때 플립플롭이 전환된다는 것을 나타냅니다( 그림 4). 입력에서 신호가 수신되지 않으면 플립플롭이 상태를 유지한다는 것을 쉽게 알 수 있습니다. 예를 들어, = 1 및 = 0, 즉 트리거는 단일 상태에 있으므로 DD1의 출력은 DD2의 입력 중 하나에 연결되고 DD2의 출력은 DD1의 입력 중 하나에 연결되므로 전압은 DD2의 두 입력에 적용됨

그림 4.동작 타이밍 다이어그램 - 방아쇠

높음 및 출력 - 낮음(= 0) 레벨. 동시에 DD1의 입력 중 하나에서는 전압이 낮고 출력에서는 높습니다. 표시된 극성의 신호가 이제 입력에 도달하면(순간 t1 , 그림 4), 두 번째 입력 DD1에 신호가 도착하면 입력의 신호 조합 만 일시적으로 변경되기 때문에 트리거 상태는 변경되지 않습니다 (신호가 전송되기 전에는 1과 0 이었지만 0과 0), 그러나 DD1의 출력 상태는 변경되지 않습니다. 그러나 신호가 입력에 도달하는 경우(순간 t2), DD2의 두 입력 모두 이미 서로 다른 레벨의 전압을 갖습니다. 논리 요소변화하고 출력은 높은 레벨의 전압을 갖게 됩니다. DD1의 두 입력 모두 높은 레벨의 전압을 갖고 출력의 낮은 전압을 갖습니다. 즉, 트리거가 "전복"되어 다른 상태로 전환됩니다. = 0 및 = 1.

위에서부터 트리거 상태의 변화는 입력과 에서 저레벨 신호가 교대로 발생하는 경우에만 발생합니다. 또한 이러한 신호가 두 입력 모두에 동시에 도착하면 종료 후 트리거 상태가 정의되지 않습니다(상태 = 0 또는 = 1 확률 동일). 따라서 두 입력 모두에서 동시 저레벨 신호가 허용되지 않습니다.

트리거의 작동은 상태 테이블(인덱스 N그리고 n+1신호가 특정 순간에 속함을 나타냄 테네시그리고 그 다음은 tn+1):

불확실한 상태

트리거의 두 입력 모두에 저레벨 전압을 동시에 공급하는 것은 허용되지 않습니다.

플립플롭과 같은 RS 유형 트리거는 두 입력(R 또는 S) 중 마지막 신호를 수신한 것을 "기억"합니다. 입력이 R인 경우 트리거는 0 상태에 있습니다( = 0 및 = 1), 입력이 S이면 단일 상태( = 1 및 = 0).

그림 5. RS - 트리거: 4개의 논리 요소 AND-NOT가 있는 기존 그래픽 지정 및 회로

~에 그림 5 NAND 논리 요소로 만들어진 RS 플립플롭의 다이어그램을 보여줍니다. 인버터(DD3 및 DD4)가 각 입력에 추가되어 필요한 수준의 입력 신호만 제공한다는 점에서 플립플롭 회로와 다릅니다.

입력 신호를 낮음에서 높음으로 변경하면 트리거 상태가 변경됩니다(순간 t1, t2, t2 및 t5; 그 순간에 t4이전 순간에 트리거가 이미 단일 상태로 설정되었으므로 롤오버가 발생하지 않습니다. -t3, 그림 6).

그림 6. RS 동작의 타이밍 다이어그램 - 방아쇠

RS 트리거에 관해 언급된 모든 내용은 -trigger에도 적용됩니다. 유일한 차이점은 입력 신호 레벨의 반전과 관련이 있습니다( 대신 R 및 S 대신).

RS 플립플롭의 동작은 다음과 같은 상태표로 특징지어집니다:

불확실한 상태

3.3. 시프트 레지스터

트리거 시프트 레지스터단일 장치처럼 작동하는 특정 연결을 사용하여 트리거 세트를 호출합니다. 순차(시프트) 레지스터는 캐리 회로로 연결된 비트 회로 체인입니다.

단일 사이클 레지스터에서는 오른쪽으로 1비트 이동합니다( 그림 7) 동기화 신호가 도착하면 단어가 이동됩니다. 입력과 출력은 직렬입니다(DSR – Data Serial Right). ~에 그림 8왼쪽으로 시프트된 레지스터 회로(DSL 데이터 입력 - 데이터 직렬 왼쪽)를 보여줍니다. 그림 9가역 레지스터를 구성하는 원리를 보여줍니다. 플립플롭과 인접한 두 비트 사이에는 연결이 있지만 해당 신호는 이러한 연결 중 하나만 작동하도록 허용합니다(명령 "왼쪽"과 "오른쪽"은 동시에 제공되지 않음). .

그림 7.오른쪽 시프트 레지스터 회로

그림 8 . 왼쪽 시프트 레지스터 회로

그림 9 . 반전 레지스터 회로

동기화 요구 사항에 따라 비트 간 연결에 논리 요소가 없는 시프트 레지스터에서는 1단 레벨 제어 플립플롭을 사용할 수 없습니다. 일부 플립플롭은 활성화 레벨의 동작 중에 반복적으로 전환할 수 있기 때문입니다. 허용되지 않는 클럭 신호입니다. 이러한 방식에서는 동적 제어(2단계)가 있는 트리거를 사용해야 합니다.

비트 간 연결에서 논리 요소와 단위 깊이가 아닌 논리 회로의 출현은 레지스터의 작동 조건 충족을 단순화하고 이러한 회로에 적합한 플립 플롭 유형의 범위를 확장합니다.

다중 사이클 시프트 레지스터는 여러 클록 시퀀스에 의해 제어됩니다. 이들 중 가장 유명한 것은 레벨에 의해 제어되는 간단한 단일 스테이지 트리거를 기반으로 구축된 메인 및 추가 레지스터가 있는 푸시풀 레지스터입니다. 클록 C1에서는 메인 레지스터의 내용이 추가 레지스터에 다시 쓰여지고, 클록 C2에서는 메인 레지스터로 돌아가지만 워드 시프트에 해당하는 인접 비트로 돌아갑니다. 장비 비용과 성능 측면에서 이 옵션은 2단계 플립플롭을 갖춘 단일 사이클 레지스터에 가깝습니다.

시프트 레지스터에는 플립플롭 사이에 특정 연결이 있는 일련의 플립플롭이 포함되어 있으며 이러한 연결의 구성은 모든 플립플롭에 공통된 클럭 펄스가 적용될 때 각 플립플롭의 출력 상태가 이웃. 연결 구성에 따라 이러한 이동은 왼쪽이나 오른쪽으로 발생할 수 있습니다.

왼쪽으로 이동

오른쪽으로 이동

등록부에 정보를 입력할 수 있습니다. 다른 방법들그러나 병렬 또는 직렬 입력이 가장 자주 사용되며 이진수는 레지스터의 모든 비트에 동시에 입력되거나 개별 비트에 시간이 지남에 따라 순차적으로 입력됩니다. 펄스 카운터에서는 정보를 순차적으로 입력 및 출력하고 오른쪽으로 이동하는 시프트 레지스터가 사용됩니다. ~에 그림 10 RS 플립플롭에 만들어진 4비트 시프트 레지스터의 다이어그램이 표시됩니다. 이 방식에서는 각 출력이 트리거는 후속 방전의 S 입력에 연결되고 각 출력은 R 입력에 연결되며 모든 플립 플롭의 클록 입력은 함께 연결되고 AND-NOT을 통해 하나의 공통 펄스로 동기화 신호가 수신됩니다. 논리 요소(DD7). 첫 번째 트리거의 상태는 AND-NOT 논리 요소(DD5)의 입력 X1, X2의 입력 신호에 의해 결정됩니다. 현재 정보는 입력 X1에 제공되고 신호는 입력 X2에 전송할 수 있습니다. NOT 게이트(DD6)는 S 입력에 적용되는 입력 신호를 반전시키는 데 사용됩니다.

~에 그림 10b플립플롭의 출력 신호 타이밍 다이어그램과 첫 번째 숫자에 단일 신호를 쓸 때 레지스터의 상태가 표시됩니다. 첫 번째 클록 펄스 도착 시 신호 X1 = X2 = 1이 입력 X1 및 X2에 설정되고 두 번째 클록 펄스 도착 시 제거되면 결과적으로 신호가 입력 X1 및 X2에 기록됩니다. 첫 번째 트리거 1 = 1. 두 번째 클럭 펄스가 도착하면 신호가 첫 번째 트리거에 기록됩니다. 1 = 0, 두 번째 트리거의 출력에 신호가 나타납니다. 2 = 1, 이전에는 두 번째 트리거의 출력이었습니다. 후속 클록 펄스가 도착하면 단일 신호가 세 번째 및 네 번째 플립플롭으로 순차적으로 이동한 후 모든 플립플롭이 0 상태로 설정됩니다.

ㅏ)

N

질문 1

Q 2

질문 3

Q 4

그림 10 . 4상 시프트 레지스터 다이어그램(a), 신호의 타이밍 다이어그램 및 첫 번째 숫자에 단일 신호를 쓸 때 레지스터 상태(b)

시프트 레지스터는 D 플립플롭이나 JK 플립플롭을 사용하여 구현할 수도 있습니다. 모든 시프트 레지스터에는 다음 조항이 있습니다.

1) 초기 상태를 미리 설정하고 첫 번째 트리거에 장치를 입력해야 합니다.

2) 등록을 위해 N입학 후 발동 N입력 클럭 펄스, 처음에 입력된 단위가 출력되고 그 결과 모든 레지스터의 직접 출력이 0 상태가 됩니다.

통합 시프트 레지스터 칩은 가역적입니다. 즉, 왼쪽이나 오른쪽 어느 방향으로든 시프트를 수행합니다. 이동 방향은 제어 신호의 값에 따라 결정됩니다.

그림 11. 단일 종단 RS 플립플롭에서 시프트 레지스터 구현

직렬 시프트 레지스터에는 두 가지 단점이 있습니다. 즉, 각 클럭 펄스에 1비트의 정보만 입력할 수 있으며, 또한 레지스터의 정보가 오른쪽으로 시프트될 때마다 가장 오른쪽의 정보 비트가 손실됩니다. ~에 그림 12 4비트 정보를 동시에 병렬 로딩할 수 있는 시스템을 보여줍니다.

그림 12. 구조적 계획 4비트 병렬 레지스터

이 장치의 입력 1, 2, 3, 4는 정보 입력입니다. 이 시스템에는 장치 출력의 데이터가 입력으로 반환되고 손실되지 않을 때 정보의 순환 이동 가능성이라는 또 다른 유용한 특성이 장착될 수 있습니다.

그림 13. 4비트 병렬 링 레지스터의 논리 회로

4비트 병렬 링 시프트 레지스터의 회로는 다음과 같습니다. 그림 13. 이 시프트 레지스터는 4개의 JK 플립플롭을 사용합니다. 체인 덕분에 피드백일반적으로 네 번째 플립플롭의 출력에서 ​​손실되는 레지스터에 입력된 정보는 시프트 레지스터를 통해 순환됩니다. 레지스터를 지우는 신호(해당 출력을 상태 0000으로 설정)는 CLR 입력의 논리 레벨 0입니다. 병렬 데이터 로드 입력 1, 2, 3, 4는 트리거 사전 설정(PS) 입력에 연결되어 논리 1을 모든 출력(1, 2, 3, 4)에 설정할 수 있습니다. 이러한 입력 중 하나에 논리 0이 잠깐이라도 적용되면 해당 출력에 논리 1이 설정됩니다. 모든 JK 플립플롭의 C 입력에 클록 펄스를 적용하면 레지스터의 정보가 다음으로 이동됩니다. 오른쪽. 네 번째 트리거에서 데이터가 첫 번째 트리거로 전송됩니다(정보의 순환 이동).

1 번 테이블.


윤곽

입력

출구

시계 번호

병렬 시프트 레지스터의 작동 원리는 다음과 같습니다. 1 번 테이블. 전원이 켜지면 표의 라인 1과 같이 레지스터 출력에서 ​​임의의 이진 조합을 설정할 수 있습니다. CLR 플립플롭의 입력에 논리 0을 적용하면 레지스터 지우기가 시작됩니다(라인 2). 다음(라인 3) 이진 조합 0100이 레지스터에 로드됩니다. 연속적인 클럭 펄스로 인해 입력된 정보가 오른쪽으로 이동합니다(라인 4 - 8). 5행과 6행: 가장 오른쪽 플립플롭의 것(네 번째)이 가장 왼쪽 플립플롭(첫 번째)으로 전송됩니다. 이 경우 레지스터에 있는 단위의 원형 이동에 대해 이야기할 수 있습니다. 다음(라인 9)에서는 CLR 입력을 사용하여 레지스터 지우기가 다시 시작됩니다. 새로운 이진 조합 0110이 로드됩니다(라인 10). 5개의 클록 펄스(라인 11-15)를 적용하면 정보가 오른쪽으로 5개 위치 순환 이동합니다. 데이터를 원래 상태로 되돌리려면 4개의 클럭 펄스가 필요합니다.

시프트 레지스터가 다음과 같은 경우 그림 13피드백 루프를 끊으면 일반적인 병렬 시프트 레지스터가 생성됩니다. 정보의 순환 이동 가능성은 제외됩니다.


그림 14. RS 플립플롭의 3사이클 시프트 레지스터


3.4. 범용 레지스터

종종 기존의 직렬 또는 병렬 레지스터 대신 정보의 병렬 동기 기록, 가역성, 병렬 동기 기록을 통한 가역성 등 더 복잡한 시프트 레지스터를 사용해야 합니다. 이러한 레지스터를 호출합니다. 만능인 .

일련의 마이크로 작업을 수행할 수 있는 다중 모드(다기능) 또는 범용 IC 레지스터 시리즈가 많이 있습니다. 다중 모드는 다양한 작업을 수행하는 데 필요한 부품을 동일한 구성으로 구성하여 달성됩니다. 수행되는 작업 유형을 지정하는 제어 신호 주어진 시간작업은 이에 필요한 회로 부분을 활성화합니다.

그림 15.범용 시프트 레지스터: a – K155IR13, b – K500IR141, c – KM155IR1

~에 그림 15 K155, KM155 및 K500 시리즈의 범용 시프트 레지스터의 세 가지 일반적인 대표자가 표시됩니다.

칩 IR13( 그림 15a)는 허용 가능한 클록 주파수가 최대 25MHz이고 전류 소비가 최대 40mA인 8비트 가역 시프트 레지스터입니다. 여기에는 병렬 입력 및 출력, 비동기식 재설정 입력, 클록 펄스 차동 C를 기반으로 하는 DSL(왼쪽 시프트) 및 DSR(오른쪽 시프트) 입력, 모드 선택 입력 S0 및 S1이 있습니다. S0 = 0, S1 = 1이면 정보가 오른쪽으로 이동하고, S0 = 1, S1 = 0이면 왼쪽으로 이동하고, S0 = S1 = 1이면 정보가 레지스터에 기록됩니다.

칩 IR141 ( 그림 15b)는 이미터 결합 로직을 기반으로 구축된 범용 4비트 시프트 레지스터입니다. 클록 주파수– 최대 150MHz. 전류 소비량은 최소 120mA입니다. S0 = 0, S1 = 1이면 정보가 오른쪽으로 이동하고, S0 = 1, S1 = 0이면 왼쪽으로, S0 = S1 = 1이면 숫자를 저장하고, S0 = S1 = 0이면 설정합니다. 수.

IR1 마이크로 회로( 그림 15)는 RS 플립플롭에 대한 정보를 동기식으로 기록하는 시프트 레지스터입니다. 입력 1 – 4는 정보의 병렬 기록을 위한 것이고, 입력 D는 순차 기록을 위한 것입니다. 입력 V - 제어. V = 0일 때 회로는 C1 신호의 네거티브 에지(1에서 0까지)를 기반으로 시프트 레지스터로 작동하고, V = 1일 때 회로는 입력 신호 1의 레지스터에 동기 쓰기 모드로 작동합니다. – 4는 C2 신호의 네거티브 에지를 기준으로 합니다.

다양한 유형의 입력 및 출력을 갖는 레지스터는 병렬 코드를 직렬 코드로 또는 그 반대로 변환하는 주요 블록 역할을 합니다. ~에 그림 16그림 1은 SI/PO/SO 유형의 8비트 레지스터를 기반으로 하는 병렬-직렬 코드 변환기의 회로를 보여줍니다. 이 회로에서는 요소 1의 상위 입력에서 논리 0의 레벨을 설정하는 음의 시작 펄스 St가 입력 L(Load)에서 단일 병렬 데이터 수신 신호를 생성하고, 이를 통해 변환된 워드가 비트 1~1로 로드됩니다. 레지스터의 7, 비트 0 – 상수 0. 상수 1이 DSR의 직렬 입력에 적용됩니다. 따라서 로딩 후 워드가 레지스터에 형성됩니다. 입력 C에 도달하는 클록 펄스는 워드를 오른쪽으로 이동시킵니다. Shift는 Q7의 출력을 통해 워드를 직렬 형식으로 출력합니다. 정보 비트 다음에는 0이 있고 그 뒤에는 1의 체인이 옵니다. 레지스터에서 0이 제거되지 않는 동안 단일 신호는 요소 2의 출력에서 ​​작동합니다. 0이 출력된 후 요소 2의 모든 입력은 단일이 되고 출력은 0이 되어 요소 1을 통해 신호를 생성합니다. 자동 다운로드다음 단어가 표시된 후 변환 주기가 반복됩니다.

그림 16.직렬 변환기 회로와 병렬

최신 레지스터는 비트 논리 연산을 수행하는 데 적합하지 않지만 필요한 경우 RS 플립플롭의 레지스터를 사용하여 수행할 수 있습니다. OR 연산을 수행하기 위해 첫 번째 워드는 초기 0 상태로 정적 레지스터의 S 입력에 공급되며, 그 단위 숫자는 해당 플립플롭을 설정합니다. 그런 다음 레지스터를 재설정하지 않고 두 번째 워드가 S 출력에 제공됩니다.

첫 번째 클록 사이클에서 비트 연산 AND를 수행할 때 첫 번째 워드가 레지스터의 S 입력에 공급되어 이 워드에 1이 있는 레지스터 비트가 설정됩니다. 그런 다음 두 번째 단어를 레지스터에 적용해야 합니다. 레지스터가 두 워드 모두 단위를 갖는 비트에서만 단위를 유지하기 위해 두 번째 워드는 역 형태로 R 플립플롭의 입력에 공급됩니다.

덧셈 모듈로 2는 비트에 T형 플립플롭이 있는 회로에 시간에 따라 두 단어를 순차적으로 적용하여 수행할 수 있습니다.


4. 시프트 레지스터 회로 설계

4.1. 초기 데이터

클럭 펄스는 양극으로 설정됩니다.

4.2. 시프트 레지스터 설계 절차

a) 일반 레지스터 설계 요구 사항을 고려합니다.

b) 시프트 레지스터 개발.

c) 개발된 회로의 동작에 대한 설명.


4.3. 4상 쉬프트 레지스터 개발

RS 플립플롭을 이용한 4상 쉬프트 레지스터 개발이 필요하다. 오른쪽으로 이동하도록 하세요. 이를 위해서는 클록 펄스 에지 동기화 기능을 갖춘 4개의 동기식 RS 플립플롭과 전송 회로를 생성하기 위한 특정 수의 논리 요소가 필요합니다. 직렬 입력과 출력을 갖는 시프트 레지스터는 성능이 낮기 때문에 병렬 입력과 출력을 갖는 회로를 개발하겠습니다.

그림 17. RS 플립플롭의 오른쪽 이동 동기 레지스터 회로 개발

트리거 입력에서 신호를 반전시켜 S 및 R 입력에 동일한 레벨의 전압을 공급하는 것이 불가능하도록 합니다. 이는 S = 0, R = 1이면 출력에서 ​​0을 얻고, S = 1, R = 0이면 출력에서 ​​1을 얻는다는 의미입니다. 시프트 레지스터의 입력에서는 4개의 요소를 설치해야 합니다. 다음 진리표를 사용합니다.

네 번째 출력을 첫 번째 입력에 연결하면 링 오른쪽 이동 레지스터가 생성됩니다. 출력 Q4의 정보는 손실되지 않지만 재순환됩니다.

이러한 시프트 레지스터는 4비트이므로 입력에서 가능한 조합 수는 16개입니다. 일부 조합이 입력에 제공될 때 레지스터의 작동을 고려해 보겠습니다.

조합 번호

입구

출구

시계 번호


5. 결론

과정 프로젝트에서는 레지스터의 분류와 작동 원리를 조사했습니다. 레지스터의 주요 구성요소인 트리거의 종류와 동작원리를 고려한다. 시프트 레지스터, 특히 RS 플립플롭의 시프트 레지스터를 자세히 조사했습니다.

4개의 RS 플립플롭과 8개의 논리 요소를 기반으로 하는 오른쪽 이동 링 동기식 4비트 레지스터도 설계되었습니다. 일부 입력 조합에 대한 레지스터의 작동을 설명하는 표가 제공됩니다.


6. 사용된 참고문헌 목록

1. Pryanishnikov V.A.전자 (강의 과정). – SP, 1998

2. Skarzhepa V.A., Lutsenko A.N.전자공학과 마이크로회로(1부). – K.: 고등학교, 1989

3. Budishchev M.S.전기공학, 전자공학, 마이크로프로세서 기술. – L.: 포스터, 2001

4. Ugryumov E.P.디지털 회로. – SP, 2000

5. 현대 집적 회로 디렉토리

플립플롭 시프트 레지스터는 특정 연결이 있는 플립플롭 세트로, 단일 장치처럼 작동합니다. 순차(시프트) 레지스터는 캐리 회로로 연결된 비트 회로 체인입니다.

오른쪽으로 1비트 시프트되는 단일 사이클 레지스터(그림 7)에서는 동기화 신호가 수신될 때 워드가 시프트됩니다. 입력과 출력은 직렬입니다(DSR - Data Serial Right). 그림 8은 왼쪽으로 이동하는 레지스터 회로(DSL 데이터 입력 - 데이터 직렬 왼쪽)를 보여주고, 그림 9는 인접한 두 비트가 있는 플립플롭 사이에 연결이 있는 역방향 레지스터를 구성하는 원리를 보여줍니다. 그러나 해당 신호는 이러한 연결 중 하나만 작동하도록 허용합니다("왼쪽" 및 "오른쪽" 명령은 동시에 제공되지 않음).

그림 7. 오른쪽 시프트 레지스터 회로


그림 8. 왼쪽 시프트 레지스터 회로


그림 9. 반전 레지스터 회로

동기화 요구 사항에 따라 비트 간 연결에 논리 요소가 없는 시프트 레지스터에서는 1단 레벨 제어 플립플롭을 사용할 수 없습니다. 일부 플립플롭은 활성화 레벨의 동작 중에 반복적으로 전환할 수 있기 때문입니다. 허용되지 않는 클럭 신호입니다. 이러한 방식에서는 동적 제어(2단계)가 있는 트리거를 사용해야 합니다.

비트 간 연결에서 논리 요소와 단위 깊이가 아닌 논리 회로의 출현은 레지스터의 작동 조건 충족을 단순화하고 이러한 회로에 적합한 플립 플롭 유형의 범위를 확장합니다.

다중 사이클 시프트 레지스터는 여러 클록 시퀀스에 의해 제어됩니다. 이들 중 가장 유명한 것은 레벨에 의해 제어되는 간단한 단일 스테이지 트리거를 기반으로 구축된 메인 및 추가 레지스터가 있는 푸시풀 레지스터입니다. 클록 C1에서는 메인 레지스터의 내용이 추가 레지스터에 다시 쓰여지고, 클록 C2에서는 메인 레지스터로 돌아가지만 워드 시프트에 해당하는 인접 비트로 돌아갑니다. 장비 비용과 성능 측면에서 이 옵션은 2단계 플립플롭을 갖춘 단일 사이클 레지스터에 가깝습니다.

시프트 레지스터에는 플립플롭 사이에 특정 연결이 있는 일련의 플립플롭이 포함되어 있으며 이러한 연결의 구성은 모든 플립플롭에 공통된 클럭 펄스가 적용될 때 각 플립플롭의 출력 상태가 이웃. 연결 구성에 따라 이러한 이동은 왼쪽이나 오른쪽으로 발생할 수 있습니다.

왼쪽으로 이동

오른쪽으로 이동

레지스터에 정보를 입력하는 방법은 다양하지만 가장 자주 사용되는 병렬 또는 순차 입력에서는 이진수가 레지스터의 모든 비트에 동시에 입력되거나 시간이 지남에 따라 개별 비트에 순차적으로 입력됩니다. 펄스 카운터에서는 정보를 순차적으로 입력 및 출력하고 오른쪽으로 이동하는 시프트 레지스터가 사용됩니다. 그림 10a는 RS 플립플롭에 만들어진 4비트 시프트 레지스터의 다이어그램을 보여줍니다. 이 회로에서 플립플롭의 각 Q 출력은 다음 숫자의 S 입력에 연결되고 각 출력은 R 입력에 연결됩니다. 모든 플립플롭의 클럭 입력은 함께 연결되며 동기화 신호는 다음과 같습니다. NAND 게이트(DD7)를 통해 하나의 공통 펄스에 의해 수신됩니다. 첫 번째 트리거의 상태는 AND-NOT 논리 요소(DD5)의 입력 X1, X2의 입력 신호에 의해 결정됩니다. 현재 정보는 입력 X1에 제공되고 신호는 입력 X2에 전송할 수 있습니다. NOT 게이트(DD6)는 S 입력에 적용되는 입력 신호를 반전시키는 데 사용됩니다.

그림 10b는 단일 신호를 첫 번째 숫자에 쓸 때 트리거 출력 신호의 타이밍 다이어그램과 레지스터 상태를 보여줍니다. 첫 번째 클록 펄스 도착 시 신호 X1 = X2 = 1이 입력 X1 및 X2에 설정되고 두 번째 클록 펄스 도착 시 제거되면 결과적으로 신호 Q1 = 1이 됩니다. 두 번째 클록 펄스가 도착하면 첫 번째 트리거에서 신호 Q1 = 0이 기록되고 신호 Q2 = 1이 두 번째 트리거의 출력에 나타납니다. 두 번째 방아쇠. 후속 클록 펄스가 도착하면 단일 신호가 세 번째 및 네 번째 플립플롭으로 순차적으로 이동한 후 모든 플립플롭이 0 상태로 설정됩니다.


그림 10. 4상 시프트 레지스터의 회로도, 신호 타이밍 다이어그램, 첫 번째 숫자에 단일 신호를 쓸 때 레지스터 상태

시프트 레지스터는 D 플립플롭이나 JK 플립플롭을 사용하여 구현할 수도 있습니다. 모든 시프트 레지스터에는 다음 조항이 있습니다.

  • 1) 초기 상태를 미리 설정하고 첫 번째 트리거에 장치를 입력해야 합니다.
  • 2) n개의 플립플롭 레지스터의 경우, n개의 입력 클럭 펄스가 도달한 후 처음에 입력된 단위가 출력되고, 그 결과 모든 레지스터의 직접 출력이 0 상태가 됩니다.

통합 시프트 레지스터 칩은 가역적입니다. 즉, 왼쪽이나 오른쪽 어느 방향으로든 시프트를 수행합니다. 이동 방향은 제어 신호의 값에 따라 결정됩니다.

그림 11. 단일 종단 RS 플립플롭에서 시프트 레지스터 구현

직렬 시프트 레지스터에는 두 가지 단점이 있습니다. 즉, 각 클럭 펄스에 1비트의 정보만 입력할 수 있으며, 또한 레지스터의 정보가 오른쪽으로 시프트될 때마다 가장 오른쪽의 정보 비트가 손실됩니다. 그림 12는 4비트 정보를 동시에 병렬 로딩할 수 있는 시스템을 보여줍니다.

그림 12. 4비트 병렬 레지스터의 블록 다이어그램

이 장치의 입력 1, 2, 3, 4는 정보 입력입니다. 이 시스템에는 장치 출력의 데이터가 입력으로 반환되고 손실되지 않을 때 정보의 순환 이동 가능성이라는 또 다른 유용한 특성이 장착될 수 있습니다.


그림 13. 4비트 병렬 링 레지스터의 논리 다이어그램

4비트 병렬 링 시프트 레지스터의 회로는 그림 13에 나와 있습니다. 이 시프트 레지스터에는 4개의 JK 플립플롭이 사용됩니다. 피드백 루프 덕분에 일반적으로 네 번째 플립플롭의 출력에서 ​​손실되는 레지스터에 입력된 정보가 시프트 레지스터를 통해 순환됩니다. 레지스터를 지우는 신호(해당 출력을 상태 0000으로 설정)는 CLR 입력의 논리 레벨 0입니다. 병렬 데이터 로드 입력 1, 2, 3, 4는 트리거 사전 설정(PS) 입력에 연결되어 논리 1을 모든 출력(1, 2, 3, 4)에 설정할 수 있습니다. 이러한 입력 중 하나에 논리 0이 잠깐이라도 적용되면 해당 출력에 논리 1이 설정됩니다. 모든 JK 플립플롭의 C 입력에 클록 펄스를 적용하면 레지스터의 정보가 다음으로 이동됩니다. 오른쪽. 네 번째 트리거에서 데이터가 첫 번째 트리거로 전송됩니다(정보의 순환 이동).

라인 번호

시계 번호

병렬 시프트 레지스터의 작동 원리는 표 1에 설명되어 있습니다. 전원이 켜지면 표의 행 1과 같이 레지스터 출력에서 ​​임의의 이진 조합을 설정할 수 있습니다. CLR 플립플롭의 입력에 논리 0을 적용하면 레지스터 지우기가 시작됩니다(라인 2). 다음(라인 3) 이진 조합 0100이 레지스터에 로드됩니다. 연속적인 클럭 펄스로 인해 입력된 정보가 오른쪽으로 이동합니다(라인 4 - 8). 5행과 6행: 가장 오른쪽 플립플롭의 것(네 번째)이 가장 왼쪽 플립플롭(첫 번째)으로 전송됩니다. 이 경우 레지스터에 있는 단위의 원형 이동에 대해 이야기할 수 있습니다. 다음(라인 9)에서는 CLR 입력을 사용하여 레지스터 지우기가 다시 시작됩니다. 새로운 이진 조합 0110이 로드됩니다(라인 10). 5개의 클록 펄스(라인 11-15)를 적용하면 정보가 오른쪽으로 5개 위치 순환 이동합니다. 데이터를 원래 상태로 되돌리려면 4개의 클럭 펄스가 필요합니다.

그림 13의 시프트 레지스터에서 피드백 루프를 끊으면 일반 병렬 시프트 레지스터를 얻게 됩니다. 즉, 정보의 순환 이동 가능성이 배제됩니다.

그림 14. RS 플립플롭의 3사이클 시프트 레지스터

1. 목차

2. 소개 ............................................................................................................ 2

3. 문헌 출처 검토 ............................................ 3

3.1. 레지스터에 대한 일반 정보 .............................. 3

3.2. 트리거에 대한 일반 정보 .............................. 6

3.3. 시프트 레지스터 .......................................... 12

3.4. 범용 레지스터............................................ 20

4. 시프트 레지스터 회로의 개발 … 24

4.1. 초기 데이터 .......................................................... 24

4.2. 시프트 레지스터 개발 절차 .............................. 24

4.3. 4상 쉬프트 레지스터 개발.................. 25

5. 결론……………………………………………………………. 27

6. 참고문헌 목록 .............................. 28


2. 소개

레지스터– 디지털 장치의 가장 일반적인 구성 요소입니다. 이는 단어를 구성하는 많은 관련 변수에 대해 작동합니다. 워드에서는 수신, 발행, 저장, 비트 그리드에서의 이동, 비트 논리 연산 등 다양한 연산이 수행됩니다.

시프트(순차) 레지스터는 시프트에 사용됩니다. N-한 방향의 비트 수. 또한 숫자가 아닌 정보를 이동하는 데 사용할 수도 있습니다.

시프트 레지스터는 저장 장치, 직렬 코드를 병렬로 변환하는 변환기, 지연 장치 및 펄스 카운터로 사용됩니다(그러나 시프트 레지스터를 카운터로 사용하는 것은 매우 비경제적입니다).

3. 문헌 출처 검토

3.1. 레지스터에 대한 일반 정보

레지스터는 플립플롭과 대부분 논리 요소를 포함하는 비트 회로로 구성됩니다. 그들은 단일 단위로 작동합니다.

가변 전송선의 수에 따라 레지스터는 단상(single-phase)과 파라위상(paraphase)으로 구분되며, 동기화 시스템에 따라 단일 주기, 푸시-풀 및 다중 주기로 구분됩니다. 그러나 주요 분류 기능은 데이터를 수신하고 발급하는 방법입니다. 이를 바탕으로 그들은 구별한다. 병렬(정적)레지스터, 순차(이동)그리고 병렬 직렬 .

병렬 레지스터에서는 워드가 모든 비트에서 동시에 수신되고 출력됩니다. 비트별 논리적 변환이 적용될 수 있는 단어를 저장합니다.

순차 레지스터에서는 워드가 수신되어 자리 단위로 출력됩니다. 단어를 입력하고 출력할 때 타이밍 신호가 비트 그리드에서 단어를 이동시키기 때문에 이를 이동이라고 합니다. 시프트 레지스터는 비가역적(단방향 시프트 사용) 또는 가역적(양방향 시프트 가능)일 수 있습니다.

직렬-병렬 레지스터에는 직렬 및 병렬 유형의 입력과 출력이 모두 있습니다. 직렬 입력 및 병렬 출력(SIPO, 직렬 입력 - 병렬 출력), 병렬 입력 및 직렬 출력(PISO, 병렬 입력 - 직렬 출력) 옵션뿐만 아니라 수신 및 발행 방법을 조합할 수 있는 옵션도 있습니다. 단어.

병렬(정적) 레지스터에서는 비트 회로가 서로 통신하지 않습니다. 비트에 공통되는 것은 대개 클록 회로, 재설정/설정 회로, 출력 또는 수신 허가, 즉 제어 회로입니다. 리셋 입력 R과 EZ 신호에 의해 제어되는 세 번째 상태 출력을 갖는 직접 동적 입력을 갖춘 D형 플립플롭에 구축된 정적 레지스터의 회로 예는 다음과 같습니다. 그림 1 .

그림 1.정적 레지스터 다이어그램(a) 및 기존 그래픽 지정(b)

현대 회로 기술은 주로 동적 제어 기능을 갖춘 D형 플립플롭에 레지스터를 구성하는 것이 특징입니다. 많은 경우 세 번째 상태의 출력이 있습니다. 일부 레지스터는 버퍼 레지스터로 분류됩니다. 즉, 큰 용량성 및/또는 낮은 저항 활성 부하에서 작동하도록 설계되었습니다. 이는 추가 인터페이스 회로 없이 고속도로에서 직접 작동을 보장합니다.

정적 레지스터는 레지스터 메모리 블록, 즉 레지스터 파일을 생성하는 데 사용됩니다.

레지스터의 주요 기능:

1) 정보 저장,

2) 정보수신,

3) 정보 제공

4) 정보 이동,

5) 코드 변환,

6) 원하는 숫자를 0 또는 1로 설정하고,

7) 비트 논리 연산: 분리, 결합, 모듈로 덧셈 2.

3.2. 트리거 이해

트리거 –오랫동안 두 개(또는 그 이상)의 안정된 상태 중 하나를 유지하고 외부 신호의 영향으로 이를 교대로 유지하는 대규모 전기 장치(재생 과정(전기 회로의 일시적 과정)의 결과) PIC에 의해)).

트리거는 메모리(메모리 요소 – 래치)가 있는 펄스 논리 장치입니다.

12개 이상의 서로 다른 통합 트리거가 있습니다. 분류는 다음을 기준으로 합니다.

기능적 징후

트리거에 정보를 쓰는 방법입니다.

기능적 특성에 따라 T 트리거, JK 트리거, RS 트리거, D 트리거, 결합 트리거(TV, DV, E, R) 등이 있습니다.

정보를 기록(수신)하는 방법에 따라 다음과 같이 구분됩니다.

8) 비동기식 트리거:

a) 내부 지연이 있는 경우

b) 입력 펄스 레벨에 의해 제어됩니다.

9) 동기식 트리거(클럭):

a) 내부 지연이 있는 경우

b) 타이밍 펄스 레벨에 의해 제어됩니다.

단일 사이클 동작(단일 단계);

다중 작업.

활성화된 클럭 펄스가 적용될 때만 정보가 클럭 트리거에 기록됩니다. 이러한 트리거는 타이밍 펄스의 레벨 제어(작동에 특정 신호 레벨이 필요함)와 에지 제어(신호 레벨에 의존하지 않고 그 존재가 중요함)로 구분됩니다. 클록 펄스는 때때로 동기화, 실행 또는 명령 신호라고도 합니다(일반적으로 다이어그램에서 문자 C-클럭으로 표시됨).

동적 입력은 직접적이거나 역적일 수 있습니다. 직접 동적 제어를 통해 클록 신호가 0에서 1로 변경될 때 전환할 수 있습니다(). 역동적 제어 - 클럭 신호를 1에서 0으로 변경합니다(). 타이밍 펄스의 에지 제어: 타이밍 펄스의 하강 제어: 타이밍 펄스의 상위 레벨 제어:

타이밍 펄스의 하위 레벨 제어:

내부 지연이 있는 클록 트리거(신호가 끝날 때 트리거됨)는 일반적으로 단일 종단형입니다. 다중 주기 트리거는 다음 이후에 실행됩니다. N-충동 없음.

RS 트리거에는 S(설정)와 R(재설정)의 두 가지 정보 입력이 있습니다. S 신호와 R 신호의 동시 적용은 허용되지 않습니다. ~에 그림 2타이밍 신호의 에지에 의해 트리거되는 동기식 RS 트리거를 보여줍니다.

그림 2.동기식 RS 트리거

입력 외에도 가장 간단한 RS 트리거에는 두 개의 출력도 있습니다. 출력은 다음을 나타냅니다. 그리고

. 출구 직접, a-역이라고합니다. 두 출력의 전압 레벨은 서로 반대입니다. = 1이면 = 0, 또는 = 0, 그 다음 = 1. 또한 트리거의 상태가 = 1, a = 0을 단위라고 합니다. 트리거가 0일 때 = 0 및 = 1. 신호가 트리거 입력에 도달하면 상태에 따라 전환이 발생하거나 원래 상태가 유지됩니다.

그림 3. -트리거: 기존 그래픽 지정 및 두 개의 논리 요소 AND-NOT이 있는 회로

시프트 레지스터는 마이크로컴퓨터에서 정보를 저장하고 처리하는 데 널리 사용됩니다. 시프트 레지스터는 각 플립플롭의 출력이 다음 플립플롭의 입력에 연결되도록 연결된 일련의 플립플롭(정보의 각 비트에 대해 하나씩)으로 구성됩니다. 레지스터의 정보는 각 클록 펄스마다 오른쪽이나 왼쪽으로 1비트씩 이동됩니다. 이 장치는 직렬 정보(한 번에 1비트 제공)를 처리하고 병렬 정보(동시에 도착하는 모든 비트)를 직렬로, 직렬을 병렬로 변환하는 데 이상적입니다.

시프트 레지스터는 RS, JK, D 플립플롭 등을 이용하여 만든 SIS 장치에 구현되며, 이들 간의 차이점은 주로 입출력 데이터를 처리하는 방식에 따른다. 이 섹션에서는 이러한 레지스터의 주요 유형을 설명합니다.

쌀. 2.29. 직렬 입력이 있는 일반적인 4비트 레지스터입니다.

쌀. 2.30. 4비트 시프트 레지스터의 작동 타이밍 다이어그램.

직렬 입력 시프트 레지스터.

직렬 입력 시프트 레지스터는 그림 1과 같이 데이터가 순차적으로 입력되는 장치이다. 4비트 시프트 레지스터의 경우 2.29. 이 경우 D-트리거가 사용됩니다. 레지스터는 다음과 같이 작동합니다. 초기 위치에서는 리셋 펄스(논리 0)가 "Set to 0" 입력에 적용되어 출력 Q 0 -Q 3을 0으로 설정합니다. 그런 다음 데이터의 첫 번째 비트가 직렬 입력에 공급됩니다. 첫 번째 클록 펄스의 상승 에지에 노출되면 Q0은 D1과 동일한 값을 갖습니다. 그런 다음 D 2가 직렬 입력에 공급됩니다. 두 번째 클록 펄스의 상승 에지에 노출되면 Q 0 =D 2 및 Q 1 =D 1 입니다. 이 프로세스는 4개의 클럭 펄스 이후에 계속되며 Q 0 =D 4, Q 1 =D 3, Q 2 =D 3, Q 3 =D 1이 됩니다. 순차적으로 도착하는 입력 데이터의 타이밍 다이어그램은 그림 1에 나와 있습니다. 2.30.

데이터 출력은 직렬 또는 병렬일 수 있습니다. 후자의 경우 시프트 레지스터는 직렬-병렬 변환기로 작동합니다. 분명히, 많은 수의 비트(8개 이상)를 갖는 시프트 레지스터의 경우 IC 패키지의 출력 수가 많기 때문에 병렬 출력은 실용적이지 않습니다. 1000비트가 넘는 시프트 레지스터가 있습니다.

병렬 입력 시프트 레지스터

병렬 입력이 있는 시프트 레지스터는 병렬 정보 채널을 통해 입력 데이터가 동시에 도착하는 장치입니다(그림 2.31). 데이터는 다음과 같이 레지스터에 기록됩니다. 먼저, 레지스터의 내용은 "Set to 0" 입력에 펄스(논리 0)를 적용하여 재설정됩니다. 다음으로 D 1 ~ D 4 가 입력에 공급되고 펄스(논리 1)가 기록 입력에 공급됩니다. 이로 인해 사전 설정된 입력을 사용하여 모든 레지스터에 정보가 기록됩니다. 그 후, 각 클록 펄스마다 정보가 오른쪽으로 1비트 이동됩니다. 데이터 출력은 직렬 또는 병렬일 수 있습니다. 많은 IC 기반 시프트 레지스터에는 병렬 입력과 직렬 출력이 있습니다. 이러한 장치를 병렬-직렬 변환기라고 합니다.

위에서 설명한 시프트 레지스터에서는 각 클록 펄스에서 한 방향으로 시프트가 이루어졌습니다. 그러나 대부분의 경우 정보를 왼쪽과 오른쪽으로 이동할 수 있는 것이 바람직합니다. 이 기능이 있는 레지스터를 가역 시프트 레지스터라고 합니다. 이러한 레지스터의 시프트 제어는 왼쪽 또는 오른쪽으로 시프트할 때 플립플롭의 출력을 해당 입력에 연결하여 수행됩니다. 이동 방향은 "작동 방법" 입력에 의해 제어됩니다. 직렬 및 병렬 입력 및 출력이 있는 가역 시프트 레지스터를 범용 시프트 레지스터라고 합니다.

쌀. 2.31. 병렬 출력을 갖춘 일반적인 4비트 시프트 레지스터입니다.

등록 예

IR1 마이크로 회로에서 각 비트는 입력 로직을 갖춘 동기식 2단계 RS 트리거로 구성됩니다(그림 2.32). 시프트 레지스터를 사용하면 다음 작동 모드를 구현할 수 있습니다. 병렬 코드를 사용하여 정보 기록; 오른쪽으로 이동; 왼쪽으로 이동하세요. 레지스터 작동 모드는 입력 VI, V2, C1, C2(핀 1, 6, 9, 8)를 통해 제어됩니다.

쌀. 2.32. 논리적 구조 IR1 마이크로회로

병렬 코드를 사용하여 정보 레지스터에 쓰려면 V2 모드 제어 입력에 높은 전압을, C2 입력에 낮은 전압을, D1 - D8 입력에 정보 신호를 적용하십시오. 입력 C1, VI의 전압은 무엇이든 가능합니다. 병렬 코드에 기록된 정보를 오른쪽으로 이동하기 위해 클럭 펄스가 입력 C2(핀 8)에 적용됩니다. 이 경우 V2 입력(핀 6)의 전압은 높은 레벨로 유지되어야 합니다. 직렬 코드로 표시된 데이터로 작업을 수행할 때 일련의 펄스 형태의 입력 정보는 정보 입력 VI(핀 1)에 공급되고, 클럭 펄스는 동기화 입력 C1(핀 9)에 공급되며, 낮은 레벨 전압 입력 V2, D1 - D8에서 유지됩니다. 다양한 유형의 정보 기록을 위한 IS IR1의 작동 모드가 표에 나와 있습니다. 2.11.

왼쪽으로 이동하면 모드 선택 입력 V2에 높은 전압이 인가되어 오른쪽으로 이동하기 위한 클록 펄스의 통과를 차단합니다. 이 경우, 숫자의 병렬 코드가 비트 D1 - D8의 병렬 코드 입력에 제공되지 않지만 마지막 비트의 출력이 이전 비트의 병렬 코드 입력에 연결되면, 이전 비트 등과 유사한 입력으로 출력하면 왼쪽 시프트 레지스터를 얻습니다. 이 경우 직렬 코드의 입력은 시프트 레지스터의 마지막 비트의 병렬 코드 입력입니다.

IR1 마이크로 회로는 산술 버퍼 메모리 장치의 주요 요소, n 클록 사이클의 지연 요소, 직렬 코드를 병렬로 또는 그 반대로 변환하는 변환기, 주파수 분배기, 루프 펄스 분배기 등으로 사용될 수 있습니다.

등록하다. 시프트 레지스터

레지스터는 이진수로 일련의 작업을 수행하기 위해 플립플롭으로 만들어진 장치입니다. 트리거가 무엇인지 모르는 사람들을 위해 가장 간단한 RS 트리거에 익숙해지는 것이 좋습니다.

레지스터의 가장 간단한 기능은 숫자를 기억하고 오랫동안 저장하는 것입니다. 이러한 장치를 저장 레지스터라고 합니다. 다음은 간단한 예입니다.

저장해야 하는 번호는 입력 D0 - D2에 제공됩니다. 입력 C에 동기화 펄스가 나타나면 해당 숫자가 트리거에 기록되어 상태가 변경됩니다. 그림은 3비트 보유 레지스터를 보여줍니다. 숫자 111 2가 입력에 제공되면 트리거의 직접 출력에도 나타납니다( Q0 - 2분기). 역 출력에서 ​​( Q0 - 2분기)은 당연히 000 2 가 됩니다. 신호R( 초기화) 또는 재설정하면 플립플롭이 0 상태로 설정됩니다.

일반적으로 4, 8 또는 16개의 플립플롭으로 구성된 레지스터가 사용됩니다. 4비트 레지스터 이미지 회로도이럴 수도 있습니다.

그림에는 트리거와 R 신호의 역 출력이 표시되지 않으며 레지스터는 항상 라틴 문자로 지정됩니다. RG. 레지스터가 이동하는 경우 지정 아래에 왼쪽, 오른쪽 또는 이중을 가리키는 화살표가 그려집니다.

시프트 레지스터 또는 시프트 레지스터.

시프트 레지스터는 직렬로 연결된 여러 개의 플립플롭으로 구성된 장치이며, 그 개수에 따라 레지스터의 용량이 결정됩니다. 레지스터는 다음과 같은 분야에서 널리 사용됩니다. 컴퓨터 기술코드를 변환합니다. 직렬과 병렬 또는 그 반대로.

또한, 시프트 레지스터는 기본( ALU) 산술 논리 장치의 경우, 레지스터에 쓰여진 이진수를 왼쪽으로 한 자리 이동하면 그 숫자에 2를 곱하고, 오른쪽으로 한 자리 이동하면 그 숫자를 2로 나누기 때문입니다. . 그러므로 가장 널리 퍼져 있는 거꾸로 할 수 있는또는 양방향레지스터.

직렬 이진 코드를 병렬 이진 코드로 변환하는 4비트 시프트 레지스터를 생각해 보세요. 직렬 코드의 사용은 한 줄을 통해 엄청난 양의 정보를 전송할 수 있다는 사실로 인해 정당화됩니다. 이에 대한 예는 범용 직렬 버스입니다. USB 포트어떤 장치. 이 레지스터의 트리거 수는 무엇이든 가능합니다. 직접 출력을 연결하면 충분합니다. 3분기와 함께 필요한 용량에 도달할 때까지 다음 트리거 입력 등이 계속됩니다.

레지스터는 다음과 같이 작동합니다. 첫 번째 정보 비트가 입력에 도착합니다. D0. 이 비트와 동시에 클럭 펄스가 입력에 도착합니다. 와 함께. 입력 와 함께레지스터에 포함된 모든 트리거는 서로 결합됩니다. 첫 번째 클록 펄스가 도착하면 입력 레벨이 D0첫 번째 트리거와 출력에 기록됨 Q0다음 트리거의 입력으로 들어오지만 클럭 펄스가 이미 종료되었기 때문에 두 번째 트리거에 쓰기가 발생하지 않습니다.

다음 클록 펄스가 도착하면 두 번째 플립플롭의 입력에 있는 레벨이 여기에 저장되고 세 번째 플립플롭의 입력으로 이동합니다. 동시에, 다음 정보 비트는 첫 번째 플립플롭에 저장됩니다. 네 번째 클록 펄스가 도착한 후 입력에서 순차적으로 수신된 논리 레벨은 레지스터의 4개 플립플롭에 기록됩니다. D0.

이것이 레벨 0110 2라고 가정해 보겠습니다. 그러면 이 이진수 LED를 트리거 출력에 연결하여 표시할 수 있습니다. 이것은 고려중인 레지스터가 개략도에 묘사되는 방식입니다.

기존 이미지에 화살표가 있는 것을 볼 수 있습니다. 이는 이것이 시프트 레지스터임을 나타내는 표시입니다.

4비트 범용 시프트 레지스터가 어떻게 작동하는지 살펴보겠습니다. K155IR1(아날로그 - SN7495N). 내부 구조는 다음과 같습니다.

레지스터에는 4개의 D-플립플롭이 포함되어 있으며 이는 추가 AND - OR 논리 요소를 사용하여 상호 연결되어 다양한 기능을 구현할 수 있습니다. 다이어그램에서:

    V2 - 제어 입력. 레지스터의 동작 모드를 선택하는데 사용됩니다.

    병렬 코드가 제거된 트리거의 Q1 - Q4 출력입니다.

    V1 - 직렬 코드 제공을 위한 입력입니다.

    C1, C2 - 클럭 펄스.

    D1 - D4 - 병렬 코드 작성을 위한 입력입니다.

레지스터 연산 알고리즘은 다음과 같다. 입력 V2에 낮은 전위가 적용되면 클록 펄스가 C1에 적용되고 정보 비트가 입력 V1에 적용되면 레지스터가 오른쪽으로 이동합니다. 플립플롭 Q1 - Q4의 출력에서 ​​4비트를 수신한 후 병렬 코드를 얻습니다. 이런 식으로 직렬 코드가 병렬 코드로 변환됩니다.

역변환의 경우 병렬 코드가 입력 D1 - D4에 기록되어 입력 V2에 높은 전위를 적용하고 입력 C2에 클록 펄스를 적용합니다. 그런 다음 입력 V2에 낮은 전위를 적용하고 입력 C1에 클럭 펄스를 적용하여 기록된 코드를 이동하고 마지막 트리거 출력에서 ​​직렬 코드가 제거됩니다.

구조상 이것은 가장 간단한 시프트 레지스터 중 하나입니다.

디지털 기술의 시프트 레지스터는 흥미로운 특성을 지닌 어셈블리를 조립하는 기반 역할을 할 수 있습니다. 예를 들어 존슨 카운터라고 불리는 링 카운터가 있습니다. 이러한 카운터는 구성 플립플롭 수의 두 배에 달하는 상태 수를 갖습니다. 예를 들어, 링 카운터가 3개의 플립플롭으로 구성되면 6개의 안정 상태를 갖게 됩니다. 클럭 펄스를 제외하고는 카운터 입력에 아무것도 공급되지 않습니다. 초기 상태에서 모든 플립플롭은 "리셋"됩니다. 즉, 트리거의 직접 출력에는 논리 0이 있지만 입력에는 논리 0이 있습니다. 세 번째 트리거의 역 출력에서 ​​나온 첫 번째 트리거는 논리 단위입니다. 클럭 펄스 전송을 시작하면 프로세스가 시작됩니다.

진리표는 6개의 클럭 펄스가 도착할 때 이진 코드가 어떻게 변경되는지 명확하게 보여줍니다.

N Q 2 질문 1 질문 0
1 0 0 1
2 0 1 1
3 1 1 1
4 1 1 0
5 1 0 0
6 0 0 0

이제 레지스터가 무엇인지, 실제로 어떻게 사용할 수 있는지 알게 되었습니다. 모든 레지스터의 기본은 트리거입니다. 레지스터의 플립플롭 수에 따라 용량이 결정됩니다. 마이크로컨트롤러에 관심이 있는 사람들은 PIC, AVR, STM, MSP 등 모든 마이크로컨트롤러의 가장 중요한 요소가 레지스터라는 것을 알고 있습니다.