본문 바로가기

개발자/부품

SC92F84A 시리즈 SinOne 8051 기반 마이크로컨트롤러

반응형

 

SC92F84 시리즈는 SinOne(赛元)에서 개발한 8비트 8051 기반 마이크로컨트롤러(MCU)로, 주로 가전제품의 터치 버튼 제어에 사용됩니다.
 
이 칩을 사용하여 프로젝트를 개발하고 작동시키는 방법은 다음과 같습니다.
1. 하드웨어 개발 준비
  • 회로 설계: SinOne 공식 홈페이지에서 제공하는 데이터시트를 참고하여 전원(2.4V~5.5V)과 I/O 핀을 연결합니다. 특히 터치 키(TouchKey) 기능을 사용할 경우 감도 유지를 위한 PCB 레이아웃 가이드를 준수해야 합니다.
  • 디버거/프로그래머: 코드를 칩에 굽거나 디버깅하기 위해 SC LINK PRO 장비가 필요합니다.
 
2. 소프트웨어 개발 환경 (IDE)
  • Keil C51: 표준 8051 명령어 세트와 100% 호환되므로 Keil 환경에서 C 언어로 프로그래밍할 수 있습니다.
  • EasyCodeCube: SinOne에서 제공하는 자동 코드 생성 도구입니다. 그래픽 인터페이스를 통해 타이머, UART, ADC 등의 주변 장치 설정을 쉽게 구성하고 소스 코드를 생성할 수 있습니다.
     
3. 주요 기능 설정 및 사용
  • 터치 키 (TouchKey): 최대 31채널의 정전식 터치 입력을 지원합니다. 전용 소프트웨어 라이브러리를 통해 감도 조절 및 저전력 모드에서의 웨이크업(Wake-up) 기능을 설정할 수 있습니다.
  • 주변 장치 제어: 12비트 ADC, PWM(LED 밝기 조절 등), UART 통신 등을 내장 레지스터 설정을 통해 제어합니다.

저전력 모드: 전력 소모를 줄여야 하는 배터리 기기라면 STOP 모드나 IDLE 모드를 활용하며, 터치나 외부 인터럽트로 다시 깨울 수 있습니다.

 
현재 개발 중인 장치가 터치 버튼이 포함된 가전인가요, 아니면 일반적인 제어 모듈인가요?
🏠 가전 터치 제어
💻 펌웨어 개발 도구

 

 

 

SinOne SC92F84 시리즈는 가전제품 및 산업용 제어기기에 최적화된 터치 키(TouchKey) 기능을 제공합니다. 성공적인 구현을 위한 핵심 가이드는 다음과 같습니다.
1. 터치 모드 선택 및 설정
SC92F84 시리즈는 애플리케이션 요구 사항에 따라 두 가지 터치 모드를 지원합니다.
 
  • 고감도(High-sensitivity) 모드: 근접 감지(Proximity induction)나 두꺼운 패널 뒤에 있는 버튼 등 높은 감도가 필요한 경우 사용합니다.
  • 고신뢰성(High-reliability) 모드: 노이즈 간섭이 심한 환경에 적합하며, 10V 동적 CS(Conduction Susceptibility) 테스트를 통과할 만큼 강력한 항간섭 성능을 제공합니다.
2. 하드웨어 설계 지침 (PCB Layout)
터치 성능을 극대화하기 위해 SinOne TouchKey MCU Hardware Development Note에 따른 PCB 설계가 필수적입니다.
 
  • 배선 보호: 터치 트레이스는 가급적 짧게 설계하고, 다른 디지털 신호선(특히 PWM이나 고주파 통신선)과 평행하게 배치하지 않아야 합니다.
  • GND 설계: 터치 패드 주변에 메시(Mesh) 형태의 그라운드를 배치하여 기성(Parasitic) 정전용량을 관리하되, 감도가 너무 떨어지지 않도록 적절한 간격을 유지해야 합니다.
  • 프로그래밍 핀 주의: 회로 설계 시 칩의 CLK  DIO 핀을 디지털 튜브(FND) 등과 공유하면 디버깅 및 터치 설정 시 간섭이 발생할 수 있으므로 분리를 권장합니다.
     
