Manchester-II 코드 또는 Manchester 코드가 가장 널리 사용됩니다. 로컬 네트워크. 자체 동기화 코드를 의미하기도 하지만 RZ 코드와 달리 3단계가 아닌 2단계로 되어 있어 더 나은 노이즈 내성을 제공합니다.

논리 0은 비트 간격의 중앙에서 상위 레벨로의 전이에 해당하고, 논리 1은 하위 레벨로의 전이에 해당합니다. 코딩 논리는 1 또는 0의 시퀀스를 전송하는 예에서 명확하게 볼 수 있습니다. 인터리브된 비트를 전송할 때 펄스 반복률은 절반으로 줄어듭니다.

정보 전환은 비트 중간에 유지되는 반면 경계 전환(비트 간격의 경계에서)은 1과 0이 교대할 때 존재하지 않습니다. 이것은 일련의 억제 펄스로 수행됩니다. 이러한 펄스는 정보 펄스와 동기화되어 원치 않는 경계 전환이 금지됩니다.

각 비트의 중앙에서 신호를 변경하면 클록 신호를 쉽게 분리할 수 있습니다. 자체 동기화를 통해 송신기와 수신기의 클럭 주파수 차이로 인한 손실 없이 대용량 정보 패킷을 전송할 수 있습니다.

그림 7.3 2단계 Manchester-II 코드.

맨체스터 코드의 가장 큰 장점은 1 또는 0의 긴 시퀀스를 전송할 때 상수 구성 요소가 없다는 것입니다. 이로 인해 신호의 갈바닉 절연은 예를 들어 펄스 변압기를 사용하는 가장 간단한 방법으로 수행됩니다.

맨체스터 코드의 중요한 특징은 1 또는 0의 긴 시퀀스를 전송할 때 신호에 상수 성분이 없다는 것입니다. 이를 통해 펄스 변압기를 사용하여 송신기와 수신기를 갈바닉 절연할 수 있습니다.

주파수 스펙트럼맨체스터 인코딩의 신호에는 두 개의 반송파 주파수만 포함됩니다. 10메가비트 프로토콜의 경우 하나의 0 또는 하나의 1로 구성된 신호를 전송할 때는 10MHz이고 0과 1이 교대로 있는 신호의 경우 5MMHz입니다. 따라서 대역통과 필터는 다른 모든 주파수를 쉽게 걸러낼 수 있습니다.

맨체스터 코드의 장점:

  • 코드는 자체 동기화됩니다. 비트 중간에 반드시 전환이 있기 때문입니다.
  • 맨체스터 코드 신호에는 DC 성분이 없으므로 갈바닉 절연에 사용할 수 있습니다. 펄스 변압기 (갈바닉 절연네트워크 카드에 의해 수행됨).

맨체스터 코드의 단점:

  • RZ 코드와 마찬가지로 동일한 비트 전송률에서 NRZ 코드보다 두 배의 대역폭이 필요합니다.

Manchester-II 코드는 광섬유 및 전기 와이어 네트워크에서 응용 프로그램을 찾았습니다. 가장 일반적인 10Mbps 이더넷 LAN 프로토콜은 이 코드를 사용합니다.

먼저 "맨체스터" 코딩을 구성하는 요소에 대해 이야기해 보겠습니다.

"맨체스터" 코드에서 단위는 비트 간격 중간에 있는 신호를 "OFF" 상태에서 "ON" 상태로, 0에서 그 반대로 신호를 전환하여 인코딩됩니다. 중간
"ON" 상태에서 "OFF" 상태까지의 비트 간격.

"켜짐" 및 "꺼짐" 상태는 무엇입니까?
신호 상태 "ON" 및 "OFF"는 두뇌 티저상태. 일반적으로 "OFF"는 교환이 전혀 없는 경우와 동일한 비활성 상태이고 "ON"은 활성 상태, 즉 비활성 상태와 다소 다른 상태입니다. 따라서 오른쪽 그림에서 "ON" 신호 상태는 높은 신호 레벨로 표시되고 "OFF" 상태는 낮은 레벨로 표시된다는 사실에도 불구하고 이것을 문자 그대로 받아들여서는 안 됩니다. 그림은 높고 낮은 수준으로 더 친숙하고 명확합니다. 사실 "ON" 및 "OFF" 상태는 완전히 다른 방식으로 인코딩될 수 있습니다. 예를 들어, IR 리모컨은 특정 주파수에서 펄스의 유무에 따라 이러한 상태를 인코딩하고, 통합 광검출기(가장 자주 높은 출력 신호 레벨이 비활성화됨)는 "ON"이 낮은 레벨로 인코딩되는 코드를 발행하고, "OFF"는 높은 레벨 등으로 인코딩됩니다.

맨체스터 인코딩에서 0과 1의 지속 시간은 동일합니다. 즉, 메시지 길이는 메시지에 0 또는 1이 포함된 수에 의존하지 않고 총 비트 수에만 의존합니다.

"맨체스터" 코딩의 핵심 속성은 각 비트를 전송하는 동안 "ON" 및 "OFF"(다시 위 그림 참조)의 두 신호 상태가 모두 반드시 존재한다는 것입니다. 즉, 각 비트를 전송하는 동안 신호는 적어도 한 번 상태를 변경해야 합니다. 즉, "맨체스터" 코드는 인접 비트가 같으면 단일 간격으로만 구성될 수 있고 인접 비트가 다르면 이중 기간으로 구성될 수 있습니다(이는 왼쪽 그림에 표시됨).

설명된 속성을 사용하면 각 비트가 수신될 때 수신기를 송신기와 추가로 동기화하고, 수신된 코드가 "맨체스터"일 수 있는지 확인하고, 메시지의 끝 또는 송신기 신호의 "손실"을 진단할 수 있습니다.

예를 들어, 송신기의 주파수가 1.5배 이상 점프할 수 없다고 가정하면 3 하프 비트 내에서 신호 상태의 변화가 없다는 것은 메시지의 끝 또는 "손실"로 안전하게 해석될 수 있습니다. ”(메시지의 길이를 미리 알고 있는 경우). 또는 예를 들어 일부 알려지지 않은 코드를 검사할 때 코드에 "ON" 및 "OFF" 상태 사이의 간격 변형이 두 개 이상 포함되어 있으면 연구 중인 코드가 "Manchester ".

"맨체스터" 코드가 무엇인지 모든 것이 다소 명확하기를 바랍니다. 따라서 다음 질문인 이 코드를 수신하고 디코딩하는 방법으로 넘어가겠습니다.

음, 분명히 수신기가 감지하는 신호의 상태를 "OFF"에서 "ON"으로 변경하여 데이터 전송의 시작을 결정할 수 있습니다. 그러나 한 가지 주의사항이 있습니다. 하나의 전송도 "OFF" 상태에서 시작되기 때문에 처음 신호가 "OFF"에서 "ON"으로 변경되면 하나의 전송 중인지 또는 하나의 전송 중인지 여부를 절대적으로 진단할 수 없습니다. 제로 전송의 시작. 여기서 할 수 있는 유일한 일은 어떤 비트가 먼저 전송되어야 하는지 사전에 동의하는 것입니다(즉, 값이 항상 엄격하게 정의되는 특수 시작 비트를 도입함).

이제 메시지가 시작되는 비트를 알면 "ON" 및 "OFF" 상태 간격의 지속 시간을 알 수 있으며 수신기에는 정확하고 안정적인 생성기가 있으며 우리는
우리는 수신하려는 비트 수를 정확히 알고 있으며 패키지의 "맨체스터" 코드로 인코딩된 원본을 복원하기 위한 가장 간단한 첫 번째 알고리즘을 구성할 수 있습니다.

  1. - 신호 값을 기록하기 시작합니다. 이 순간부터 비트의 지속 시간과 동일한 간격으로. 그리고 필요한 비트 수를 얻을 때까지.

