久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11885|回復: 15
收起左側

采用合泰單片機的QI無線充電原理圖&PCB和源碼

  [復制鏈接]
ID:31187 發表于 2019-1-14 17:56 | 顯示全部樓層 |閱讀模式
   市售無線充電商品多以無線充電聯盟(WPC)的 Qi 產品為主,其主要核心分為電力、通訊、及系統控制等三個主體。其中系統控制大多以 MCU為控制處理的核心,而舉凡市售有 32-bit ARM-base、8-bit RISC、8051…等微處理器。而 HOLTEK 的 HT66FW2230  為專用 Wireless Charger Flash MCU,并內建 『直驅 Power MOS  互補式 PWM』及『簡化外部解調電路』等功能,符合 WPC Qi  無線充電電力發射器(Transmitter)設計規范的需求。本文將簡述 WPC Qi 無線充電商品的架構,及運用 HT66FW2230 完成 WPC Qi  最新 1.1.2 版無線充電電力發射器(Transmitter)的認證。

電路原理圖如下:
0.png


0.png

另外,異物偵測已列入為 WPC Qi 最新的 v1.1.2 版本認證之測試項目,其結合過溫保護(OTP),以作為安全保護機制。一般則采用 RX 的 Received Power  信息,以及 TX 所消耗的功率,進行功率計算,當功率大于異物消耗功率的設定值,則判定有異物存在的狀況出現。加上 HT66FW2230 模塊內建有過流保護(OCP)、過壓保護(OVP)、電源輸入電壓量測、指示電路控制…等保護措施及指示功能。

簡而言之, HT66FW2230 所內建的一般/直驅 Power MOS 互補 PWM 輸出、解調 Demodulation 功能、及脈波產生器(CLK Generator)等功能,已達到符合 Qi TX 設計需求,并獲得 Qi  的TX 認證。 WPC Qi  產品的效率約 70% ~ 75%,而 HT66FW2230  模塊同樣達到該水平。HOLTEK 將會提供 HT66FW2230 認證模塊硬件參考設計(Reference Design)與認證句柄(Certification Source Code)方案,以服務客戶。 同時未來將朝規劃開發Qi其他型式的發射端設計規格(如Fig. 8所示)。

0.png

單片機源程序如下:
  1. ;*******************************************************************************************
  2. ;*****                                       History                                               *****
  3. ;*******************************************************************************************
  4. ;V1.0 - WPC Qi Certification Source Code by Edward in HOLTEK Semiconductor Inc. on 2014/12/25



  5. ;*******************************************************************************************
  6. ;*****                                   Including File                                       *****
  7. ;*******************************************************************************************
  8. #INCLUDE         HT66FW2230.inc
  9. #INCLUDE        TxUserDEF2230v302.inc


  10. ;*******************************************************************************************
  11. ;*****                                Function / Parameter Claim                               *****
  12. ;*******************************************************************************************
  13. PUBLIC                PID_SenPriCoilCurrWay65Double
  14. PUBLIC                PID_Isen65_SUBIsen
  15. PUBLIC                PID_SenPriCoilCurrWay65
  16. PUBLIC                PID_Isen65AvgTwo

  17. EXTERN                Sensoring10_8                                        :        near
  18. EXTERN                CLRMath                                                :        near
  19. EXTERN                PreCarry                                        :        near
  20. EXTERN                PostCarry                                        :        near
  21. EXTERN                SignedMul_16Bit                                        :        near

  22. EXTERN                a_ADRHbuffer                                        :        byte
  23. EXTERN                a_ADRLbuffer                                        :        byte
  24. EXTERN                a_data0                                                :        byte
  25. EXTERN                a_data1                                                :        byte
  26. EXTERN                a_data4                                                :        byte
  27. EXTERN                a_data5                                                :        byte
  28. EXTERN                a_to0                                                :        byte
  29. EXTERN                a_to1                                                :        byte
  30. EXTERN                a_to2                                           :        byte
  31. EXTERN                a_to3                                           :        byte
  32. EXTERN                a_to6                                           :        byte
  33. EXTERN                a_to7                                           :        byte
  34. EXTERN                a_temp1                                         :        byte
  35. EXTERN                fg_IsenSmall                                        :        bit
  36. EXTERN                fg_IsenBig                                        :        bit
  37. EXTERN                fg_IsenFirst                                        :        bit
  38. EXTERN                a_ExIP0x81_B1                                        :        byte
  39. EXTERN                a_ExIP0x81_B2                                   :        byte
  40. EXTERN                a_Carry                                                :        byte


  41. ;*******************************************************************************************
  42. ;*****                                    Program Body                                       *****
  43. ;*******************************************************************************************
  44. Isen                .Section         'code'
  45. ;========================================================
  46. ;Function         : PID_SenPriCoilCurrWay65Double  ( 370 us)
  47. ;Note             : Call Function Type for Sensor Primary Coil Current
  48. ;========================================================
  49. PID_SenPriCoilCurrWay65Double:
  50.                         CALL        PID_SenPriCoilCurrWay65
  51.                         CALL        PID_SenPriCoilCurrWay65
  52.                         RET


  53. ;========================================================
  54. ;Function         : PID_Isen65_SUBIsen  (  us)
  55. ;Note             : Call Function Type for FOD Isen
  56. ;input          :        
  57. ;output         :        
  58. ;parameter        :        
  59. ;Setting        :
  60. ;========================================================
  61.         PID_Isen65_SUBIsen:
  62.                         CALL        PreCarry
  63.                         MOV        A, a_ADRLbuffer                                ;New Isen_L        ; Low Byte
  64.                         SUB        A, a_to6                                ;IsenSmallTh_L
  65.                         MOV        A, a_ADRHbuffer                                ;New Isen_H        ; High Byte
  66.                         SBC        A, a_to7                                ;IsenSmallTh_H
  67.                         CALL        PostCarry
  68.                         RET

  69. ;========================================================
  70. ;Function         : PID_SenPriCoilCurrWay65  ( 370 us)
  71. ;Note             : Call Function Type for Sensor Primary Coil Current
  72. ;Description    : sensor 10 to access 8, then avg_ADC = sum_ADC /8 with
  73. ;                  checking PLL and precious avg_ADC
  74. ;input          :        
  75. ;output         :        
  76. ;parameter        :
  77. ;Setting        :
  78. ;========================================================
  79.         PID_SenPriCoilCurrWay65:
  80.                         CLR         WDT
  81.                         CALL        PID_Isen65AvgTwo
  82.                         SZ        fg_IsenFirst
  83.                         RET
  84.                        
  85.                         CLR        fg_IsenSmall
  86.                         CLR        fg_IsenBig
  87.    
  88.            ;;IsenSmall and IsenBig
  89.           PID_Isen65_IsenCheckSmall:
  90.                         MOV        A, c_IniIsenSmallTh_H                        ;IsenSmallTh_H
  91.                         MOV        a_to7, A                               
  92.                         MOV        A, c_IniIsenSmallTh_L                        ;IsenSmallTh_L
  93.                         MOV        a_to6, A                               
  94.                         CALL        PID_Isen65_SUBIsen                     
  95.                         SZ        a_Carry                                
  96.                         JMP        PID_Isen65_IsenSmallfg                        ; <
  97.                                                                        
  98.                         JMP        PID_Isen65_IsenCheckBig                        ; >=
  99.         PID_Isen65_IsenSmallfg:                                        
  100.                         SET        fg_IsenSmall                           
  101.                         JMP        PID_Isen65END                          
  102.         PID_Isen65_IsenCheckBig:                                       
  103.                         MOV        A, c_IniIsenBigTh_H                        ;IsenBigTh_H
  104.                         MOV        a_to7, A                               
  105.                         MOV        A, c_IniIsenBigTh_L                        ;IsenBigTh_L
  106.                         MOV        a_to6, A                               
  107.                         CALL        PID_Isen65_SUBIsen                     
  108.                         SZ        a_Carry                                
  109.                         JMP        PID_Isen65END                                ; <
  110.         PID_Isen65_IsenBigfg:
  111.                         SET        fg_IsenBig
  112.         PID_Isen65END:
  113.                         CLR         WDT
  114.                         RET       


  115. ;========================================================
  116. ;Function         : PID_Isen65AvgTwo  (  us)
  117. ;Note             : Call Function Type for Isen twice
  118. ;input          :        
  119. ;output         :        
  120. ;parameter        :        
  121. ;Setting        :
  122. ;========================================================
  123.         PID_Isen65AvgTwo:
  124.                         MOV        A, 009H                                        ; set ADCR0 = 0000_0001 = 001h
  125.                         MOV        ADCR0, A                                ; ADCR0 @SPDM 2AH (POR=0110_0000, WDT Out=0110_0000)
  126.                         ;; Output a_temp1(High Byte)+ a_to7(Low Byte)
  127.                         CALL        Sensoring10_8
  128.                         ;;;~~~Save Pre ADC_H/L and Avg_ADC_H/L Convert to Now ADC_H/L~~~
  129.                         ;;;~~~        Isen(A)=Isen(v)=(VsenADC/4096)*2.08v ~~~
  130.                         ;;;~~~ => Isen(mA)=(VsenADC/4096)*2.08v*1000 (mA) ~~~
  131.                         ;;;~~~ => Isen(mA)=VsenADC*130/256=VsenADC*82h/(2^8)~~~
  132.                         SZ        fg_IsenFirst
  133.                         JMP        PID_Isen65Isne2
  134.                         ;JMP        PID_Isen65Isne1
  135.         PID_Isen65Isne1:       
  136.                         SET        fg_IsenFirst
  137.                         ;; Save Now Avg_ADC_H/L first
  138.                         MOV        A, a_temp1                                ;;Now Avg_ADC_H
  139.                         MOV        a_ExIP0x81_B2, A
  140.                         MOV        A, a_to7                                ;;Now Avg_ADC_L
  141.                         MOV        a_ExIP0x81_B1, A
  142.                         RET
  143.         PID_Isen65Isne2:
  144.                         CLR        fg_IsenFirst
  145.                         MOV        A, a_ExIP0x81_B1                        ;Low Byte
  146.                         ADD        A, a_to7
  147.                         MOV        a_to7        , A  ;;Saving
  148.                         MOV        A, a_ExIP0x81_B2                        ;High Byte
  149.                         ADC        A, a_temp1
  150.                         MOV        a_temp1        , A  ;;Saving

  151.                         ;; /256=/2^1
  152.                         CLR        c
  153.                         RRC        a_temp1
  154.                         RRC        a_to7
  155.        
  156.                         ;; Save Now Avg_ADC_H/L
  157.                         MOV        A, a_temp1                                ;;Now Avg_ADC_H
  158.                         MOV        a_ADRHbuffer, A
  159.                         MOV        A, a_to7                                ;;Now Avg_ADC_L
  160.                         MOV        a_ADRLbuffer, A
  161.                        
  162.         ;; Now Avg_ADC_H/L Isen(A) convert to Now ADC_H/L Isen(mA)
  163.         PID_Isen65Conversion:
  164.                         ;; ADC*82h
  165.                         CALL        CLRMath
  166.                         MOV        A, a_ADRHbuffer                                ;;Now Avg_ADC_H
  167.                         MOV        a_data1, A                             
  168.                         MOV        A, a_ADRLbuffer                                ;;Now Avg_ADC_L
  169.                         MOV        a_data0, A                             
  170.                         CLR        a_data5                                
  171.                         MOV        A, 082h                                        ;; 82h
  172.                         MOV        a_data4, A
  173.                         CALL        SignedMul_16Bit
  174.                        
  175.                         ;; /256=/2^8
  176.                         CLR                c
  177.                         RRC                a_to3
  178.                         RRC                a_to2
  179.                         RRC                a_to1
  180.                         RRC                a_to0
  181.                                
  182.                         CLR                c
  183.                         RRC                a_to3
  184.                         RRC                a_to2
  185.                         RRC                a_to1
  186.                         RRC                a_to0
  187.                
  188.                         CLR                c
  189.                         RRC                a_to3
  190.                         RRC                a_to2
  191.                         RRC                a_to1
  192.                         RRC                a_to0
  193.                
  194.                         CLR                c
  195.                         RRC                a_to3
  196.                         RRC                a_to2
  197.                         RRC                a_to1
  198.                         RRC                a_to0
  199.                
  200.                         CLR                c
  201.                         RRC                a_to3
  202.                         RRC                a_to2
  203.                         RRC                a_to1
  204.                         RRC                a_to0
  205. ……………………

  206. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:

源碼.rar

152.69 KB, 下載次數: 172, 下載積分: 黑幣 -5

AD_PCB文件.rar

74 Bytes, 下載次數: 95, 下載積分: 黑幣 -5

原理圖.rar

27.68 KB, 下載次數: 171, 下載積分: 黑幣 -5

PCB Layout-C20003-A.pdf

481.58 KB, 下載次數: 104, 下載積分: 黑幣 -5

中文文檔_Holtek__CN.pdf

716.23 KB, 下載次數: 139, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:1 發表于 2019-1-14 18:23 | 顯示全部樓層
PCB文件好像是空的?
回復

使用道具 舉報

ID:31187 發表于 2019-1-15 08:49 | 顯示全部樓層
admin 發表于 2019-1-14 18:23
PCB文件好像是空的?

不好意思,真的弄錯了,重新發。

AD_PCB文件.rar

518.14 KB, 下載次數: 113, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:543517 發表于 2019-5-24 16:57 | 顯示全部樓層
剛學習中,請教一下源碼的工程文件是哪個版本的軟件打開啊?
回復

使用道具 舉報

ID:314166 發表于 2019-11-1 08:39 | 顯示全部樓層
感謝。HT66FW2230是否已經程序?
回復

使用道具 舉報

ID:353960 發表于 2019-11-13 10:45 | 顯示全部樓層
有C的么
回復

使用道具 舉報

ID:215759 發表于 2020-2-19 14:22 | 顯示全部樓層
是用什么IDE編程的呀。
回復

使用道具 舉報

ID:562519 發表于 2020-4-8 19:54 | 顯示全部樓層
這個學習一下
回復

使用道具 舉報

ID:663466 發表于 2020-4-22 11:50 | 顯示全部樓層
感謝樓主 非常有用 感謝感謝·
回復

使用道具 舉報

ID:187094 發表于 2020-5-10 15:19 | 顯示全部樓層
真的厲害
回復

使用道具 舉報

ID:325646 發表于 2020-5-27 13:25 | 顯示全部樓層
QI無線充電原理圖&PC
回復

使用道具 舉報

ID:653748 發表于 2021-2-26 12:35 | 顯示全部樓層
軟件是源碼還是庫文件呀?
回復

使用道具 舉報

ID:371439 發表于 2021-9-3 18:23 | 顯示全部樓層
寫的很好哦,可以學習  參考一下 謝謝樓主的分享
回復

使用道具 舉報

ID:1005963 發表于 2022-2-21 12:13 | 顯示全部樓層
不錯的資料,請問源碼有C的嗎
回復

使用道具 舉報

ID:371439 發表于 2022-9-26 17:26 | 顯示全部樓層
合泰工程師 就是牛逼 那么大個程序用匯編做
回復

使用道具 舉報

ID:240034 發表于 2022-9-26 20:58 | 顯示全部樓層
官網好像有,不知道程序是不是一樣匯編
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久88| 欧美精品久久久久 | 亚洲国产一区二区三区四区 | av网址在线 | 91在线电影| 久久久国产精品入口麻豆 | 日日夜夜免费精品 | 欧美国产一区二区 | 在线不卡一区 | 综合久久av | 国产亚洲一区二区三区在线观看 | 欧美黑人狂野猛交老妇 | 青青99 | 成人午夜毛片 | 春色av| 高清欧美性猛交xxxx黑人猛交 | 看a网站| 青草久久免费视频 | 搞黄网站在线观看 | 日韩一区二区在线免费观看 | 中国一级特黄毛片大片 | 国产在线播 | 亚洲一区二区精品 | 亚洲三级av | 国产高清久久 | 成人午夜精品 | 欧美色图综合网 | 一区二区三区中文字幕 | 污片在线观看 | 欧美在线视频一区 | 亚洲欧美另类在线观看 | 热re99久久精品国产99热 | 久久综合激情 | 91xx在线观看 | 日韩三级一区 | 中文字幕一区二区三区四区 | 精品国产一区二区三区性色av | 国产日韩精品久久 | 精品少妇一区二区三区日产乱码 | 国产精品一区二区视频 | 国产男人的天堂 |