智能座舱架构与芯片- (5) 硬件篇 下

四、短距无线连接

随着汽车智能化的发展与新型电子电气架构的演进,传统车内有线通信技术存在着诸多痛点:

  • 线束长度增加:由于智能化与自动化的发展,车内传感器和执行器均大幅增加。采用有线技术连接,则线束长度,重量,成本会带来更大影响;
  • 线束安装困难:线束安装强依赖于人工,线束安装的成本占人工成本的50%;基于有线连接的车载部件难以灵活升级,更增加了后期的维护与升级成本;
  • 接插件数量多:由于线束连接,导致车内接插件数量显著增加。由于车内电磁干扰等影响,一定场景下有接插件失效的危险;

因此,为了满足车辆生产制造过程中的成本控制,灵活部署,降低重量等需求,并且在座舱娱乐系统中方便用户体验,以车内短距无线连接代替部分有线连接,完成数据传输和控制功能成为发展重点。当前,电池管理系统,车载信息娱乐系统,无钥匙进入,胎压监测等车载应用出现了无线化的需求。车载应用功能对短距无线通信技术提出了“低时延,高可靠,精同步,高并发,高安全,低功耗”的要求。
下面将介绍用于智能座舱的车内短距无线通信技术,而用于车云一体化和车联网的5G+V2X通信模块则暂不涉及。

4.1 Wi-Fi

Wi-Fi是IEEE 发布的802.11协议家族,其发展历程和技术原理纷繁复杂,在此不多做介绍。目前在车内座舱环境中,为了引入对用户设备无线连接的支持,以及车机手机互联的需要,智能座舱域控制器中需要增加Wi-Fi模块的支持。

802.11协议发展历程

Wi-Fi 带宽计算

整机速率 = 空间流数量 * 1/(Symbol+GI) * 编码方式 * 码率 * 有效子载波数量

  • 空间流数量

空间流,即Wi-Fi AP与Station之间建立的空间数据流。2*2代表有2条数据流。8*8就代表有8条空间数据流。对于发送方来说,有几条空间流,就需要有几根天线。

  • Symbol与GI

Symbol就是时域上的传输信号,相邻的两个Symbol之间需要有一定的空隙(GI),以避免Symbol之间的干扰。不同Wi-Fi标准下的间隙也有不同,一般来说传输速率较快时GI需要适当增大。

  • 编码方式 (bit数/Symbol)

编码方式就是调制技术,即1个Symbol里面能承载的bit数量。从Wi-Fi 1到Wi-Fi 6,每次调制技术的提升,都能至少给每条空间流速率带来20%以上的提升。

  • 码率

理论上应该是按照编码方式无损传输,但现实没有这么美好。传输时需要加入一些用于纠错的信息码,用冗余换取高可靠度。码率就是排除纠错码之后实际真实传输的数据码占理论值的比例。

  • 有效子载波数量

载波类似于频域上的Symbol,一个子载波承载一个Symbol,不同调制方式及不同频宽下的子载波数量不一样。

下表给出了Wi-Fi的速率计算表格:

对于Wi-Fi6 8*8的配置来说,最大可支持空间8流,因此802.11ax在8*8的条件下,最大带宽为 1.2Gbps * 8 = 9.6Gbps;

注意,如果AP和手机建立连接,而手机只支持2*2,那么单个手机与AP的连接也只有2流,其最大速率只有2.4Gbps;有些Wi-Fi 模组支持双频并发(DBS with dual mac),此时代表在2.4GHz 和 5G Hz两个频段上并发传输,速率标记为2*2+2*2,实际最高带宽可接近3Gbps。

4.2 BT

蓝牙 (BlueTooth) 技术是一种无线数据语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定设备或移动设备之间的通信环境建立通用的无线电空中接口(Radio Air Interface),将通信技术与计算机技术进一步结合起来,使各种3C设备在没有电线或电缆相互连接的情况下,能在近距离范围内实现相互通信或操作。简单的说,蓝牙技术是一种利用低功率无线电在各种3C设备间彼此传输数据的技术。蓝牙工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段,使用IEEE802.15协议。