옵션 2. 우리는 메시지가 시작되는 비트를 알고, ON 및 OFF 간격의 지속 시간을 알고, 수신기에 안정적인 생성기가 있지만 메시지 길이에 대해서는 아무 것도 모릅니다. 이 경우 신호가 3개 이상의 하프 비트 동안 일정하게 유지될 수 없다는 맨체스터 코드의 속성을 사용할 수 있습니다. 즉, 신호가 3개의 하프 비트 동안 "OFF" 상태를 유지하는 순간을 메시지의 끝으로 간주할 수 있습니다. 이 경우 소스 코드 복구 알고리즘은 다음과 같습니다.

  1. - 신호의 상태를 "OFF"에서 "ON"으로 변경하여 전송 시작을 결정합니다.
  2. - 비트 지속 시간의 4분의 1을 셉니다(하프 비트의 중간에 들어가기 위해).
  3. -이 순간부터 (순간 번호 1로 설정) 더 나아가 하프 비트의 지속 시간과 동일한 간격으로 신호 값을 분석합니다. 한 번
    마지막 세 번의 측정에서 신호가 "OFF" 상태에 있을 것입니다. 이것은 메시지의 끝을 알릴 것입니다. 또한 마지막을 제외하고 항상 홀수로 신호의 값을 기록하여 원래의 메시지로 복원해 드립니다.

옵션 3. 메시지가 시작되는 비트는 알지만 신호가 "ON" 및 "OFF" 상태에 있는 간격의 지속 시간은 모릅니다. 우리는 무엇을해야합니까
이 경우? 운 좋게도 첫 번째 비트뿐만 아니라 두 번째 비트의 값도 알고 있다면 어떤 간격으로(전체 비트 또는 반으로) 정확히 알 수 있습니다.
처음 2개의 전환이 발생하고 필요한 간격을 쉽게 감지하거나 과학적으로 말하면 수신기를 송신기와 동기화할 수 있습니다.
(그래서 우리는 그들이 시작 비트가 2개나 되는 이유를 알아냈습니다. 그런데 맨체스터 인코딩도 사용되는 이더넷 네트워크에서는 전체 56비트 프리앰블이 초기 동기화에 사용됩니다.)
그러면 위의 알고리즘 중 첫 번째 또는 두 번째를 쉽게 사용할 수 있습니다.

다른 옵션이 있다고 가정해 보겠습니다. 우리는 메시지의 처음 두 비트를 알고 있지만 작동하지만 우리의 생성기는 완전한 똥입니다(또는 과학적 용어로 하프 비트의 지속 시간과 동일한 시간에 생성기 주파수는 다음과 같이 변경할 수 없습니다. 1.5배 이상). 방법은 다음과 같습니다.

예, 각각의 새로운 전선에 대해 하프 비트 및 전체 비트의 지속 시간 값을 다시 계산하면됩니다. 즉, 처음에 한 번이 아니라 각각의 새로운 전면에서 수신기를 송신기와 동기화해야 합니다. 맨체스터 코딩에서는 전송된 각 비트에 새로운 프론트가 있습니다.

요컨대, 고려 다른 조합오랫동안 "Manchester"코드가 모든 사람을 좋아하는 주요 이점을 기억할 수 있습니다. 각 비트를 전송할 때 "ON" / "OFF" 상태가 변경되어 동기화가 가능합니다. 송신기와 수신기.

위의 것 외에도 소위 "차이"또는 "차동" "맨체스터"코딩도 있습니다. 이 경우 0이 전송되면 비트 간격은 반대의 신호 상태로 변화하면서 시작되고, 1이 전송되면 비트 간격의 시작 부분의 신호 상태는 변하지 않는다. 그렇지 않으면 모든 것이 일반적인 "맨체스터" 코딩과 동일합니다. 비트 간격 중간에 신호 상태가 반드시 반대 방향으로 변경됩니다(왼쪽 그림 참조).

EM4100 태그는 64비트의 데이터를 저장합니다. 즉, 설계에는 8개의 8비트 74HC165 레지스터로 구성된 64비트 시프트 레지스터가 포함되어야 합니다. 레지스터는 데이터를 재설정하고 다시 시작하기 위해 매 64 시프트 후에 재설정됩니다. 레지스터 입력의 데이터는 다음과 같습니다.
  • 타이밍 패턴: 9개 단위
  • 제조사/버전 ID: 5비트 2블록, 그 중 4비트는 데이터, 5번째 비트는 패리티
  • 고유 식별자: 5비트로 구성된 8개 블록, 그 중 4비트는 데이터이고 5번째는 패리티입니다.
  • 체크섬: 열로 계산되는 4개의 패리티 비트
  • 정지 비트: "0"

암호화된 레이블조차도 많은 공격에 취약합니다. 또한 스마트폰에서 태그를 에뮬레이션하는 것이 점점 더 쉬워지고 있습니다. NFC 지원(일반적으로 13.56MHz에서 작동). 필드 변조 애플리케이션을 올바르게 작성하기만 하면 원하는 모든 작업을 수행할 수 있습니다.

표준 핑계로 저자가 (그리고 번역가! - 메모. 번역) 이 기사의 정보를 사용한 결과에 대해 책임을 지지 않습니다. 독자는 자신의 모든 행동에 대해 책임을 져야 합니다.

액자

때때로 매우운이 좋은. 프로토타입이 완성되고 인쇄 회로 기판이 주문되는 지금 당장은 아름다운 케이스가 아프지 않을 것입니다. 그리고 이때 플레밍이 조립을 끝내고 기계에 시동을 걸었다. 레이저 절단 OSAA 광자톱. 1년 간의 프로젝트 작업 끝에 레이저는 첫 번째 부품을 절단할 준비가 되었습니다. Flemming과 Rune은 최종 조정을 하고 레이저 캐비닛의 알루미늄 덮개를 교체합니다. 이 기능이 작동하는 것을 보고 우리 모두가 얼마나 기뻤는지 상상할 수 있습니다.

기계가 작동하면서 우리는 프로젝트를 실생활에서 테스트할 수 있었습니다. RFID 태그용 하우징은 2mm 플렉시 유리로 만들어졌습니다. 이 말뭉치는 PhotonSaw에서 만든 첫 번째 개체입니다. 그렇습니다!

케이스 외부에 코일을 배치하는 아이디어가 탄생했습니다. 처음에는 선체 높이의 절반을 사용하기로 결정했지만 실제로는 작동하지 않았습니다(따라서 긴 측면의 추가 구멍은 사용되지 않음). 코일은 전체 케이스 둘레에 완벽하게 들어맞았지만 직사각형 권선(105x55mm)이 정상적인 전자기 결합에 너무 큰지 의심스러웠습니다.

테스트 코일은 계산 없이 0.4mm 와이어로 66바퀴 감았습니다. 그리고 분명히 우리는 다시 운이 좋았습니다. 왜냐하면 코일은 인덕턴스가 645μH이고 연결된 레이블이 제공해야 하는 대로 정확히 밝혀졌기 때문입니다. 공진 주파수 125.2kHz. 도어 리더 테스트는 프로토타입이 이 코일과 잘 작동하는 것으로 나타났습니다.

케이스 외부에 코일이 있으면 후자의 두께를 줄일 수 있습니다. 내부 두께는 이제 보드의 부품 높이에만 의존하며 보드 두께를 고려하면 약 6mm가 되어야 합니다. 또한 각인을 추가하는 것이 좋습니다. Flemming은 미적 및 인체 공학적 이유로 케이스의 측면을 둥글게 만들 것을 제안했습니다. 구부러진 몸체는 또한 코일의 측면을 더 잘 보호할 것입니다. 왜냐하면 장력이 많지 않은 곳에서는 와이어 코일이 기어 나오기를 좋아하기 때문입니다.

PhotonSaw는 아직 수준이 높지 않습니다. 상단 덮개크게 이사했습니다. 케이스의 최종 버전을 만들기 전에 완료해야 합니다. 곡선 윤곽은 빔이 닫힌 경로를 통과한 후 초기 위치로 돌아가지 않았기 때문에 소프트웨어에서 계산 오류가 발생했습니다. 하지만 어쨌든 곡선은 정말 매끄럽게 보입니다.

