전체 글 467

치과용 초음파 세척

3개 회사의 Dental Ultrasonic Irrigation 의 회로의 구성을 보게 되었습니다. 2개 회사는 아래와 같은 회로는 아니지만 앞단에서 Step-up 회로로 승압을 하고 뒷단에서 Full-wave 신호를 L, C를 통해 Sign 신호로 변환하여 Langevin Transducer에 전달하는 구조였습니다. 1개는 Sepic 회로로 1차 승압을 하고 하프브릿지를 사용하여 Sign 신호로 인버팅되는 구조였습니다. 1개 업체는 단일 주파수로 되어있었고 2개 업체는 약 10kHz 정도의 주파수를 가변하면서 최적의 공진점을 찾아 그 공진점에서 동작되도록 설계 되어 있었습니다. 트랜듀서와 팁이 연결되어야 제대로 된 공진점이 생성되는 것 같습니다. 팁의 편차와 팁을 구부린 정도 형태 등에 따라 동작이 달..

STM32F0 PF0(OSC_IN), PF1(OSC_OUT) 사용

PF0, PF1을 사용하기 위해 RCC_DeInit함수 사용 /* For PF0, PF1 */ RCC_DeInit(); GPIO_InitTypeDef GPIO_InitStruct; // AFIO_REMAP_ENABLE(AFIO_MAPR_PD01_REMAP); /* Enable GPIOF clock */ RCC_AHBPeriphClockCmd(PERI_BUTTON, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); GPIO_InitStruct.GPIO_Pin = PIN_BUTTON_0 | PIN_BUTTON_1; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStruct.GPIO_PuPd = GPI..

USB Device Mode - MSC(mass storage class)

Sound를 사용한다면 ADSTAR에서 제공하는 MSC에 들어가기 전에 Sound Clock의 설정을 변경하지 않으면 정상 동작 하지 않는 것 같습니다. ADSTAR에서 제공하는 내부 라이브러리를 확인하지 않았지만 통신중에 케이블이 빠지거나 하면 어디선가에서 무한루프에 빠져 멈춰버리고 맙니다. 만일 MSC가 주요 기능이라면 내부 라이브러리의 수정이 불가피해 보입니다. sound_init();함수 사용시 내부의 클럭 초기화 설정 void sound_clock_init() { PMU_WRITE_ENABLE; if(SND_OUTPUT_CHANNEL>1)//DIGITAL MOD *(vU32*)R_SNDCLKCON = F_SNDCLKCON_DMCLKSRC_PLLCLK;//PLL0 else *(vU32*)R_SND..

STM --cpp 옵션으로 인한 에러

C로 컴파일 할 때는 이상없이 되다가 --cpp 옵션을 넣을 경우 에러가 발생 error: #167: argument of type "void *" is incompatible with parameter of type "xxxxxxxxxxxxxxxxx *" void HAL_HCD_SOF_Callback(HCD_HandleTypeDef *hhcd) { USBH_LL_IncTimer(hhcd->pData); /* void USBH_LL_IncTimer(USBH_HandleTypeDef *phost); */ } => void HAL_HCD_SOF_Callback(HCD_HandleTypeDef *hhcd) { USBH_LL_IncTimer((USBH_HandleTypeDef *)(hhcd->pData)); }

ADSTAR SDCard Boot 시 각종 에러 발생 문제

SD Card를 사용하여 Boot를 하는 경우 지켜져야 하는 조건이 있는 것 같습니다. USB Host를 사용하면 USB_OVC에 100k옴을 달아줘야 하는 것 같습니다. 10k옴을 달았더니 아래의 에러들이 랜덤하게 발생했습니다. (100k옴으로 변경 후 계속 발생하지 않는 걸로 보아 해결된 것으로 보입니다. 아마...=> 계속 테스트 하고 있었는데 3일 만에 나와버리고 말았습니다. => 현재까지는 MCU 변경하다보니 발생하는 MCU가 있고 발생하지 않는 MCU가 있어서 MCU 교체로 해결하고 있습니다.) 내부 플래쉬에 라이팅하는 경우에는 발생하지 않았고, USB Host를 사용하지 않거나 SD Card 포맷시 설정(8192로 하면 동작하고 16kb로 하면 바로 에러가 발생하고 등등)에 따라서 발생 빈도..