5/28/2016

STM32F103x and IR Code

1. STM32F103x 기본설명 

우선 아래와 같이 STM32F103x 전체 구조도를 이해하고, 그 다음에 Clock부터 보는 것이 순서인 것 같다.

  • STM32F103x 의 전체구조
MCU or MPU로써 왠만한 기능들은 거의 다 있지만, 다만 Flash 와 SRAM이 아쉬울 뿐이다.



  • STM32F103x 의 Clock Tree 의 기본구성 
  1. PLLMUL(Multiplier): PLL의 설정으로 실질적인 PLL 설정 
  2. AMBA의 AHB : MCU의 사용되어지는 Main Bus로 Cortex와 연결된 부분.
  3. AMBA의 APB1 Peripheral를 위한 BUS1
  4. AMBA의 APB2 Peripheral를 위한 BUS2
  5. USB Clock 
  6. RTC Clock 


상위에서 설명했듯이, FHCLK과 FPCLK1,2 은 ARM의 Bus에 적용되는 Clock 이며 다만 FCLK은 좀 다른 것 같다.
interrupt와 debug 부분하고 관련 있는거 같다. 자세한 내용 아래에서 확인하자.
     http://infocenter.arm.com/help/topic/com.arm.doc.ddi0337e/DDI0337E_cortex_m3_r1p1_trm.pdf


  • STM Series
STM32 F Series의 각 차이점을 알수 가 있다. 차이라고 해봐야 공통 F시리즈의 차이는 SRAM과 FLASH SIZE 차이인 것 같고,
F의 변경 여부에 따라 주변 Deivce와 PIN이 변경되는 것 같다.

     https://en.wikipedia.org/wiki/STM32#Series

1.2 STM GPIO Manual

     http://stm32.kosyak.info/doc/group___g_p_i_o___exported___types.html
     http://stm32.kosyak.info/doc/group___g_p_i_o___exported___functions.html
     http://patrickleyman.be/blog/stm32f4-gpio-configuration/


1.3 STM Timer Manual

     http://embejide.tistory.com/86
     http://www.cs.indiana.edu/~bhimebau/f3lib/html/group__TIM__Group1.html
     http://visualgdb.com/tutorials/arm/stm32/timers/

     http://nexp.tistory.com/474


2. STM IR sample code

예전처럼, GPIO로 IR를 구현할 일 있어 아래의 Source 참조하여 쉽게 구현을 하였다.
오래전에는, 직접 각 회사 리모콘 가지고 IR 을 GPIO로 읽어서 했는데, 요즘 Github가 잘되어있어 너무 좋다.
  https://github.com/ppkt/stm32f1-irhttps://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol


2.1 NEC IR Remocon Protocol (LG)

NEC IR Protocol의 기본구성은 다음과 같다.

Default Code
  • 9ms high 
  • 4.5ms low
  • 8bit address,
  • 8bit inverse of address
  • 8bit command,
  • 8bit inverse of command
  • 560us 다음  1bit 일 경우 1.69ms   ( 전체 2.25ms)
  • 560us 다음  0bit 일 경우 560us    ( 전체 1.12ms)
  • 마지막은 560us high로 

Repeat Code
  • 9ms High
  • 2.25ms low 

     https://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol
     http://www.sbprojects.com/knowledge/ir/nec.php


2.2 Samsung IR Remocon Protocol 

Samsung도 기본이 NEC 이지만, Timing이 다르다. 이부분을 변경을 해주면 된다.
아래 Samsung 부분을 참고하자.
  https://rusticengineering.com/2011/02/09/infrared-room-control-with-samsung-ir-protocol/

댓글 없음 :