PCB 어셈블리

주문한 보드 도착:

조립은 별로 어렵지 않았습니다. 스텐실 보드에 솔더 페이스트를 바르고 모든 세부 사항을 배치 한 다음 집에서 만든 오븐에서 납땜했습니다.

분리 커패시턴스(47pF는 125kHz 주파수에서 약 27kOhm의 저항을 가짐)와 보호 다이오드를 통해 전류가 전원 버스로 흐릅니다. 코일에서 나오는 에너지는 약 1V의 공급 전압을 유지하기에 충분합니다. 전류는 250-500μA에 도달할 수 있습니다. 놀랍게도 74HC 칩은 이 전원 공급 장치에서 작동하는 것 같습니다. 불행히도 그러한 압박 속에서 이상한 일이 일어납니다. 74HC에는 내부 리셋 회로가 있으며 작동하는지 확인해야 합니다. 보호 다이오드를 끄는 것은 도움이 되지 않습니다. 마이크로 회로의 입력에 내부 보호 다이오드가 있으며, 이 경우에는 열리고 동일한 작업을 수행합니다.

전원 리셋은 전원 공급 장치 전압이 일정 시간 동안 일정 수준 이하로 떨어질 경우에만 트리거됩니다. 전압이 너무 높게 유지되면 내부 논리가 혼란스러울 수 있습니다. 다른 부분은 제대로 작동하는 동안 일부는 불확실한 상태일 수 있기 때문입니다. 모든 칩을 일관된 상태로 설정하려면 내부 재설정이 필요합니다. 따라서 회로는 매우 낮은 공급 전압에서 비정상적으로 작동합니다.

다음과 같은 증상이 관찰되었습니다. 올바른 데이터를 보내는 동안 태그가 잠시 작동합니다. 코일을 리더에서 제거했다가 다시 넣으면 태그가 꺼질지 여부에 베팅할 수 있습니다. 때로는 작동하고 때로는 작동하지 않습니다. PLL을 끄면 상황이 악화됩니다. 낮은 전력 소비로 인해 리더는 때때로 비활성화된 태그에서 데이터를 수신합니다. 그것이 "에너지 효율적인 시스템"이 의미하는 것입니다.

두 가지 솔루션이 있습니다. 1) 클록 복구 회로의 커패시터를 15pF로 줄이고 2) 전원과 접지 사이에 22-100kΩ 저항을 추가하여 과도한 에너지를 배출합니다. 두 번째 방법은 작동 중 누설이 증가하고 커패시터의 커패시턴스를 줄일 때 실제로 필요하지 않습니다. 다만, 옵션으로 제공되는 것으로 칩 상태가 불확실한 것보다는 나은 편이다.

전류 또는 전압에 의한 변조

변조기는 두통의 신선한 부분을 가져왔습니다. 코일을 리더에서 일정 거리에 놓으면 변조가 완전히 사라졌습니다. 코일을 판독기 쪽으로 또는 판독기에서 멀리 이동할 때도 발생할 수 있습니다.

그 이유는 변조기 회로에 있는 것으로 밝혀졌습니다. MOSFET은 특정 저항의 저항에 코일을 닫습니다. 그러나 루프의 전력 소모가 높으면 변조기 저항이 공급 회로의 저항보다 훨씬 높습니다. 이것은 변조 깊이가 소비 전류에 의존한다는 사실로 이어지며 이는 그다지 좋지 않습니다. 프로토타입보다 낮은 전압에서 제한적인 제너 다이오드를 선택함으로써 상황이 악화되었습니다.

변조기를 전압 변조 모드에서 전류 변조 모드로 전환하기로 결정했습니다. 첫 번째 모드의 경우 저항은 드레인 회로에 있었고 이제는 소스와 접지 사이에 연결됩니다. 게이트-소스 전압은 값이 트랜지스터 개방 임계값(0.9-1.1V)보다 약간 높게 유지될 때까지 이 저항에서 떨어지며, 이는 트랜지스터를 선형 모드로 전환합니다. 이제 트랜지스터를 통과하는 전류는 드레인 전압에 관계없이 안정적입니다.

프로토타입 테스트는 전류 변조가 매우 잘 작동하는 것으로 나타났습니다. 값싼 무명의 리더는 더 이상 실패하지 않습니다(좋아, 아마도 100분의 1 정도). 우리는 이 변화가 다른 독자들에게 훌륭하게 작용할 것이라고 가정할 수 있으며, 이제 레이블이 아마도 그들 대부분에서 작동할 수 있을 것입니다.

완성된 버전 1

에서 변경 사항을 확인할 수 있습니다. 인쇄 회로 기판. 나는 15pF SMD 커패시터가 없었고 다리가 있는 일반 커패시터를 납땜해야 했습니다. 변조기는 트랜지스터 소스에서 추가 저항으로 자란다. 일반적으로 첫 번째 버전에서 허용됩니다.

(사진은 클릭 가능)





비디오 데모

결론

7400 로직을 기반으로 구축된 이 프로젝트는 레트로 회로에 기인한다고 생각할 수 있지만 이는 완전히 사실이 아닙니다. 첫째, 현대의 74HC 제품군은 그렇게 오래되지 않았습니다. 둘째, 저전력 계획은 항상 관련이 있습니다. 세 번째, 단일 칩 논리적 요소(사용된 Schmitt 방아쇠와 같은)는 자주 사용됩니다 현대 발전. 기술 발전이 더 오래된 마이크로 회로 제품군에서도 멈추지 않는다는 사실을 종종 잊습니다. 그들은 일반적인 다양성의 배경에 대해 덜 눈에 띄게되었습니다.

아날로그 부분은 디지털 부분보다 개발하기가 더 어려운 것으로 판명되었습니다. 부분적으로는 사양이 부족하지만 주로 매개변수를 충족하고 예측할 수 없는 많은 타협이 필요하기 때문입니다. 부작용. 디지털 디자인은 상대적으로 옵션이 거의 없는 반면 아날로그 디자인은 일반적으로 서로 다른(종종 반대되는) 기준 간의 균형이 필요합니다.

나는 74HC 칩이 아주 아주 잘 만들어졌다는 것을 고백해야 한다. 개발자는 자신이 하는 일을 알고 매우 낮은 전력 소비를 달성했습니다. 처음에는 태그가 수동 전원으로 작동할 수 있을지 의심스러웠지만 사양을 읽은 후 적절한 회로 설계의 문제였습니다. 그러나 레이블의 다른 부분을 최적화할 수 있는 여지가 여전히 있습니다.

이제 이 프로젝트가 2012년 7400 대회에서 어떻게 수행되는지 봅시다. 공모전 접수는 11월 31일까지다. 작가님의 건승을 빕니다! - 메모. 번역

태그: 태그 추가

맨체스터 코드

로컬 네트워크에서 최근까지 가장 일반적인 코딩 방법은 소위 맨체스터 코드(그림 2.16, d). 이더넷 및 토큰 링 기술에 사용됩니다.

맨체스터 코드에서 잠재적 강하, 즉 펄스의 앞부분은 1과 0을 인코딩하는 데 사용됩니다. 맨체스터 인코딩에서 각 시계는 두 부분으로 나뉩니다. 정보는 각 주기의 중간에 발생하는 잠재적 하락으로 인코딩됩니다. 단위는 로우에서 하이로의 전환으로 인코딩되고 0은 리버스 에지에 의해 인코딩됩니다. 각 주기가 시작될 때 여러 개의 1 또는 0을 연속적으로 나타내야 하는 경우 서비스 신호 에지가 발생할 수 있습니다. 신호가 한 데이터 비트의 전송 주기당 적어도 한 번 변경되기 때문에 맨체스터 코드는 자체 동기화 특성이 좋습니다. 맨체스터 코드의 대역폭은 바이폴라 펄스의 대역폭보다 좁습니다. 또한 일정한 구성 요소가 없으며 최악의 경우(1 또는 0의 시퀀스를 전송할 때)의 기본 고조파는 NHz의 주파수를 가지며 최상의 경우(1과 0을 교대로 전송할 때)는 동일합니다. AMI 코드 또는 NRZ와 같이 N / 2Hz로. 평균적으로 맨체스터 코드의 대역폭은 바이폴라 펄스 코드의 대역폭보다 1.5배 좁고 기본 고조파는 3N/4 부근에서 진동합니다. 맨체스터 코드는 바이폴라 펄스 코드에 비해 또 다른 장점이 있습니다. 후자는 데이터 전송을 위해 3개의 신호 레벨을 사용하는 반면 Manchester는 2개를 사용합니다.

