반도체
SB16C1054_TQ80
– 256 바이트 송수신 FIFO를 가진 SB16C1050 UART 코어 4개 내장
– RS422 및 RS485 버스 자동 입출력 개폐 기능인 오토 토글 기능
지원
– 최대 5.3Mbps 까지 통신 가능
– 글로벌 인터럽트 기능 및 인터럽트 백터 처리 기능 지원
– HW 및 SW 흐름 제어 지원 (Auto-RTS/Auto-CTS 및 Xon/Xoff)
– Texas Instrument사의 TL 16C554A 제품과 핀 호환 사이즈
개요
SB16C1054 (Universal Asynchronous Receiver Transmitter; 범용 비동기 송수신기)가 256 바이트 FIFO 가 내장된 4 채널로 합쳐진 모델입니다. 자동으로 소프트웨어/하드웨어 흐름제어를 하고 5.3 Mbps 데이터 속도를 처리합니다. 256 byte FIFO 를 보유함 으로서 CPU overhead 를 감소시키고 많은 데이터를 빠르게 처리합니다. 게다가 SB16C1054 는 아주 짧은 억세스 시간을 제공합니다. 이것은 CPU에게 더 많은 여유 시간을 제공할 수 있습니다. 우선순위 인터럽트 시스템 제어는 독립적인 7개의 인터럽트를 처리하는데 유용하게 사용됩니다.
향상된 기능
SB16C1054는 진보된 기능을 다양한 현장에서 적용할 수 있습니다. 이 기능은 쉽고 간단하게 개발할 수 있으며 강력한 설계가 가능합니다. 이 기능은 특별한 기능을 아래에서 확인 가능하며 4 채널 UART 성능을 파워풀 하게 하는 유일한 기능을 가지고 있습니다. SB16C1054 의 내용은 Website 나 데이터쉬트를 참조하여 확인 할 수 있습니다.
256 바이트 FIFO 내장
SB16C1054 는 256 바이트의 FIFO를 내장하고 CPU 에서 소프트웨어 과부하를 감소시킵니다. 256 바이트의 FIFO 를 시스템에 적용 할 수 있습니다. 대부분 두 가지 FIFO 모드인 64바이트 FIFO 와 256바이트 FIFO 가집니다. The FCR (FIFO Control Register) 와 AFR (Additional Feature Register) FIFO를 적용할 수 있습니다. 그리고 항상 인터럽트 Trigger Level 을 레지스터 선택을 통하여 송신할 수 있습니다.
우선순위 인터럽트 시스템 제어
우선순위 인터럽트 시스템 제어는 독립적인 1채널 UART 4개를 SB16C1054 안에 내장하며 4개의 인터럽트 사용이 가능합니다. 인터럽트 신호는 내부 UART 각각 INT0, INT1, INT2와 INT3로 지정되어 있습니다. 그리고 SB16C1054의 4개의 인터럽트는 1개의 글로벌 인터럽트로 처리하여 제어할 수 있습니다. 글로벌 인터럽트는 4개의 인터럽트를 1개의 인터럽트로 처리함으로 인터럽트 채널이 부족한 시스템에서 아주 유용할 뿐만 아니라, 추가적인 레거시 회로도 필요없습니다.
Baud Rate 기능제어
SB16C1054 프로그래밍 baud rate 생성하는 프리스케일을 가지고 있습니다. 이 프리스케일은 레지스터를 통해 제어됩니다. 이 레지스터의 설정은 프리스케일로 부터 1 또는 4 개의 클럭 신호로 나눠집니다. 그리고 baud rate 는 클럭 신호에 따라 나눠 지며 프로그램을 통하여1, 1~216 개를 포함한 16x 클럭 속도로 시리얼 데이터를 샘플링 합니다. 샘플링 사용시 낮은 클럭을 통해 송신이 이루어지며 데이터가 비트로 이동되고 샘플링 데이터를 수신합니다.
Xon 특정 기능
RX 소프트웨어 흐름제어 기능이 활성되는 동안, TX FIFO를 통하여 Xon character 특성 데이터를 전송하며 Xoff character 전송이 중단될 때 송신합니다. 이 상태를 ‘Xoff 상태’라 합니다. 전송 시 재시작이 되면 ‘Xon status’ 상태가 바뀌고 Xon character 나 Xon 상태의 기능에서 데이터가 전송됩니다.
Xoff 재 송신 기능
TX 소프트웨어 흐름제어 기능을 통하여 Xoff re-transmit 라는 새로운 기능을 제공하여 줍니다. 이 기능은 Xoff 문자를 보냈음에도 불구하고 상대방에서 데이터를 보내오는 경우 Xoff 문자를 재전송하는 기능으로써, Xon/Xoff 제어 시 상대편이 어떠한 이유에 의하여 Xoff 문자를 놓쳐 버리는 경우 아주 유용한 기능입니다.
편리한 인터럽트 Poll/Mask 레지스터
글로벌 인터럽트 라인을 사용하는 경우, 인터럽트가 발생하였을 때, 어느 UART에서 인터럽트가 발생하였는지를 알아야 합니다. GISR이 이 기능을 수행하게 되는데, SB16C1054 내부의 4개의 UART에서 각각 발생된 인터럽트 상태를 나타내어 줍니다. 경우에 따라 4개의 UART에서 인터럽트가 발생하여도 SB16C1054의 글로벌 인터럽트 라인이 연결된 시스템에 인터럽트를 전달해 줄 필요가 없을 때가 있습니다. GICR은 각각의 UART에서 발생된 인터럽트를 글로벌 인터럽트 라인을 통하여 전달 여부를 제어하는 역할을 수행합니다. GICR과 GISR을 제어하면, 뛰어난 인터럽트 처리 시스템을 만들 수가 있습니다.
Auto-RTS 및 Auto-CTS 기능
SB16C1054는 Auto-RTS 및 Auto-CTS 기능을 지원합니다. EFR 레지스터를 통하여 Auto-RTS와 Auto-CTS 기능을 사용여부를 선택할 수 있습니다. Auto-RTS, Auto-CTS 기능이 활성화 되면, CPU에 의하여 처리되지않고 FIFO에 남아 있는 데이터 수에 의하여, RTS#과 CTS# 핀을 통하여 적절한 제어 동작을 수행합니다.
잘못된 시작비트 감지
SB16C1054 는 잘못된 시작비트로 간주합니다.는 SB16C1054는 외부에서 입력되는 스타트 비트가 검출되면, 이것이 정상적인 스타트 비트인지, 아니면 잘못된 스타트 비트인지를 판단하게 됩니다. 만약, 잘못된 스타트비트로 판단되면 새로운 스타트 비트를 기다리며, 이는 UART가 오동작하는 것을 막게 됩니다.