산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

시프트 레지스터:병렬 입력, 직렬 출력(PISO) 변환

병렬 입력/직렬 출력 시프트 레지스터는 이전 직렬 입력/직렬 출력 시프트 레지스터와 모든 단계에 대한 입력 데이터를 동시에 수행하는 모든 작업을 수행합니다.

병렬 입력/직렬 출력 시프트 레지스터는 데이터를 저장하고 클록 단위로 시프트하고 스테이지 수 x 클록 주기만큼 지연시킵니다.

또한 병렬 입력/직렬 출력은 실제로 이동이 시작되기 전에 모든 단계에 병렬로 데이터를 로드할 수 있음을 의미합니다.

이것은 병렬 데이터를 변환하는 방법입니다. 연속으로 포맷 체재. 병렬 형식이란 데이터 비트가 아래와 같이 각 데이터 비트에 하나씩 개별 와이어에 동시에 존재함을 의미합니다.

직렬 형식이란 아래 블록 다이어그램의 "데이터 출력"의 경우와 같이 데이터 비트가 단일 와이어 또는 회로에서 시간에 따라 순차적으로 표시됨을 의미합니다.

아래에서는 3단계 병렬 입력/직렬 출력 시프트 레지스터의 내부 세부 정보를 자세히 살펴봅니다.

단계는 D 유형으로 구성됩니다. 저장용 플립플롭 및 데이터를 병렬로 로드할지 또는 저장된 데이터를 오른쪽으로 이동할지를 결정하기 위한 AND-OR 선택기.

일반적으로 이러한 요소는 필요한 단계 수만큼 복제됩니다. 공간의 제약으로 3단계로 보여드립니다.

4, 8 또는 16비트는 실수부에 대해 정상입니다.

위에서 SHIFT/LD'가 로직 로우일 때 병렬 로드 경로를 보여줍니다. DA를 제공하는 상부 NAND 게이트 DB DC 활성화되어 D 유형의 D 입력에 데이터를 전달합니다. 플립플롭 QA QB DC 각각.

다음 양의 클록 에지에서 데이터는 3개의 FF의 D에서 Q로 클록됩니다. 3비트의 데이터가 QA에 로드됩니다. QB DC 동시에.

클럭 펄스에 대한 데이터 로드를 동기 로드라고 하는 방금 설명한 병렬 로드 유형 데이터 로딩이 시계와 동기화되기 때문입니다.

이것은 비동기 로드와 구별되어야 합니다. 클럭이 필요하지 않은 플립플롭의 사전 설정 및 클리어 핀에 의해 로딩이 제어됩니다.

이러한 로드 방법 중 하나만 개별 장치 내에서 사용되며 동기 로드는 최신 장치에서 더 일반적입니다.

시프트 경로는 SHIFT/LD'가 로직 하이일 때 위에 표시됩니다. OR 게이트를 공급하는 쌍의 하위 AND 게이트가 활성화되어 SI를 DA로 시프트 레지스터 연결을 제공합니다. , QA DB로 , QB DC로 , QC SO에. 클록 펄스는 연속 펄스에서 데이터가 SO로 오른쪽으로 이동하도록 합니다.

아래 파형은 3비트 데이터의 병렬 로딩과 이 데이터의 직렬 이동을 모두 보여줍니다. DA의 병렬 데이터 DB DC SO에서 직렬 데이터로 변환됩니다.

이전에 병렬 로딩 및 시프팅에 대한 단어로 설명한 것이 이제 위의 파형으로 설정됩니다.

예를 들어 101을 제시합니다. 병렬 입력 DAA에 DBB DCC . 다음으로 SHIFT/LD'가 낮아져 데이터 이동과 반대로 데이터를 로드할 수 있습니다.

설정 및 유지 요구 사항으로 인해 클록 펄스 전후의 짧은 시간 동안 낮아야 합니다. 필요한 것보다 훨씬 넓습니다.

