본문 바로가기
  • SpokeHouse
Side-Project/USB-PD

USB C-type PD 듀얼롤 컨트롤러 개발 - 4

by SpokeHouse 2024. 1. 27.
728x90
728x90

안녕하세요 오토입니다.

2024.01.20 - [M's Work] - USB C-type PD 듀얼롤 컨트롤러 개발 - 3

이번 정리는 지난 메모에 이어 듀얼롤 pd 진행에 앞서 먼저 가지고 있는 sink EVB사용해서 IDE 세팅하고 테스트 해보는 메모 진행 하겠습니다.

먼저 사용하고자 하는 보드는

nucleog071rb 개발 보드와 x-nucleo-snk1m1 입니다.

싱크 전용 보드로 g071에 결합해서 사용 가능합니다.

크게 달려있는것도 없어서 이정도만 있으면 될듯하다

확장되는 부분은 이렇게 연결되어있다

전원 연결 한번 해주고 시작한다.

usbpd자체가 이번에 스터디하면서 느끼는거지만 부가 기능들이 넘쳐나서 세팅도 많이 해줘야하고 rtos까지 사용한다..

user 가이드에는 순서가 있는데 어짜피 한번에 다 하고 코드 제네레이션 할예정이니까 위부터 그냥 메모하겠다

adc 세팅 -> IN9

Parameter Settings TAP

clock prescaler -> synchronous clock mode divided by 4

resolution -> ADC 12-bit

conrinuous conversion mode -> enabled

overrun behaviour -> overrun data overwritten

sampling time common 1 -> 160.5

sampling time common 2 -> 160.5

trigger frequency -> High frequency

User Constants TAP

adc에서 추후에 vbus 읽어 올때 쓰는거같은데 일단 넣어준다

핀 바뀌면 곤란하다. 

유저 라벨도 지정 해줘야되겠죠 -> VSENSE

클럭 세팅 64M 빠르게 빠르게

다음은 LPUART1

uart랑 같은기능인데 저전력 이라고한다 

인터럽트까지해주고 dma 세팅까지한다

주의점 -> 핀변경 해줘야함

다음은 ucpd1 차례

싱크로 지금 해볼꺼니까 mode는 싱크로 해주고

인터럽트 세팅 해준다

dma세팅도 rx, tx 둘다 해준다

dma 세부 내용은 변경 할 필요는 없어보인다.

다음은 freeRTOS

아직 이쪽은 많이 다뤄보지 않아 잘 모르니까 후딱 세팅만하고 넘어간다

일단 인터페이스 쪽은 CMSIS_V1으로 세팅 해주자

다음으로 config param들은 아래와 같이 해준다 눈아파도 하나씩 봐야한다 몇개 enable 시키는게 있고 heap_size 변경도 해야한다

다음은 Include parameters TAP

그외에 별도의 task 세팅들은 없는거같다

다음은 중요한 usbPD

세팅은 이렇게 하면되고

다음으로는 이걸로 pd 로 들어오는 전압이나 전류 정하는 부분

전체 프로젝트 메니저 탭으로 와서 Linker settings의 heap size도 변경

마지막으로 모니터링 소프트웨어 사용(stm32cubemonitor ucpd)하기위한 세팅 진행

여기까지 했다면 세팅은 마무리

근데 너무 많아서 다운로드 하는게 편함

https://github.com/STMicroelectronics/x-cube-tcpp/tree/main/Projects/NUCLEO-G071RB/Applications/USB_PD/SNK1M1_Sink

여기서 받기

그럼 세팅은 모두 끝이다.

펌웨어 부분은 많이 복잡하니까 일단 간단히

중간에 PD0_SEL_METHOD_MAX_PWR 여기만 원하는 모드로 변경해주면 된다 

그럼이만 오늘도 대단히 맛있는거 많이드시기

728x90
728x90

댓글