国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用沁恒CH32V003在沒有USB、觸摸、LCD驅動芯片的情況下實現3位7段LCD顯示

KiCad ? 來源:KiCad ? 作者:KiCad ? 2025-08-27 11:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一個非常硬核的黑客項目,以極簡的設計,使用沁恒的 ch32v003,在不使用驅動芯片的前提下,實現支持 USB-C、觸控的 7 段 LCD 屏幕。

wKgZO2iueo6AViMQAAf4IXHx2YQ547.png ?項目概覽

在電子工程領域,通過創新的軟硬件協同設計,可以在極簡的硬件平臺上實現復雜功能,本項目即是對此理念的一次成功實踐。項目把一塊普通的7段LCD,轉化為一個具備觸摸感應能力并通過USB-C接口與主機通信的功能性設備。整個系統的核心是一顆 CH32V003 RISC-V 單片機神奇的地方在于它本身并不具備 USB 通信、LCD 驅動或觸摸感應的專用硬件支持

看下設計的原理圖,芯片就一個成本一塊多的 ch32v003 加一個 5V 轉 3.3 V 的 LDOXC6206P332MR-G,沒有任何額外的驅動芯片:

wKgZO2iueo6ANpKHAAKloFiyH9Y508.pngJ1 也并沒有使用 USB 接插件,而是直接把 PCB 做成了插頭:wKgZO2iueo6AHwCUAAYYiEcIKBM035.png為了確保正常的拔插,要求:
  • PCB 厚度必須為 0.6 mm
  • PCB 應使用 ENIG(化學鍍鎳浸金)工藝,而不是 HASL(熱風整平或噴錫),因為 HASL 可以提供更平滑、耐磨的接觸面。
wKgZO2iueo6AdSg_AAJSVvOqvlM801.pngCH32V003 無需預編程,只需能接觸到GND/SWIO/5V引腳即可燒錄引導加載程序(bootloader)。LCD 屏是淘寶上找來的,不帶驅動,驅動電壓為 3V,符合以下規格:wKgZO2iueo-ARgkVAAQBuDSyEeA411.pngwKgZO2iueo-AU1HZAAI5nXIpRek192.pngwKgZO2iueo-AEKd0AAKJs4Uhmqg604.png

USB 協議的軟件實現

由于 CH32V003 并不帶原生的 USB 控制器,作者使用了 Bit-Banged 的技術理念,利用軟件直接操控 GPIO 引腳來模擬硬件協議,生成速率為 1.5Mbps 的差分信號。雖然會占用大量CPU開銷,但還是成功模擬了一個 USB1.1 設備。

當然,需要對這一做法進行權衡:雖然節省了 USB PHY 物理層和控制器硬件的成本,但犧牲了寶貴的CPU周期和系統的穩定性。

在此基礎上,還開發了自定義的引導加載程序(Bootloader),使得設備固件可以直接通過USB接口進行更新,無需借助外部編程器。

GPIO 直接驅動 LCD

對于無源 LCD 的驅動,項目通過單片機的 GPIO 引腳產生精確的時序脈沖,并利用其內部的上下拉電阻,以軟件模擬專用驅動芯片的功能,從而控制各筆段的顯示。與簡單的直流驅動 LED 數碼管不同,扭曲向列(Twisted Nematic, TN)液晶顯示器(LCD)需要交流(AC)驅動波形,以防止液晶材料發生電化學降解。完全通過軟件直接生成了這種復雜的驅動波形

對于基本的 LCD 輸出,可以使用一個簡單10 階段波形

  • 階段 0-3= 依次將特定的 COM(公共電極)引腳驅動為低電平,同時將任何需要點亮的 SEG(段電極)引腳驅動為高電平

  • 階段 4= 空閑時間,確保沒有電壓差。這也有助于控制對比度。

  • 階段 5-8= 依次將特定的 COM 引腳驅動為高電平,同時將任何需要點亮的 SEG 引腳驅動為低電平

  • 階段 9= 用于控制對比度的另一半空閑時間。

wKgZO2iueo-ADyveAAHaH_Y6rbE408.png

可以看到,使用 USB 會把事情搞砸,因為當 USB 運行時,它無法將 SEG 引腳的電壓穩定在VCC的一半。

wKgZO2iueo-AaIZIAAHknBSkKYo653.png對于觸摸功能,輸出會通過內部上拉電阻從低電壓狀態重復釋放,同時使用 ADC 測量電壓以獲取觸摸量。wKgZO2iuepCAPt7uAAHVV7lIpAg621.png這看起來很完美,直到 USB 來攪局。wKgZO2iuepCAMRrnAAI96gtGlJI574.png