蓝牙规范可分为两个层次:

  • Core Specification(核心规范):用于规定蓝牙设备必须实现的通用功能和协议层次。它由软件和硬件模块组成,两个模块之间的信息和数据通过主机控制接口(HCI)的解释才能进行传递。 这个是必选。
  • Profiles(蓝牙应用规范):它从应用场景的角度为蓝牙技术的使用制定了不同的规范。这也是和大众日常生活接触最多的一部分。蓝牙支持很多Profiles,它是可选的。

Core Specification 包含2种技术:BR和LE,这两种技术,都包括了搜索,管理,连接等机制,但它们之间是独立发展的,因此BT设备最好能同时支持BR和LE,这样在设备进行互联时,可以根据实际需要,确保最大的兼容

1.Basic Rate (BR)

BR也称为经典蓝牙技术,它包括可选(optional)的EDR(Enhanced Data Rate)技术,以及交替使用的(Alternate)的MAC层PHY层扩展(简称AMP)。对于EDR来说,最高传输速率可以达到2.1Mbps;对于AMP来说,它借用了Wi-Fi的PHY层和MAC层,因此最高速率可以达到54Mbps。由于EDR采用的是BT自身的PHY层,而AMP采用的是Wi-Fi的MAC与PHY,因此EDR和AMP是需要交替使用的(Alternate mode)。简单的说就是两个BT设备先在EDR上完成了点对点的连接,然后再协商是否都迁移到AMP上去,以实现更高的传输速率。

2.Low Energy (LE)

LE的重点是低功耗。它主要通过几个低功耗组件来实现蓝牙设备的发现,管理,连接等功能。

  • GATT:表示服务器属性和客户端属性,描述了属性服务器中使用的服务层次,特点和属性。BLE设备使用它作为蓝牙低功耗应用规范的服务发现
  • ATT:实现了属性客户端和服务器之间的点对点协议。ATT客户端给ATT服务器发送请求命令,ATT服务器端向ATT客户端发送回复和通知。
  • SMP:用于生成对等协议的加密密钥和身份密钥。SMP管理加密密钥和身份密钥的存储,它通过生成和解析设备的地址来识别蓝牙设备。
  • L2CAP:管理连接间隔,例如10ms同步一次。它对LL进行一次简单封装,LL只关心数据本身,L2CAP就要区分是加密通道还是普通通道,同时还对连接间隔进行管理。

蓝牙常用的一些Profile:

1.A2DP:

全称为 Advances Audio Distribution Profile ,高质量音频分发规范,定义了如何将立体声(Stereo)质量的音频通过流媒体的方式从媒体源传输到接收器上,A2DP使用Asynchronous Connectionless Link(ACL,蓝牙异步传输)信道传输高质量音频内容,它依赖于Generic Audio/Video Distribution Profile(GAVDP,通用音频/视频分发规范)。A2DP必须支持低复杂度及Sub-bandCodec(SBC,低带宽编解码)。A2DP有两种应用场景分别是播放和录音。

  • 播放场景是具有蓝牙功能的播放器通过A2DP向蓝牙耳机或蓝牙立体声扬声器传送高质量音频。
  • 录音场景是具有蓝牙功能的麦克风通过A2DP向蓝牙录音器传送高质量音频。

2.AVRCP(Audio/Vedio Remote control profile)

音视频远程控制规范,它可以控制音视频流的协议,进行暂停,播放,停止,音量控制等。AVRCP协议定义了2个角色:

  • Target:被控制的目标设备,接收命令并按命令响应,例如电视,手机等;
  • Controller:远程控制端设备,发送控制命令到Target端,例如遥控器等;

3. HFP (Hands-Free Profile)

免提通话规范。定义了蓝牙音频网关设备如何通过蓝牙免提设备拨打和接听电话。HFP包括两个角色:Audio Gateway(AG,音频网关)和Hands-Free Unit(HF,免提设备)。

  • AG 是音频输入和输出的设备,典型的AG设备是手机。
  • HF是执行音频网关的远程音频输入输出设备,如耳机或者车载音响系统。
  • 和HFP相关的规范有Headset Profile(HSP,耳机规范),Phonebook Access Profile(PBAP,电话簿访问规范)。

