您当前的位置:首页 > 精选问答 > 内容

宁德时代确认部分电池产品价格已调整,SPI协议详解

关于【宁德时代确认部分电池产品价格已调整】,今天涌涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、SPI协议详解2、宁德时代确认部分电池产品价格已调整

1、SPI协议详解

 SPI(Serial peripheral interface)即串行外围设备接口,是由Motorola首先在其MC68HCxx系列单片机上定义的,基于高速全双工总线的通讯协议。(又是高速,而且全双工,确实强大)被广泛应用于ADC、LCD等设备与MCU之间。

  跟前面学习I2C、USART一样,学习一种协议,还是从两个层面分析:物理层和协议层。

1. SPI物理层

SPI通讯需要使用4条线:3条总线和1条片选

宁德时代确认部分电池产品价格已调整,SPI协议详解

图1

  SPI还是遵循主从模式,3条总线分别是SCK、MOSI和MISO,片选线为nSS(低电平有效),SPI协议适用于一主多从的工作场景:

宁德时代确认部分电池产品价格已调整,SPI协议详解

图2

(1) nSS(Slave Select):片选信号线,用于选中SPI从设备。每个从设备独立拥有这条nSS信号线,占据主机的一个引脚。设备的其他总线是并联到SPI主机的,即无论多少个从设备,都共同使用这3条总线。当从设备上的nSS引脚被置拉低时表明该从设备被主机选中。

(2) SCK(Serial Clock):时钟信号线,通讯数据同步用。时钟信号由通讯主机产生,它决定了SPI的通讯速率。

(3) MOSI(Master Ouput Slave Input):主机(数据)输出/从设备(数据)输入引脚,即这条信号线上传输从主机到从机的数据。

(4) MISO(Master Input Slave Ouput):主机(数据)输入/从设备(数据)输出引脚,即这条信号线上传输从机从到主机的数据主从机通过两条信号线来传输数据,那么自然是全双工通讯的了。之前的I2C通讯,数据只在一条SDA线上传输,主从机数据交互只能采用半双工。

2. SPI协议层

宁德时代确认部分电池产品价格已调整,SPI协议详解

图3

  如上为SPI通讯时序图,nSS、SCK、MOSI信号均由主机产生,MISO信号由从机产生。在nSS为低电平的前提下,MOSI和MISO信号才有效,在每个时钟周期MOSI和MISO传输一位数据。

跟I2C通讯类似,SPI通讯也需要通讯的起始/结束信号,有效数据和同步时钟。

2.1 通讯的起始/结束信号

  图中的nSS信号由高电平变为低电平即为SPI通讯的起始信号,反过来,nSS信号由低电平变为高电平即为SPI通讯的结束信号。这个可比I2C简单得多吧。当从机检测到自身的nSS引脚被拉低时就知道自己被主机选中,准备和主机进行通讯。

2.2 有效数据的采集

  SPI通讯的数据采集是个相对复杂的环节,先不说其他,以上图为例:

图中红色框框即为有效数据被采集的时间点,"CPOL = 0"所在的脉冲信号表示的是用于进行数据同步的SCK,MOSI和MISO线上的数据在每个SCK时钟周期传输一位数据,注意,数据的输入/输出是可以同时进行的。

  由图可见,在SCK为奇数(更正:这里应该是偶数)边沿(在这里该边沿为下降沿)时,数据得到有效采样,也就是说,在这个时刻,MISO和MOSI的数据有效,高电平表示数据1,低电平表示数据0,在其它时刻数据并无效,可以理解为为下一次MISO和MOSI的数据传输做准备。

  数据在传输中,高位在先还是低位在先,SPI协议并无明确规定,但是数据要在主从机中正确传输,自然双方要先约定好,一般会采用高位在先(MSB)方式传输。

  这里需要再提及的概念是时钟极性(CPOL)和时钟相位(CPHA)。

  时钟极性(CPOL)指通讯设备处于空闲状态(SPI开始通讯前、nSS线无效)时,SCK的状态。

CPOL = 0:SCK在空闲时为低电平

