娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年09月08日(星期日)

2020年09月08日 | 如何通過stm32驅(qū)動電源檢測芯片cs5463

發(fā)布者:世界因你而精彩 來源: eefocus關(guān)鍵字:stm32  驅(qū)動電源檢測芯片  cs5463 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

一、概述

CS5463 是一個包含兩個ΔΣ模-數(shù)轉(zhuǎn)換器( ADC)、 功率計算功能、電能到頻率轉(zhuǎn)換器和一個串行接口的完整的功率測量芯片。它可以精確測量瞬時電壓,電流和計算IRMS、VRMS、瞬時功率、有功功率、無功功率,用于研制開發(fā)單相、 2線或3線電表。

CS5463可以使用低成本的分流器或互感器測量電流,使用分壓電阻電壓互感器測量電壓。


CS5463具有與微控制器通訊的雙向串口,可編程的電能-脈沖輸出功能。 CS5463還具有方便的片上系統(tǒng)校準(zhǔn)功能。具有溫度傳感器電壓下降檢測,相位補(bǔ)償功能。


二、cc5463的通訊接口spi

根據(jù)cc5463的datasheet查看相關(guān)spi的時序,時序圖如下

根據(jù)該時序圖,當(dāng)CS=0的時候,通訊有效;當(dāng)數(shù)據(jù)在時鐘上升沿開始改變。然后CLK空閑時是低電平。由此判斷CPOL=0,CPHA=1;

可是根據(jù)這個配置設(shè)置stm32的spi,卻無法正常通訊,折騰很久還是無果。回想起這個芯片的驅(qū)動程序原來是在51單片機(jī)上面運(yùn)行的,故打算用邏輯分析儀在51單片機(jī)上讀取該芯片的通訊時序。  


三、邏輯分析儀時序分析

我使用的邏輯分析儀是salea logic16,抓協(xié)議之前必須事先配置好,配置圖如下:

抓取的時序圖如下

根據(jù)邏輯分析儀的數(shù)據(jù),可以知道CPOL=1,CPHA=1,由此說明cc5463的時序圖有誤,導(dǎo)致stm32與cc5463無法正常通訊。按照這個配置我重新配置了stm32的spi,最后終于可以正常通訊了。stm32的spi配置如下:



void SPI2_Init(void)

{

     GPIO_InitTypeDef GPIO_InitStructure;

  SPI_InitTypeDef  SPI_InitStructure;

 

    RCC_APB2PeriphClockCmd(    RCC_APB2Periph_GPIOB, ENABLE );//PORTB時鐘使能 

    RCC_APB1PeriphClockCmd(    RCC_APB1Periph_SPI2,  ENABLE );//SPI2時鐘使能     

 

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //PB13/14/15復(fù)用推挽輸出 

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOB

    

    GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_14;   //MISO

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //PB13/14/15復(fù)用推挽輸出 

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOB

    

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;    //MOSI

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //PB13/14/15復(fù)用推挽輸出 

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOB

 

     GPIO_SetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);  //PB13/14/15上拉

 

    SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;  //設(shè)置SPI單向或者雙向的數(shù)據(jù)模式:SPI設(shè)置為雙線雙向全雙工

    SPI_InitStructure.SPI_Mode = SPI_Mode_Master;        //設(shè)置SPI工作模式:設(shè)置為主SPI

    SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;        //設(shè)置SPI的數(shù)據(jù)大小:SPI發(fā)送接收8位幀結(jié)構(gòu)

    SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;        //串行同步時鐘的空閑狀態(tài)為電平

    SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;    //串行同步時鐘的第二個跳變沿(上升或下降)數(shù)據(jù)被采樣

    SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;        //NSS信號由硬件(NSS管腳)還是軟件(使用SSI位)管理:內(nèi)部NSS信號有SSI位控制

    SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;        //定義波特率預(yù)分頻的值:波特率預(yù)分頻值為256

    SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;    //指定數(shù)據(jù)傳輸從MSB位還是LSB位開始:數(shù)據(jù)傳輸從MSB位開始

    SPI_InitStructure.SPI_CRCPolynomial = 7;    //CRC值計算的多項式

    SPI_Init(SPI2, &SPI_InitStructure);  //根據(jù)SPI_InitStruct中指定的參數(shù)初始化外設(shè)SPIx寄存器

 

    SPI_Cmd(SPI2, ENABLE); //使能SPI外設(shè)

    

    SPI2_ReadWriteByte(0xff);//啟動傳輸         

}  

 

//SPIx 讀寫一個字節(jié)

//TxData:要寫入的字節(jié)

//返回值:讀取到的字節(jié)