3. 소프트웨어 개발 및 디버깅
  • EasyCodeCube 활용: SinOne의 그래픽 설정 도구인 EasyCodeCube를 사용하면 터치 채널 설정, 감도 조절, 인터럽트 설정 코드를 자동으로 생성할 수 있습니다.
  • 터치 라이브러리: 제공되는 전용 소프트웨어 라이브러리를 통해 복잡한 터치 알고리즘을 직접 구현하지 않고도 안정적인 버튼 입력 및 제스처 인식이 가능합니다.
  • 실시간 디버깅: SC LINK PRO 장비를 사용하여 PC 환경에서 실시간으로 각 터치 채널의 원시 데이터(Raw data)와 임계값(Threshold)을 모니터링하며 최적의 감도를 설정할 수 있습니다.
     
4. 주의사항
  • 초기 설정: 프로그램 초기화 시 터치 키(TK)에 해당하는 I/O 포트는 강력한 Push-pull 출력 모드 High 레벨 출력으로 설정해야 하며, 터치 스캔 중에는 해당 IO를 조작해서는 안 됩니다.
  • 저전력 운용: STOP 모드에서도 싱글 터치 스캔을 통해 칩을 깨울 수 있으며, 이때 칩의 전체 소비 전류는 약 11uA까지 낮출 수 있습니다.
     
현재 설계 중인 PCB에 몇 개의 터치 버튼을 배치할 계획이신가요? 채널 수에 따른 상세 핀 맵 확인이 필요하시면 알려주시기 바랍니다.
 
 
 
SinOne의 EasyCodeCube는 8비트 MCU 개발을 간소화하기 위한 그래픽 기반 자동 코드 생성 도구입니다. 다운로드 및 사용법(매뉴얼)은 아래 공식 경로를 통해 확인할 수 있습니다.
1. 다운로드 및 설치
2. 매뉴얼 및 교육 자료
SinOne은 별도의 두꺼운 PDF 매뉴얼 대신, 기능별 Quick Start 가이드 트레이닝 센터를 통해 단계별 사용법을 제공합니다.
  • Quick Start: EasyCodeCube Quick Start 섹션에서 기본적인 프로젝트 생성 및 코드 생성 흐름을 확인할 수 있습니다.
  • 기능별 가이드 (Training Center): SinOne Training Center에서 다음 항목들에 대한 세부 설정 방법을 제공합니다:
    • GPIO/UART/Timer 설정법
    • ADC 및 PWM 구성
    • Touch Key 인터페이스 설정 및 라이브러리 활용
       
3. 주요 특징
  • 그래픽 설정: 레지스터를 직접 계산할 필요 없이 클릭만으로 클록, 타이머, 통신 포트를 설정합니다.
  • 코드 생성: 설정이 완료되면 Keil용 C 소스 코드가 자동으로 생성되어 개발 시간을 대폭 단축해 줍니다.
     
혹시 터치 키 설정이나 **특정 주변 장치(ADC, PWM 등)**의 구체적인 코드 생성 방법이 궁금하신가요?
👆 터치 키 설정 가이드
🔌 Keil 플러그인 설치법
 
 

 

EasyCodeCube를 사용하여 SC92F84의 터치 키(Touch Key)를 설정하는 단계별 가이드입니다. SinOne MCU는 전용 라이브러리와 그래픽 툴을 통해 복잡한 알고리즘 없이도 쉽게 터치를 구현할 수 있도록 설계되어 있습니다.
 
1. 프로젝트 초기 설정
  1. EasyCodeCube 실행: 프로그램을 열고 **'Create a New Project'**를 선택합니다.
  2. 칩 모델 선택: 제품 목록에서 SC92F84를 검색하여 선택합니다.
  3. 시스템 클록 설정: 터치 스캔 속도와 정확도에 영향을 미치는 시스템 클록(예: 내부 16MHz)을 설정합니다.
     
