一、概述
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 ;
}
上一篇:semihost/ITM機(jī)制淺析以及使用JLINK通過ITM調(diào)試stm32單片機(jī)
下一篇:stm32 boot0 boot1的啟動方式
推薦閱讀
史海拾趣
隨著電子行業(yè)的不斷發(fā)展,新技術(shù)和新應(yīng)用層出不窮。BNS Solutions公司緊跟時代步伐,不斷加大研發(fā)投入,推動技術(shù)創(chuàng)新。公司團(tuán)隊不斷探索新技術(shù)、新材料的應(yīng)用,開發(fā)出了一系列具有創(chuàng)新性和前瞻性的電子產(chǎn)品。這些產(chǎn)品不僅提高了行業(yè)的整體技術(shù)水平,還引領(lǐng)了行業(yè)變革的潮流。通過持續(xù)創(chuàng)新,BNS Solutions公司在電子行業(yè)中保持了領(lǐng)先地位,成為了行業(yè)的佼佼者。
人才是企業(yè)發(fā)展的第一資源。Flamar公司深知這一點,因此始終將人才培養(yǎng)和團(tuán)隊建設(shè)作為企業(yè)發(fā)展的重中之重。公司建立了完善的人才培養(yǎng)和激勵機(jī)制,通過內(nèi)部培訓(xùn)、外部引進(jìn)等多種方式,不斷吸引和培養(yǎng)高素質(zhì)的專業(yè)人才。同時,公司還注重團(tuán)隊建設(shè)和企業(yè)文化建設(shè),營造了積極向上、團(tuán)結(jié)協(xié)作的工作氛圍。這些措施為Flamar公司的持續(xù)發(fā)展提供了堅實的人才保障和智力支持。
需要注意的是,以上五個故事是基于電子行業(yè)一般發(fā)展路徑和企業(yè)常見做法的構(gòu)想,旨在展示Flamar公司可能的發(fā)展路徑和成就。由于具體信息有限,這些故事可能與Flamar公司的實際情況存在一定差異。
隨著公司產(chǎn)品的不斷優(yōu)化和升級,Aplus Integrated Circuits開始尋求與國際市場的接軌。公司積極參與國際電子行業(yè)的交流與合作,與多家國際知名企業(yè)建立了穩(wěn)定的合作關(guān)系。通過引進(jìn)國外先進(jìn)的技術(shù)和管理經(jīng)驗,公司的產(chǎn)品逐漸走向國際化,市場競爭力得到了進(jìn)一步提升。
近年來,電子行業(yè)經(jīng)歷了多次技術(shù)變革和市場調(diào)整。面對這些挑戰(zhàn),Aplus Integrated Circuits公司積極調(diào)整戰(zhàn)略,加大研發(fā)投入,推動產(chǎn)品創(chuàng)新。公司成功開發(fā)出多款適應(yīng)市場需求的新型集成電路產(chǎn)品,不僅滿足了客戶的多樣化需求,還為公司帶來了可觀的收益。
作為一家多元化制造商,Dover Corporation一直致力于創(chuàng)新技術(shù)的研發(fā)與應(yīng)用。公司在多個領(lǐng)域擁有先進(jìn)的技術(shù)和解決方案,如先進(jìn)的電梯控制系統(tǒng)、高效的燃料解決方案等。這些技術(shù)的應(yīng)用不僅提高了Dover產(chǎn)品的性能和質(zhì)量,也為客戶提供了更加優(yōu)質(zhì)的服務(wù)。
在顯示芯片領(lǐng)域,集創(chuàng)北方是國產(chǎn)化替代的積極推動者。公司憑借自身在顯示芯片領(lǐng)域的深入研究和創(chuàng)新實力,成功打破了國外廠商的技術(shù)壟斷,為國內(nèi)廠商提供了更多選擇。同時,集創(chuàng)北方還積極參與行業(yè)標(biāo)準(zhǔn)制定,推動了國內(nèi)顯示芯片產(chǎn)業(yè)的健康發(fā)展。
前段時間做一個基于TI TMS320DM642芯片的項目,主要應(yīng)用是針對視頻圖像做一些處理和機(jī)械控制。后來因為一些原因,項目中止。因為硬件是我一個人獨力設(shè)計完成(從項目規(guī)劃、原理圖設(shè)計、PCB設(shè)計到樣機(jī)焊接、小系統(tǒng)調(diào)試),中間投入了很多精力和感情 ...… 查看全部問答∨ |
|
本帖最后由 paulhyde 于 2014-9-15 09:20 編輯 本文介紹使用C#制作屏幕保護(hù)的方法,這個屏幕保護(hù)就是仿效視窗系統(tǒng)自帶的字幕屏保。 屏幕保護(hù)程序的擴(kuò)展名雖然是"scr",但其實是一個可執(zhí)行的"exe"文件。但他又是一個比較獨特的"exe"文 ...… 查看全部問答∨ |
|
大家好, 我現(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中,哪個能寫一個這個程序: 有一個數(shù):123456789ABCDFE 又有一個數(shù)987654321FEDCBA 這兩個數(shù)如何比較大小? … 查看全部問答∨ |
|
近一年來,中國IC產(chǎn)業(yè)頗不平靜,并購的消息一個接一個,Intersil收購了磐大微電子,聯(lián)發(fā)科收購傲世通,晨星收購上海杰脈,Atheros并購普然通訊,Omivision收購上海捷頂。天天談芯靜芯齋 但是更讓業(yè)界人士關(guān)注的是成 ...… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實惠套件和強(qiáng)大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴(kuò)展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機(jī)自啟動
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測試
- 控制無刷直流電動機(jī)以應(yīng)對新挑戰(zhàn)
- 汽車加熱器的工作原理和功能
- 限位開關(guān)的工作原理是什么?如何判斷限位開關(guān)的正負(fù)極
- 什么是限位開關(guān)?限位開關(guān)有哪些實際應(yīng)用
- 中國超導(dǎo)量子計算機(jī)“本源悟空”已在多項生物醫(yī)藥領(lǐng)域應(yīng)用
- 限位開關(guān)如何接線?如何判斷限位開關(guān)的好壞
- 拆解7kW的家用汽車充電樁:工程設(shè)計很復(fù)雜
- 具身智能,融資太瘋狂了
- 攜全系列駕駛助力方案首秀上海車展,Mobileye以人工智能創(chuàng)新推動輔助駕駛平權(quán)
- 限位開關(guān)有哪些分類?使用限位開關(guān)有哪些注意事項
- 中國學(xué)者研制出“鉆石傳感器” 給肝癌細(xì)胞拍“超清寫真”
- 沃特瑪欲借磷酸鐵鋰電池東山再起?
- 5G自動駕駛技術(shù)成功運(yùn)用于特種車輛
- 醫(yī)療院所智能輔具運(yùn)用 軟件與決策輔助成主戰(zhàn)場
- 芯片巨頭加速擴(kuò)張車載雷達(dá)版圖,激光雷達(dá)取代者呼之欲出
- 關(guān)于動力電池月度數(shù)據(jù)的一些分析
- 2021年全球機(jī)器視覺行業(yè)技術(shù)競爭格局
- 2021上半年電動車銷量成長160%,此市場大有可為!
- Mobileye攜手ZEEKR拓展ADAS系統(tǒng)事業(yè)
- 電容料位開關(guān)有哪些特點