蓝牙的发展历程

4.3 UWB

UWB(Ultra Wide Band, 超宽带)技术是一种使用1GHz以上频率带宽的无线载波通信技术。它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很大,尽管使用无线通信,但其数据传输速率可以达到几百兆比特每秒以上。使用UWB技术可在非常宽的带宽上传输信号,美国联邦通信委员会(FCC)对UWB技术的规定为:在3.1~10.6GHz频段中占用500MHz以上的带宽。

UWB的特点很多,其中一个特点是定位精确。

“冲激脉冲具有很高的定位精度。采用UWB技术,很容易将定位与通信合一,而常规无线电难以做到这一点。UWB技术具有极强的穿透能力,可在室内和地下进行精确定位,而GPS(全球定位系统)只能工作在GPS定位卫星的可视范围之内。与GPS提供绝对地理位置不同,超宽带无线电定位器可以给出相对位置,其定位精度可达厘米级,此外,超宽带无线电定位器在价格上更为便宜。”

在智能座舱上,目前UWB有3个应用方向:

1.无钥匙进入系统

2. 汽车迎宾系统

由于UWB具有定位精确的特性,因此可以在较远的地方就能感知到携带UWB钥匙的乘客靠近。此时可以启动相对应的迎宾系统,给用户以更佳的体验感受。

3. 车内儿童检测

欧洲NCAP计划从2023年1月起增加对车内儿童存在检测的评分,各项规定非常细致。美国正在立法要求所有新车预装儿童存在检测功能,预计在2025年全面实施。据说国内相关规范也在评估制订中。

“将儿童单独留在停放的车内,即使只有几分钟,也可能导致中暑和死亡,尤其是当汽车暴露在阳光下时。儿童无法自行下车,再加上对高温的耐受性较低,因此要求儿童不得留在车内无人看管。温度可以在短短15分钟内达到临界水平,让窗户半开着几乎不能减少威胁。与车祸相比,儿童死于车辆相关中暑的情况较少发生,但这些完全可以避免的死亡的性质值得特别关注,因为解决车内儿童体温过高问题的技术已经存在。”以上文字来自欧洲NCAP关于儿童存在检测的测试与评估标准的直接翻译。

用于车内儿童检测的技术,直接传感器方式有摄像头,毫米波雷达,UWB雷达等几种方式。

UWB雷达发射UWB脉冲信号,并接收该脉冲信号经障碍物反射后的回波,通过对回波扰动的分析来判断UWB雷达附近是否存在物体(或人)。具体来讲,UWB雷达通过接收到的CIR(Channel Impulse Response信道脉冲响应)来探测周围物体及其运动。可以通过它来检测儿童的呼吸,心跳等。

相比摄像头,UWB雷达没有隐私风险,可以穿透毯子,后向安全座椅等。相比毫米波雷达,它的成本相对较低,且没有无线电合规的风险。

根据2021年11月我国工信部颁布的《汽车雷达无线电管理暂行规定》:24G毫米波雷达已经禁止在新车上使用;77G毫米波雷达主要用于自适应巡航、防撞、盲点探测等应用;60G毫米波虽是目前舱内雷达使用的主要频段,但工信部本次规定尚未包含对60GHz频段的说明。

4.4 星闪SparkLink

星闪无线短距通信技术SparkLink,主要由星闪联盟制定和发布。针对包括汽车领域在内的关键应用场景及其需求,定义了从接入层到基础应用层的端到端标准体系。

星闪技术提供SLB(SparkLink Basic,星闪基础接入技术)和SLE(Sparklink Low Energy,星闪低功耗接入技术)两种无线通信接口。

一方面,SLB支持20s的单向时延、99.999%的传输可靠性和1s的同步精度,主要用于承载以车载主动降噪、无线投屏、工业机械运动控制等为代表的业务场景,其显著特征是低时延、高可靠、精同步和高并发等。