2. 터치 키(Touch Key) 그래픽 설정
EasyCodeCube의 왼쪽 리소스 트리에서 'Touch Key' 항목을 선택합니다.
 
  • 채널 활성화: 사용할 I/O 핀을 터치 채널(TK0, TK1 등)로 할당합니다. SC92F84는 최대 31채널까지 지원합니다.
  • 모드 선택:
    • High-sensitivity: 근접 감지나 두꺼운 패널에 적합합니다.
    • High-reliability: 노이즈가 많은 환경(가전 등)에 권장되며 10V CS 테스트를 통과하는 수준의 안정성을 제공합니다.
  • 파라미터 조정: 각 버튼의 **임계값(Threshold)**과 노이즈 필터 수준을 설정합니다. SinOne의 'Intelligent Adaptive' 기술 덕분에 기본 설정만으로도 약 5분 내에 초기 디버깅이 가능합니다.
     
3. 코드 생성 및 Keil 연동
  1. Generate & Compile: 설정을 마친 후 상단의 'Generate' 버튼을 클릭하면 Keil C51용 프로젝트와 소스 코드(.c, .h)가 자동으로 생성됩니다.
  2. 라이브러리 확인: 생성된 프로젝트에는 SinOne에서 제공하는 TouchKey Library가 자동으로 포함됩니다.
  3. Main 루프 구현: main.c에서 생성된 터치 스캔 함수(예: TK_Scan())를 주기적으로 호출하고, 각 채널의 상태 변화를 체크하는 로직을 추가합니다.
     
4. 실시간 디버깅 (중요)
터치 감도는 실제 기구물(케이스, 글라스 등)이 조립된 상태에서 최적화해야 합니다.
  • TouchKey Tool 활용: SinOne Software Platform에서 제공하는 별도의 'Touch Key Tool'을 사용하면 PC에서 각 채널의 Raw Data와 **SNR(신호 대 잡음비)**을 실시간 그래프로 보며 미세 조정할 수 있습니다.
  • 장비: 이를 위해서는 SC LINK PRO 디버거가 필요합니다.
     
구체적인 터치 버튼 개수 패널 두께 정보를 알려주시면 최적의 감도 설정값을 추천해 드릴 수 있습니다.
추가 정보 확인:
📈 실시간 터치 디버깅 방법
🛡️ 터치 항간섭(CS) 설정
 

 

SinOne Touch Key Tool은 MCU 내부의 터치 원시 데이터(Raw Data)를 시각화하여 최적의 감도와 임계값을 찾도록 도와주는 필수 도구입니다. SC LINK PRO 디버거를 사용하여 다음과 같이 디버깅을 진행합니다.
1. 하드웨어 연결
  • 연결 순서: PC  SC LINK PRO  대상 보드(SC92F84) 순으로 연결합니다.
  • 핀 연결: MCU의 프로그래밍 핀인 VDD, GND, CLK, DIO가 디버거와 정확히 연결되어야 데이터 통신이 가능합니다.
 
2. 프로젝트 설정 및 데이터 출력
실시간 모니터링을 위해서는 펌웨어에서 터치 데이터를 외부로 전송하는 설정이 활성화되어 있어야 합니다.
  • EasyCodeCube 설정: Touch Key 설정 탭에서 'Debug Mode' 또는 'Output Data' 옵션을 체크하여 생성된 코드를 MCU에 굽습니다.
  • 라이브러리 통신: 펌웨어 내부에서 터치 스캔 후 데이터를 UART 또는 디버그 인터페이스로 송신하는 함수가 실행되는지 확인합니다.
 
3. Touch Key Tool 실행 및 모니터링
  1. 소프트웨어 실행: SinOne 공식 홈페이지에서 다운로드한 TouchKey Tool을 실행합니다.
  2. 포트 연결: 디버거가 연결된 COM 포트를 선택하고 'Open'을 클릭합니다.
  3. 데이터 관찰:
    • Baseline (기존값): 환경 변화에 따라 서서히 변하는 기준점입니다.
    • Raw Data (현재값): 손가락이 닿았을 때 실시간으로 변하는 정전용량 수치입니다.
    • Difference (차이값): Raw Data - Baseline 값이며, 이 수치가 설정한 **Threshold(임계값)**를 넘으면 터치로 인식됩니다.
 