잠재적 코드 2B1Q

무화과에. 2.16e는 데이터 인코딩을 위한 4가지 신호 레벨을 가진 잠재적인 코드를 보여줍니다. 이것은 코드입니다 2B1Q, 그 이름은 본질을 반영합니다. 모든 2비트(2V)는 4가지 상태(1Q)를 갖는 신호에 의해 한 주기로 전송됩니다. 비트 00의 쌍은 -2.5V의 전위에 해당하고, 비트 01의 쌍 -0.833 V의 전위, 11의 쌍 - 전위 +0.833 V 및 쌍 10 - +2.5 V 전위에 해당합니다. 이 인코딩 방법을 사용하면 신호가 동일한 비트 쌍의 긴 시퀀스를 방지하기 위해 추가 조치가 필요합니다. 그런 다음 상수 구성 요소로 변환됩니다. 랜덤 비트 인터리빙을 사용하면 신호의 스펙트럼이 NRZ 코드의 스펙트럼보다 두 배 좁습니다. 동일한 비트 전송률에서 클럭 지속 시간이 두 배가 되기 때문입니다. 따라서 2B1Q 코드를 사용하면 AMI 또는 NRZI 코드를 사용하는 것보다 2배 빠른 속도로 동일한 라인을 통해 데이터를 전송할 수 있습니다. 그러나 구현을 위해서는 수신기가 간섭 배경에 대해 4가지 레벨을 명확하게 구분할 수 있도록 송신기 전력이 더 높아야 합니다.

2.2.3. 논리 코딩

논리 코딩은 잠재적인 AMI, NRZI 또는 2Q1B 유형 코드를 개선하는 데 사용됩니다. 논리 코딩은 일정한 잠재력으로 이어지는 긴 비트 시퀀스를 산재된 것으로 대체해야 합니다. 위에서 언급한 바와 같이 논리적 코딩의 특징은 중복 코드와 스크램블링의 두 가지 방법입니다.

중복 코드

중복 코드비트의 원래 시퀀스를 문자라고 하는 부분으로 분할하는 것을 기반으로 합니다. 그런 다음 각 원본 문자는 원본보다 비트가 더 많은 새 문자로 바뀝니다. 예를 들어, 논리 코드 FDDI 및 고속 이더넷 기술에 사용되는 4V/5V는 원래의 4비트 문자를 5비트 문자로 대체합니다. 결과 기호에는 중복 비트가 포함되어 있으므로 해당 기호의 총 비트 조합 수는 원래 기호보다 많습니다. 따라서 4B / 5B 코드에서 결과 기호는 32비트 조합을 포함할 수 있지만 원래 기호는 16개만 포함할 수 있습니다. 따라서 결과 코드에서 많은 수의 0을 포함하지 않는 이러한 조합을 16개 선택할 수 있습니다. 나머지를 세다 금지된 코드(코드 위반). DC를 제거하고 코드를 자체 동기화하는 것 외에도 중복 코드를 사용하면 수신기가 손상된 비트를 인식할 수 있습니다. 수신기가 금지된 코드를 수신하면 신호가 회선에서 왜곡되었음을 의미합니다.

소스 및 결과 코드 4V/5V의 대응이 아래에 나와 있습니다.

그런 다음 4B/5B 코드는 0의 긴 시퀀스에만 민감한 잠재적 코딩 방법 중 하나에서 물리적 코딩을 사용하여 라인을 통해 전송됩니다. 4V/5V 5비트 길이의 코드 기호는 라인에서 이들의 조합이 연속으로 3개 이상의 0을 만날 수 없도록 합니다.

코드 이름의 문자 B는 기본 신호가 영어 이진법에서 이진법의 2가지 상태를 가짐을 의미합니다. 8비트 코딩을 위한 8B/6T 코드와 같이 세 가지 신호 상태를 가진 코드도 있습니다. 배경 정보 6개 신호의 코드가 사용되며 각 신호에는 세 가지 상태가 있습니다. 8B/6T 코드의 중복성은 4B/5B 코드의 중복성보다 높습니다. 256개의 소스 코드당 3 6 =729개의 결과 심볼이 있기 때문입니다.

룩업 테이블을 사용하는 것은 매우 간단한 작업이므로 이 접근 방식은 복잡하지 않습니다. 네트워크 어댑터스위치와 라우터의 인터페이스 블록.

주어진 것을 보장하기 위해 대역폭라인에서 중복 코드를 사용하는 송신기는 증가된 클록 속도로 작동해야 합니다. 따라서 4V/5V 코드를 100Mb/s의 속도로 전송하려면 송신기가 125MHz의 클럭 주파수에서 작동해야 합니다. 이 경우, 순수한 비중복 코드가 라인을 통해 전송되는 경우와 비교하여 라인의 신호 스펙트럼이 확장됩니다. 그럼에도 불구하고 중복 전위 코드의 스펙트럼은 맨체스터 코드의 스펙트럼보다 좁은 것으로 판명되어 논리 코딩의 추가 단계와 증가된 클록 주파수에서 수신기 및 송신기의 작동을 정당화합니다.

스크램블링

솔직한 코드로 라인에 넣기 전에 스크램블러로 데이터를 섞는 것은 논리적 코딩의 또 다른 방법입니다.

스크램블링 방법은 소스 코드의 비트와 이전 주기에서 얻은 결과 코드의 비트를 기반으로 하는 결과 코드의 비트별 계산으로 구성됩니다. 예를 들어, 스크램블러는 다음 관계를 구현할 수 있습니다.

여기서 Bi는 스크램블러의 i번째 주기에서 얻은 결과 코드의 이진수이고, Ai는 스크램블러 Bi-3 및 Bi의 입력에서 i번째 주기에 도달하는 소스 코드의 이진수입니다. -5는 스크램블러의 이전 주기에서 얻은 결과 코드의 이진수이며, 현재 주기인 XOR 연산(모듈로 2 덧셈)보다 3 및 5주기 이전입니다. 예를 들어, 소스 시퀀스 110110000001의 경우 스크램블러는 다음 결과 코드를 제공합니다. B1 = A1 = 1(결과 코드의 처음 세 자리는 아직 필요한 이전 숫자가 없기 때문에 원래 코드와 동일합니다)

따라서 스크램블러의 출력은 시퀀스 110001101111이 되며 여기에는 6개의 0 시퀀스가 ​​포함되지 않습니다. 소스 코드.

결과 시퀀스를 수신한 후 수신기는 역 관계를 기반으로 원래 시퀀스를 재구성하는 디스크램블러에 이를 전달합니다.

다양한 스크램블링 알고리즘은 결과 코드의 숫자를 제공하는 용어의 수와 용어 간의 이동이 다릅니다. 따라서 ISDN 네트워크에서 네트워크에서 가입자로 데이터를 전송할 때 5 및 23 위치 이동으로 변환이 사용되며 가입자에서 네트워크로 데이터를 전송할 때 18 및 23 위치 이동으로 변환이 사용됩니다.

더있다 간단한 방법스크램블링 클래스라고도 하는 일련의 유닛과의 싸움.

Bipolar AMI 코드를 개선하기 위해 금지된 문자에 의한 0 시퀀스의 인위적인 왜곡을 기반으로 두 가지 방법이 사용됩니다.