另一方面,SLE支持250s的双向交互、低至-110dBm的接收机灵敏度和多达256个用户的并发接入,主要用于承载包括耳机音频传输、无线电池管理系统、工业数据采集在内的具备低功耗要求的业务场景。

在汽车领域,星闪技术的主要应用场景有:

  • 车载主动降噪
  • 无钥匙进入
  • 车载免提通话
  • 车机手机互联
  • 无线电池管理系统
  • 营运车辆全景环视
  • 无线氛围灯

五、存储子系统

随着车内新应用赋能,比如智能座舱可以将电商购物平台接入车内,还可以为后排乘客提供更丰富的视听娱乐节目,同时还要做好EDR这一类驾驶突发事件记录仪的日志记录,并处理各路传感器的采样输入信息,还要为驾乘人员提供合理的建议辅助作出决策,这一切不断升级进化的智能系统对车载存储需求要求扩大到数十GB的范围。据Counterpoint的研究表明,L3级自动驾驶汽车,单小时传感器生成的数据在TB级别。在未来十年内,乘用车单车存储容量将达到2TB。

智能座舱的存储子系统,根据需求,可以采用SD card,eMMC,UFS,SSD等方式。

5.1 车载存储器的演进过程

  1. 早期的GPS导航仪、行车记录仪等车载设备配备的基本都是SD卡,一般的SD卡只有4比特的总线宽度,可以提供最快100MBps的读写带宽,最大到上百GB的容量,可以提供简单的写保护功能。其缺点是显而易见的,由于依靠的仅是SD的金手指和卡槽内的金属触点连接,无法长时间可靠地适应汽车内颠簸、高温、高湿的变化环境。
  2. 后面出现了eMMC器件,这里的e代表的就是Embedded,虽然叫嵌入式MMC卡,其实它的外形结构是一块153引脚的BGA封装芯片。将其焊接在PCB板上,具有更好的稳定性,而且e.MMC卡具有8比特的总线宽度,可以提供最快400MB/S的读取速度,最高容量可达512GB,包括了内部带电源保护和温度超标管理,并且可以快速响应嵌入式系统的启动要求。
  3. 除了eMMC器件,在一些汽车上开始采用UFS(Universal Flash Storage,通用闪存存储器)存储芯片,其外形和eMMC几乎一模一样,也是BGA的封装芯片形式,它可以提供两对插分信号总线来高速传输数据,目前UFS 2.1的协议已经可以最快支持到1.2GB的读出速率,UFS 3.1的版本协议更是在2.1协议基础上翻了一倍,达到了2.9GB每秒,今后UFS 4.0版本协议更是达到了惊人的4.6GB每秒的吞吐率,而且单芯片能提供最高容量可以达到1TB容量。
  4. 除此之外,各大存储厂商也在积极研发基于PCIe接口的NVMe协议车规级SSD,将提供大于10GB每秒的数据吞吐率,而且包含前面eMMC、UFS的快速响应和温度管理特性,可以为下一代基于自动驾驶的智能车载系统提供几十TB的海量存储容量。

5.2 存储器的生命周期

由于车内严苛的使用环境,车载存储器除了从接口类型、读写速度,及存储容量几个维度外,还需要从其他维度来评估存储器的品质。比如从性能、可靠性、温度范围和增强特性等四个方面来衡量车载存储器的品质。首先要制造商具备多年的闪存研发经验积累,才能保证产品在满足高性能条件下同时具备可靠的品质保障。其次满足车用电子元件的AEC-Q100和国际标准。三是要能适应负40度到正85度的宽温和负40度到正105度的超宽温的工作环境、工作温度要求。四是要具备温度管理、快速启动、智能分区,满足汽车生产条件的100%存储空间的数据预烧录要求。

对于车载存储器来说,其生命周期的长短,除了受车载环境的影响,还与应用场景,以及Host端的读写操作特性有关。例如,一个长期、反复读写存储器的操作环境,必然加速存储器内部颗粒的磨损,从而变相减少它的生命周期。