CPOL = 1:SCK在空闲时为高电平

1 | CPOL = 0:SCK在空闲时为低电平2 | CPOL = 1:SCK在空闲时为高电平

  时钟相位(CPHA)指数据的采样时刻位于SCK的偶数边沿采样还是奇数边沿采样。

CPHA = 0:在SCK的奇数边沿采样

CPHA = 1:在SCK的偶数边沿采样

1 | CPHA = 0:在SCK的奇数边沿采样2 |CPHA = 1:在SCK的偶数边沿采样

  那么这样说来,SPI的采样时刻并非由上升沿/下降沿决定的。注意的是,在数据采样时刻,MOSI和MOSI的电平为有效电平,数据不能在这个时刻进行切换,在非采样时刻MOSI和MISO上的信号才能切换。

  完整的时序图如下:

宁德时代确认部分电池产品价格已调整,SPI协议详解

图4

宁德时代确认部分电池产品价格已调整,SPI协议详解

图5

  所以说,SPI有4中工作模式:

宁德时代确认部分电池产品价格已调整,SPI协议详解

图6

更正:工作模式3的CPOL应为1。

注意要让主机和从机需要在相同的工作模式下,这样才可以实现正常通讯。

下面介绍用STM32库函数实SPI通讯代码。

#ifndef __SPI_H#define __SPI_H#include "stm32f10x.h"void SPI2_Config(void);void SPI2_SetSpeed(uint8_t Speed);uint8_t SPI2_WriteReadData(uint8_t dat);void SPI1_Config(void);void SPI1_SetSpeed(uint8_t speed);uint8_t SPI1_WriteReadData(uint8_t dat);/***************************************************************************** Function Name : SPI1_Config* Description : ³õʼ»¯SPI2* Input : None* Output : None* Return : None****************************************************************************/void SPI1_Config(void){GPIO_InitTypeDef GPIO_InitStructure;SPI_InitTypeDef SPI_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_SetBits(GPIOA,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7); //PA5.6.7ÉÏÀ­/***************************************************************************//************************* ÉèÖÃSPIµÄ²ÎÊý ***********************************//***************************************************************************/SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;//Ñ¡ÔñÈ«Ë«¹¤SPIģʽSPI_InitStructure.SPI_Mode = SPI_Mode_Master; //Ö÷»úģʽSPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //8λSPISPI_InitStructure.SPI_CPOL = SPI_CPOL_High; //ʱÖÓÐü¿Õ¸ßµçƽSPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; //ÔÚµÚ¶þ¸öʱÖӲɼ¯Êý¾ÝSPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //NssʹÓÃÈí¼þ¿ØÖÆSPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;//´Ó×î¸ßλ¿ªÊ¼´«ÊäSPI_InitStructure.SPI_CRCPolynomial = 7;SPI_Cmd(SPI1, ENABLE);SPI_Init(SPI1, &SPI_InitStructure);} /***************************************************************************** Function Name : SPI2_Config* Description : ³õʼ»¯SPI2* Input : None* Output : None* Return : None****************************************************************************/void SPI2_Config(void){GPIO_InitTypeDef GPIO_InitStructure;SPI_InitTypeDef SPI_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);/***************************************************************************//************************* ÉèÖÃSPIµÄ²ÎÊý ***********************************//***************************************************************************/SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;//Ñ¡ÔñÈ«Ë«¹¤SPIģʽSPI_InitStructure.SPI_Mode = SPI_Mode_Master; //Ö÷»úģʽSPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //8λSPISPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; //ʱÖÓÐü¿Õ¸ßµçƽSPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; //ÔÚµÚ¶þ¸öʱÖӲɼ¯Êý¾ÝSPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //NssʹÓÃÈí¼þ¿ØÖÆSPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;//´Ó×î¸ßλ¿ªÊ¼´«ÊäSPI_InitStructure.SPI_CRCPolynomial = 7;SPI_Cmd(SPI2, ENABLE);SPI_Init(SPI2, &SPI_InitStructure);} /***************************************************************************** Function Name : SPI1_SetSpeed* Description : ÉèÖÃSPI1µÄ´«ÊäËٶȡ£* Input : ËٶȲ¨ÌØÂÊ·ÖƵ* Output : None* Return : None****************************************************************************/void SPI1_SetSpeed(uint8_t speed){SPI1->CR1 &= 0xFFC7; SPI1->CR1 |= speed;SPI_Cmd(SPI1, ENABLE);}/***************************************************************************** Function Name : SPI2_SetSpeed* Description : ÉèÖÃSPI2µÄ·ÖƵÊý£¬ÒԸıäSPI2µÄËÙ¶È.* Input : Speed£º·ÖƵÊý* Output : None* Return : None****************************************************************************/void SPI2_SetSpeed(uint8_t Speed){SPI2->CR1 &= 0xFFC7; SPI2->CR1 |= Speed;SPI_Cmd(SPI2,ENABLE); }/***************************************************************************** Function Name : SPI1_WriteReadData* Description : ʹÓÃSPI1дÈëÒ»¸ö×Ö½ÚÊý¾Ýͬʱ¶ÁÈ¡Ò»¸ö×Ö½ÚÊý¾Ý¡£* Input : dat£ºÒªÐ´µÄ8λÊý¾Ý* Output : None* Return : ¶ÁÈ¡µ½µÄ8λÊý¾Ý****************************************************************************/uint8_t SPI1_WriteReadData(uint8_t dat){uint16_t i = 0; while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET){i++;if(i > 10000){return 0xFF;}} SPI_I2S_SendData(SPI1, dat);while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET); return SPI_I2S_ReceiveData(SPI1);}/***************************************************************************** Function Name : SPI2_WriteReadData* Description : ʹÓÃSPI2дÈëÒ»¸ö×Ö½ÚÊý¾Ýͬʱ¶ÁÈ¡Ò»¸ö×Ö½ÚÊý¾Ý¡£* Input : dat£ºÐ´ÈëµÄÊý¾Ý* Output : None* Return : ¶ÁÈ¡µ½µÄÊý¾Ý* * ¶Áȡʧ°Ü·µ»Ø0xFF****************************************************************************/uint8_t SPI2_WriteReadData(uint8_t dat){uint16_t i = 0; while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET){i++;if(i > 10000){return 0xFF;}} SPI_I2S_SendData(SPI2, dat);while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET); return SPI_I2S_ReceiveData(SPI2);}

