본문 바로가기

임베디드

매우 저렴한 USB MCU CH55x

USB 통신 기능이 탑재된 MCU를 알아보다가 300~400원에 구입 가능한 물건을 찾았다.

비교적 고가의 FTDI사의 USB-UART 인터페이스칩을 대체하는 CH340으로 유명한 중국 WCH사의 CH55x 시리즈 제품이다.

www.wch-ic.com/products/category/5.html

 

CH551, CH552, CH554 이렇게 3종이 저렴한데, CH554에만 들어있는 USB host기능은내게 필요 없고 내부 플래시 메모리 용량이 조금 크고 ADC 입력 기능이 있는 CH552의 가성비가 가장 높다고 생각된다.

10핀, 16핀, 20핀 패키지가 있는데 가격차이가 큰 것 같지 않아 조금이라도 IO 포트가 많은 20 Pin TSSOP 패키지인 CH552T를 선택해 보았다.

내부 구성은 아래 그림에 자세히 표기되어 있다.

주요 스펙:

8051 호환 코어 (싱글 클럭/사이클로 동작하므로 내가 1989년에 사용했던 인텔 12Mhz 8051 대비 8~15배 이상 빠르게 동작한다)
Integrated oscillator (클럭 소스가 내장되어 외부 크리스탈 부품이 필요 없다. CPU는 24Mhz 동작)
USB 2.0 Full Speed (1.5Mbps 및 12Mbps USB 통신 속도 지원)
USB-C support (PD 프로토콜을 지원하는 전원 장치를 만들 수도 있을 듯)
2x UART (2개의 직렬 포트가 달린 USB-UART 보드를 만들어도 유용할 것 같다)
3x Timer
2x 8bit PWM
1x SPI master / slave
4x ADC 8bit input (구리구리한 8비트 ADC이지만, 없는 것보다는 훨씬 좋다)
6x Touch input (정전 터치도 지원하는군!!)
16KB Flash (2KB DFU 부트로더가 있어 애플리케이션 사이즈는 14KB로 제한, 부트로더가 필요 없다면 16KB 몽땅 사용 가능)
1KB xRAM / 256B iRAM (램이 작아서 변수를 매우 아껴가면서서 프로그래밍해야 할 듯)

CH552T Pin map

몇 가지 우려되는 단점이 있다. 가격이 모든 것을 용서하지만..

* 내부 Flash memory 쓰기 사이클이 200번으로 제한적이다. 실제로는 좀 더 쓸 수 있을 것 같기는 하지만 개발하면서 펌웨어 쓰기를 자주 해야 하는 경우 칩을 자주 교체하여야 할 수도 있다.

* JTAG 같은 하드웨어 디버깅 툴이 보이지 않는다. 잘못하면 개고생을 할 수도 있다.

* Flash memory에 프로그램을 기록하려면 5Volt로 동작시켜야 한다는 글이 보이나, 최근에 리비전 된 칩의 경우 3.3Volt에서도 문제없다는 글도 보인다. 직접 확인해 보아야 한다.

 

AliExpress에서 100개를 배송비 포함해서 $40 미만에 구입 가능하니 대략 400원 정도인 것 같다. 

ko.aliexpress.com/item/4000177609373.html 

Taobao에서는 300원 정도에도 구입이 가능하다.

 

CH552T 개발/테스트 보드도 $1.9로 겁나게 저렴하나 Fedex 배송비가 $16 정도 나오므로 여유 있게 5~10개쯤 구입하는 것이 좋겠다.

www.electrodragon.com/product/ch552-ch554-mini-dev-board-ch55x-series/

 

다음 주에 테스트 보드를 받으면 USB CDC 펌웨어 테스트해보고, 5V/3.3V 플래싱 동작 여부도 확인해 봐야겠다.

 

아래 서양 선구자들의 자료를 참고하여 무료 공개 컴파일러 SDCC로 몇몇 예제를 돌려보고 변경도 해보면서 배워보자.

nerdralph.blogspot.com/2020/07/getting-started-with-wch-ch551-and-ch552.html

hackaday.io/project/169671-ch552-dragon

 

USB 시리얼이나 USB 키보드 예제 몇개 돌려보면 MCU 및 개발툴의 안정성이나 소비전력 정도는 금방 파악이 가능할것 같다.