다이오드 타버림



파워 다이오드가 날라갔지만  stm32f4 칩은 무사했다




굴러다니는 다이오드 장착 

다행이 st link도 잘 작동함.





can 통신을 할 때 통신 속도를 맞춰주어야 하는데, bitrate를 맞추기 위해서 디스커버리 칩의 클럭을 알맞은 값 을 설정해 주어야 한다. 디스커버리 보드에서 can1 은 APB1 클럭에 영향을 받는다. 먼저 APB1을 42MHz로 세팅한다.






STM32CubeMX 프로그램을 이용하여 원하는 클럭을 만들어 낼 수 있다.







/************************* PLL Parameters *************************************/
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M      4
#define PLL_N      168
 
/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P      2
 
/* USB OTG FS, SDIO and RNG Clock =  PLL_VCO / PLLQ */
#define PLL_Q      7
 
/******************************************************************************/
cs
PLL을 수정하여 APB1 42MHz 세팅





CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;
CANInitStructure.CAN_BS1 = CAN_BS1_3tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_1tq;
CAN_InitStructure.CAN_Prescaler = 840;


cs


BS와 프리스케일러를 수정하여 can통신 bitrate를 10Kbs로 설정






data[0= 0x01; data[1= 0xFF; data[2= 0xFF; data[3= 0xFF; data[4= 5; data[5= 6; data[6= 7; data[7= 8;
Can_TxMessage(0x0141, data);
cs


0x014 의 식별자로 1바이트의 데이터 date[0]을 보냈다.






값 을 받아낸다. 이제 오실로스코프로 찍어본다.






can 통신은 can_H선과 can_L선의 전압차이를 이용해서 데이터 통신을 한다. 위 사진은 can_H선과 can_L선의 파형을 오실로스코프에 나타낸 것이다. 아래 파형은 can_H can_L선 사이의 전압차이를 반전시킨 파형이다. 결국 아래파형이 통신 데이터 파형이다.





can 트랜시버에서 나온 데이터 파형







'공부 > stm32' 카테고리의 다른 글

stm32f4 VCP(virtual com port)  (0) 2016.08.30
stm32f4 can 통신 무작정  (2) 2016.07.25
stm32f4 클럭상태 출력하기  (0) 2016.07.25

+ Recent posts