무화과에. 그림 2.17은 B8ZS(Bipolar with 8-Zeros Substitution) 방법과 HDB3(High-Density Bipolar 3-Zeros) 방법을 사용하여 AMI 코드를 수정하는 방법을 보여줍니다. 소스 코드는 두 개의 긴 0 시퀀스로 구성됩니다. 첫 번째 경우에는 8부터, 두 번째 경우에는 5부터입니다.

쌀. 2.17.코드 B8ZS 및 HDB3. V - 금지된 극성 단위의 신호; 1*-극성이 올바른 단위의 신호이지만 소스 코드에서 0으로 대체

B8ZS 코드는 8개의 0으로 구성된 시퀀스만 수정합니다. 이를 위해 처음 세 개의 0 뒤에 나머지 5개의 0 대신 5개의 숫자를 삽입합니다. V-1*-0-V-1*. 여기서 V는 1의 신호, 주어진 극성 주기 동안 금지된 신호, 즉 이전의 극성을 변경하지 않는 신호를 나타내고, 1*은 올바른 극성 단위의 신호이며, 별표 기호는 이 주기의 소스 코드에는 단위가 없지만 0이 있다는 사실입니다. 결과적으로 수신기는 8 클럭 사이클에서 2개의 왜곡을 봅니다. 이것이 회선의 노이즈 또는 기타 전송 오류로 인해 발생했을 가능성은 거의 없습니다. 따라서 수신기는 이러한 위반을 8개의 연속 0으로 코딩하는 것으로 간주하고 수신 시 원래 8개의 0으로 대체합니다. B8ZS 코드는 이진 숫자 시퀀스에 대해 상수 구성 요소가 0이 되도록 구성됩니다.

강의 4: OSI 모델

  1. OSI 모델의 통신 계층 및 프로세스

  2. 의사 소통 과정에서 수준의 상호 작용

이기종 장치 및 소프트웨어가 있는 네트워크의 데이터를 통합적으로 표현하기 위해 ISO(International Standards Organization)는 기본 통신 모델을 개발했습니다. 개방형 시스템 OSI(개방형 시스템 상호 연결). 이 모델은 통신 세션을 구성할 때 다양한 네트워크 환경에서 데이터를 전송하기 위한 규칙과 절차를 설명합니다. 모델의 주요 요소는 계층, 응용 프로세스 및 물리적 연결 수단입니다. 무화과에. 2.1은 기본 모델의 구조를 보여준다. 모델의 각 레벨 OSI는 네트워크를 통해 데이터를 전송하는 과정에서 특정 작업을 수행합니다. 기본 모델네트워크 프로토콜 개발의 기초입니다. OSI는 네트워크의 통신 기능을 7개의 계층으로 나눕니다. 각 계층은 개방형 시스템 상호 운용성 프로세스의 다른 부분을 담당합니다.

쌀. 2.1 OSI 모델

OSI 모델은 최종 사용자 애플리케이션이 아닌 시스템 전체의 상호 작용 수단만을 설명합니다. 응용 프로그램은 시스템 시설에 액세스하여 자체 통신 프로토콜을 구현합니다. 응용 프로그램이 OSI 모델의 일부 상위 계층 기능을 인수할 수 있는 경우 통신을 위해 OSI 모델의 나머지 하위 계층 기능을 수행하는 시스템 도구에 직접 액세스합니다.

OSI 모델의 레이어 상호 작용

OSI 모델은 그림 2.2와 같이 두 가지 모델로 나눌 수 있습니다.

    다른 기계에서 프로그램과 프로세스의 상호 작용을 위한 메커니즘을 제공하는 수평적 프로토콜 기반 모델;

    동일한 시스템에서 이웃 계층이 서로 제공하는 서비스를 기반으로 하는 수직 모델입니다.

쌀. 2.2 기본 OSI 참조 모델에서 컴퓨터의 상호 작용 방식

보내는 컴퓨터의 각 계층은 마치 직접 연결된 것처럼 받는 컴퓨터의 동일한 계층과 상호 작용합니다. 이러한 관계를 논리적 또는 가상 연결. 실제로 상호 작용은 한 컴퓨터의 인접한 수준 간에 수행됩니다.

따라서 보내는 컴퓨터의 정보는 모든 수준을 통과해야 합니다. 그런 다음 물리적 매체를 통해 수신 컴퓨터로 전송되고 전송 컴퓨터에서 전송된 동일한 수준에 도달할 때까지 모든 계층을 다시 통과합니다.

수평 모델두 프로그램은 데이터를 교환하기 위해 공통 프로토콜이 필요합니다. 수직 모델에서 인접 계층은 API(응용 프로그래밍 인터페이스)를 사용하여 통신합니다.

네트워크에 공급되기 전에 데이터는 패킷으로 나뉩니다. 패킷은 네트워크 상의 스테이션 간에 전송되는 정보의 단위입니다. 데이터를 보낼 때 패킷은 모든 레벨을 순차적으로 통과합니다. 소프트웨어. 각 레벨에서 이 레벨(헤더)의 제어 정보가 패킷에 추가되며, 이는 그림 3과 같이 네트워크를 통한 성공적인 데이터 전송에 필요합니다. 2.3, 여기서 재그- 패킷 헤더, - 패킷의 끝.

수신 측에서 패킷은 역순으로 모든 계층을 통과합니다. 각 계층에서 해당 계층의 프로토콜은 패킷의 정보를 읽고 보낸 사람이 같은 계층의 패킷에 추가한 정보를 제거하고 패킷을 다음 계층으로 전달합니다. 패키지가 도착하면 적용된레벨에서 모든 제어 정보는 패킷에서 제거되고 데이터는 원래 형식으로 돌아갑니다.

쌀. 2.3 7레벨 모델의 각 레벨 패키지 구성

모델의 각 수준에는 고유한 기능이 있습니다. 레벨이 높을수록 어려운 일그는 결정한다.

별도의 모델 수준 OSI로 생각하기에 편리한 프로그램 그룹특정 기능을 수행하도록 설계된 기능. 예를 들어 한 레이어는 다음에서 데이터 변환을 제공합니다. 아스키안에 EBCDIC및 포함 프로그램들이 작업을 완료하는 데 필요합니다.

각 계층은 상위 계층에 서비스를 제공하고 차례로 하위 계층에 서비스를 요청합니다. 상위 계층은 거의 동일한 방식으로 서비스를 요청합니다. 일반적으로 일부 데이터를 한 네트워크에서 다른 네트워크로 라우팅해야 합니다. 데이터 주소 지정 원칙의 실제 구현은 하위 수준에 할당됩니다.

고려된 모델은 개방형 시스템의 상호 작용을 결정합니다. 다른 제조업체같은 네트워크에서. 따라서 다음 사항에 대한 조정 작업을 수행합니다.

    적용된 프로세스의 상호 작용;

    데이터 프레젠테이션 양식;

    균일한 데이터 저장;

    네트워크 자원 관리;

    데이터 보안 및 정보 보호;

    프로그램 및 하드웨어 진단.

무화과에. 2.4 주어진 간단한 설명모든 수준에서 기능합니다.

쌀. 2.4 레벨 기능

애플리케이션 레이어

응용 프로그램 계층은 응용 프로그램 프로세스에 상호 작용 영역에 대한 액세스 권한을 제공하며 상위(7번째) 수준이며 응용 프로그램 프로세스에 직접 인접합니다. 실제로 응용 프로그램 계층은 네트워크 사용자가 파일, 프린터 또는 하이퍼텍스트 웹 페이지와 같은 공유 리소스에 액세스하고 예를 들어 프로토콜을 사용하여 공동 작업을 구성하는 다양한 프로토콜 집합입니다. 이메일. 특수 응용 프로그램 서비스 요소는 파일 전송 및 터미널 에뮬레이션 프로그램과 같은 특정 응용 프로그램에 대한 서비스를 제공합니다. 예를 들어 프로그램이 파일을 보내야 하는 경우에는 확실히 사용됩니다. 파일 전송, 액세스 및 관리 프로토콜 FTAM( 파일 전송, 액세스 및 관리). OSI 모델에서 응용 프로그램, 특정 작업을 수행해야 하는(예: 컴퓨터의 데이터베이스 업데이트) 형식으로 특정 데이터를 보냅니다. 데이터그램응용 계층. 이 계층의 주요 작업 중 하나는 응용 프로그램 요청을 처리하는 방법, 즉 요청의 형식을 결정하는 것입니다.