4. 감도 최적화 가이드
  • 임계값(Threshold) 설정: 손가락을 댔을 때 발생하는 'Difference' 값의 약 60~70% 수준으로 설정하는 것이 일반적입니다.
  • SNR(신호 대 잡음비) 확인: 손을 대지 않았을 때의 노이즈 폭보다 터치 시 변화량이 최소 5~8배 이상 커야 오작동이 없습니다.
  • 패널 조립 후 테스트: 반드시 최종 케이스(플라스틱, 유리 등)를 조립한 상태에서 측정해야 실질적인 감도 조절이 가능합니다.
현재 노이즈 때문에 터치가 불안정한 상황인가요, 아니면 감도를 더 높이고 싶은 상황인가요?
⚡ 노이즈 제거 설정
🔍 터치 임계값 계산법

 

 

SinOne SC92F84와 같은 MCU에서 터치 키의 항간섭(Anti-interference) 성능을 극대화하여 10V 동적 CS(Conduction Susceptibility) 테스트를 통과하기 위한 핵심 설정 가이드입니다.
1. 하드웨어 항간섭 설계 (Layout)
소프트웨어 설정 전, 하드웨어에서 노이즈 유입을 최소화해야 합니다.
  • 직렬 저항 추가: 터치 패드와 MCU 핀 사이에 500Ω ~ 2kΩ 정도의 저항을 직렬로 연결하여 고주파 노이즈를 억제합니다.
  • 차폐(Shielding): 터치 배선 주변을 메시(Mesh) 형태의 GND로 감싸되, 기성 정전용량이 커지지 않도록 배선 폭의 2~3배 간격을 유지합니다. SinOne Hardware Design Guide를 참고하세요.
 
2. EasyCodeCube 소프트웨어 파라미터 설정
EasyCodeCube의 Touch Key 설정 화면에서 다음 항목을 조정합니다.
  • Scan Mode: 'High-reliability' 모드를 선택합니다. 이 모드는 노이즈가 심한 환경에서 여러 번 샘플링하여 데이터의 신뢰성을 높입니다.
  • Sample Time: 샘플링 시간을 늘리면 노이즈 필터링 효과가 커지지만 응답 속도가 느려질 수 있으므로 적절한 타협점을 찾습니다.
  • Noise Threshold: 노이즈로 간주할 변화량의 범위를 설정합니다. 이 값보다 작은 변화는 무시되어 오작동을 방지합니다.
  • Debounce (디바운스): 터치로 인식되기 위해 연속으로 감지되어야 하는 횟수(예: 3~5회)를 설정하여 순간적인 노이즈 스파이크를 걸러냅니다.
 
3. 강력한 소프트웨어 알고리즘 적용
SinOne에서 제공하는 터치 라이브러리에는 다음과 같은 기능이 포함되어 있습니다.
  • Frequency Hopping (주파수 호핑): 특정 주파수 대역의 노이즈 간섭을 피하기 위해 스캔 주파수를 동적으로 변경합니다.
  • Waterproof Algorithm: 물방울이나 습기로 인한 정전용량 변화를 일반 터치와 구분하여 오작동을 막습니다. 주방 가전(인덕션 등) 설계 시 필수적입니다.
  • Negative Drift Compensation: 온도나 습도 변화로 인해 베이스라인이 천천히 변하는 것을 추적하여 보정합니다.
 
4. 실시간 검증
Touch Key Tool을 사용하여 노이즈 레벨을 확인합니다.
  • 손을 대지 않았을 때의 데이터 파동(Noise Floor)이 **Threshold(임계값)**의 1/3 이하로 유지되도록 파라미터를 미세 조정해야 합니다.
현재 겪고 있는 간섭 문제가 **전원부 노이즈(AC)**인가요, 아니면 주변 모터나 통신 기기로 인한 노이즈인가요?
관련 리소스:
🔌 전원 노이즈 해결
💧 방수 터치 설정

 

 

https://www.socmcu.com/cn/product_xuanxing.php?lm=29

 

 

https://www.shivelectronics.co.in/sc92f-super-value-mcus.html

 

https://www.socmcu.com/cn/product_list_show.php?lm=9

반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

당신의 성공을 위해 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