无论是SD card,eMMC,UFS,SSD固态硬盘,其内部的存储颗粒都是NAND flash,用户数据写入NAND flash内部的cell中。不同类型的NAND,每个cell可以存储的数据容量不同。例如SLC NAND,每个cell可以保存1bit的数据;MLC可以保存2bit,TLC可以保存3bit。如下图所示:

图片来源:Kioxia

在向NAND cell中写数据时,首先要执行erase操作。也就是通过给cell的每一位写"1"的操作,将NAND cell初始化。这个过程被称为一次P/E cycle(Program/Erase)。每次P/E都会导致cell 单元的氧化层发生轻微退化(degrade ever so slightly),当达到一定的P/E次数后,cell单元将不再能够保存电荷,从而使用寿命终结。在上述3种类型的NAND中,SLC可以支持的P/E 次数最多,MLC次之,而TLC最弱。

为了保存数据,NAND还必须为cell维持一定的电压,以保持电荷。NAND controller firmware软件需要周期性地给NAND cell进行刷新,这样才能保证读取数据的正确性。然而,电荷将随着时间自然退化,并且电荷损失率可能会因极端温度变化和NAND cell 的健康而加速退化。

影响 NAND 单元寿命的因素有:

  • 极端温度变化:

恶劣的车载环境会对存储器件的寿命造成影响,极热或极寒都会对车载电子设备造成巨大的挑战,根据车规AEC-Q100 grade3 的要求,车载电子设备的工作温度要满足从-40度到+105度。低温对存储器的影响还不太大,但是高温环境将使得NAND的数据保持能力大大降低。如下图所示,P/E cycles 的次数越多,NAND的数据保持能力降低越快。相同条件下,温度越高,NAND的寿命就越低。

  • Flash存储磨损:

在向NAND写入数据之前,首先要执行P/E操作。P/E 操作将以Block为单位,向NAND cell写入“1”,称为erase。当重复进行erase后,电子氧化层将逐渐退化,在读取NAND cell中所保存的数据时就有可能会出错。虽然一些小量错误可以通过ECC错误校验码进行恢复,但当错误大量发生时,ECC也不可能将之完全恢复。这就会导致读数据错误,或者erase 失败。每一个NAND 都会有一个最大可支持的P/E cycles数目,当NAND block的P/E cycles超过这个数目时,它就不再可用了。衡量磨损加速的一个重要考量因素就是写放大系数WAF (Write Amplification Factor)

  • 写放大系数WAF:

理想状态下,当Host端向NAND 端写入一个Byte的数据时,NAND controller应该只向NAND cell中写入1个Byte。但是由于NAND的特性(按块block擦除,按页page写入),因此很快就会造成NAND的碎片化。此时NAND controller为了进行写负载均衡,将会在闲暇时间执行garbage collection操作。garbage collection会造成数据在NAND内部的搬运,因此实际写入NAND cell的数据将远远大于主机端写入NAND的数据。我们使用写放大系数来衡量这一参数:

为了降低WAF,提升NAND的使用寿命,一些良好的使用NAND习惯有:

  1. 仔细评估WAF:应该收集并分析工作负载的trace信息,并计算WAF。然后使用这些数据作为系统性能改进的参考依据。
  2. 创建大的读写trunk:大量而频繁的小容量读写操作将会大大增加WAF。由于NAND的特性,它的读和写是以page为单位,擦除是以block为单位。因此在日常使用NAND的时候,应该在软件端尽量创建足够的buffer再进行NAND的读写操作。例如常用的log机制,最好是创建RAM buffer进行缓冲。
  3. 使用pSLC mode:对于那些需要小量写入的关键数据,可以将MLC或者TLC合并,作为一个伪SLC单元来写入。此时一个伪SLC单元只能存储1bit的数据,但它可以达到SLC的P/E cycles。这样操作所付出的代价是,2倍的MLC或者3倍的TLC,才能组合成一个pseUdo SLC单元。
  4. 使用负载均衡算法:这是对NAND controller厂商的要求。它们需要监控NAND 单元的使用情况,挑选出"at risk"的NAND block,并将它们的数据迁移到仍然具有良好性能的NAND block中。
  5. 监控NAND health registers:NAND 厂商(eMMC or UFS)都会提供与NAND health有关的实时报告,它是通过监控相关的寄存器而给出的。主机厂开发端通过监控这些健康报告,就可以得知当前的NAND寿命状态,并且可以分析出哪些读写NAND的操作是有风险的,这样就可以有针对性的去改进。