애플리케이션 계층이 작동하는 데이터 단위를 일반적으로 메시지라고 합니다.

애플리케이션 계층은 다음 기능을 수행합니다.

적용된 프로세스 간의 상호 작용 형식 및 방법에 대한 설명.

    성능 다양한 종류공장.

    파일 전송;

    작업 관리;

    시스템 관리 등

    비밀번호, 주소, 전자 서명으로 사용자 식별

    기능하는 가입자 식별 및 새로운 신청 프로세스에 대한 액세스 가능성

    가용 자원의 충분성 결정

    다른 애플리케이션 프로세스와의 연결 요청 구성

    필요한 정보 기술 방법에 대한 대표 수준으로 응용 프로그램의 전송;

    계획된 프로세스 대화를 위한 절차 선택

    응용 프로세스 간에 교환되는 데이터 관리 및 응용 프로세스 간의 상호 작용 동기화

    서비스 품질 결정(데이터 블록의 전달 시간, 허용 가능한 오류율)

    오류 정정 및 자료의 신뢰성 판단에 관한 동의

    구문(문자 집합, 데이터 구조)에 부과된 제한 조정.

이러한 기능은 응용 프로그램 계층이 응용 프로그램 프로세스에 제공하는 서비스의 종류를 정의합니다. 또한 애플리케이션 계층은 물리적, 데이터 링크, 네트워크, 전송, 세션 및 프레젠테이션 계층에서 제공하는 서비스를 애플리케이션 프로세스로 전송합니다.

응용 계층이미 처리된 정보를 사용자에게 제공해야 합니다. 이것은 시스템 및 사용자 소프트웨어에 의해 처리될 수 있습니다.

애플리케이션 계층은 네트워크에 대한 애플리케이션 액세스를 담당합니다. 이 수준의 작업은 파일 전송, 교환 우편 메시지및 네트워크 관리.

가장 일반적인 상위 3개 계층 프로토콜은 다음과 같습니다.

    FTP(파일 전송 프로토콜) 파일 전송 프로토콜;

    TFTP(Trivial File Transfer Protocol)는 가장 간단한 파일 전송 프로토콜입니다.

    X.400 이메일;

    텔넷은 원격 터미널과 함께 작동합니다.

    SMTP(Simple Mail Transfer Protocol)는 단순 메일 교환 프로토콜입니다.

    CMIP(Common Management Information Protocol) 공통 정보 관리 프로토콜;

    슬립 (직렬 회선 IP) 직렬 회선용 IP입니다. 직렬 문자별 데이터 전송을 위한 프로토콜.

    SNMP(단순 네트워크 관리 프로토콜) 단순 네트워크 관리 프로토콜.

    FTAM(파일 전송, 액세스 및 관리)은 파일을 전송, 액세스 및 관리하기 위한 프로토콜입니다.

프레젠테이션 레이어

프리젠테이션 계층 또는 프리젠테이션 계층은 애플리케이션 프로세스 간에 전달되는 데이터를 원하는 형태의 데이터로 나타냅니다.

이 계층은 응용 프로그램 계층에서 전달된 정보가 다른 시스템의 응용 프로그램 계층에서 이해되도록 합니다. 필요한 경우 정보 전송 시의 프레젠테이션 계층에서 데이터 형식을 일부 공통 프레젠테이션 형식으로 변환하고 수신 시 각각 역변환을 수행합니다. 따라서 애플리케이션 계층은 예를 들어 데이터 표현의 구문적 차이를 극복할 수 있습니다. 이 상황은 이기종 컴퓨터( IBM PC 및매킨토시) 데이터를 교환해야 합니다. 따라서 데이터베이스 분야에서 정보는 문자와 숫자의 형태로 제공되어야 하며, 종종 다음과 같은 형태로 제공되어야 합니다. 그래픽 이미지. 예를 들어 이 데이터를 부동 소수점 숫자로 처리해야 합니다.

공통 데이터 표현은 모델의 모든 수준에 공통인 ASN.1 시스템을 기반으로 합니다. 이 시스템은 파일의 구조를 설명하는 역할을 하며 데이터 암호화 문제도 해결합니다. 이 수준에서 데이터 암호화 및 암호 해독을 수행할 수 있으므로 모든 응용 프로그램 서비스에 대해 즉시 데이터 교환의 비밀이 보장됩니다. 이러한 프로토콜의 예는 프로토콜입니다. 안전한 소켓 (SSL) TCP/IP 스택의 응용 프로그램 계층 프로토콜에 대한 비밀 메시징을 제공합니다. 이 계층은 응용 계층의 데이터 변환(인코딩, 압축 등)을 전송 계층에 대한 정보 스트림으로 제공합니다.

대표 계층은 다음과 같은 주요 기능을 수행합니다.

    애플리케이션 프로세스 간의 상호 작용 세션을 설정하기 위한 요청 생성.

    애플리케이션 프로세스 간의 데이터 표시 조정.

    데이터 프레젠테이션 양식의 구현.

    그래픽 자료(도면, 도면, 도표)의 프레젠테이션.

    데이터 암호화.

    세션 종료 요청을 보냅니다.

프레젠테이션 계층 프로토콜은 일반적으로 중요한 부분모델의 상위 3개 계층의 프로토콜.

세션 계층

세션 계층은 사용자 또는 응용 프로세스 간에 세션을 수행하는 절차를 정의하는 계층입니다.

세션 레이어는 대화 제어를 제공하여 어느 파티가 활성 상태인지 캡처합니다. 이 순간또한 동기화 기능을 제공합니다. 후자를 사용하면 긴 전송에 체크포인트를 삽입하여 실패 시 마지막 전송으로 돌아갈 수 있습니다. 검문소처음부터 다시 시작하는 대신. 실제로 세션 계층을 사용하는 응용 프로그램은 거의 없으며 거의 ​​구현되지 않습니다.

세션 계층은 응용 프로세스 간의 정보 전송을 제어하고 하나의 통신 세션의 수신, 전송 및 발행을 조정합니다. 또한 세션 계층은 하위 계층의 오류로 인해 실패한 전송 세션에서 암호 관리, 대화 제어, 동기화 및 통신 취소 기능을 추가로 포함합니다. 이 레벨의 기능은 커뮤니케이션 조정에서서로 다른 워크스테이션에서 실행되는 두 응용 프로그램 간에 그것은 잘 구성된 대화의 형태로 제공됩니다. 이러한 기능에는 세션 생성, 세션 중 메시지 패킷 송수신 관리, 세션 종료가 포함됩니다.

세션 수준에서 두 애플리케이션 프로세스 간의 전송이 결정됩니다.

    반이중(프로세스는 차례로 데이터를 보내고 받습니다.)

    이중(프로세스는 데이터를 보내고 동시에 수신합니다).

반이중 모드에서 세션 계층은 전송을 시작하는 프로세스에 전달하고, 데이터 토큰. 두 번째 프로세스가 응답할 시간이 되면 데이터 토큰이 전달됩니다. 세션 계층은 데이터 토큰을 소유한 당사자에게만 전송을 허용합니다.