u8 SPI2_ReadWriteByte(u8 TxData)

{        

    u8 retry=0;                     

    while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET) //檢查指定的SPI標(biāo)志位設(shè)置與否:發(fā)送緩存空標(biāo)志位

        {

        retry++;

        if(retry>200)return 0;

        }              

    SPI_I2S_SendData(SPI2, TxData); //通過外設(shè)SPIx發(fā)送一個數(shù)據(jù)

    retry=0;

 

    while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET) //檢查指定的SPI標(biāo)志位設(shè)置與否:接受緩存非空標(biāo)志位

        {

        retry++;

        if(retry>200)return 0;

        }                                  

    return SPI_I2S_ReceiveData(SPI2); //返回通過SPIx最近接收的數(shù)據(jù)                        

}

與cc5463的通訊程序如下:


/*************************************************************

** 函數(shù)名稱:CS5463CMD

** 函數(shù)功能:CS5463命令函數(shù)

** 函數(shù)參數(shù):無

** 創(chuàng)建時間:2009-9-14

** 第一次修改時間:無

**************************************************************/

static void CS5463CMD(uint8 cmd)

{

 CS = 0;    

 SPI2_ReadWriteByte(cmd);    

 CS = 1;   

}

/*************************************************************

** 函數(shù)名稱:CS5463WriteReg

** 函數(shù)功能:CS5463寫寄存器函數(shù)

** 函數(shù)參數(shù):無

** 創(chuàng)建時間:2009-9-14

** 第一次修改時間:無

**************************************************************/

void CS5463WriteReg(uint8 addr,uint8 *p)

{

    char i;

    CS = 0;

    

    SPI2_ReadWriteByte(addr);

    for(i = 0; i < 3; i++)

      SPI2_ReadWriteByte((*(p + i)));

    

    CS = 1;

}

/*************************************************************

** 函數(shù)名稱:CS5463ReadReg

** 函數(shù)功能:CS5463讀寄存器函數(shù)

** 函數(shù)參數(shù):無

** 創(chuàng)建時間:2009-9-14

** 第一次修改時間:無

**************************************************************/

void CS5463ReadReg(uint8 addr,uint8 *p)

{  

    char i; 

    unsigned char data;

 

    CS = 0;

    SPI2_ReadWriteByte(addr);

    for(i = 0; i < 3; i++){

      data=SPI2_ReadWriteByte(0xff);

      (*(p + i)) = data;

    }

    CS = 1;

    return ;   

}


關(guān)鍵字:stm32  驅(qū)動電源檢測芯片  cs5463 引用地址:如何通過stm32驅(qū)動電源檢測芯片cs5463

上一篇:semihost/ITM機(jī)制淺析以及使用JLINK通過ITM調(diào)試stm32單片機(jī)
下一篇:stm32 boot0 boot1的啟動方式

推薦閱讀

  據(jù)外媒報道,隨著汽車電氣化轉(zhuǎn)型、政府的政策出臺及技術(shù)的發(fā)展,自動駕駛車輛的發(fā)展將如火如荼。在未來十年內(nèi),車用級片上系統(tǒng)(系統(tǒng)級芯片,SoC)需求將大幅提升。  2017年,全球車用級片上系統(tǒng)市場的市值達(dá)到了120億美元。據(jù)估計,全球片上系統(tǒng)市場的年復(fù)合增長率(CAGR)將達(dá)到7.7%,預(yù)計2028年該市場的市值將達(dá)到268億美元。  按應(yīng)用分類,車...
芯科技消息(文/李泰宏),臺電子代工廠和碩旗下金屬機(jī)殼廠鎧勝近年來一直積極爭取進(jìn)入蘋果iPhone供應(yīng)鏈,在良率提升上做了相當(dāng)多的努力,不過,最新業(yè)內(nèi)人士圈傳出,最后因蘋果iPhone XR銷售狀況不佳,蘋果調(diào)整供應(yīng)商策略,讓鎧勝鎩羽而歸。只不過,鎧勝雖未能打入蘋果iPhone供應(yīng)鏈,但還是蘋果MacBook機(jī)殼訂單供應(yīng)商,且有不錯斬獲,成為下半年重要營收...
分不清示波器和頻譜儀的區(qū)別的人常鬧笑話,為避免尷尬,本文簡單總結(jié)以下四點——用實時帶寬、動態(tài)范圍、靈敏度、功率測量準(zhǔn)確度,比較示波器和頻譜儀的分析性能指標(biāo),來區(qū)分兩者。 1 實時帶寬對于示波器來說,帶寬通常是其測量頻率范圍。而頻譜儀則有中頻帶寬、分辨帶寬等帶寬定義。這里,我們以能對信號進(jìn)行實時分析的實時帶寬作為討論對象。對于頻譜儀...
2020年12月,英特爾(中國)有限公司(以下簡稱:英特爾)向國家知識產(chǎn)權(quán)局提交了無效宣告請求,涉及專利為中國科學(xué)院微電子研究所(以下簡稱:中科院微電子所)的“半導(dǎo)體器件結(jié)構(gòu)及其制作方法、及半導(dǎo)體鰭制作方法”專利(專利號為201110240931.5),請求宣告該專利權(quán)利要求1-7無效。圖片來源:國知局近日,國家知識產(chǎn)權(quán)局宣告維持201110240931.5號發(fā)明...