5.3 UFS

随着技术的发展,智能座舱的存储器逐渐从eMMC向UFS演化。

对于UFS来说,其内部存储单元还是NAND,它与eMMC的区别主要在于接口。从这幅图可以看出,UFS使用了MIPI联盟定义的M-Phy,而M-Phy又来源于UniPro协议。正是因为使用了串行化的传输方式,UFS才能够再一次地提升读写速率。

  • UFS系统框图

  • EMMC系统框图

未完待续...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/173978.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】泛型编程 ⑩ ( 类模板的运算符重载 - 函数实现 写在类外部的同一个 cpp 代码中 | 类模板 的 外部友元函数二次编译问题 )

文章目录 一、类模板 - 函数声明与函数实现分离1、类模板 外部 实现 构造函数2、类模板 外部 实现 普通函数3、类模板 外部 实现 友元函数( 1 ) 错误示例及分析 - 类模板 的 外部友元函数 二次编译 问题( 2 ) 正确写法 二、代码示例 - 函数声明与函数实现分离1、代码示例2、执行…

【运维】永久关闭selinux不当,导致无法启动

现象: 卡centos loading进度条 按esc键发现,启动报错: Failed to load SElinux policy ,freezing 可能的原因: selinuxdisabled 写错成disable 或者 错误的把selinuxtype改了,要改文中红框的部分。 解决方案: 1. 重启 2. 出现选择画面的时候 按e 3. 方向下键…

树莓派的的串口通信协议

首先,回顾一下串口的核心知识点,也是面试重点: 串口通信通常使用在多机通讯中串口通信是全双工的决定串口通信的成功与否的是 数据格式 和 波特率数据格式:1. 数据位 2.停止位 3. 奇偶校验位 树莓派恢复串口 回忆前几节树莓派刷机…

时序预测 | Pytorch实现TCN-Transformer的时间序列预测

时序预测 | Pytorch实现TCN-Transformer的时间序列预测 目录 时序预测 | Pytorch实现TCN-Transformer的时间序列预测效果一览基本介绍程序设计 效果一览 基本介绍 基于TCN-Transformer模型的时间序列预测,可以用于做光伏发电功率预测,风速预测&#xff0…

【libGDX】使用Mesh绘制三角形