세션 계층은 다음 기능을 제공합니다.

    상호 작용하는 시스템 간의 연결 세션 수준에서 설정 및 종료.

    신청 프로세스 간의 정상적이고 긴급한 통신을 수행합니다.

    적용된 프로세스의 상호 작용을 관리합니다.

    세션 연결 동기화.

    애플리케이션 프로세스에 예외를 알립니다.

    실패 또는 오류 후 가장 가까운 레이블에서 실행을 복원할 수 있도록 응용 프로그램 프로세스에서 레이블을 설정합니다.

    필요한 경우 신청 절차의 중단 및 올바른 재개.

    데이터 손실 없이 세션 종료.

    세션 진행 상황에 대한 특별 메시지 전송.

세션 계층은 최종 머신 간의 데이터 교환 세션을 구성하는 역할을 합니다. 세션 계층 프로토콜은 일반적으로 모델의 상위 3개 계층 프로토콜의 구성 요소입니다.

전송 계층.

전송 계층은 통신 네트워크를 통해 패킷을 전송하도록 설계되었습니다. 전송 계층에서 패킷은 블록으로 나뉩니다.

보낸 사람에서 받는 사람에게 가는 도중에 패킷이 손상되거나 손실될 수 있습니다. 일부 응용 프로그램에는 자체 오류 처리 기능이 있지만 안정적인 연결을 즉시 처리하는 것을 선호하는 응용 프로그램도 있습니다. 전송 계층의 역할은 응용 프로그램 또는 모델의 상위 계층(응용 프로그램 및 세션)이 필요한 수준의 신뢰성으로 데이터를 전송하도록 하는 것입니다. OSI 모델은 전송 계층에서 제공하는 5가지 서비스 클래스를 정의합니다. 이러한 유형의 서비스는 제공되는 서비스의 품질이 다릅니다. 긴급성, 중단된 통신을 복원하는 기능, 공통 전송 프로토콜을 통해 서로 다른 애플리케이션 프로토콜 간의 다중 연결을 위한 다중화 기능의 가용성, 그리고 가장 중요한 것은 감지하고 수정하는 기능입니다. 패킷의 왜곡, 손실 및 복제와 같은 전송 오류.

전송 계층은 네트워크에서 물리적 장치(시스템, 해당 부품)의 주소 지정을 결정합니다. 이 계층은 수신자에게 정보 블록의 전달을 보장하고 이 전달을 관리합니다. 주요 임무는 시스템 간에 효율적이고 신뢰할 수 있는 정보 전송을 제공하는 것입니다. 둘 이상의 패킷이 처리 중인 경우 전송 계층은 패킷이 통과하는 순서를 제어합니다. 이전에 수신된 메시지의 중복이 통과되면 주어진 수준이를 인식하고 메시지를 무시합니다.

전송 계층의 기능은 다음과 같습니다.

    네트워크 전송 제어 및 데이터 블록의 무결성 보장.

    오류 감지, 부분 제거 및 수정되지 않은 오류 보고.

    고장 및 오작동 후 변속기 복구.

    데이터 블록의 통합 또는 분할.

    블록 전송에 대한 우선 순위 부여(정상 또는 긴급).

    이체 확인.

    네트워크의 교착 상태 상황에서 블록 제거.

전송 계층에서 시작하여 모든 상위 프로토콜이 구현됩니다. 소프트웨어 도구일반적으로 네트워크 운영 체제에 포함됩니다.

가장 일반적인 전송 계층 프로토콜은 다음과 같습니다.

    TCP(전송 제어 프로토콜) TCP/IP 스택 전송 제어 프로토콜.

    UDP(사용자 데이터그램 프로토콜)는 TCP/IP 스택의 사용자 데이터그램 프로토콜입니다.

    NetWare 네트워크용 NCP(NetWare Core Protocol) 기본 프로토콜.

    SPX(Sequenced Packet eXchange) Novell Stack Sequenced Packet Exchange;

    TP4(전송 프로토콜) - 클래스 4 전송 프로토콜.

맨체스터 주민코드자체 동기화 펄스 코드를 말하며 두 가지 레벨이 있어 우수한 노이즈 내성을 제공합니다. 각 사이클(비트 간격)은 두 부분으로 나뉩니다. 정보는 각 주기의 중간에 발생하는 잠재적 하락으로 인코딩됩니다.

단위는 high-to-low 신호 레벨로 인코딩되고 0은 리버스 에지로 인코딩됩니다. 사이클이 시작될 때 신호의 서비스 에지가 발생할 수 있습니다(여러 개의 1 또는 0이 연속으로 전송되는 경우).

앞의 경우와 마찬가지로 코딩의 특별한 경우를 고려해 보겠습니다.

~에 맨체스터코딩에서 각 비트 간격의 중간에 의무적인 신호 변경은 클록 신호를 쉽게 분리할 수 있도록 합니다. 그렇기 때문에 맨체스터 주민코드좋은 자체 동기화속성.

신호에는 일정한 구성 요소가 포함되어 있지 않으며 신호의 기본 고조파 주파수는 다음 범위에 있습니다. fo=N/2 Hz ~ fo=N Hz, 비트 스트림 유형에 따라 다릅니다.

맨체스터 코딩은 10Mbps 이더넷 기술의 초기 버전에서 사용되었습니다.

차동 맨체스터 코드(Differential Manchester)

부울 값 "0" 및 "1"이 각각 전송됩니다. 있음또는 결석 교대신호 레벨 일찍클록(비트) 간격. 비트 간격의 중간에 신호 값에 필수 변경이 있습니다.

차동 맨체스터 인코딩

이 코드에는 다음과 같은 장점과 단점이 있습니다. 맨체스터 주민.

우리가 고려한 모든 코드 중에서 맨체스터 코딩은 신호 에지가 클록당 적어도 한 번 발생하기 때문에 최고의 자체 동기화를 가지고 있습니다.

맨체스터 코드는 전송 속도가 10Mbps(10Base-T)인 이더넷 네트워크에서 사용됩니다. 차동 맨체스터 코드 - 토큰 링 기술이 있는 네트워크에서.

현재 개발자들은 많은 경우 잠재적인 코딩을 적용하는 것이 더 합리적이라는 결론에 도달했습니다. 논리적 코딩 (센티미터. 이 섹션의 아래).

제로 코드 rz로 돌아가기(제로로 돌아가기)

비트 "1" - 펄스 하나비트 간격의 전반부에는 극성이 있고 비트 간격의 후반부에서는 신호의 전위가 0입니다.

비트 "0" - 펄스 또 다른비트 간격의 전반부에는 극성이 있고 비트 간격의 후반부에서는 신호의 전위가 0입니다. 코드에는 좋은 동기화 속성이 있습니다.

이 코드의 경우 비트 간격
.

코드 값 cmi의 반전이 있는 코드.

이 전송 방법을 사용하면 비트 1이 규칙에 따라 표시됩니다. 준삼항코딩 및 비트 0 - 중간에 부호가 변경되는 반대 극성의 두 펄스 형태. 코드에는 좋은 동기화 속성도 있습니다.

잠재적 코드 2b1q

이것은 데이터를 인코딩하기 위한 4가지 신호 레벨을 가진 잠재적인 코드입니다. 이름은 인코딩의 본질을 반영합니다(2비트마다). (2B) 일정 수준의 신호에 의해 한 주기로 전송 (1Q) . 라인 신호에는 4가지 상태가 있습니다. 즉, 이 코딩 방식에서 정보율 N은 변조율 B의 2배이다.

2B1Q 인코딩

2B1Q 코드의 신호

그림은 비트 시퀀스 01 01 10 00에 해당하는 신호를 보여줍니다. 2B1Q 코드에서 신호의 주 주파수는 값을 초과하지 않습니다. fo=N/4헤르츠.

그러나 이 코딩 방법을 구현하려면 수신기가 잡음 배경에 대해 4개의 잠재적 값을 명확하게 구별할 수 있도록 송신기 전력이 더 높아야 합니다.

코드 MLT3 (다단계 전송 - 3) .

"-1", "0", "+1"의 세 가지 전송 수준이 사용됩니다.

단일성해당 필수의 이행클럭 간격의 가장자리에서 한 신호 레벨에서 다른 신호 레벨로.

해당 결석라인 신호 레벨이 변경됩니다.

