Anhang: One-Wire-Technologie
Wie bei den meisten Platinen haben wir festgestellt, dass die ADC-Konvertierung der CPU bei großen LCDs (7 Zoll und größer) mit resistivem Vierdraht-Touch nicht sehr gut funktionierte. Einige Anbieter verwenden ein externes USB- oder UART-Modul, um diese LCDs anzuschließen. Um die Hardwareressourcen der CPU zu schonen und die Nutzung externer Module zu minimieren, haben wir die One-Wire-Technologie entwickelt, die nur einen einzigen GP10-Pin verwendet, und wir haben diese Technologie in alle unsere LCD-Controller-Boards integriert. Diese Technologie verwendet eine MCU, um mit dem Chip des Touchpanels zu kommunizieren (wir verwenden den ADS7843-Chip oder andere mit ADS7843 kompatible Chips), die analogen Signale des Vierdrahtwiderstands zu verarbeiten und die gefilterten stabilen Signale über GPl0 an die Platine auszugeben. Wir haben diese Technologie in verschiedenen LCDs getestet und sie hat sogar bei einem großen 19-Zoll-LCD sehr gut funktioniert. Einige häufig beobachtete Probleme wie Bildschirmumkehr und -zittern sind nicht aufgetreten.
Heutzutage verfügen die meisten LCDs mit einer Größe von weniger als 12 Zoll über eine LED-Hintergrundbeleuchtung. Wir verwenden die MCU des One-Wire-Chips auch zur Verarbeitung der Hintergrundbeleuchtung. Die Hintergrundbeleuchtung wird mit einem Wertebereich eingestellt. Benutzer können einen Wert für die Hintergrundbeleuchtung einstellen und dieser Wert wird zur Verarbeitung über den GPl0-Pin des One-Wire an die MCU übergeben.
Jedes LCD-Modul von FriendlyElec verfügt über eine eindeutige ID, die in der MCU des One-Wire-Moduls gespeichert ist. Wenn die MCU die ID-Informationen aus den GPl0-Signalen liest, erkennt sie das LCD-Modell und weist den Bootloader an, den entsprechenden LCD-Treiber zu laden, wodurch ein FriendlyElec-LCD Plug-and-Play wird.
Was die Eindrahttechnologie für unsere LCDs mit kapazitiver Berührung betrifft, haben wir den Chip des resistiven Touchpanels entfernt, die Funktion zur Anpassung der Hintergrundbeleuchtung und die ID-Informationen des LCD jedoch beibehalten. Daher erfolgt die Kommunikation zwischen dem kapazitiven Touch und der Platine weiterhin über Standard-llC.
Bitte beachten Sie, dass sich die Eindrahttechnologie von der allgemein bekannten Einzelbuskommunikation unterscheidet. Tatsächlich verwenden wir auf der Platine einen PWM-Timer (keine PWM-Pins), um die Kommunikationsfrequenz (9600 Hz) zu erzeugen. Weitere Einzelheiten finden Sie im Quellcode des Treibers.