2、宁德时代确认部分电池产品价格已调整

宁德时代确认部分电池产品价格已调整

3月21日消息,据财联社报道,宁德时代确认,因上游原材料价格大幅上涨,公司调整了部分电池产品的价格。其实即使宁德时代不承认,从市场各类产品价格的变化我们也能看出来,电池肯定涨价了。

表现最明显的就是电动汽车行业,比亚迪、特斯拉、小鹏、哪吒、五菱等车企,全部官宣产品涨价,其中特斯拉更是创造了8天涨价三次的纪录,在电动汽车领域,似乎只有蔚来明确表态不涨价。不仅仅是电动汽车,今日电动车品牌小牛也宣布,产品将涨价200元~1000元,可见电池涨价波及的行业越来越多。

电池涨价的主要原因是锂矿短缺,受到疫情影响,这几年全球锂矿产能涨幅很低,但新能源汽车行业却愈发壮大,对于锂电池的需求越来越高。这种情况就导致锂矿不断涨价,锂电池也在涨价。

令我们担心的是,未来会不会其他行业的电子产品也要涨价,比如手机、笔记本电脑等。还有就是这场锂矿短缺风波会持续多久,才是消费者最关心的问题。已有许多机构对锂矿情况做出了分析和判断,比较普遍的'看法是,2023年锂矿会处于紧平衡状态,2025年才能满足市场需求。预计从2025年开始,全球锂矿产量每年会提高20万吨。

考虑到电动汽车市场不断扩大,2025年锂矿不再短缺恐怕只是理想情况,这还要参考到时候电动汽车行业发展状况。也就是说,最近几年锂电池涨价、电动汽车涨价将成常态,我们所能期盼的就是锂矿短缺不要波及到其他行业。