1의 시퀀스를 전송할 때 신호 레벨 변경 주기는 4비트를 포함합니다. 이 경우 fo=N/4 헤르츠. 이것은 코드에서 신호의 최대 기본 주파수입니다. MLT-3. 0과 1의 교번 시퀀스의 경우 신호의 기본 고조파는 주파수 fo=N/8 Hz, 이는 코드의 절반입니다. NRZI.

MLT-3 코드의 신호

논리 코딩

논리 코딩 까지 송신기에 의해 수행 물리적 인링크 또는 물리 계층을 통해 위에서 논의한 코딩. 무대에서 논리적코딩방법의 단점과 씨름하다 물리적 인디지털코딩 - 결석동기화, 유효성끊임없는요소. 따라서 먼저 도움을 받아 논리적코딩수정된 비트 시퀀스가 ​​형성된 다음 간단한 행동 양식물리적 인코딩통신 회선을 통해 전송됩니다.

부울코딩원래 정보 시퀀스의 비트를 동일한 정보를 전달하는 새로운 비트 시퀀스로 교체하는 것을 포함하지만, 수신 측에서 수신된 데이터의 오류를 감지하거나 들어오는 신호.

구별하다 논리적 코딩의 두 가지 방법:

- 코딩 중복 코드;

- 스크램블링.

과잉 코드 (테이블 코드)는 원래 비트 시퀀스를 그룹으로 분할한 다음 테이블에 따라 각 원래 그룹을 코드 워드로 대체하는 것을 기반으로 합니다. 코드워드는 항상 원래 그룹보다 더 많은 비트를 포함합니다.

논리 코드 4V/5V 원래 4비트 그룹을 5비트 코드워드로 바꿉니다. 결과적으로, 가능한 비트 조합의 총 수(2 5 =32)는 원래 그룹(2 4 =16)보다 많습니다. 따라서 에서 코드 테이블다음을 포함하지 않는 16개의 조합을 포함할 수 있습니다. 연속으로 두 개 이상의 0, 데이터를 전송하는 데 사용합니다. 이 코드는 코드 단어 조합에 대해 행에 연속 0이 3개 이하임을 보장합니다.

나머지 코드 조합은 서비스 신호(전송 동기화, 데이터 블록 시작, 데이터 블록 끝, 링크 계층에서 전송 제어)를 전송하는 데 사용됩니다. 사용되지 않은 코드워드는 수신기에서 데이터 스트림의 오류를 감지하는 데 사용할 수 있습니다. 이 데이터 인코딩 방법으로 얻은 이점에 대한 대가는 유용한 정보의 전송 속도가 25% 감소한다는 것입니다.

라인 코드

상징

소스 그룹

4V/5V 논리 인코딩은 전송 속도가 100Mbps인 이더넷 네트워크에서 사용됩니다.

    NRZI 코드와 결합(100Base FX 사양, 전송 매체 - 광섬유);

    MLT-3 코드(100Base TX 사양, UTP Cat 5e 전송 매체)와 결합됩니다.

예를 들어 코드에 세 가지 신호 상태가 있는 코드도 있습니다. 8V/6T 원래 정보의 8비트를 인코딩하기 위해 6요소의 3진 코드의 코드 워드가 사용됩니다. 각 요소는 세 가지 값(+1, 0, -1) 중 하나를 사용할 수 있습니다. 코드 중복 8V/6T코드보다 높은 4V/5V, 2 8 이후 = 256 소스 문자 설명 3 6 =729 결과 코드 단어. 이 인코딩 방법은 100Base T4 사양에서 사용됩니다 - UTP Cat3 케이블을 통해 100Mbps 이더넷을 구성할 때(구식 사양). 여기서 비트스트림을 전송하기 위해 3개의 트위스트 페어가 동시에 사용된다. 각 쌍에 대한 정보 전송 속도는 N=100Mbps / 3 = 33.3Mbps이고 선형 신호의 변조 속도는 25M Baud(8:6=1.33; 33.3:1.33=25)이며 비차폐를 사용할 수 있습니다. 꼬인 쌍 UTP Cat3.

코드에서8V/10V 원래 시퀀스의 8비트마다 코드 워드의 10비트로 대체됩니다. 동시에 256개의 초기 조합에 대해 1024개의 결과 조합이 있습니다. 코드 표에 따라 교체할 때 다음 규칙이 준수됩니다.

      결과 조합(코드 워드)은 한 행에 4개 이상의 동일한 비트를 포함해서는 안 됩니다.

      결과 조합에는 6개 이상의 0 또는 6개 이상의 1이 포함되어서는 안 됩니다.

8B/10V(+NRZI) 코드는 기가비트 이더넷 1000Base-X 표준에서 사용됩니다(파이버가 전송 매체로 사용되는 경우).

논리적 코딩 네트워크 어댑터 구현. 룩업 테이블의 사용은 매우 간단한 작업이므로 논리적 중복 인코딩 방법은 이 장비의 기능 요구 사항을 복잡하게 만들지 않습니다.

주어진 처리량을 제공하기 위해N중복 코드를 사용하는 비트/초 송신기는 증가된 클록 속도로 작동해야 합니다.따라서 코드에서 신호 전송을 위해 4V/5V정보 전송 속도 N= 100Mbps,송신기는 클럭 주파수에서 작동해야 합니다. 125MHz(즉.=125 엠보). 이 경우 선형 신호의 스펙트럼이 확장됩니다. 그러나 중복 전위 코드의 신호 스펙트럼은 맨체스터암호, 논리 코딩의 추가 단계와 증가된 클록 주파수에서 수신기 및 송신기의 작동을 정당화합니다.

스크램블링 물리적 인코딩 모듈의 입력에서 1과 0이 발생할 확률이 0.5에 가까워지는 원래 비트 시퀀스의 "혼합"입니다. 이 작업을 수행하는 장치(또는 소프트웨어 모듈)를 스크램블러(스크램블 - 덤프, 랜덤 어셈블리).

통신 채널에 스크램블러를 포함하는 방식

송신기의 스크램블러는 원래 디지털 스트림 구조의 변환을 수행합니다. 수신기의 디스크램블러는 원래 비트 시퀀스를 복원합니다. 스크램블러와 디스크램블러에서 사용되는 거의 유일한 연산은 XOR - "비트별 XOR"(추가 모듈 2).

스크램블러 및 디스크램블러의 주요 부분은 K비트 피드백 시프트 레지스터 형태의 의사 랜덤 시퀀스 생성기(PRS)입니다.

스크램블러-디스크램블러 쌍에는 두 가지 주요 유형이 있습니다.

    자체 동기화;

    초기 설치(첨가제).

자체 클러킹 회로는 스크램블된 시퀀스에 의해 제어됩니다. 이러한 방식은 오류 전파의 단점이 있습니다. 잘못된 기호의 영향은 다음과 같이 여러 번 나타납니다. 피드백스키마에 있습니다.

자체 동기화 방식에서 스크램블링 구현의 변형입니다.

예를 들어, 스크램블러가 In i =A i +B i -5 +B i -7 관계를 구현한다고 가정해 보겠습니다.

여기서 Bi는 스크램블러의 i번째 사이클에서 얻은 결과 코드의 이진수입니다. Ai는 i번째 사이클의 스크램블러 입력에서 송신기에 도착하는 소스 코드의 이진수입니다. B i -5 및 B i -7은 각각 "i-5" 및 "i-7" 주기에서 스크램블러의 이전 주기에서 얻은 결과 코드의 이진수입니다.

수신기의 디스크램블러는 관계를 사용하여 원래 시퀀스를 재구성합니다.

C i =B i +B i-5 +B i-7 =(A i +B i-5 +B i-7)+B i-5 +B i-7 =A i

가산 회로에서 스크램블된 시퀀스는 시프트 레지스터의 입력에 공급되지 않고 오류 전파는 없지만 스크램블러-디스크램블러 쌍의 작동 동기화가 필요합니다.