1 Mesh 和 ShaderProgram 简介 1.1 创建 Mesh 1)Mesh 的构造方法 public Mesh(boolean isStatic, int maxVertices, int maxIndices, VertexAttribute... attributes) public Mesh(boolean isStatic, int maxVertices, int maxIndices, VertexAttributes attribut…

使用VSCode+PlatformIO搭建ESP32开发环境

Arduino IDE本来就是为创客们开发的,虽然没代码提示功能,文件的关系也不清晰,函数不能跳转,头文件也打不开,但人家的初衷就是为了简单而生的;但还是有一些同学喜欢高级点的IDE,也没问题&#xf…

局域网无法上网主机通过TinyProxy代理主机访问公网Internet

1.代理主机搭建: 系统:ubuntu 网卡:2个 运行于 VMWare上 第一个网卡用于NAT 第二个网卡用于私有网络 两个IP如下: 192.168.31.243为NAT可访问Internet 192.168.144.141属于私有网络,用于访问局域网 安装tinyproxy sudo apt install tinyproxy 查看服务状态

场景驱动的 AI 体验设计:如何让智能 IDE 赋能遗留系统重写

作为 AutoDev 的核心开发,我们不仅在不断丰富 AutoDev 的功能以满足不同公司的定制需求,还在与各种团队进行持续交流。在处理遗留系统时,我们发现程序员们日常工作中需要面对大量使用过时技术、基础设施混乱的系统。 在这个背景下&#xff0c…

智能座舱架构与芯片- (6) 显示篇 上

一、概述 在智能座舱的发展历程中,显示屏的个数越来越多,分辨率和显示屏的尺寸也越来越大。这已经是不可逆转的趋势。传统的座舱显示屏需要一颗主芯片支持一块屏幕,这在功能上和成本上都不是很好的做法。最新的智能座舱解决方案中&#xff0…

阿里 OSS鉴权访问文件

如果OSS文件设置保护,需要鉴权才能访问,添加请求头鉴权,SDK方法如上; 将鉴权信息和地址、时间返回给前端,前端直接从oss上读取 String filePath "/admin/2023/6/183569314928918546.png"; RequestMessage…

【python笔记】客户运营 - cohort分析

一、数据 本文涉及数据下载链接。 二、数据预处理 2.1 读取数据 import pandas as pddf pd.read_csv(your_path/Year 2010-2011.csv, encodingISO-8859-1) df.head()2.2 检查数据 检查空值情况 df.isna().sum() # 结果 Invoice 0 StockCode 0 De…

基于SpringBoot+MyBatis-Plus的校园图书管理系统

基于SpringBootMyBatis-Plus的校园图书管理系统 校园图书管理系统开发技术功能模块代码结构数据库设计运行截图源码获取 校园图书管理系统 欢迎访问此博客,是否为自己的毕业设计而担忧呢?是否感觉自己的时间不够做毕业设计呢?那你不妨看一下…

python趣味编程-5分钟实现一个简单弹跳球游戏(含源码、步骤讲解)

简单的Python弹跳球程序是使用Python编程语言开发的。 Python 中的弹跳球游戏是 使用 Tkinter 和图形用户界面 (GUI) 设计的,它是一个桌面应用程序。 Python 中的弹跳球游戏代码使用Canvas 在 Python 中绘制对象和随机模块。

ES7-ES13有何新特性?

目录 ES7 ES8 ES9 ES10 ES11 ES12 ES13 hello,大家好呀!之前发布的两篇关于ES6新特性的文章学习完了吗?今天来给大家介绍ES6之后,截止到2022年的ES13每个时期新增的一些新特性!快来一起学习吧! ES7 …

【Computer Vision Foundation】全球计算机视觉基金会论文网

计算机视觉基金会(Computer Vision Foundation,简称CVF)是一个致力于推动计算机视觉领域研究和发展的组织。以下是关于计算机视觉基金会的一些基本信息: 成立目的: CVF成立的目的是促进计算机视觉领域的学术研究、技术…

【C+进阶之路】第六篇:C++11

文章目录 一、【C】C11(1)二、【C】C11(2) 一、【C】C11(1) 【C】C11(1) 二、【C】C11(2) 【C】C11(2) 🌹&#x1f33…

时间复杂度和运算

时间复杂度 在算法和数据结构中,有许多时间复杂度比 O(1) 更差的情况。以下是一些常见的时间复杂度,按照从最优到最差的顺序排列: O(1): 常数时间复杂度,操作的运行时间与输入规模无关,是最理想的情况。 O…

ky10 server arm 在线编译安装openssl3.1.4

在线编译脚本 #!/bin/shOPENSSLVER3.1.4OPENSSL_Vopenssl versionecho "当前OpenSSL 版本 ${OPENSSL_V}" #------------------------------------------------ #wget https://www.openssl.org/source/openssl-3.1.4.tar.gzecho "安装OpenSSL${OPENSSLVER}...&q…

nodejs微信小程序+python+PHP-维斯公司财务管理系统的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

IP地址定位是如何实现的?

IP定位的实现是通过查找IP地址对应的地理位置信息来实现的。具体来说,IP定位是通过查询IP地址对应的地理位置数据库来获取地理位置信息。这个数据库可以是公共的或者私有的,其中包含了IP地址和地理位置信息之间的映射关系。 在实际操作中,IP定…
最新文章