서강대학교 23년도 마이크로프로세서응용실험 10주차 Lab010 결과레포트 (A+자료)
본 내용은
"
서강대학교 23년도 마이크로프로세서응용실험 10주차 Lab010 결과레포트 (A+자료)
"
의 원문 자료에서 일부 인용된 것입니다.
2024.03.26
문서 내 토픽
  • 1. USART 통신
    USART 통신의 기본 동작을 전송속도, parity, stop bits 등을 변경하면서 확인하였습니다. Polling에 의한 데이터 전송을 구현하여 각종 flag들의 역할을 이해하였고, 인터럽트에 의한 데이터 전송도 구현하였습니다. USART 통신에서 발생할 수 있는 다양한 오류 상황들을 확인하고 해결 방법을 모색하였습니다.
  • 2. 직렬 통신
    직렬 통신의 동기 방식과 비동기 방식의 차이를 이해하였습니다. 비동기 방식의 USART 통신에서 start bit, stop bit, baud rate 등의 개념을 학습하였고, 송수신 과정에서 shift register를 이용한 serial-parallel 변환이 필요함을 확인하였습니다.
  • 3. RS-232C 통신
    RS-232C 통신의 하드웨어 규정과 DTE, DCE 장비의 특성을 이해하였습니다. RS-232C 통신에서는 TTL 레벨과 다른 전기적 특성을 가지며, logic 0은 +12V, logic 1은 -12V로 사용됩니다.
  • 4. USART 송신
    USART 송신 과정에서 TE bit 설정, start bit, data word, stop bits 등의 frame 구성 방식을 학습하였습니다. 또한 break 문자 전송, 단일 바이트 전송, DMA를 이용한 연속 전송 등 다양한 송신 방식을 실험하였습니다.
  • 5. USART 수신
    USART 수신 과정에서 start bit 검출, 문자 수신, overrun error, noise error, framing error 등의 개념을 이해하였습니다. 또한 stop bit의 길이에 따른 수신 방식의 차이를 확인하였습니다.
  • 6. USART 오류 처리
    USART 통신 중 발생할 수 있는 다양한 오류 상황들을 학습하였습니다. 오류 발생 시 USART_SR 레지스터의 error flag들이 set되며, 이에 대한 인터럽트 처리가 필요함을 확인하였습니다.
  • 7. USART 동기 모드
    USART의 동기 모드에 대해 학습하였습니다. 동기 모드에서는 CK pin을 통해 TX와 동기화된 clock을 출력하며, oversampling 없이 data를 sampling할 수 있습니다.
  • 8. USART DMA 활용
    USART는 DMA를 이용한 지속적인 통신이 가능합니다. DMA 모드에서는 TXE, RXNE 등의 flag 대신 DMA 인터럽트를 활용할 수 있습니다.
  • 9. USART 하드웨어 흐름 제어
    USART에서는 RTS, CTS 신호를 이용한 하드웨어 흐름 제어 기능을 제공합니다. 이를 통해 송신기와 수신기 간의 데이터 흐름을 조절할 수 있습니다.
  • 10. USART 응용 실험
    추가 실험을 통해 USART 통신의 race condition 해결 방법, parity bit를 이용한 오류 검출, Timer와 keypad를 활용한 주기적/실시간 통신 등 다양한 응용 사례를 구현하였습니다.
