MCU

    [NUCLEO-F103RB] 보드 분석 : OSC 32 kHz clock supply (LSE)

    [NUCLEO-F103RB] 보드 분석 : OSC 32 kHz clock supply (LSE)

    LSE : 외부에서 제공되는 클럭, HSE에 비해 느리다  1. On-board oscillatorX2 크리스탈을 통해 받는다. ABS-32.768KHZ-6-T 사용을 권장한다.   2. Oscillator from external PC14- SB48 and SB49 ON- R34 and R36 제거 CN7커넥터에 25번 pin으로 클럭을 받는다. 위와 같은 조건이 필요하다.   3. LSE not used - SB48 and SB49 ON- R34 and R36 removed PC14, PC15를 GPIO처럼 사용한다. 위와 같은 조건이 필요하다.

    [NUCLEO-F103RB] 보드 분석 : OSC Clock (HSE)

    [NUCLEO-F103RB] 보드 분석 : OSC Clock (HSE)

    클럭 선택은 CubeIDE를 사용하여 변경 가능. F103RB에는 HSE를 사용할 수 있는 네 가지 방법이 있다. (HSE : 외부에서 제공되는 클럭) 1.MCO from ST-LINK(default)회로도와 같이 X1(8MHz 크리스탈)이 ST-LINK로 연결된다. 그리고 시스템 clock이 제대로 동작하는 지 확인할 수 있게 PA8 핀으 MCO 신호로 clock이 출력된다.   그리고 해당 MCO신호가 U5(stm32 mcu)의 input으로 들어온다. 회로도를 보면 PF0/PD0/PH0 - OSC IN핀으로 연결되어있다. 해당 방법을 사용하려면 세 가지 조건이 필요하다 - SB55 OFF / SB54 ON (== PF0 OFF / PF1 ON)- SB16와 SB50 ON- R35와 R37 제거   ..

    [NUCLEO-F103RB] 보드 분석 : Push Button

    [NUCLEO-F103RB] 보드 분석 : Push Button

    뉴클레오 보드에는 두 개의 Push button이 내장되어 있다. (B1 : 파란색, B2 : 검은색)  1. B1 (파란색) PC13에 연결되어 있으며 사용자 응용이다.  pull-up으로 연결되어있어 PC13핀을 통해 값을 읽으면 버튼을 안 누르면 1, 누르면 0이다.   2. B2 (검은색)NRST핀에 연결되어 있으면 리셋 버튼이다.

    [NUCLEO-F103RB] 보드 분석 : LED

    [NUCLEO-F103RB] 보드 분석 : LED

    뉴클레오 보드에는 세 개의 LED가 내장되어 있다. LD1, LD2, LD3 1. LD1 세 가지 색상 (Green, Orange, Red)ST-LINK 통신 인디케이터 LED상태동작 상태천천히 LED ON / OFF전원 인가 후 USB 초기화 전 빠르게 LED ON / OFFPC와 ST-LINK/V2-1 사이 초기 정상 통신 후 빨간색 LED ON PC와 ST-LINK/V2-1 사이 초기화 완료 녹색 LED ONSTM32보드와 정상적인 통신 초기화 완료빨/녹 LED ON / OFFSTM32보드와 통신 중녹색 ONSTM32보드와 정상적인 통신 완료오렌지색 ONSTM32보드와 통신 실패    2. LD2Green LED사용자 응용, 그냥 달려있는거임 PA5(pin21)에 연결되어있음     3. LD3Re..

    [NUCLEO-F103RB] 보드 분석 : Power Supply

    [NUCLEO-F103RB] 보드 분석 : Power Supply

    뉴클레오 보드에 전원을 인가해줄 수 있는 방법은 두 가지가 있다. 1. USB 포트 사용 (U5V)2. 외부 전원 사용(VIN, E5V) 전원을 공급할 수 있는 외부 핀들은 총 세 가지가 있다.VIN : 7-12VE5V : 5V3.3V on CN6 / CN7 : 3.3V    VIN, E5V핀을 이용해 보드에 전원을 공급해도 디버깅, 업로드는 가능 하지만 아래와 같은 절차를 따라야한다.  안 그러면 컴퓨터가 데미지 입거나 전원이 제대로 인가가 안될수도 있다네요    JP5를 사용해 PC USB에서 전원을 받을 지, 별도의 외부 전원에서 받을 지 선택할 수 있다  회로도를 다시 보면 JP5에 의해 USB전원(U5V)과 외부전원(VIN, E5V)이 선택된다.외부 전원이 VIN에 공급되면 U3(5V 레귤레이터..

    [NUCLEO-F103RB] 보드 분석 : ST-LINK/2-1

    [NUCLEO-F103RB] 보드 분석 : ST-LINK/2-1

    뉴클레오 보드의 윗 파트 설명. 임베디드시스템을 개발하는데 자주 쓰이는 디버거의 통신 방식이 있다.  JTAG와 SWD    뉴클레오 보드는 SWD 방식만 지원 CN2에 있는 점퍼를 사용해 두 가지 기능으로 사용할 수 있다.CN2 점퍼 두 개각 ON(끼워짐) : 보드에 있는 stm32 mcu를 사용 / 업로드 용 (default)CN2 점퍼 두 개각 OFF(빠짐) : 다른 STM32보드 사용을 위함 1. 보드 MCU 사용 (CN2 Jumpers ON)CN2에 있는 두 개의 점퍼선이 꼽혀있는 지 확인CN4는 사용 X, 통신을 방해할 수 있음 2. 외부 MCU 사용 (CN2 Jumpers OFF)CN2에 있는 점퍼선을 제거 CN4 커넥터의 SWD에 해당하는 신호선을 외부 STM32보드의 신호와 연결하여 사용..

    [NUCLEO-F103RB] 보드 분석 : HW layout

    [NUCLEO-F103RB] 보드 분석 : HW layout

    뉴클레오 보드를 살펴보면 크게 윗 부분과 아랫부분으로 나뉘어져있다.  윗 부분은 ST-Link 아랫 부분은 타켓 stm32파트다. 저 상태에서는 12시에 있는 usb커넥터를 통해 전원 공급 및 디버그, 코드를 mcu에 업로드 할 수 있다. (CN == 커넥터)만약 반으로 자르면 전원공급은 밑에 CN7커넥터 중 전원핀을 통해 공급해야한다. 업로드나 디버그 같은 경우는 CN4커넥터와 CN7에 있는 pin15와 pin13을 통해 SWD신호로도 가능하다.  즉 분리시켜도 업로드 하는데는 문제없다.

    [NUCLEO-F103RB] 보드 분석 : 개요

    [NUCLEO-F103RB] 보드 분석 : 개요

    동아리에서 해당 보드를 가져와 이것저것 공부중인데 해당 mcu를 이용해서 회로 설계를 할 예정이다.  회로를 설계하는데 있어서 이 보드는 레퍼런스용으로 아주아주 중요하게 쓰일 것 같다. mcu 주변 회로 설계하는데 있어서 적어도 이 보드처럼 설계하면 작동은 한다는 얘기니까..  st사에서 해당 보드 회로도를 다운받아 보고있는데.. 회로도만으로는 감이 잘 안 잡혀서 이것저것 찾아본 결과 해당 보드에 대한 사용자 매뉴얼이 있다는 것을 발견했다.  https://www.st.com/en/evaluation-tools/nucleo-f103rb.html#documentation NUCLEO-F103RB - STMicroelectronicsNUCLEO-F103RB - STM32 Nucleo-64 developmen..

    [NUCELO-F103RB]UART

    [NUCELO-F103RB]UART

    개발환경: STM32CubeIDE 개발보드: NUCELO-F103RB 1.Pin Configuration 프로젝트를 생성했으면 디폴트로 USART 2번 채널을 사용한다. STM32F103RB는 3개의 USRAT 채널이 있다. USART2는 PA2, PA3을 사용한다. 디폴트로 되어있겠지만 Mode를 Asynchronous로 설정한다. 만약 polling 방식이 아닌 interrupt를 이용하여 uart 통신을 하려면 밑에 USART2 global interrupt를 enabled 해줘야한다. 2.Code 코드를 생성하면 88번 라인에서 USART 2번 채널을 사용하기위한 기본 세팅이 되어있는것을 알 수 있다. 느낌상 HAL_UART_Transmit 함수를 사용하면 될 것 같다. HAL_UART_Trans..

    [NUCLEO-F103RB] GPIO

    [NUCLEO-F103RB] GPIO

    개발환경: STM32CubeIDE개발보드: NUCELO-F103RB1. 내부 LED 제어1.SchematicSchematic을 보면 LD2가 PA5에 연결되어있는 것을 확인할 수 있다.참고로 LD1와 LD3도 있는데LD1은 ST-LINK에LD3은 power에 연결되어있다.실제로 보드에 파워를 주면 LD1과 LD3에 불이 들어오고 업로드를 하면 LD1이 초록색과 빨간색으로 점멸하는것을 알 수 있다. 2.Pin Configuration 다시 돌아와서 내부 LED인 LD2와 연결되어있는 PA5를 OUTPUT으로 설정해준다. (아마 자동으로 되어있을거임)코드 생성그러면 이렇게 코드가 생성된것을 확인할 수 있다. 기본 세팅들은 이미 전에 했으니 따로 설정할건 없고 main 함수 안에 잇는 while문에서 작업을 ..