仔细想了一下,电动汽车普遍涨价的原因是利润太低,现阶段研发投入又比较高,如果不涨价,难以应对成本上涨。至于手机、电脑之类的产品,本身利润率高一些,而且电池普遍不大,即便锂电池价格上涨,对他们的影响也不大。

因此,普通消费者可以放心,锂电池涨价波及的行业主要是对大容量电池需求较高的电动汽车、电动车。至于有计划买电动汽车的消费者,最好早点出手,预测今年各大品牌电动汽车至少还要涨价一次,现在交个押金,先把价格定下来也好。

宁德时代确认部分电池产品价格已调整

3月21日,有消息称,一家新能源车企相关负责人在接受媒体采访时表示,自去年下半年至今宁德时代动力电池涨价两次。宁德时代相关负责人对新京报贝壳财经记者表示,“受上游涨价影响,已动态调整部分电池产品价格。”

2021年开始动力电池原材料价格持续大幅上涨,生意社数据显示,碳酸锂材料价格从2021年初的5万元/吨到目前突破50万元/吨大关,较1月初上涨近70%;钴、镍价格也同步出现较大幅度上涨,钴价从去年初不到30万元/吨上涨至超过56万元/吨。

受原材料价格持续上涨影响,早在去年10月,比亚迪、国轩高科、辉鹏能源、孚能科技等动力电池企业相继传出产品价格调整的消息。从新能源汽车车企表现来看,今年3月新能源汽车车企开始第二轮涨价潮;特斯拉、比亚迪、哪吒汽车、奇瑞新能源、欧拉、几何汽车等多家新能源汽车企宣布调整旗下新能源产品价格。

多家车企在上调价格的公告中表示,调价的主要原因是受原材料价格持续大幅上涨。理想汽车CEO李想在其社交平台表示二季度电池成本上涨的幅度非常离谱;他表示目前来看,和电池厂商已经合同确定了二季度电池涨价幅度的品牌,基本上都立刻宣布了涨价;还没涨价的品牌,大部分是涨价幅度尚未谈妥,等谈妥后也普遍会立刻涨价。

全国乘用车市场信息联席会秘书长崔东树表示,今年以来原材料涨价导致动力电池价格上涨速度超出业内预期,新签订的订单让车企压力增加,只能通过涨价来缓解成本压力。

宁德时代确认部分电池产品价格已调整

众所周知,动力电池是新能源汽车重要的组成部分,而宁德时代作为补能行业的“大佬”,出售的动力电池一定程度上决定了很多厂商的车型售价。近日,据第一财经报道,一家新能源车企的相关负责人表示,宁德时代动力电池从去年下半年至今已经涨价两次,第一次涨了1万元,前不久又涨了1万元。

宁德时代

对此,宁德时代做出回应表示,因上游原材料价格大幅上涨,公司相应动态调整了部分电池产品的价格。负责人表示:“承受不住电池等原材料价格上涨,在最近几个月里,我们新能源汽车也已经悄悄涨了两次价格。”值得一提的是,众多新能源汽车厂商在近期纷纷涨价,无论是造车新势力还是老牌车企都未能“幸免”。

小鹏汽车在今日也宣布涨价,旗下三款主力车型均在涨价之列,其中小鹏P7 670G、670N和670N+的涨价幅度约1万元,而670E和670E+的涨价幅度均超过3万元,达32600元。

小鹏P5和G3i涨价幅度为1万-1.5万元。此外,特斯拉在短短7天时间就涨价了三次,特斯拉Model 3高性能版、Model Y长续航/高性能版在3月10日涨价1万元,随后又在15日涨价超1.8万元,Model Y后驱版在17日也涨了15060元。

这就是关于《宁德时代确认部分电池产品价格已调整,SPI协议详解》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 鼓励女人保养的话语,鼓励女人保养的话(鼓励你美肤的文案)

下一篇: 双眼皮和单眼皮,如何区分单眼皮和双眼皮(双眼皮好看单纯就是因为她比单眼皮多一道褶皱吗)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号