史海拾趣

問答坊 | AI 解惑

DSP設(shè)計共享引言

前段時間做一個基于TI TMS320DM642芯片的項目,主要應(yīng)用是針對視頻圖像做一些處理和機(jī)械控制。后來因為一些原因,項目中止。因為硬件是我一個人獨力設(shè)計完成(從項目規(guī)劃、原理圖設(shè)計、PCB設(shè)計到樣機(jī)焊接、小系統(tǒng)調(diào)試),中間投入了很多精力和感情 ...…

查看全部問答∨

誰有用vhdl設(shè)計cpu的資料呢?

誰有用vhdl設(shè)計cpu的資料呢?需要有指令系統(tǒng)的,最好是完整版哈!麻煩了…

查看全部問答∨

(轉(zhuǎn)貼)維護(hù)保養(yǎng)參考資料

(轉(zhuǎn)貼)維護(hù)保養(yǎng)參考資料…

查看全部問答∨

用C#制作字幕顯示屏幕保護(hù)

本帖最后由 paulhyde 于 2014-9-15 09:20 編輯 本文介紹使用C#制作屏幕保護(hù)的方法,這個屏幕保護(hù)就是仿效視窗系統(tǒng)自帶的字幕屏保。   屏幕保護(hù)程序的擴(kuò)展名雖然是"scr",但其實是一個可執(zhí)行的"exe"文件。但他又是一個比較獨特的"exe"文 ...…

查看全部問答∨

24lc256 eeprom page write 問題

大家好, 我現(xiàn)在用24lc256 eeprom. byte write/read 都沒問題。 但是page write現(xiàn)在有問題,哪位大哥能幫忙一下,謝謝了 按照時序圖,應(yīng)該是以下7個步驟: 1) start bit 2) control byte + ACK 3) high address + ACK 4) low address + ACK ...…

查看全部問答∨

tornado2.2.1_mips編譯代碼時出現(xiàn)"installation problem, cannot exec 'get_feature.exe': In

具體提示: if exist D:/CCVIEW/CODE_S~1/SOURCE~1/Build/DCS-4500-26T-50T/dep/platform/zebos/pal.dep  rm -f D:/CCVIEW/CODE_S~1/SOURCE~1/Build/DCS-4500-26T-50T/dep /platform/zebos/pal.dep if exist D:/CCVIEW/CODE_S~1/SOURCE ...…

查看全部問答∨

ARM下的64位加法運(yùn)算?

高手們:    在ARM中,哪個能寫一個這個程序:  有一個數(shù):123456789ABCDFE    又有一個數(shù)987654321FEDCBA   這兩個數(shù)如何比較大小?    …

查看全部問答∨

成芯出售引發(fā)的思考

  近一年來,中國IC產(chǎn)業(yè)頗不平靜,并購的消息一個接一個,Intersil收購了磐大微電子,聯(lián)發(fā)科收購傲世通,晨星收購上海杰脈,Atheros并購普然通訊,Omivision收購上海捷頂。天天談芯靜芯齋    但是更讓業(yè)界人士關(guān)注的是成 ...…

查看全部問答∨

如果你想真誠的成為一名合格的C嵌入式程序員你需要看看!~

到底好不好,請你看完在評論,無論你覺得好不好,我都可以接受。…

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 临潭县| 清水河县| 永昌县| 万州区| 工布江达县| 长武县| 耒阳市| 图们市| 双鸭山市| 奇台县| 温州市| 甘泉县| 安乡县| 乐都县| 海安县| 增城市| 镇安县| 兴安盟| 平阳县| 天长市| 普宁市| 东乡县| 通海县| 澄迈县| 乌鲁木齐县| 武义县| 巴楚县| 江门市| 清新县| 亳州市| 莆田市| 刚察县| 兴海县| 曲靖市| 久治县| 景宁| 中阳县| 合肥市| 温州市| 土默特右旗| 宜黄县|