|
|
출처: DMX512 원문보기 글쓴이: majjang

EIA485 (RS485)
DMX512는 산업 표준 규격 EIA485 인터페이스로 설계되었다. EIA485는 인터페이스, 전압, 전류 등에 대한 “전기적인” 부분만 기술한다.
이 시스템은 안정된 전송에 있어서 한 쌍의 피복 전선인 스크린된 도선으로 되어 있다. 이 시스템에 사용되는 케이블은 한 개 혹은 두 개가 서로 꼬여져 사용된 전선, 포일 그리고 서로간의 선이 접혀진 전선으로 되어 있어야 한다.
일반적으로 어떤 네트워크 세그먼트처럼 이 케이블도 양끝점에서 끝나야 한다. 그러나 광원 콘솔이 단지 그 케이블의 한쪽 끝에 있기 때문에 다른 쪽 끝은 120R저항을 가지고 가장 먼 리시버쪽에서 종료되어야 한다. EIA485 규격은 세그먼트상에서 32 “Unit Loads"까지 ”데이지 체인“ 네트워킹 만을 지원한다. 이 세그먼트는 1000m까지 가능하다. 그러나 실제적으로 말하자면, 리피터 사용은 케이블이 운영되기전에 오랫동안 고려되어야 하며, 그래야만 이런 한계에 이를 수 있다.
DMX512 컨트롤 라인은 XLR5핀(때로 3핀) 커넥터 사용에 연결하고, 오목 커넥터는 트랜스미터에 꼭 끼우며 볼록 커넥터는 리시버에 끼워진다. 비록 한 쌍을 요구한다 할지라도, 스펙 규격은 2쌍으로 된(4개도체) 보호막이 입혀진 케이블 사용을 명시한다. 세컨드 케이블은 명시되지 않은 선택적 사용에 대해 별도로 놓아둔다. 어떤 조광자들은 고장이나 상태정보에 대해서 이러한 라인을 사용하는 것에 주목해야 한다.
주의 : 만약 조광자들이 이러한 세컨드 채널을 사용한다면, 명백하게 구성된 스플리터와 리피터가 요구될 것이다.
로직 레벨 라인을 인터페이스하는 가장 안전한 방법은 “표준”인터페이스를 (SN75176) 사용해야 하거나 혹은 격리 인터페이스(ISO485P)중에서 선택 사용한다. 이러한 인터페이스 방법을 사용하는 것은 세그먼트에 설치된 최대 32리시버를 허용하는 각각의 디바이스에 대해 명목상 1유닛 로드를 표출한다.
라인을 통해 직접적으로 매우 민감한 opto-isolator를 연결함으로써 직접적인 라인은 추천되지 않는다.
|
Pins viewed from outside | |
|
|
|
|
|
|
|
Male Input |
Female Output |
|
Pin |
Wire |
Signal |
|
1 |
Shield |
ground/0V |
|
2 |
Inner Conductor (black) |
Data - |
|
3 |
Inner Conductor (white) |
Data + |
|
4 |
Inner Conductor (green) |
Spare Data - |
|
5 |
Inner Conductor (red) |
Spare Data + |
BITS 'n' BYTES
전기적인 인터페이스 장애를 간단하게 보는 것은 어떻게 내려가는지를 살펴볼 수 가 있다.
데이터 전송은 “1” 시작비트(low), “2” 정지비트(high) 그리고 어떤 페리티도 아닌 것을 가지고 8비트 비동기 시리얼 프로토콜을 기초로 한다. 이것은 11비트에 대한 데이터 “프레임”을 나타낸다. 각각 비트가 4µs 폭이기 때문에 한 프레임을 전송하는데 44µs가 걸린다. 만약 데이터 라인이 연속적인 데이터 스트림을 전송한다면, 이것은 데이터 율이 250000 비트거나 혹은 250k보드이다.
8 비트 데이터는 각각의 조광에 대한 256 레벨로 하여금 255에서 0 내에서 전송된다.