基于 ADC 的電容式觸摸感應

這或許是項目最具創新性的部分。它在沒有任何額外硬件的情況下,將 LCD 的引腳轉變成了電容式觸摸傳感器。這一功能的實現,巧妙地利用了 CH32V003 內置的10位模數轉換器(ADC)

其測量過程是一個經過精確計時的序列:

  1. 首先將線路驅動至低電平,以對任何電容進行放電。

  2. 在啟動 ADC 采樣的同時,為 LCD 的所有端口應用上拉電阻。ADC 的設置和采樣時間點必須精確對齊到Fcpu/2

  3. 這個過程使得 LCD 引腳上的電壓開始上升,其上升速率與引腳上的總電容成反比。當手指觸摸玻璃時,會引入額外的人體電容,從而減緩電壓上升的速度。

  4. 通過高速、多次的采樣(即過采樣技術),系統能夠從噪聲中提取出這一微弱的電容變化信號,從而判斷觸摸事件的發生。

  5. 為提高輸入的可靠性,軟件層面還集成了遲滯算法,用以有效區分真實的“按下”與“釋放”動作,防止了誤觸發。

并發性的挑戰

該項目的核心成就不僅在于實現了以上三項功能,更在于讓它們在一個資源極其有限(2KB SRAM, 16KB Flash)的單核MCU并發運行

這三項任務對系統資源的要求是相互沖突的:USB 需要高優先級時序來保證其比特流的完整性;LCD 需要一個持續、有節奏的刷新率(約30-60 Hz)來避免閃爍;而觸摸感應則需要一個安靜、穩定的模擬環境以進行精確的 ADC 讀數。

波形圖中的干擾現象,是系統運行在其能力極限的典型癥狀。來自 USB 任務的中斷可能會延遲 LCD 的刷新,導致可見的閃爍,或者擾亂觸摸感應的 ADC 采樣窗口,導致錯誤的讀數。與基于硬件的解決方案相比,這是位沖撞(軟件)方法最主要的缺點和風險

該項目的成功嚴重依賴 于CH32V003 的青稞 V2A 內核及其 GPIO 端口的特定且可預測的性能特征。將此代碼移植到另一個 MCU,即使規格相似,也極有可能需要對所有時序關鍵的循環和中斷處理程序進行全面的重新校準。所以說這并非一個可移植的解決方案。太黑科技了!

一定要那么省錢?那么黑科技么?

該方案過于黑科技,對技術要求的門檻較高,且不易移植,主要目的是炫技+裝逼 :P。從產品開發的角度看,這可能并不是一個好的方案,雖然成本很低、BOM極簡,但同時帶來了系統不穩定的問題。因此,基于不同的場景,需要采用的方案。作為對比,我們完全可以使用性能更強、外設更多的 MCU,下表是一個 MCU 解決方案的對比,可做參考:wKgZO2iuepCAdK7cAACNFgNiPOI039.png同樣的,如果不拘泥于成本,對穩定性要求較高,我們也完全可以使用外部的驅動芯片,這樣會極大的降低固件的復雜性,對開發人員更友好,也利于縮短開發難度和周期。下圖是一個簡單的對比:wKgZO2iuepCAWTisAABwagHoCS0929.png當然,除了升級硬件、使用外部 IC 外,也可以使用更直接的方法:購買與集成的顯示模塊,比如直接采購 SparkFun 的串行7段顯示器(板載ATMega328)。

結束語

該項目成功地將無連接器 USB-C 設計、軟件實現的 USB 通信以及新穎的電容式觸摸感應方法整合在一套極低成本的硬件方案中。它充分展示了在資源受限的微控制器上,憑借對電子原理的深刻理解和精巧的軟件工程,依然能夠開發出功能豐富且實用的嵌入式系統當然,黑客的項目雖然很酷,但在實際的產品設計中并不常用。我們應該根據不同的需求、場景,制定合理的方案。這也是硬件開發好玩的地方!最后,項目的倉庫在這里:

https://github.com/cnlohr/ch32v003_3digit_lcd_usb/