그러나 동기 논리를 사용하면 넓게 만드는 것이 편리합니다. 활성 로우 SHIFT/LD'를 거의 t1 이전에 거의 2개 클럭 너비로 만들 수 있었습니다. 그리고 t3 직전에 다시 높음 .

중요한 요소는 시계 시간 t1 부근에서 낮아야 한다는 것입니다. 클럭으로 데이터를 병렬로 로드할 수 있습니다.

t1에서 데이터 101 DA에서 DB DC QA와 같이 플립플롭의 D에서 Q까지 클럭됩니다. QB QC 시간 t1에서 .

이것은 시계와 동기된 데이터의 병렬 로딩입니다.

이제 데이터가 로드되었으므로 SHIFT/LD'가 t2 이전인 시프팅을 활성화하기 위해 하이인 경우 데이터를 이동할 수 있습니다. .

t2에서 데이터 0 QC에서 QC와 동일한 SO 밖으로 시프트됩니다. 파형. 다른 집적 회로로 이동하거나 SO에 연결된 것이 없으면 손실됩니다.

QB의 데이터 , 0 QC로 이동합니다. . 1 QA에서 QB로 이동합니다. . 0 "데이터 입력" 포함 , QA 0이 됩니다. . t2 이후 , QA QB QC =010 .

t3 이후 , QA QB QC =001 . 이 1 , 원래 QA에 있었습니다. t1 이후 , 이제 SO 및 QC에 있습니다. .

존재하는 경우 마지막 데이터 비트는 외부 집적 회로로 이동됩니다. t4 이후 병렬 로드의 모든 데이터가 사라집니다.

시계 t5에 데이터 1의 이동을 보여줍니다. SI, 직렬 입력에 있습니다.

Q:시프트 레지스터에 SI 및 SO 핀을 제공하는 이유는 무엇입니까?
A:이러한 연결을 통해 시프트 레지스터 단계를 캐스케이드하여 단일 IC(집적 회로) 패키지에서 사용할 수 있는 것보다 큰 시프터를 제공할 수 있습니다. 또한 마이크로프로세서와 같은 다른 IC와의 직렬 연결도 허용합니다.

Texas Instruments에서 제공하는 집적 회로로 제공되는 병렬 입력/직렬 출력 시프트 레지스터를 자세히 살펴보겠습니다.

전체 장치 데이터 시트를 보려면 다음 링크를 따르십시오.

병렬 입력/직렬 출력 장치