Representation of a DMX Frame at a level of '91' decimal
시작과 정지 비트는 트랜스미터와 함께 리시버를 동기화시키는 것이다. 데이터 라인은 보통 높고, 사실 이것은 높은 상태에서 있는 것이다.
시작비트에 대한 도착은 수명(life)에 리시버를 넣고, 다음 8비트가 스캔되고 그리고 원래코드로 바뀐다. 그 다음 리시버는 모든 과정이 다시 시작된 후 정지 비트에 대해 대기한다. 정지비트는 2가지 이유를 필요로 한다 :
- 들어오는 데이터를 처리하도록 리시버 시간을 주어라.
- 다음 “시작”을 감지할 수 있도록 높은 상태에 라인을 놓아라.
다음 두개의 다이어그램은 데이터 “0”과 데이터 “255”을 담고 있는 한 프레임내에서 비트 단계를 설명해 준다.
이것은 리시버들에게 그런 프레임 동기화를 주는 시작 비트에 의해서 어떤 단계변화가 항상 있다는 것을 아주 잘 설명해 준다.
지금까지 매우 좋았지만, 이것이 이 유래의 끝이 아니고, DMX512는 512 조광(dimmer)을 지지해 주고, 단지 우리는 지금까지 하나만 보았고, 그래서 모든 조광에 대해서 우리가 어떻게 데이터를 다루어야하는가 ?
대답은 간단하다. 연속적으로 일어나는 과정을 반복하는 것이다.
맞다. 매우 쉽다. 그러나 아주 간단하지는 않다. 지금 우리는 어느 프레임이 어느 조광에 대해 지시해 주는 어떤 방법도 없는 한 데이터의 흐름을 가지고 있는 것이다.
|
|
|
DMX "PACKET"
DMX "PACKET"은 그 표준규격에서 가장 중요한 부분이다. 패킷은 Break' and a 'Mark-after-break'로 잘 알려져 있는 더 넓은 동기화 정보를 가지고 어떤 집단 프레임인 “Wrapped-up”로 구성되어 있다.
리시버로 하여금 어떤 프레임에 대한 시작을 검파하고 그리고 받는 어떤 데이터 부분을 만드는 것이 바로 이런 정보라는 것이다.
한 프레임 시간에 대한 검사는 그 라인이 'low' is 4µs (Start bit) + (8 x 4µs (Data bits)) = 36µs라는 최대 시간을 보여준다. 그러나 한 “break"는 최소 88µs이라는 ”low"로 이루어 졌고, 이러한 두개 사이의 차이는 쉽게 파악되고 제광 동기화에 사용된다.
"Mark-after-break" 는 라인상에서 ‘high' 상태이고 길이는 최소 8µs 이고
"Mark-after-break" 가 요구된다. 그리고 ‘break' 끝은 검사 될 수 있고 그렇지 않으면 어떤 시작 비트 프레임과 충돌하고 모든 것이 혼란되어진다. “packet"에 대한 한 다이어그램은 이런 것들을 설명하는데 도움을 준다.
알다시피, 난 아직 "Start Codes" and "Inter-frame-times"에 대해 말하지 않았다.
이 그림은 이러한 것 없이 완성될 수 없다.
“시작코드”는 끊김 후 첫 프레임을 제외한 한 프레임이고 그 다음 데이터 타입을 나타내주는 플래그로 사용된다. “0”의 값은 다음 프레임들이 제광 레벨 정보를 담고 있다는 것을 나타내어 준다. 다른 255 코드는 표준규격에 정의 되어 있지 않지만 어떤 제조업체들은 제품 정보를 보내는데 다른 코드를 사용한다. non-zero start code 받는 dimmer(제광)은 나머지 패킷을 무시해야 하지만, 조심해야 할 것은 항상 체크되지 않는다는 것이다.
"Inter-frame-time"은 데이터율을 떨어뜨리는데 사용된다. 즉 어떤 제광 장치들은 데이터 진행이 떨어지는 것에 대응할 수 없거나 혹은 콘솔이 어떤 다른 일들을 하는 동안 전송을 보통 메꾸는 일을 한다. 이것은 0부터 1s까지 어떤 값을 가질 수 있다.
세부적 규격은 아래와 같은 시간상에서 어떤 제한을 정한다.
|
|
Min |
Max |
|
Break |
88µs |
1s |
|
Mark-after-break |
8µs |
1s |
|
Inter-frame-time |
0µs |
1s |
데이터율에 많은 유동성이 있다는 것을 이 그림으로부터 추측할 수 있다. 그러나 1s이상 동안 연속적으로 'high' or 'low' 라인 상태는 어떤 법적(규칙적)인 것이 아닌 것에 주의하여야 하며, 에러 상태를 고려해야만 한다.
요 약
DMX512 시스템에 일어날 수 있는 많은 “nasties"(시시콜콜한 고장들)는 대부분 무시된다. 우리가 이미 많은 것을 본 것처럼, 시스템은 최종 ‘세그먼트’를 사용하는데 동작하며, 만약 우리가 신호를 분리하기를 원한다면( 예로 LX bar상에 휠을 색칠하는 거), 오옴의 법칙은 종착 불일치 결과를 가져오기 때문에 라인을 분리할 수 없다고 말해준다.
승인된 방법안에서 세그먼트에 있는 데이터를 듣는(‘listen')파워 장치, 'splitters' or 'repeaters'를 사용하는 것이 필요하고 그리고 요구사항대로 더 많은 세그먼트에 방송 혹은 ’repeat'가 있어야 한다.
이러한 박스들은 기본 1-1 싱글 부스터부터 opto-isolation과 함께 여러 포트까지 여러 방법으로 나오며 만약 데이터 라인이 어떤 특징이 없으면, 'remember-this-state'를 생각해야 한다

A Typical DMX512 Network Setup
*from :http://www.euro-pa.be