有興趣的小伙伴可以自己嘗試復刻!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • usb
    usb
    +關注

    關注

    60

    文章

    8438

    瀏覽量

    284442
  • LCD驅動
    +關注

    關注

    4

    文章

    94

    瀏覽量

    27314
  • RISC-V
    +關注

    關注

    48

    文章

    2887

    瀏覽量

    52938
  • 沁恒微電子
    +關注

    關注

    4

    文章

    32

    瀏覽量

    2219
  • ch32
    +關注

    關注

    0

    文章

    74

    瀏覽量

    1250
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    原廠 FZH1692P/Q 4*40 LCD 顯示驅動控制專用電路,最多顯示 160

    。 內部集 成有 MCU兩線數字接口、數據鎖存器、LCD驅動等電路。支持 1/3BIAS,1/2BIAS,LINE翻轉, FRAME 翻轉,支持
    發表于 11-05 09:40

    原廠 FZH175 通用LCD顯示驅動電路 156LCD

    或其它顯示應用,可直接驅動最多達156 LCD. 二 特性說明 ? 串行數據控制支持
    發表于 11-03 10:03

    【作品合集】微電子CH585開發板測評

    微電子CH585開發板測評作品合集 產品介紹: CH585是集成BLE無線通訊和高速USB及NFC的RISC-
    發表于 09-08 10:38

    CH585開發板免費試用體驗】+TFT屏顯示驅動

    CH585開發板上,為了便于顯示便給它配置了一個SPI接口的TFT顯示屏,其分辨率為240
    發表于 07-05 19:42

    CH585開發板免費試用體驗】+品讀老朋友的新產品

    。 圖2 開發板正面 圖3 開發板背面 CH585 評估板上配有的資源有: 開關 S1 :供電開關,用于切斷或連接外部 5V 供電或 USB
    發表于 07-03 11:04

    CH585開發板免費試用體驗】+開箱及開發環境準備

    介紹 [高速USB+NFC藍牙MCU/SoC CH585 - 南京微電子股份有限公司]() 芯片數據手冊 [
    發表于 06-27 21:44

    原廠驅動芯片LCD顯示驅動電路FZH165

    )設計的驅動芯片,適用于低功耗便攜設備。 二、關鍵特性 驅動能力 : 最大支持 280 顯示 (35
    發表于 06-05 16:31

    FZH1691 4×36 LCD顯示屏高集成度驅動控制芯片中文手冊

    、高分辨率的顯示場景。以下是其核心特性與設計要點:關鍵特性基礎參數驅動能力:支持 4×36(144 LCD 顯示,適配
    發表于 05-23 10:19 ?0次下載

    FZH1692P/Q 4×40 LCD顯示屏高性能驅動控制芯片中文手冊

    高分辨率、低功耗的顯示場景。以下是其核心特性與設計要點:關鍵特性基礎參數驅動能力:支持 4×40(160 LCD 顯示,適配
    發表于 05-23 10:18 ?0次下載

    低電流LCD驅動抗噪液晶屏驅動芯片VKL060

    :LD0穩壓 IC; 水位檢測 IC)LCD 驅動、液晶顯示 IC、LCD 顯示、液晶顯示
    發表于 05-12 17:07

    國產芯片怎么樣?

    國產芯片技術實力與應用評價 ?一、核心技術優勢? ?接口技術垂直整合能力? 自研USB、藍牙、以太網等專業接口IP及RISC-V內核,
    發表于 03-20 10:51

    國產芯片USB PHY芯片替代方案解析

    USB PHY芯片CH132系列的核心優勢分析
    的頭像 發表于 03-11 14:01 ?2350次閱讀
    國產<b class='flag-5'>芯片</b><b class='flag-5'>沁</b><b class='flag-5'>恒</b><b class='flag-5'>USB</b> PHY<b class='flag-5'>芯片</b>替代方案解析

    國產芯片USB 3.0芯片替代方案解析

    微電子推出的多款USB 3.0 HUB芯片憑借高性能、高集成度及工業級設計,可實現對多款主流芯片
    的頭像 發表于 03-10 15:24 ?3748次閱讀

    其他芯片太貴?聊聊可直接替代USB HUB控制器 USB3.0 HUB芯片有哪些?

    CH634系列USB 3.0 HUB控制器憑借高性能和兼容性設計,已成為多款國際主流芯片的國產替代方案。以下是該系列
    的頭像 發表于 03-10 14:42 ?4146次閱讀

    CH541:E8051內核的USB雙功能MCU

    CH541是電子基于增強型E8051內核設計的8USB單片機,支持最高24MHz系統主頻,具備高效的指令執行能力
    的頭像 發表于 03-06 10:13 ?1341次閱讀
    <b class='flag-5'>沁</b><b class='flag-5'>恒</b><b class='flag-5'>CH</b>541:E8051內核的<b class='flag-5'>USB</b>雙功能MCU