대표적인 비동기 Serial 통신 중에 하나인 UART(USART) 통신 Interface의 회로 리뷰를 해보도록 하겠습니다. 위는 STM32G4 시리즈의 USART 블럭도 입니다. 총 5개의 Output이 나와 있습니다. 각 핀에 대한 설명은 데이터시트를 참조하였습니다. • RX(데이터 입력 수신) RX는 직렬 데이터 입력입니다. 데이터 복구를 위해 오버샘플링 기술이 사용됩니다. 유효한 수신 데이터와 노이즈를 구별합니다. • TX(데이터 출력 전송) 트랜스미터가 비활성화되면 출력 핀이 I/O 포트 구성으로 돌아갑니다. 송신기가 활성화되고 데이터를 전송할 필요가 없을 때 TX 핀은 High(Idle High)입니다. 단일 와이어 및 스마트 카드 모드에서 이 I/O는 데이터를 전송 및 수신하는 데 ..
Polling Conversion에서 유의해야 할 Overrun을 없애는 방법은 무엇일까요? Overrun 제거 그것은 바로 AUTODLY를 Set하는 방법입니다. 아래 그림을 참조하도록 하겠습니다. AUTDLY=1로 설정 한 후 Conversion을 보면 CH1 Conversion 이후 ADC_DR에서 Read하기 전까지는 다음 Channel CH2를 Conversion 하지 않는 것을 볼 수 있는데요, 이러한 이유로 Overrun이 발생하지 않게됩니다. CubeMX 설정 지난 포스트에 이어서 CubeMX의 설정을 알아보겠습니다. 핀설정은 생략하고 Configruation 부분만 발췌하였습니다. 중요한 것은 우리는 여러채널을 한번에 Conversion 하기 위해서 Scan Conversion Mode을..
ADC 변환에는 크게 3가지로 구분 할 수 있습니다. 각각의 장단점은 아래와 같이 간단하게 말할 수 있습니다. 변환방법 장점 단점 Interrupt - 변환시간 절약 - 소프트웨어 트리거 사용가능 - 하드웨어 트리거 사용가능 - 잦은 인터럽트 유발 - 인터럽트 처리가 늦으면 Overrun 발생 Polling - 직관적인 사용성 - 소프트웨어 트리거 사용가능 - 변환시간 및 프로세싱 예측가능 - 프로세서 점유율이 높아짐 - 변환완료 처리가 늦어지면 Overrun 발생 - 하드웨어 트리거 사용이 어려움 DMA - 변환시간 절약 - 하드웨어 트리거 사용가능 - 설정의 복잡함 - 변환완료 프로세스를 잘 처리하지 않으면 Overrun 발생 어플리케이션에 맞는 변환방법을 선택하면 사용성은 물론 최상의 성능을 구현할..
오늘의 주제는 Datasheet 와 Reference manual로 MCU를 선택했다면, 이 MCU에 맞는 F/W(소프트웨어) 예제를 찾는 방법을 알아 보도록 하겠습니다. STM32는 크게 3가지 방법으로 예제 코드를 배포하고 있습니다. 배포되는 예제 코드는 모두 동일하며 ST에서 제공하고 있는 세가지 종류의 보드(Nucleo, Discovery, Evaluation)에서 바로 구동이 가능한 형태로 되어 있습니다. 배포되는 예제에는 BSP, HAL Driver, Middleware들 그리고 각 Compiler의 plugin 들이 포함되어 있습니다. 그리고 보드에서 완전히 동작하는 application, demo와 MCU의 각 주변장치(Peripheral)들의 개별 예제들이 들어있습니다. 이러한 예제들은 ..