Easy AI와 토픽 톺아보기
  • 1. USART 통신
    USART(Universal Synchronous Asynchronous Receiver Transmitter)는 마이크로컨트롤러와 주변 장치 간의 직렬 통신 방식 중 하나입니다. USART는 동기식과 비동기식 통신을 모두 지원하며, 데이터 전송 속도, 데이터 길이, 패리티 비트 등을 사용자가 설정할 수 있는 유연성을 제공합니다. USART는 널리 사용되는 통신 방식으로, 마이크로컨트롤러 기반 시스템에서 다양한 응용 분야에 활용됩니다. 예를 들어 센서 데이터 전송, 디스플레이 제어, 원격 제어 등에 사용될 수 있습니다. USART 통신은 간단한 구현과 높은 신뢰성으로 인해 임베디드 시스템 개발에 매우 유용한 기술이라고 볼 수 있습니다.
  • 2. 직렬 통신
    직렬 통신은 데이터를 한 번에 한 비트씩 순차적으로 전송하는 통신 방식입니다. 이에 비해 병렬 통신은 여러 비트를 동시에 전송합니다. 직렬 통신은 병렬 통신에 비해 전송 속도가 느리지만, 전송 라인의 수가 적어 구현이 간단하고 비용이 저렴합니다. 또한 전자기 간섭에 강하고 장거리 통신이 가능한 장점이 있습니다. 직렬 통신은 UART, SPI, I2C 등 다양한 프로토콜로 구현되며, 마이크로컨트롤러, 센서, 디스플레이 등 임베디드 시스템 전반에 걸쳐 널리 사용됩니다. 직렬 통신은 단순하지만 강력한 통신 방식으로, 임베디드 시스템 설계 시 반드시 고려해야 할 중요한 기술이라고 할 수 있습니다.
  • 3. RS-232C 통신
    RS-232C는 가장 널리 사용되는 직렬 통신 표준 중 하나입니다. RS-232C는 마이크로컨트롤러와 PC, 모뎀, 프린터 등의 주변 장치 간 데이터 전송을 위해 사용됩니다. RS-232C는 비동기식 직렬 통신 방식을 사용하며, 전압 레벨, 신호 극성, 핀 배열 등의 물리적 특성을 정의합니다. RS-232C는 간단한 구조와 호환성으로 인해 오랫동안 사용되어 왔지만, 최근에는 USB, Ethernet 등 새로운 통신 방식이 등장하면서 점차 사용이 줄어들고 있습니다. 그러나 여전히 산업 현장, 의료 기기, 자동차 등 다양한 분야에서 RS-232C가 활용되고 있으며, 임베디드 시스템 설계 시 이에 대한 이해가 필요합니다.
  • 4. USART 송신
    USART 송신은 마이크로컨트롤러에서 데이터를 직렬로 전송하는 기능입니다. USART 송신 기능은 다음과 같은 주요 특징을 가집니다. 첫째, 데이터 프레임 구조(start bit, data bits, parity bit, stop bit)를 설정할 수 있습니다. 둘째, 전송 속도(baud rate)를 설정할 수 있습니다. 셋째, 송신 버퍼를 사용하여 데이터를 효율적으로 전송할 수 있습니다. 넷째, 송신 완료 인터럽트를 활용하여 비동기 방식으로 데이터 전송을 처리할 수 있습니다. USART 송신 기능은 센서 데이터, 제어 명령, 디버깅 정보 등을 외부 장치로 전송하는 데 사용됩니다. 이를 통해 임베디드 시스템의 입출력 및 통신 기능을 구현할 수 있습니다.
  • 5. USART 수신
    USART 수신은 마이크로컨트롤러에서 외부 장치로부터 직렬 데이터를 받는 기능입니다. USART 수신 기능은 다음과 같은 주요 특징을 가집니다. 첫째, 데이터 프레임 구조(start bit, data bits, parity bit, stop bit)를 설정할 수 있습니다. 둘째, 전송 속도(baud rate)를 설정할 수 있습니다. 셋째, 수신 버퍼를 사용하여 데이터를 효율적으로 저장할 수 있습니다. 넷째, 수신 완료 인터럽트를 활용하여 비동기 방식으로 데이터 수신을 처리할 수 있습니다. USART 수신 기능은 센서, 디스플레이, 통신 모듈 등 외부 장치로부터 데이터를 받는 데 사용됩니다. 이를 통해 임베디드 시스템의 입출력 및 통신 기능을 구현할 수 있습니다.
  • 6. USART 오류 처리
    USART 통신에서는 다양한 오류가 발생할 수 있습니다. 대표적인 오류로는 프레이밍 오류, 패리티 오류, 오버런 오류 등이 있습니다. 이러한 오류를 적절히 처리하는 것은 USART 통신의 안정성과 신뢰성을 높이는 데 매우 중요합니다. USART 오류 처리 방법으로는 다음과 같은 것들이 있습니다. 첫째, 오류 상태 플래그를 확인하여 오류 종류를 파악합니다. 둘째, 오류 발생 시 적절한 복구 조치를 취합니다(예: 수신 버퍼 비우기, 재전송 요청 등). 셋째, 오류 발생 내역을 기록하여 디버깅에 활용합니다. 넷째, 오류 발생을 최소화하기 위해 통신 환경을 개선합니다(예: 전송 속도 조절, 전기적 노이즈 제거 등). USART 오류 처리는 안정적인 통신을 위해 필수적인 기술이라고 할 수 있습니다.
  • 7. USART 동기 모드
    USART는 동기식 통신과 비동기식 통신을 모두 지원합니다. USART 동기 모드는 클록 신호를 별도로 제공하여 송수신기 간 동기화를 유지하는 방식입니다. 이에 비해 비동기 모드는 별도의 클록 신호 없이 자체적으로 동기화를 수행합니다. USART 동기 모드의 장점은 다음과 같습니다. 첫째, 클록 신호를 사용하므로 데이터 전송 오류가 적습니다. 둘째, 고속 통신이 가능합니다. 셋째, 마스터-슬레이브 구조를 구현할 수 있습니다. 단점으로는 추가적인 클록 라인이 필요하다는 점을 들 수 있습니다. USART 동기 모드는 SPI, I2C 등 다른 동기식 통신 프로토콜과 함께 사용되며, 고속 데이터 전송이 필요한 응용 분야에 적합합니다.
  • 8. USART DMA 활용
    USART 통신에서 DMA(Direct Memory Access)를 활용하면 CPU 부하를 줄이고 데이터 전송 효율을 높일 수 있습니다. DMA를 사용하면 CPU가 직접 데이터를 송수신하지 않고 DMA 컨트롤러가 메모리와 USART 간 데이터를 직접 전송할 수 있습니다. 이를 통해 다음과 같은 장점을 얻을 수 있습니다. 첫째, CPU 부하가 감소하여 다른 작업을 병행할 수 있습니다. 둘째, 데이터 전송 속도가 향상됩니다. 셋째, 데이터 전송 과정에서 발생할 수 있는 CPU 개입으로 인한 지연 및 오류를 방지할 수 있습니다. USART DMA 활용은 고속 데이터 전송, 실시간 처리가 필요한 응용 분야에 유용하게 사용될 수 있습니다. 다만 DMA 설정 및 관리에 대한 이해가 필요하므로, 이에 대한 충분한 학습이 선행되어야 합니다.
  • 9. USART 하드웨어 흐름 제어
    USART 통신에서 하드웨어 흐름 제어는 송수신기 간 데이터 전송 속도 차이로 인한 오버런 오류를 방지하기 위해 사용됩니다. 대표적인 하드웨어 흐름 제어 방식으로는 RTS/CTS(Request to Send/Clear to Send) 신호와 DTR/DSR(Data Terminal Ready/Data Set Ready) 신호가 있습니다. RTS/CTS 방식은 송신기가 데이터를 전송하기 전에 수신기의 CTS 신호를 확인하고, DTR/DSR 방식은 수신기가 데이터를 받을 준비가 되었음을 알리는 DSR 신호를 송신기에 전송합니다. 이를 통해 송수신기 간 데이터 전송 속도를 동기화할 수 있습니다. 하드웨어 흐름 제어는 안정적인 USART 통신을 위해 필수적이며, 특히 고속 데이터 전송이 필요한 응용 분야에서 유용하게 활용될 수 있습니다.
  • 10. USART 응용 실험
    USART 통신은 마이크로컨트롤러 기반 임베디드 시스템에서 다양한 응용 분야에 활용될 수 있습니다. USART 응용 실험을 통해 USART 통신의 실제 구현 방법과 활용 사례를 학습할 수 있습니다. 예를 들어 USART를 이용하여 센서 데이터를 PC로 전송하거나, 마이크로컨트롤러와 LCD 디스플레이 간 통신을 구현할 수 있습니다. 또한 USART 동기 모드를 활용하여 마스터-슬레이브 구조의 통신 시스템을 구축할 수 있습니다. 이 외에도 USART DMA 활용, 하드웨어 흐름 제어 등 다양한 USART 기능을 실험해 볼 수 있습니다. USART 응용 실험을 통해 USART 통신에 대한 이해를 높이고, 실제 임베디드 시스템 개발에 USART를 효과적으로 활용할 수 있는 능력을 기를 수 있습니다.