<울>
  • SN74ALS166 병렬 입력/직렬 출력 8비트 시프트 레지스터, 동기 로드
  • SN74ALS165 병렬 입력/직렬 출력 8비트 시프트 레지스터, 비동기식 로드
  • CD4014B 병렬 입력/직렬 출력 8비트 시프트 레지스터, 동기 로드
  • SN74LS647 병렬 입력/직렬 출력 16비트 시프트 레지스터, 동기 로드
  • 위에 표시된 SN74ALS166은 실제 부품이 이전 병렬 입력/직렬 출력 시프터 수치와 가장 근접하게 일치합니다.

    위 그림의 사소한 변경 사항을 살펴보겠습니다. 우선 8단계가 있습니다. 3개만 보여드립니다.

    모든 8단계는 위 링크의 데이터 시트에 나와 있습니다. 제조업체는 데이터 입력 A, B, C 등을 H에 레이블을 지정합니다.

    SHIFT/LOAD 컨트롤을 SH/LD'라고 합니다. 이전 용어에서 축약되었지만 동일하게 작동합니다. 낮으면 병렬 부하, 높으면 시프트합니다.

    시프트 입력(직렬 데이터 입력)은 SI 대신 ALS166에서 SER입니다. 클록 CLK는 금지 신호 CLKINH에 의해 제어됩니다.

    CLKINH가 높으면 시계가 금지되거나 비활성화됩니다. 그렇지 않으면 이 "실제 부분"이 우리가 자세히 살펴본 것과 동일합니다.

    위는 데이터 시트에 제공된 SN74ALS166에 대한 ANSI(American National Standards Institute) 기호입니다.

    부품이 어떻게 작동하는지 알게 되면 기호 내에서 세부 사항을 숨기는 것이 편리합니다. 많은 일반적인 형태의 기호가 있습니다.

    ANSI 기호의 장점은 레이블이 부품 작동 방식에 대한 힌트를 제공한다는 것입니다.

    '74ASL166 상단의 큰 노치 블록은 ANSI 기호의 제어 섹션입니다. R이(가) 표시한 재설정이 있습니다. .

    세 가지 제어 신호가 있습니다. M1 (Shift), M2 (로드) 및 C3/1(화살표) (금지된 시계). 시계에는 두 가지 기능이 있습니다.

    먼저 C3 접두사 3이 나타날 때마다 병렬 데이터를 이동합니다. 둘째, M1 1로 표시된 대로 주장됩니다. C3/1(화살표) , 데이터는 오른쪽 화살표로 표시된 대로 이동합니다.

    슬래시(/)는 이 두 함수 사이의 구분 기호입니다. 제목 SRG8에 표시된 대로 8교대 단계 , 외부 입력 A, B, C로 식별됩니다. H로 .

    내부 2, 3D 데이터가 D임을 나타냅니다. , M2에 의해 제어됨 [로드] 및 C3 시계. 이 경우 병렬 데이터가 시계 C3와 동기적으로 로드된다는 결론을 내릴 수 있습니다. .

    A의 상단 SER 입력을 수용하기 위해 다른 블록보다 더 넓은 블록입니다. .

    범례 1, 3D SER M1이 제어합니다. [Shift] 및 C3 시계. 따라서 우리는 SER에서 데이터를 클럭 인할 것으로 예상합니다. 병렬 로딩과 반대로 이동할 때.

    ANSI/IEEE 기본 게이트 직사각형 기호 더 친숙한 모양 기호와 비교하기 위해 위에 제공되었습니다. CLKIN과 관련된 기호의 의미를 해독할 수 있도록 H 및 CLK 이전 ANSI SN74ALS166 기호의 핀.

    CLK 및 CLKINH 피드 또는 SN74ALS166 ANSI 기호의 게이트. 또는 =>으로 표시됩니다. 직사각형 삽입 기호에.

    출력의 긴 삼각형은 시계를 나타냅니다. 화살표가 있는 거품이 있는 경우 음의 클록 에지(높음에서 낮음)의 이동을 나타냅니다.

    클록 화살표가 있는 거품이 없기 때문에 레지스터는 양의(낮음에서 높은 전환) 클록 에지에서 이동합니다.

    긴 화살표, 범례 C3/1 뒤 오른쪽을 가리키는 것은 기호 아래에 있는 오른쪽으로 이동을 나타냅니다.

    SN74ALS165 병렬 입력/직렬 출력, 비동기 로드 시프트 레지스터의 내부 로직의 일부는 위의 데이터 시트에서 재현됩니다.

    전체 다이어그램은 이 섹션의 시작 부분에 있는 링크를 참조하십시오. 우리는 지금까지 데이터의 비동기 로딩을 살펴보지 않았습니다.

    우선 Set에 적절한 신호를 적용하여 로딩이 이루어집니다. (사전 설정) 및 재설정 (클리어) 플립플롭의 입력.

    상단 NAND 게이트 피드 세트 FF의 핀과 하위 NAND에도 계단식으로 연결됩니다. 게이트 공급 재설정 FF의 핀.

    낮은 NAND gate는 Set에서 나가는 신호를 반전시킵니다. 재설정에 고정 핀.

    첫째, SH/LD' 낮음으로 당겨야 합니다. 상단 및 하단 NAND 활성화 게이트.

    SH/LD'인 경우 논리 높음에 있었습니다. 대신 논리를 낮게 공급하는 인버터 모든 NAND에 게이트는 높음을 강제합니다. out, "active low" Set 해제 및 재설정 모든 FF의 핀입니다.

    FF를 로드할 가능성은 없습니다.

    SH/LD' 사용 낮음 유지 , 예를 들어 데이터 1을 공급할 수 있습니다. 병렬 입력 A에 , 상단 NAND에서 0으로 반전 게이트 출력, FF QA 설정 1로 .

    0 세트에서 핀은 낮은 NAND에 공급됩니다. 1로 반전되는 게이트 , 재설정 해제 QA .

    따라서 데이터 A=1 QA 세트 =1 . 이 중 어느 것도 클록이 필요하지 않기 때문에 로딩은 클록에 대해 비동기식입니다.

    클럭이 데이터를 병렬로 로드할 때까지 기다릴 수 없거나 단일 클럭 펄스를 생성하는 것이 불편한 경우 비동기식 로딩 ​​시프트 레지스터를 사용합니다.

    데이터 공급의 유일한 차이점은 0 병렬 입력 A1로 반전된다는 것입니다. 세트를 해제하는 상부 게이트 밖으로 .

    1 설정에서 0으로 반전됩니다. 하단 게이트에서 재설정을 당겨 낮음으로 , QA 재설정 =0 .

    위의 SN74ALS166에 대한 ANSI 기호에는 두 개의 내부 컨트롤 C1이 있습니다. [LOAD] 및 C2 OR의 시계 (CLKINH, CLK의 기능 ).

    SRG8 8단 변속레버를 말합니다. C2 뒤의 화살표 오른쪽 또는 아래쪽으로 이동을 나타냅니다. SER 입력은 내부 레이블 2D로 표시된 시계의 기능입니다. .

    병렬 데이터 입력 A, B, C HC1의 함수입니다. [LOAD], 내부 레이블 1D로 표시됨 .

    C1 sh/LD' =0일 때 어설션됨 입력에서 반 화살표 인버터로 인해.

    이것을 이전 동기 ANSI SN75ALS166의 클록에 의한 병렬 데이터 입력 제어와 비교하십시오. ANSI 데이터 레이블의 차이점에 유의하십시오.

    위의 CD4014B에서 M1 LD/SH'=0일 때 주장됨 . M2 LD/SH'=1일 때 주장됨 .

    시계 C3/1 2, 3D에서 데이터를 병렬로 로드하는 데 사용됩니다. M2일 때 2,3으로 표시된 대로 활성 상태입니다. 접두사 레이블.

    P3 P7으로 내부에 smae가 있는 것으로 이해됩니다. 2,3 P2로 접두사 레이블 및 P8 . SER에서 , 1,3D 접두사는 M1을 의미합니다. 및 시계 C3 시리얼 데이터를 입력하기 위해 필요합니다.

    M1이 활성 상태일 때 1로 표시된 대로 오른쪽 변속이 발생합니다. C3/1 화살표에서 .

    CD4021B는 2가 없음으로 암시되는 데이터의 비동기 병렬 로드를 제외하고는 유사한 부분입니다. 데이터 레이블의 접두어 1D 핀 P1, P2, P8용.

    물론 접두사 2 2D 레이블에서 SER 입력 시 데이터가 이 핀에 클럭되어 있다고 말합니다. 또는 게이트 삽입은 시계가 LD/SH'에 의해 제어됨을 보여줍니다. .

    위의 SN74LS674 내부 레이블 SRG 16 16비트 시프트 레지스터를 나타냅니다.

    모드 기호 상단의 제어 섹션에 대한 입력은 1,2 M3 레이블이 지정되어 있습니다. . 내부 M3 MODE 입력의 기능입니다. 및 G1G2 1,2로 표시된 대로 선행 M3 .

    기본 레이블 G AND를 나타냅니다. 이러한 G의 기능 입력. R/W' 입력 내부적으로 G1/2 EN 라벨이 붙어 있습니다. .

    EN 활성화입니다. (G1 및 G2에 의해 제어됨 ) 기호의 다른 곳에서 사용되는 3상태 장치의 경우.

    CS' on(핀 1)은 내부 G2입니다. . 칩 선택 CS' 또한 AND입니다. CLK 입력으로 ed 내부 시계 C4 제공 .

    시계 화살표 안의 거품은 활동이 음수(높음에서 낮은 전환) 클록 에지에 있음을 나타냅니다.

    슬래시(/)는 시계에 대한 두 가지 기능을 나타내는 구분 기호입니다. 슬래시 앞의 C4 접두어가 4인 모든 항목의 제어를 나타냅니다. .

    슬래시 뒤에는 3'(화살표) 이동을 나타냅니다. 3' C4/3'의 M3이 주장 해제될 때 이동을 의미합니다(MODE=0 ). 긴 화살표는 오른쪽으로 이동(아래)을 나타냅니다.

    제어 섹션 아래에서 데이터 섹션으로 이동하면 외부 입력 P0-P15가 있습니다. , 핀(7-11, 13-23).

    접두사 3,4 내부 레이블 3,4D M3 시계 C4 병렬 데이터 로드를 제어합니다.

    D 데이터를 나타냅니다. 이 레이블은 명시적으로 작성되지는 않았지만 모든 병렬 입력에 적용되는 것으로 가정합니다.

    3',4D 레이블 찾기 P0 오른쪽 (pin7) 단계. 보완됨-3 M3=MODE=0임을 나타냅니다. 입력(시프트) SER/Q15 (pin5) 시계 시간, (4 3',4D) 시계 C4에 해당 .

    즉, MODE=0 , 데이터를 Q0으로 이동합니다. 직렬 입력(핀 6)에서. 다른 모든 단계는 시계 시간에 오른쪽(아래)으로 이동합니다.

    기호의 맨 아래로 이동하면 오른쪽을 가리키는 삼각형이 Q 사이의 버퍼를 나타냅니다. 및 출력 핀.

    아래쪽을 가리키는 삼각형은 3상태 장치를 나타냅니다. 이전에 tristate는 enable EN에 의해 제어된다고 말했습니다. , 이는 실제로 G1 및 G2입니다. 제어 섹션에서.

    R/W=0인 경우 , tri-state가 비활성화되고 데이터를 Q0으로 이동할 수 있습니다. SER을 통해 (핀 6), 위에서 생략한 세부 사항. 실제로 MODE=0, R/W'=0, CS'=0이 필요합니다.

    SN74LS674의 내부 로직과 제어 신호의 작동을 요약한 표는 섹션 상단의 글머리 기호 목록에 있는 링크에서 확인할 수 있습니다.

    R/W'=1인 경우 , 삼중 상태가 활성화됨, Q15 SER/Q15 밖으로 이동 (핀 6) 및 Q0으로 재순환 오른쪽 와이어를 통해 3',4D로 스테이지 .

    CS'가 낮다고 가정하여 시계 C4/3'과 G2를 EN으로 설정했습니다. 삼중 상태가 가능합니다.

    실용적 응용

    병렬 입력/직렬 출력 시프트 레지스터의 응용 프로그램은 데이터를 마이크로프로세서로 읽는 것입니다.

    위의 알람은 원격 키패드로 제어됩니다. 알람 박스는 전원을 공급하기 위해 원격 키패드에 +5V 및 접지를 공급합니다.

    알람은 병렬 입력/직렬 출력 시프트 레지스터를 통해 키 상태를 보여주는 직렬 데이터를 반환하는 키패드에 시프트 클록을 전송하여 수십 밀리초마다 원격 키패드를 읽습니다.

    따라서 우리는 4개의 전선이 있는 9개의 키 스위치를 읽습니다. 9개의 키 각각에 대해 회로를 실행해야 한다면 몇 개의 전선이 필요할까요?

    병렬 입력/직렬 출력 시프트 레지스터의 실제 적용은 몇 개의 핀에서 많은 스위치 클로저를 마이크로프로세서로 읽는 것입니다.

    일부 저가형 마이크로프로세서에는 8핀 패키지에서 사용할 수 있는 6I/O(입력/출력) 핀만 있습니다.

    또는 84핀 패키지에서 대부분의 핀을 사용했을 수 있습니다. 회로 기판, 기계, 차량 또는 건물 주위를 흐르는 전선의 수를 줄이고 싶을 수 있습니다.

    이것은 우리 시스템의 신뢰성을 높일 것입니다. 자동차의 전선 수를 줄인 제조업체가 더 안정적인 제품을 생산한다는 보고가 있습니다.

    어쨌든 위 그림의 스위치에서 8비트 데이터를 읽는 데 3개의 마이크로프로세서 핀만 필요합니다.

    단일 병렬 로드 클럭을 생성하지 않고도 데이터 로드를 제어하기가 더 쉽기 때문에 비동기식 로드 장치인 CD4021B를 선택했습니다.

    시프트 레지스터의 병렬 데이터 입력은 각 입력에 저항을 사용하여 +5V로 풀업됩니다.

    모든 스위치가 열려 있으면 모든 1 s는 마이크로프로세서가 LD/SH'를 이동할 때 시프트 레지스터에 로드됩니다. 낮은 곳에서 높은 곳으로 선을 긋고 이동을 예상하여 다시 낮춥니다.

    모든 스위치 폐쇄는 논리 0을 적용합니다. s를 해당 병렬 입력에 연결합니다. P1-P7의 데이터 패턴은 LD/SH'=1에 의해 병렬 로드됩니다. 마이크로프로세서 소프트웨어에 의해 생성됩니다.

    마이크로프로세서는 시프트 펄스를 생성하고 8비트 각각에 대한 데이터 비트를 읽습니다.

    이 프로세스는 완전히 소프트웨어로 수행되거나 더 큰 마이크로프로세서에는 하드웨어로 작업을 더 빠르게 수행하기 위해 하나 이상의 직렬 인터페이스가 있을 수 있습니다.

    LD/SH'=0 , 마이크로프로세서는 0을 생성합니다. 1까지 교대 시계줄의 전환 , 다음 직렬 데이터의 데이터 비트를 읽습니다. 라인. 이것은 모든 8비트에 대해 반복됩니다.

    SER 더 많은 스위치 접점을 읽어야 하는 경우 시프트 레지스터의 라인이 다른 동일한 CD4021B 회로에 의해 구동될 수 있습니다.

    이 경우 마이크로프로세서는 16-시프트 펄스를 생성합니다. 이 직렬 데이터 형식과 호환되는 다른 장치(예:아날로그-디지털 변환기, 온도 센서, 키보드 스캐너, 직렬 읽기 전용 메모리)에 의해 구동될 가능성이 더 큽니다.

    스위치 클로저는 기계 캐리지의 리미트 스위치, 과열 센서, 자기 리드 스위치, 도어 또는 창 스위치, 공기 또는 수압 스위치 또는 고체 상태의 광 차단기일 수 있습니다.

    관련 워크시트:

    <울>
  • 교대 근무자 워크시트

  • 산업기술

    1. 네트워크 프로토콜
    2. 왜 디지털인가?
    3. 마이크로프로세서
    4. 연산 증폭기 데이터
    5. Python 유형 변환 및 유형 캐스팅
    6. 데이터 기반 제조가 여기 있습니다
    7. 데이터 활용
    8. IIoT란 무엇입니까?
    9. 생산설비의 디지털화
    10. 빅 데이터 대 인공 지능