우선 아래와 같이 STM32F103x 전체 구조도를 이해하고, 그 다음에 Clock부터 보는 것이 순서인 것 같다.
- STM32F103x 의 전체구조
- STM32F103x 의 Clock Tree 의 기본구성
- PLLMUL(Multiplier): PLL의 설정으로 실질적인 PLL 설정
- AMBA의 AHB : MCU의 사용되어지는 Main Bus로 Cortex와 연결된 부분.
- AMBA의 APB1 Peripheral를 위한 BUS1
- AMBA의 APB2 Peripheral를 위한 BUS2
- USB Clock
- 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
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
Repeat Code
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/
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/