본문 바로가기
임베디드.일렉트로닉스/STM32

STM32F401 UART 고속 통신시험.

by 리치굿맨 2015. 4. 24.

 

 

 

 

개요

   

STM32F401 의 UART 고속통신시험.

- USART1, USART6 은 최대 10.5Mbps 까지 지원하며, USART2는 최대 5.25Mbps가 최대라고 데이터시트에 나와있다. 

- 2개의 STM32F4 간의 UART 통신결선(GND, RX,TX)하고,USART2 의 최대 Baud Rate 5Mbps 로 증가시켜서 통신 상태 실측한다.

 

준비물.

STM32F4 개발보드 2개 -> http://igotit.tistory.com/269

 

사전 작업.

STM32F4 UART 사용가능상태 이후 본 글의 작업이 이뤄진다.-> http://igotit.tistory.com/273

 

참고 : 9216000 bps까지는 PC의 하이퍼 터미널로도 통신 시험 가능 -> http://igotit.tistory.com/273

 

 

 

시험위한 결선.

2개 보드 각각의 UART 핀을 GND-GND, RX-TX, TX-RX 로 결선한다. 아래 사진.

 

 

통신에러 유무 시험위한 코드.

2개 보드중 위의 것 (MCU1 이라고 하자.)은 아래와 같은 코드이다. UART로 수신된것을 다시 전송처리함이 전부이다.

 

한편, 2개 보드중 다른쪽(MCU2라고 하자)에서는 데이터를 1바이트 씩 UART로 전송한 후 즉시 UART 수신하여 그 값이 송신한것과 동일한것인지 점검하여 동일하다면 PB0에 0을 출력하고, 동일하지 않다면 PB0에 1을 출력한다. 즉, PB0에 1이 한번이라도 출력된다면 통신오류가 발생한것으로 판정한다. 

 

아래 붉박 코드전체.

 

 

STM32F401의 USART2 이용 UART 고속 통신시험 결과. 

 

 

Baud rate 2Mbps 까지는 USART 설정 중 Over Sampling 을 16 으로 해도 정상적으로 baud rate 생성한다. 

over sampling 16 으로는 3Mbps baud rate 생성못한다.

Over Sampling 을  8로 설정해야 최대 5Mbps baud rate 생성가능하다. 

수시간 동안 통신 오류 발생 전혀없음.

UART 5Mbps 통신중 소비전류 : 13mA.

Baud Rate  10Mbps 로 하려면 USART1 혹은 USART6 을 이용하도록 하며.  이 경우에도 Oversampling 은 8로 해야한다.

 

 

 

 본 글이 포함된 상위 정리장소 : http://igotit.tistory.com/244

 




///275. 


댓글0


   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT