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

標題: 2款18W快充芯片SW6124和IP5328P單片機程序PCB電路圖詳細資料 [打印本頁]

作者: 沒有你    時間: 2019-7-25 13:52
標題: 2款18W快充芯片SW6124和IP5328P單片機程序PCB電路圖詳細資料
資料包括芯片手冊、IIC寄存器控制手冊、IIC通信例程、PCB demo板PCB文件。除了可以實現(xiàn)基本功能,還可以可以利用單片機模擬IIC通信擴展其他功能。


Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機源程序如下:
  1. #include "CSU32P10.h"
  2. //#include "define_data.h"
  3. #include "define_function.h"
  4. #include "my_define.h"

  5. #define SDA PT3_1                           //定義SDA所對應(yīng)的GPIO接口編號P1.4  
  6. #define SCL PT3_0                           //定義SCL所對應(yīng)的GPIO接口編號P1.5
  7. #define SDAEN PT3EN_1                           //定義SDA所對應(yīng)的GPIO接口編號P1.4  
  8. #define SCLEN PT3EN_0                           //定義SCL所對應(yīng)的GPIO接口編號P1.5
  9. #define I2C_ADDR 0x3c
  10. #define somenop asm("nop");asm("nop");asm("nop");asm("nop");
  11. //#define I2C_ADDR 0x3c
  12. unsigned char buf0;
  13. unsigned char buf1;
  14. unsigned char i2c_step;


  15. //短delay

  16. /* I2C起始條件 */  
  17. void i2c_start()  
  18. {  
  19.         //初始化GPIO口
  20.         SDAEN = 1;                                //設(shè)置SDA方向為輸出
  21.         SCLEN = 1;                                //設(shè)置SCL方向為輸出
  22.         SDA = 1;                //設(shè)置SDA為高電平
  23.         asm("nop");
  24.         SCL = 1;                //設(shè)置SCL為高電平   
  25.         somenop
  26.         somenop
  27.         SDA = 0;                //SCL為高電平時,SDA由高變低  
  28.         somenop
  29.         somenop
  30.         somenop
  31.         somenop
  32.         somenop
  33.         somenop
  34.         SCL = 0;
  35. }  
  36. /* I2C終止條件 */  
  37. void i2c_stop()  
  38. {  
  39.         somenop
  40.         SDA = 0;       
  41.         SDAEN = 1;   
  42.         somenop
  43.         SCL = 1;
  44.         somenop
  45.         somenop
  46.         somenop
  47.         somenop
  48.         somenop
  49.         somenop
  50.         SDA = 1;            //SCL高電平時,SDA由低變高
  51.         somenop       
  52.         SDAEN = 0;
  53. //        SCL = 0;
  54. }  
  55. /*   
  56. I2C讀取ACK信號(寫數(shù)據(jù)時使用)  
  57. 返回值 :0表示ACK信號有效;非0表示ACK信號無效  
  58. */  
  59. void i2c_read_ack()  
  60. {   
  61.         SCL = 0;               // SCL變低
  62.         SDAEN = 0;                                 //設(shè)置SDA方向為輸入
  63.         somenop       
  64.         SCL = 1;              // SCL變高  
  65.         somenop
  66.         if(SDA)
  67.         {
  68.                 i2c_step = 0xff;
  69.                 return;
  70.         }
  71.         SCL = 0;
  72.         asm("nop");
  73.         asm("nop");
  74.         asm("nop");
  75.         asm("nop");
  76. }  
  77. /* I2C發(fā)出ACK信號(讀數(shù)據(jù)時使用) */  
  78. void i2c_send_ack()  
  79. {
  80.         SCL = 0;              // SCL變低
  81.         somenop
  82.         SDA = 1;              //發(fā)出ACK信號
  83.         SDAEN = 1;              //設(shè)置SDA方向為輸出      
  84.         asm("nop");
  85.         asm("nop");
  86.         asm("nop");       
  87.         SCL = 1;             // SCL變高  
  88.         somenop
  89.         SCL = 0;
  90. //        SDAEN = 1;
  91.         asm("nop");
  92.         asm("nop");
  93. }  
  94. /* I2C字節(jié)寫 */

  95. void i2c_resume()
  96. {
  97.         GIE = 0;
  98.         delay_1s();
  99.         delay_1s();
  100.         i2c_read_ack();
  101.         i2c_read_ack();
  102.         i2c_read_ack();
  103.         i2c_read_ack();
  104.         i2c_read_ack();
  105.         i2c_read_ack();
  106.         i2c_read_ack();
  107.         i2c_read_ack();
  108.         GIE = 1;
  109. }

  110. void i2c_write_byte(unsigned char b)  
  111. {   
  112.         SDAEN = 1;    //設(shè)置SDA方向為輸出  
  113.         SCL = 0;
  114.         for (i2c_step = 8; i2c_step > 0; i2c_step --)
  115.         {  
  116.                 SCL = 0;             // SCL變低
  117.                 asm("nop");
  118.                 if( b & (1 << (i2c_step - 1)))
  119.                         SDA = 1;
  120.                 else
  121.                         SDA = 0;
  122.                 asm("nop");
  123.                 SCL = 1;             // SCL變高  
  124.                 somenop
  125.                 SCL = 0;
  126.         }  
  127.         i2c_read_ack();
  128. }

  129. /* I2C字節(jié)讀 */  
  130. void i2c_read_byte()  
  131. {   
  132.         buf1 = 0;
  133.         SDAEN = 0;                                //設(shè)置SDA方向為輸入
  134.         for(i2c_step = 8; i2c_step > 0; i2c_step --)
  135.         {  
  136.                 SCL = 0;         // SCL變低  
  137.                 asm("nop");
  138.                 asm("nop");
  139.                 SCL = 1;
  140.                 //i2c_result = (i2c_result << 1) | SDA;
  141.                 buf1 = (buf1 << 1) | SDA;
  142.                                                         // SCL變高  
  143. //                asm("nop");
  144. //                asm("nop");
  145.                 SCL = 0;
  146.         }
  147.         i2c_send_ack();                                                //向目標設(shè)備發(fā)送ACK信號
  148. }  
  149. /*  
  150. I2C讀操作  
  151. addr:目標設(shè)備地址  
  152. buf:讀緩沖區(qū)  
  153. len:讀入字節(jié)的長度  
  154. */  
  155. void i2c_read()  
  156. {  
  157.         i2c_start();                                                        //起始條件,開始數(shù)據(jù)通信  
  158.                                                                         //發(fā)送地址和數(shù)據(jù)讀寫方向  
  159.         i2c_write_byte(I2C_ADDR<<1);        //I2C ADDR

  160.         asm("nop");
  161.         if(i2c_step == 0xff)
  162.         {
  163.                 i2c_resume();
  164.                 return;
  165.         }       

  166.         i2c_write_byte(buf0);                        //Reg ADDR

  167.         asm("nop");
  168.         if(i2c_step == 0xff)
  169.         {
  170.                 i2c_resume();
  171.                 return;
  172.         }       
  173.         //asm("nop");
  174.         i2c_start();//restart

  175.         i2c_write_byte((I2C_ADDR<<1) +1);        //Reg ADDR

  176.         asm("nop");
  177.         if(i2c_step == 0xff)
  178.         {
  179.                 i2c_resume();
  180.                 return;
  181.         }
  182.         //讀入數(shù)據(jù)  

  183.         i2c_read_byte();

  184.         i2c_stop();
  185.         //終止條件,結(jié)束數(shù)據(jù)通信  
  186. }  
  187. /*  
  188. I2C寫操作  
  189. addr:目標設(shè)備地址  
  190. buf:寫緩沖區(qū)  
  191. len:寫入字節(jié)的長度  
  192. */  
  193. void i2c_write()  
  194. {  
  195.         i2c_start();                                                        //起始條件,開始數(shù)據(jù)通信  
  196.         //發(fā)送地址和數(shù)據(jù)讀寫方向

  197.         i2c_write_byte(I2C_ADDR<<1);

  198.         asm("nop");
  199.         if(i2c_step == 0xff)
  200.         {
  201.                 i2c_resume();
  202.                 return;
  203.         }       
  204.        
  205.         //寫入數(shù)據(jù)

  206.         i2c_write_byte(buf0);

  207.         asm("nop");
  208.         if(i2c_step == 0xff)
  209.         {
  210.                 i2c_resume();
  211.                 return;
  212.         }

  213.         i2c_write_byte(buf1);

  214.         asm("nop");
  215.         if(i2c_step == 0xff)
  216.         {
  217.                 i2c_resume();
  218.                 return;
  219.         }
  220.         i2c_stop();                     //終止條件,結(jié)束數(shù)據(jù)通信  
  221. }
復(fù)制代碼

所有資料51hei提供下載:
SW6124.rar (8.1 MB, 下載次數(shù): 541)
IP5328P.rar (3.8 MB, 下載次數(shù): 571)


作者: 一直有你陪伴    時間: 2019-7-27 02:00
感謝樓主分享
作者: 涼拌見手青    時間: 2019-7-27 15:44
感謝樓主分享
作者: liuguijun    時間: 2019-7-31 14:38
這兩款電源有什么區(qū)別呢?
作者: 沒有你    時間: 2019-8-2 13:48
liuguijun 發(fā)表于 2019-7-31 14:38
這兩款電源有什么區(qū)別呢?

用起來差不多,不過IP5328P的發(fā)熱量會小點。
作者: lxm2017    時間: 2019-8-7 08:19
很好正需要研究
作者: cassette    時間: 2019-8-21 10:01
IP5328 是否支持邊充邊放
作者: X1234561    時間: 2019-8-24 11:56
感謝樓主分享,學(xué)習(xí)一下!


作者: 沒有你    時間: 2019-8-30 21:57
cassette 發(fā)表于 2019-8-21 10:01
IP5328 是否支持邊充邊放

不支持
作者: bbb201105    時間: 2019-9-8 09:55
感謝樓主分享
作者: eastar315    時間: 2019-9-10 09:57
感謝分享
作者: Lucifer2019100    時間: 2019-9-23 07:55
頂起 GOOD!!!!!!!!!!!
作者: 行知ing    時間: 2019-9-24 19:41
樓主優(yōu)秀!支持樓主!
作者: 244141084    時間: 2019-9-26 15:52
親,ip5328p的資料呢,說好的兩款的
作者: cdl511    時間: 2019-10-8 16:57
感謝樓主分享
作者: ndly01    時間: 2019-10-12 19:37
謝謝分享
作者: qaz_aiit    時間: 2019-10-20 23:27
感謝樓主分享
作者: a112221646    時間: 2019-10-24 16:13

感謝樓主分享
作者: 1476907630    時間: 2019-10-28 18:39
感謝樓主分享!
作者: zhongji23    時間: 2019-10-29 17:13
ip5328p的資料呢
作者: zdh_8063    時間: 2019-10-29 23:11
謝謝樓主分享!!!
作者: 51hei團團    時間: 2019-10-30 02:36
zhongji23 發(fā)表于 2019-10-29 17:13
ip5328p的資料呢

第2個資料就是啊,你下載
作者: zdh_8063    時間: 2019-10-30 13:51
51hei團團 發(fā)表于 2019-10-30 02:36
第2個資料就是啊,你下載

IP5328P那文件打開里面是沒有圖的
作者: zdh_8063    時間: 2019-10-30 13:56
DEMO原理圖和PCB圖打開是沒有的,是什么問題??
作者: 51hei團團    時間: 2019-10-30 16:16
zdh_8063 發(fā)表于 2019-10-30 13:56
DEMO原理圖和PCB圖打開是沒有的,是什么問題??

我特地幫你下載打開看了一下,發(fā)現(xiàn)還是可以打開的,如圖:


作者: 歐陽云天    時間: 2019-11-13 21:26
請教一下,那些貼片電容可以用極性電容嗎?比如鉭電容
作者: GarBin    時間: 2019-11-14 19:39
感謝樓主分享
作者: Bingo35330    時間: 2019-11-14 19:45
謝謝樓主分享
作者: m182892    時間: 2019-11-14 20:57
能不能分享完整代碼。
作者: zhuhanliang    時間: 2019-11-23 11:34
原理圖有人能打開嗎

作者: helter    時間: 2019-11-24 01:50
Hey, I am a non-chinese user and I was looking up on the internet to understand how to use the i2c on the chip. But I can't download the files because I don't know chinese. Can someone please help me and send me the files somehow?
作者: lry20190312    時間: 2019-11-26 14:11
謝謝分享
作者: 雨落聽風(fēng)    時間: 2019-11-28 19:36
感謝樓主分享

作者: mobicity    時間: 2019-12-1 15:38
感謝樓主分享
作者: qwb007    時間: 2019-12-26 18:27
樓主問下 :如果我的產(chǎn)品只有一個接口 type_C 口,是不是Vout1那部分電路還要預(yù)留。就是說 對外放電的時候 TYPE_C 的電源來源是VOUT1還是 VSYS?被規(guī)格書中那句:如果只留一個對外放電的口 保留Vout1 給弄糊涂了
作者: 沒有你    時間: 2019-12-27 11:51
qwb007 發(fā)表于 2019-12-26 18:27
樓主問下 :如果我的產(chǎn)品只有一個接口 type_C 口,是不是Vout1那部分電路還要預(yù)留。就是說 對外放電的時候  ...

如果只有一個Type-C口,那只連接Type-C口那部分的電路即可。其他USB-A和microUSB可以不連接。
作者: 1743536048    時間: 2019-12-27 15:00
感謝樓主分享,問下樓主,用Altium designer打不開5328的那個PCB圖與原理圖么,我打開提示無法識別文件類型
作者: 沒有你    時間: 2019-12-28 11:06
1743536048 發(fā)表于 2019-12-27 15:00
感謝樓主分享,問下樓主,用Altium designer打不開5328的那個PCB圖與原理圖么,我打開提示無法識別文件類型

5328那個用pads軟件才能打開
作者: zhyzsn    時間: 2020-1-4 17:22
樓主優(yōu)秀!支持樓主!
作者: shznwu    時間: 2020-1-21 07:14
感謝樓主分享,有空做個
作者: mdmbct    時間: 2020-1-31 22:37
非常厲害,66666
作者: burakgner    時間: 2020-2-4 07:50
感謝樓主分享
作者: burakgner    時間: 2020-2-4 07:51
感謝樓主分享
作者: burakgner    時間: 2020-2-4 08:04
感謝樓主分享
作者: burakgner    時間: 2020-2-4 19:11
我嘗試在pad 9.5中使用ip5328 pcb文件,但在警告只讀后無法打開
作者: burakgner    時間: 2020-2-16 04:23
沒有define_data.h
define_function.h和
my_define.h我如何獲得
作者: synapse    時間: 2020-2-24 08:53
妙啊!終于有IP5328的寄存器資料了,哪天整個移動電源
作者: ldq720    時間: 2020-3-5 23:24
感謝樓主分享,有空做個
作者: courage_001    時間: 2020-3-7 09:19
謝謝分享
作者: videre    時間: 2020-3-10 14:30
謝謝分享,正要找這個資料
作者: gsm85215    時間: 2020-3-20 13:09
多謝  下載看看 參考一下
作者: gsm85215    時間: 2020-3-20 13:10
謝謝分享,正要找這個資料
作者: cxbengxiong    時間: 2020-3-27 12:55
IP5328如何改電池
作者: 初雪    時間: 2020-4-4 00:56
有完整程序嗎?
作者: pt9321    時間: 2020-4-7 14:39
感謝樓主分享
作者: kk123956    時間: 2020-4-19 12:22
感謝樓主分享
作者: Tony22    時間: 2020-4-28 12:31
樓主,sw6124如果用iic的話,需要上拉電阻嗎? 上拉電阻接到多少V? 之前用ip5318. iic通訊,上拉的電阻必須接VREG才能讀到數(shù)據(jù)。
作者: Tony22    時間: 2020-4-28 13:18
樓主,sw6124的iic通訊,上拉電阻接到多少V。 我之前用ip5318踩過一個坑,iic通訊時,必須要接ip5318的LDO的電壓VREG。我當(dāng)時接的是系統(tǒng)的3.3V,怎么都通訊不了。后來郵件問廠家,才說的。手冊里沒寫。


作者: 沒有你    時間: 2020-4-28 21:32
Tony22 發(fā)表于 2020-4-28 13:18
樓主,sw6124的iic通訊,上拉電阻接到多少V。 我之前用ip5318踩過一個坑,iic通訊時,必須要接ip5318的LDO ...

ip5318的數(shù)據(jù)手冊有標識IIC需要上拉接到VREG的,這是比較嚴謹?shù)淖龇āw6124的數(shù)據(jù)手冊雖然沒有這個標注,但是為了能夠正常IIC通信,建議上拉接到18引腳的VCC。
作者: flying1104    時間: 2020-5-7 08:43
謝謝LZ分享,打算用IP5328p玩玩,跟著LZ走,少走點彎路
作者: akenonline    時間: 2020-5-9 09:40

感謝樓主分享
作者: cawboy    時間: 2020-5-11 10:54
感謝樓主分享,想向您請教下,使用IIC讀取電量的時候讀取的寄存器地址是什么呢?我按照手冊讀取出來的數(shù)值總是0x00.
作者: liudun10000    時間: 2020-6-8 13:53
很好的資料
作者: 上知工作室    時間: 2020-6-11 16:37

感謝分享
作者: hyt19920125    時間: 2020-9-24 15:18
支持下,不知道有沒有寄存器說明文件
作者: Coolin...    時間: 2020-10-9 22:39
5328P看不到哦
作者: helouxuan    時間: 2020-11-24 09:48
首先很感謝樓主的分享啊,可是我讀電壓一直不成功,都是0xff
作者: aqs12315888168    時間: 2021-2-27 16:24
還有一個的資料呢?
作者: 602817380    時間: 2021-3-29 13:43
用IP5328p做了板子,焊接好后充通電充電正常,充電到4V拔了充電線,低電量燈閃爍、按按鍵也也是低電量燈閃爍無法開機,是什么問題?也是按下載的圖紙做有啊!
作者: lsf9527    時間: 2021-6-9 11:11
謝謝樓主,正想著DIY移動電源玩玩
作者: lxjmcuahz    時間: 2021-11-19 13:51
謝謝樓主分享,下下來玩玩
作者: kashi549    時間: 2022-3-10 03:41
Thank you for sharing
作者: 723408    時間: 2022-4-12 16:17
可以啊,感謝感謝
作者: 開蝸牛賽寶馬    時間: 2022-5-19 22:37
參考下原理圖




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费av在线 | 午夜在线免费观看 | 中文字幕偷拍 | 香蕉视频国产 | 精品少妇一区二区三区免费观 | 免费看一级黄色片 | 男女视频网站 | 午夜精品视频在线观看 | 性高潮久久久久久久 | 亚洲视频中文字幕 | 国产在线视频91 | 亚洲理论片 | 自拍偷拍一区二区三区 | 中文字幕+乱码+中文乱码91 | 日韩欧美精品一区二区 | 精品国产99 | 日本免费黄色 | 日本三级在线视频 | www.一区| 欧美丰满少妇 | 日韩精品视频免费 | 免费av不卡 | 深夜福利视频网站 | 中文字幕在线观看日韩 | 欧美日韩亚洲一区 | 亚洲欧美精品一区二区 | 亚洲一区精品视频 | 九九热精品 | 欧美一区二区三区在线播放 | 国产自产21区 | 黑森林av| av一级在线 | 一区二区久久久 | 女教师合集乱500篇小说 | 免费性网站 | 亚洲精品一 | 国产精品毛片一区二区在线看 | 久热伊人| 精品1区| 91久久国产综合久久 | 欧美中文字幕 |