1, 하드웨어 아키텍처: 다중 장치 드라이버 및 신호 동기화
분할된 LCD의 다중 유닛 디스플레이는 하드웨어 수준의 다중 COM(공통 끝) 및 다중 SEG(세그먼트 끝) 설계에 의존합니다. 4-자리 LCD 세그먼트 코드 화면을 예로 들면 일반적으로 내부에 4개의 COM 포트와 여러 개의 SEG 포트가 포함되어 있으며 각 COM-SEG 조합은 디스플레이 단위(예: 숫자 또는 단위 기호)에 해당합니다. 예를 들어, 세그먼트 코드 화면의 특정 모델은 4개의 COM 포트를 통해 4개의 디지털 비트를 구동하는 동시에 추가 SEG 포트를 사용하여 단위 기호(V/A/Hz) 표시를 제어합니다.
주요 하드웨어 매개변수:
임무: COM 포트 수를 결정합니다. 예를 들어, 1/4 듀티는 4개의 COM 포트가 교대로 구동되고 각 포트의 듀티 사이클이 25%로 4자리 디스플레이에 적합하다는 것을 의미합니다.
BIAS(바이어스 비율): 명암비 및 구동 전압에 영향을 줍니다.. 1/3 BIAS는 구동 전압이 작동 전압의 1/3이라는 의미로, 전력 소모를 줄이고 디스플레이 안정성을 향상시킬 수 있습니다.
전압 안정성: 액정 분자는 AC 신호로 구동되어야 하며 DC 바이어스는 디스플레이 흐림을 유발할 수 있습니다. 예를 들어, 특정 프로젝트에서는 STM32F103C8T6 마이크로컨트롤러를 사용하여 타이머를 통해 정확한 AC 구형파 신호를 생성하여 3.3V의 안정적인 전압 차이를 보장하고 액정 분자의 노화를 방지합니다.
일반적인 애플리케이션 시나리오:
전력 모니터링 장비: 전압(V), 전류(A), 전력(W) 등의 매개변수를 동시에 표시해야 합니다. 특정 스마트 계량기는 8개의 COM 포트와 32개의 SEG 포트를 통해 4세트의 숫자(예: 220V, 5.6A)와 3개의 단위 기호를 동시에 표시하는 8비트 세그먼트 코드 화면을 채택합니다.
의료 모니터: 심박수(bpm) 및 혈중 산소(SpO2%)와 같은 매개변수를 표시할 때 여러 COM 포트를 통해 다양한 데이터 유형을 구별해야 합니다. 예를 들어, 특정 모니터 모델은 1/8 Duty 디자인을 채택하여 8자리 숫자와 4개 단위 기호의 독립적인 제어를 지원합니다.
2, 드라이버 로직: 동적 스캐닝 및 데이터 매핑
세그먼트 코드 LCD의 다중 단위 디스플레이는 동적 스캐닝을 통해 구현되어야 합니다. 핵심 논리는 시간 공유 방식으로 COM 포트를 재사용하고,{1}}디스플레이 콘텐츠를 빠르게 전환하고, 인간의 시각적 인식 지속 효과를 활용하여 안정적인 이미지를 형성하는 것입니다. 구체적인 단계는 다음과 같습니다.
데이터 매핑: 표시할 숫자와 단위 기호를 세그먼트 코드 데이터로 변환합니다. 예를 들어, 숫자 "8"에 대한 세그먼트 코드는 0x7F(완전히 켜진 세그먼트 a-g에 해당)이고, 단위 "V"에 대한 세그먼트 코드는 0x01(켜진 세그먼트 a만 해당)입니다.
동적 스캐닝: 고정된 주기(예: 1ms)로 COM 포트를 활성화하고 해당 SEG 데이터를 보냅니다. 예를 들어 4자리 디스플레이에서는 COM1-COM4가 교대로 활성화되어 매번 현재 COM 포트에 해당하는 번호와 단위만 업데이트됩니다.
대비 제어: 구동 전압 또는 듀티 사이클을 조정하여 디스플레이 성능을 최적화합니다. 예를 들어, 강한 조명 환경에서 특정 프로젝트는 BIAS를 1/3에서 1/4로 조정하고 대비를 1500:1로 높였으며 단위 기호가 명확하고 구별 가능하도록 했습니다.
3, 소프트웨어 프로그래밍: 다중 작업 관리 및 데이터 업데이트
다중 유닛 디스플레이의 소프트웨어 구현은 실시간 데이터와 디스플레이 동기화라는 두 가지 주요 문제를 해결해야 합니다.- 주요 최적화 전략은 다음과 같습니다.
인터럽트 구동 스캐닝: 타이머 인터럽트를 사용하여 정기적인 스캐닝을 달성하고 기본 프로그램 차단을 방지합니다. 예를 들어, 프로젝트는 매번 하나의 COM 포트에 대한 데이터를 업데이트하고 4ms 내에 전체 화면 새로 고침을 완료하는 1ms 타이머 인터럽트를 설정합니다.
이중 버퍼링 메커니즘: 두 개의 디스플레이 버퍼(전경/백그라운드)를 사용하여 전경 버퍼는 현재 디스플레이에 사용되고 배경 버퍼는 데이터 업데이트에 사용됩니다. 업데이트가 완료된 후 플래그를 통해 버퍼를 전환하여 스캐닝 프로세스 중 데이터 변형으로 인한 깜박임을 방지합니다.
단위 기호의 동적 전환: 매개변수 유형에 따라 단위 기호를 동적으로 로드합니다. 예를 들어, 주파수 측정 시나리오에서 입력 신호가 구형파로 감지되면 단위가 자동으로 "V"에서 "Hz"로 전환됩니다.
사례: 지능형 주파수 측정기
프로젝트는 STM32F103 및 HT1621 드라이버 칩을 기반으로 구형파 주파수 측정 및 디스플레이를 달성합니다. 소프트웨어 프로세스는 다음과 같습니다.
주파수 측정: 타이머를 사용하여 입력 신호의 상승 에지를 포착하고 주기를 계산하여 주파수 값으로 변환합니다.
데이터 분해: 주파수 값을 천, 백, 십, 자릿수 단위로 분해합니다.
단위 판단: 주파수가 1kHz보다 크면 단위는 "kHz"를 표시합니다. 그렇지 않으면 'Hz'를 표시합니다.
디스플레이 업데이트: SPI 인터페이스를 통해 숫자 및 단위 세그먼트 코드 데이터를 HT1621로 보내고 4자리 LCD를 구동하여 동시에 업데이트합니다.
4, 최적화 전략: 디스플레이 품질 및 신뢰성 향상
간섭 방지 설계: 강한 전자기 환경(예: 산업 현장)에서 차폐선을 사용하여 LCD와 MCU를 연결하고 전원 공급 장치 끝에 자기 비드 필터링을 추가하여 잡음 간섭을 줄입니다.
저온 보상: -20도에서는 액정 분자 활성이 감소하여 대비가 감소할 수 있습니다. 구동 전압을 높이거나(예: 3.3V에서 3.6V로) 예열 로직을 추가(시작 시 낮은 명암으로 표시했다가 점차 정상 값으로 복귀)하면 문제를 해결할 수 있습니다.
저전력 최적화: 배터리 구동 장치에서는 스캐닝 빈도를 동적으로 조정하는 전략이 채택됩니다. 예를 들어, 작동이 없을 때 스캐닝 주파수를 1kHz에서 100Hz로 줄이면 전력 소비를 90% 줄이면서 하드웨어 유지 회로를 통해 디스플레이 콘텐츠를 유지합니다.