嵌入式分享合集84

news2024/12/30 3:15:35

今天做的某地区的项目, 了解了一下 很是不开心 原来这几年丢的不仅是某公湖 真呵呵

一、学习单片机

如何系统地入门学习STM32?

    假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习。

    你要考虑的是, 我可以用STM32实现什么?

    为什么使用STM32而不是8051?是因为51的频率太低,无法满足计算需求?是51的管脚太少,无法满足众多外设的IO?是51的功耗太大,电池挺不住?是51的功能太弱,而你要使用SPI、I2C、ADC、DMA?是51的内存太小而你要存储的东西太多?

    当你需要使用STM32某些功能,而51实现不了的时候, 那STM32自然不需要学习,你会直接去寻找STM32某方面的使用方法。比如要用SPI协议的网卡、要使用串口通信、要使用RTOS等等。

到牛人的学习步骤

    我们假定大家已经对STM32的书籍或者文档有一定的理解

    英文好的同学,请不要以为你很牛,可以只看英文文档。毕竟你是中国人,你最熟悉的,理解最好的还是中文。看英文的速度还是比看中文慢一些,我们要的是最短的时间,而不是追求短时间内记住所有细节。当然,如果是一篇论文,建议看英文原版还是有好处的。STM32处理器进入国内市场时候,ST官方(或者第三方)的推广工作做的非常好。翻译了大量的英文文档,迎合了国内的很多工程师的思维。

读一些书比如存储器和总线架构、电源控制、备份寄存器、复位和时钟控制,通用和复用功能I/O,中断和时间等等前几章一定要花时间阅读。

(1)这里所谓的“入门”,指的是能理解并掌握一些常用的STM32外设,真正想掌握一款处理器,两周根本说明不了什么问题。只能说,你已经有所了解了。但是,这对我们初学者来说已经足够了。

(2)这里所谓的“两周”,根据每个人的时间安排不同而不同。

如果您每天有充足的时间学习,那么可以规定自己尽快地能独立地进行简单的STM32开发。

    如果您每天只有业余时间来学习STM32,建议根据您的具体情况安排时间。毕竟计划时间如果安排太紧,反而收不到良好的效果,只能进入恶性循环,这是我们要避免的。

但是建议,不管您有无充足的时间,都必须给自己做一个计划!

   步骤一,安装完STM32学习的软件,比如J-Link、Keil for ARM(MDK)、ISP(如果需要从串口下载的话)。这些软件安装的详细步骤,可以参考我们推出的相应教程进行。

    步骤二,挑选部分例程的HEX,比如LED灯的例程HEX文件,下载到芯达STM32开发板中,观察两个LED灯的闪烁情况。这部分的操作,可以参考我们推出的相应的教程进行。

    实际上,以上两个步骤,是为了熟悉要使用的工具软件而已。属于找感觉的阶段。其实我们还没开始STM32的学习呢!

    步骤三,准备几个常用的文档,用于平时查阅。这些文档,在光盘中的芯片手册目录中均可找到。

    步骤四,开始查看例程的编写,看看例程是如何写的,自己可否修改下例程,达到自己想要的效果呢?

    步骤五,Ucos-II的移植,是否需要试一下?

恭喜你,至此,你已经可以自如进行独立的开发了。最后一步,给自己一个目标(项目),把它实现出来!

    再次强调,以上只是一个学习STM32的思路,供大家参考。

    下面列出了前面关键的步骤,希望大家能尽快入门。

第1步:熟悉调试软件

    对初学者来说,我们至少需要安装两个软件:J-Link驱动软件、MDK(就是原来的Keil)软件。

    这两个软件在安装软件的过程可以查看神舟开发板用户手册,这里不再重复,如何验证自己已经熟悉调试软件的操作了呢?很简单,神舟STM32开发板光盘里附带了很多HEX格式的文件,可以选择一些HEX文件,来观察运行结果。

    该步骤要达到的目标:熟悉调试软件,如烧写HEX出现问题,可简单判别问题所在,并独立解决。

第2步:GPIO编程

    这是第一次接触固件库的编程,一定要硬着头皮去了解固件库。建议大家尽量去用固件库。而不是避开固件库自己写代码——这样只能在学习中才会发生。实际的项目中,代码成百上千个,如何一个一个自己写?调用固件库中的函数来完成,才是王者之道。

    GPIO本身的编程实际上很简单:

    1、设置GPIO口的引脚为输入或者输出模式。我们在进行点灯代码的时候,一般设置为推挽输出模式。

    2、操作寄存器,往寄存器里置1或者清零操作——这个步骤,固件库已经提供了专门的GPIO_SetBits函数和GPIO_ResetBits函数,我们只要去调用即可实现对IO口的置1和清零。

    3、实现多种花样的LED闪动,使得自己熟悉GPIO的编程过程。

该步骤要达到的目标:熟悉调试软件,如烧写HEX出现问题,可简单判别问题所在,并独立解决。

    第3步:开始全新的STM32深入研究

经过以上调试软件的熟悉和GPIO口的编程调试后,相信您已经对STM32有一定的了解。

    至少知道如何利用STM32的固件库去写一个代码。在这个阶段,将要接触到串口编程、TFT液晶屏驱动编程、定时器编程、串行外设接口SPI编程、存储器编程、SD卡与文件系统移植、USB读写、UCOS移植等,有精力还可以研究其他外设。

二、主流单片机的优缺点

  whaosoft aiot http://143ai.com 

 单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇,发展也是相当的迅速,从上世纪80年代,由当时的4位8位发展到现在的各种高速单片机。

    各个厂商们也在速度、内存、功能上此起彼伏,参差不齐。同时涌现出一大批拥有代表性单片机的厂商:Atmel、TI、ST、MicroChip、ARM…… 除此之外国内厂商的STC单片机也是可圈可点。

    下面为大家带来51、MSP430、STM32、TMS、PIC、AVR、STC单片机之间的优缺点比较及功能体现。

51单片机

    应用最广泛的8位单片机当然也是初学者们最容易上手学习的单片机,最早由Intel推出,由于其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“经典”,为以后的其它单片机的发展奠定了基础。目前在教学场合和对性能要求不高的场合大量被采用。

特点

    51单片机之所以成为经典,成为易上手的单片机主要有以下特点:

  • 从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,处理对象不是字或字节而是位。不但能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。

  • 同时在片内RAM区间还特别开辟了一个双重功能的地址区间,使用极为灵活,这一功能无疑给使用者提供了极大的方便。

  • 乘法和除法指令,这给编程也带来了便利。很多的八位单片机都不具备乘法功能,做乘法时还得编上一段子程序调用,十分不便。

缺点

    51单片机虽然是经典但是缺点还是很明显的:

  • AD、EEPROM等功能需要靠扩展,增加了硬件和软件负担。

  • 虽然I/O脚使用简单,但高电平时无输出能力,这也是51系列单片机的最大软肋。

  • 运行速度过慢,特别是双数据指针,如能改进能给编程带来很大的便利。

  • 51保护能力很差,很容易烧坏芯片。

MSP430单片机

    MSP430系列单片机是1996年开始推向市场的一种16位超低功耗的混合信号处理器,给人们留下的最大的亮点是低功耗而且速度快,汇编语言用起来很灵活,寻址方式很多,指令很少,容易上手。主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。在低功耗及超低功耗的工业场合应用的比较多。

特点

    MSP430单片机其迅速发展和应用范围的不断扩大,主要取决于以下的特点。

  • 强大的处理能力,采用了精简指令集(RISC)结构,具有丰富的寻址方式( 7 种源操作数寻址、 4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可编制出高效率的源程序。

  • 在运算速度方面,能在 8MHz 晶体的驱动下,实现 125ns 的指令周期;16 位的数据宽度、 125ns 的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如 FFT 等)。

  • 超低功耗方面,MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处;电源电压采用的是 1.8~3.6V 电压,因而可使其在 1MHz 的时钟条件下运行时, 芯片的电流会在 200~400uA 左右,时钟关断模式的最低功耗只有 0.1uA。

缺点

  • 可能不太容易上手,不适合初学者入门,资料也比较少,只能跑官网去找。

  • 占的指令空间较大,因为是16位单片机,程序以字为单位,有的指令竟然占6个字节,虽然程序表面上简洁, 但与pic单片机比较空间占用很大。

STM32单片机

    由ST厂商推出的stm32系列单片机,行业的朋友都知道,这是一款性价比超高的系列单片机,应该没有之一,功能及其强大。其基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核,同时具有一流的外设:1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表现,当然和MSP430的功耗比起来是稍微逊色的一些,但这并不影响工程师们对它的热捧程度,由于其简单的结构和易用的工具再配合其强大的功能在行业中赫赫有名。

特点

    STM32单片机其强大的功能主要表现在:

  • 内核:ARM32位Cortex-M3CPU,最高工作频率72MHz,1.25DMIPS/MHz,单周期乘法和硬件除法。

  • 存储器:片上集成32-512KB的Flash存储器;6-64KB的SRAM存储器。

  • 时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压;POR、PDR和可编程的电压探测器(PVD);4-16MHz的晶振;内嵌出厂前调校的8MHz RC振荡电路,内部40 kHz的RC振荡电路;用于CPU时钟的PLL;带校准用于RTC的32kHz的晶振。

  • 调试模式:串行调试(SWD)和JTAG接口;最多高达112个的快速I/O端口、最多多达11个定时器、最多多达13个通信接口。

TMS单片机

    这里也提一下TMS系列单片机,虽不算主流。由TI推出的8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合。虽然没STM32那么优秀,也没MSP430那么张扬,但是TMS370C系列单片机提供了通过整合先进的外围功能模块及各种芯片的内存配置,具有高性价比的实时系统控制。同时采用高性能硅栅CMOS EPROM和EEPROM技术实现。低工作功耗CMOS技术,宽工作温度范围,噪声抑制,再加上高性能和丰富的片上外设功能,使TMS370C系列单片机在汽车电子,工业电机控制,电脑,通信和消费类具有一定的应用。

PIC单片机

    PIC单片机系列是美国微芯公司(Microship)的产品,共分三个级别,即基本级、中级、高级,是当前市场份额增长最快的单片机之一,CPU采用RISC结构,分别有33、35、58条指令,属精简指令集。

    同时采用Harvard双总线结构,运行速度快,它能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期,这也是高效率运行的原因之一。

特点

    PIC单片机之所以成为一时非常热的单片机不外乎以下特点:

  • 具有低工作电压、低功耗、驱动能力强等特点。PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路,I/O脚增加了用于设置输入或输出状态的方向寄存器,从而解决了51系列I/O脚为高电平时同为输入和输出的状态。

  • 当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。相对于51系列而言,这是一个很大的优点。

  • 它可以直接驱动数码管显示且外电路简单。它的A/D为10位,能满足精度要求。具有在线调试及编程(ISP)功能。

缺点

  • 其专用寄存器(SFR)并不像51系列那样都集中在一个固定的地址区间内(80~FFH),而是分散在四个地址区间内。只有5个专用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4个存储体内同时出现,但是在编程过程中,少不了要与专用寄存器打交道,得反复地选择对应的存储体,也即对状态寄存器STATUS的第6位(RP1)和第5位(RP0)置位或清零。

  • 数据的传送和逻辑运算基本上都得通过工作寄存器W(相当于51系列的累加器A)来进行,而51系列的还可以通过寄存器相互之间直接传送,因而PIC单片机的瓶颈现象比51系列还要严重,这在编程中的朋友应该深有体会。

AVR单片机

    AVR单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作业。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用4~8MHz,故最短指令执行时间为250~125ns。

特点

    AVR单片机能成为最近仍是比较火热的单片机,主要的特点:

  • AVR系列没有类似累加器A的结构,它主要是通过R16~R31寄存器来实现A的功能。在AVR中,没有像51系列的数据指针DPTR,而是由X(由R26、R27组成)、Y(由R28、R29组成)、Z(由R30、R31组成)三个16位的寄存器来完成数据指针的功能(相当于有三组DPTR),而且还能作后增量或先减量等的运行,而在51系列中,所有的逻辑运算都必须在A中进行;而AVR却可以在任两个寄存器之间进行,省去了在A中的来回折腾,这些都比51系列出色些。

  • AVR的专用寄存器集中在00~3F地址区间,无需像PIC那样得先进行选存储体的过程,使用起来比PIC方便。AVR的片内RAM的地址区间为0~00DF(AT90S2313) 和0060~025F(AT90S8515、AT90S8535),它们占用的是数据空间的地址,这些片内RAM仅仅是用来存储数据的,通常不具备通用寄存器的功能。当程序复杂时,通用寄存器R0~R31就显得不够用;而51系列的通用寄存器多达128个(为AVR的4倍),编程时就不会有这种感觉。

  • AVR的I/O脚类似PIC,它也有用来控制输入或输出的方向寄存器,在输出状态下,高电平输出的电流在10mA左右,低电平吸入电流20mA。这点虽不如PIC,但比51系列还是要优秀的。

缺点

  • 是没有位操作,都是以字节形式来控制和判断相关寄存器位的。

  • C语言与51的C语言在写法上存在很大的差异,这让从开始学习51单片机的朋友很不习惯。

  • 通用寄存器一共32个(R0~R31),前16个寄存器(R0~R15)都不能直接与立即数打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接与立即数打交道,显然要优于前者。

Freescale单片机

    主要针对S08,S12这类单片机,当然Freescale单片机远非于此。Freescale系列单片机采用哈佛结构和流水线指令结构,在许多领域内都表现出低成本,高性能的的特点,它的体系结构为产品的开发节省了大量时间。此外Freescale提供了多种集成模块和总线接口,可以在不同的系统中更灵活的发挥作用。

特点

    Freescale单片机的特有的特点如下:

  • 全系列:从低端到高端,从8位到32位全系列应有尽有,其推出的8位/32位管脚兼容的QE128,可以从8位直接移植到32位,弥补单片机业界8/32 位兼容架构中缺失的一环。

  • 多种系统时钟模块:三种模块,七种工作模式。多种时钟源输入选项,不同的mcu具有不同的时钟产生机制,可以是RC振荡器,外部时钟或晶振,也可以是内部时钟,多数CPU同时具有上述三种模块;可以运行在FEI,FEE,FBI,FBILP,FBE,FBELP,STOP这七种工作模式。

  • 多种通讯模块接口:Freescale单片机几乎在内部集成各种通信接口模块:包括串行通信接口模块SCI,多主I2C总线模块,串行外围接口模块 SPI,MSCAN08控制器模块,通用串行总线模块(USB/PS2)。

  • 具有更多的可选模块:具有LCD驱动模块,带有温度传感器,具有超高频发送模块,含有同步处理器模块,含有同步处理器的MCU还具有屏幕显示模块OSD,还有少数的MCU具有响铃检测模块RING和双音多频/音调发生器DMG模块。

  • 可靠性高,抗干扰性强,多种引脚数和封装选择。

  • 低功耗、也许Freescale系列的单片机的功耗没有MSP430的低,但是他具有全静态的“等待”和“停止”两种模式,从总体上降低您的功耗!新近推出的几款超低功耗已经与MSP430的不相上下。

STC单片机

    说到STC单片机有人会说到,STC也能算主流?基于它是国内还算是比较不错的单片机来说。STC是单时钟/机器周期的单片机,说白了STC单片机是51与AVR的结合体,有人说AVR是51的替代单片机,但是AVR单片机在位控制和C语言写法上存在很大的差异。

    而STC单片机结合了51和AVR的优点,虽然功能不及AVR那么强大,但是在AVR能找到的功能,在STC上基本都有,同时STC单片机是51内核,这给以51单片机为基础的工程师们提供了极大的方便,省去了学习AVR的时间,同时也不失AVR的各种功能。

    STC单片机是高速、低功耗、超强抗干扰的新一代8051单片机51单片机,指令代码完全兼容传统8051,但速度快8~12倍,内部集成MAX810专用复位电路。4路PWM 8路高速10位A、D转换,针对电机电机 的供应商控制,强干扰场合,成为继51单片机后一个全新系列单片机。

特点

  • 下载烧录程序用串口方便好用,容易上手,拥有大量的学习资料及视频,同时具有宽电压:5.5~3.8V、2.4~3.8V, 低功耗设计:空闲模式,掉电模式(可由外部中断唤醒)。

  • STC单片机具有在应用编程,调试起来比较方便;带有10位AD,内部EEPROM,可在1T/机器周期下工作,速度是传统51单片机的8~12倍,价格也较便宜。

  • 4通道捕获/比较单元,STC12C2052AD系列为2通道,也可用来再实现4个定时器或4个外部中断,2个硬件16位定时器,兼容普通8051的定时器。4路PCA还可再实现4个定时器,具有硬件看门狗、高速SPI通信端口、全双工异步串行口,兼容普通8051的串口,同时还具有先进的指令集结构,兼容普通8051指令集。

三、实现单片机用一个I/O采集多个按键信号

如何实现单片机用一个I/O采集多个按键信号    whaosoft aiot http://143ai.com 

使用模数转换(ADC)的特点就可以实现单片机用一个I/O采集多个按键信号。

一、单片机的I/O口检测按键简说

我们知道,一般情况下单片机的一个I/O口作为普通I/O口的话,只能检测识别一个按键。

日常设计中,如果碰到按键数量较多的话,会采用行列式键盘,例如最常见的4X4矩阵键盘,这样可以实现用8个I/O口检测16个按键。

还有就是键盘接口,典型的是我们计算机上用的键盘,其采用PS/2接口,现在一般计算机上用的是USB接口的键盘。

另外还有使用串口或者IIC、SPI接口的键盘芯片,这些使用常见的串口、IIC、SPI通信协议实现。

但是这些都一个以上的I/O口,不是真正的用多个按键。

那么有没有更简单的办法,使用更少的I/O口资源检测更多的按键呢?

二、基于模数转换的AD键盘

我们知道按键检测实际上是检测连接按键的端口的高低电平值,在单个I/O口检测单个按键时,只是简单的判断连接按键的端口的电平是高电平(+5V)还是低电平(0V)。那么是否可以通过电平的微小变化来检测按键是否被按下呢?

下图为一个A/D键盘的原理图,从图中可以看出,当不同的按键被按下时,ADC端点处的电压不同,通过判断不同的电压值就可以判断出是那个按键被按下。

对于具有AD转换功能的单片机来说,直接接到一个AD通道即可。对于没有AD转换功能的单片机,可采用一个AD转换模块。

对于这种按键,有以下缺点:

1、对于同一点处的电压值,A/D多次采样的结果不可能完全相同。

2)、电阻的误差。电阻值由于电阻的精度和环境温度的原因,误差较大,所以A/D键盘各个按键点的分压不准确。

3)、为尽量减少误差,可以采取增加电阻精度、增加温度补偿等方法,另外在软件处理时候要注意消除按键抖动等因素,还要对实际转换值和标准值给出误差补偿。

4)、如果按键按下,经过A/D转换,若实际转换值在允许误差范围之内(需要实际测量各点电压,并计算各点电压平均值),则认为按键按下,否则程序不响应。

5)、实际试验过程中,还要考虑电阻的累积误差,选用精度越高的电阻,可分辨的按键数目越多。

四、1.84Pb/s,两倍于全球互联网带宽总和:单激光器实现最快数据传输纪录

只需要把数据拆分成彩虹色的光,光纤的传输速度就可以提升 8000 倍。

有些时候,人们形容网络的效率「不如卡车运硬盘」:亚马逊 AWS 就有一种名为 snowmobile 的服务,真的使用集装箱卡车,一次可以传输 100Pb。这种大号 U 盘传数据的体量可谓巨大,但也从另一个方面告诉我们,网络传输数据存在很大的瓶颈。

近日,来自丹麦技术大学(DTU)和瑞典哥德堡查尔姆斯理工大学的研究小组实现了迄今为止最高的数据传输效率,并且是世界上第一个仅使用单个激光器和单个光芯片实现每秒传输超过 1 拍比特 (Pbit/s) 的研究

在实验中,研究人员仅使用一个光源在 7.9 公里的距离上实现了传输速率 1.8 Pbit/s——1 Petabit 相当于 12.5 万 Gigabyte,根据一些估算,全世界使用的平均互联网带宽约为 1 Pbit/s,因此它的速度接近全球带宽的两倍。

很难形容 1.84 Pbit/s 的速度有多快——家庭互联网连接通常为每秒几百兆比特,如果幸运的话,能达到 1 吉比特甚至 10 吉比特,但 1 拍比特是一百万吉比特。这一数据传输速度远远超过了今年 5 月创下的 1.02 Pbit/s 的纪录。

该光源由定制设计的光学芯片发出,它可以使用来自单个红外激光器的光来输出多种颜色的彩虹光谱,即多种频率。因此,单个激光器的一个频率(颜色)可以在单个芯片中倍增成数百个频率(颜色)。所有的颜色都固定在一个特定的频率距离上,每种颜色互相隔离——就像梳子上的齿一样——因此它被称为频率梳。最后,所有频率通过光纤发送,从而传输数据。

用单个激光器取代数千个

实验演示表明,单个芯片可以轻松承载 1.8Pbit/s 的速度,按照此前最先进的商业设备,达到这样的水平需要上千个激光器。

查尔姆斯理工大学的教授 Victor Torres 公司是开发和制造该芯片的研究小组的负责人。Victor Torres 公司说,这个芯片的特别之处在于,它产生的频率梳具有光纤通信的理想特性——很高的光功率,并广泛覆盖了高级光通信所感兴趣的光谱区域内的带宽。

 通信系统建模。

有趣的是,该芯片并没有为这种特定的应用进行优化。「事实上,一些特征参数是通过巧合而不是通过设计实现的,」Victor Torres 公司说。「然而在团队的努力下,我们现在有能力对其进行逆向工程,并实现电信领域目标应用的高重现性微梳。」

此外,研究人员创建了一个计算模型,从理论上研究了使用与实验中相同的单个芯片进行数据传输的基础潜力。计算结果显示,扩展解决方案具备巨大的潜力。

DTU 的硅光子学光通信卓越中心(SPOC)负责人 Leif Katsuo Oxenløwe 教授表示:「我们的计算表明,通过查尔姆斯理工大学制造的单个芯片和一个激光器,传输速度能够高达 100 Pbit/s。其原因是我们的解决方案是可扩展的,包括在创造多种频率方面,也包括将频率梳分成许多空间副本,然后对它们进行光学放大,并将它们作为传输数据的平行源。虽然频率梳的副本必须被放大,但并没有损失其品质,我们利用它来进行高效频谱的数据传输。」

调制的方法

向电子或光载波信号添加信息,将数据转换为无线电波的过程叫做「调制」。在这个过程中,光的波特性被利用,比如:

  • 振幅(波的高度 / 强度);

  • 相位(波的「节奏」,有可能让波比预期的早一点或晚一点到达);

  • 偏振(波的传播方向)。

通过改变这些属性,就可以创造信号。这些信号可以转化为 1 或 0,从而作为数据信号加以利用。

在该研究中,数据流被分成了 37 个线路,每条线沿着电缆中的不同光线程发送。37 条数据线中的每一条都被分成 223 个数据块,对应于「数据梳」光谱中的不同区域。换句话说,科学家创建了一个「大规模并行空间和波长多路复用数据传输」系统。这种多次拆分大大增加了光缆支持的潜在数据吞吐量。

测试和验证 1.84 Pb/s 的带宽并不是件容易的事——因为还没有计算机可以即时处理这么多数据,存储也不太可能。研究小组在各个通道上使用虚拟数据来验证全带宽容量,每个通道都经过单独测试,以确保接收到的数据与传输的数据匹配。

光子芯片可以将单个激光器分成许多频率,另外也需要进行一些处理来对 37 个数据光流中的每一个数据流的光数据做编码。根据研究者们的说法,一个精巧的、功能齐全的光处理设备应该可以打造成火柴盒的大小。这与电信行业当前使用的单色激光传输设备的尺寸相似。

 实现的数据传输速率(红色三角形)与理论吞吐量(蓝色点)。

减少互联网能耗

通过这项技术,我们可以使用和现在相同的光缆基础设施,仅使用相同体积的光子芯片设备替代原来的光学数据编码器 / 解码器,从而有望使数据有效带宽增加 8251 倍。

除了极高的速度之外,新研究还有助于减少互联网的能耗。

「我们的解决方案有可能取代位于互联网中心和数据中心的数十万台光设备,它们都在消耗大量电力并产生热量。我们有机会为减少互联网行业碳足迹做出贡献,」论文作者之一 Leif Katsuo Oxenløwe 说道。

尽管研究人员在演示中打破了单个激光源和单个芯片的 PB 级里程碑,但在我们当前的通信系统中实施该解决方案之前,仍有一些开发工作要做。

「当前,全世界都在努力将激光源集成到光学芯片中。我们可以在芯片中集成的组件越多,整个发射器的效率就越高,发射器包括激光、梳频率输出芯片、数据调制器和任何放大器元件。它将是一种极其高效的数据信号光发射器,」Leif Katsuo Oxenløwe 说。

这项研究发表在了最近一期的 Nature 光学子刊上。

论文链接:https://www.nature.com/articles/s41566-022-01082-z

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Scratch软件编程等级考试三级——20200913

Scratch软件编程等级考试三级——20200913理论单选题判断题实操幻影小猫打气球游戏猫咪抓老鼠游戏理论 单选题 1、要使以下代码运行后画出如图所示三角形风车,则以下代码中①②③④处应分别填入多少?() A、3 4 90 120 B、4 3 90…

实验项目一:【文本反爬网站的分析和爬取】

一、实验目的 熟悉使用Selenium、Pyppeteer等工具爬取网站基本内容,通过分析具有文本反爬技术网站,设计爬取策略来获取文本正确的内容。 二、实验预习提示 安装Python环境 (Python 3.x):Pychram社区版Anaconda为Pytho…

[SpringBoot] YAML基础语法

✨✨个人主页:沫洺的主页 📚📚系列专栏: 📖 JavaWeb专栏📖 JavaSE专栏 📖 Java基础专栏📖vue3专栏 📖MyBatis专栏📖Spring专栏📖SpringMVC专栏📖SpringBoot专…

四线法与电桥

目录: 一、基本电桥电路 二、开尔文四线检测 三、惠斯通与开尔文电桥 1、电阻桥定义解释 2、电阻桥相关计算 3、开尔文双电桥 4、电阻桥的应用 --------------------------------------------------------------------------------------------------------…

java中的垃圾回收算法与垃圾回收器

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

Swift学习笔记笔记(五) Swift扩展协议类

一、 实验目的: 1.掌握Swift扩展型 2.掌握Swift协议 3.掌握Swift类 二、实验原理: 1.Swift扩展的定义 2.Swift协议的定义 3.Swift类的定义 三、实验步骤及内容: 1.方法 //实例方法 class Website { var visitCount 0 func visiting(){…

【LC】二叉树应用强化OJ

✨博客主页: 心荣~ ✨系列专栏:【LeetCode/牛客刷题】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录1. 检查两颗树是否相同2. 另一颗树的子树3. 二叉树最大深度4. 判断—颗二叉树是否是平衡二叉树5. 对称二叉树6. 二叉树的构建及遍历7. 二叉树的分层遍历8. 给定一个二叉树…

JAVAweb第一次总结作业

1.什么是html HTML的全称为超文本标记语言(Hyper Text Markup Language),是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。 HTML文本是由HTML命令组成的描述性文本&…

【Python】import模块的多种操作

前言 记录一下关于Python在导入模块时候一些操作~ 知识点📖📖 Python魔法方法:__all__ Python内置模块:importlib 实现 指定导出的变量 当你在使用 from xxx import * 时候,可以通过 __all__ 来指定可被导出的变…

每天五分钟机器学习:通过学习曲线判断模型是过拟合还是欠拟合

本文重点 本节课程我们学习使用学习曲线来判断某一个学习算法是否处于偏差、方差问题。学习曲线其实就是训练误差和验证误差关于样本m的曲线,我们将通过学习曲线来判断该算法是处于高偏差问题,还是处于高方差问题。 高偏差问题(欠拟合) 注意:这个m表示训练集数据样本…

王二涛研究组揭示丛枝菌根共生与根瘤共生的协同进化机制

2021年,中国科学院分子植物科学卓越创新中心王二涛团队在《Molecular Plant》发表了“Mycorrhizal Symbiosis Modulates the Rhizosphere Microbiota to Promote Rhizobia Legume Symbiosis”研究论文,该研究通过定量微生物组、微生物共发生网络及微生物…

mac for m1(arm):安装redis的四种方式(本机安装、homebrew安装、虚拟机安装、docker安装)

0. 引言 redis作为当今最常用的非关系型数据库,被广泛应用于数据缓存场景。而mac m1采用arm芯片,使得众多软件安装成为问题,今天我们来看mac m1如何安装redis 1.本机安装redis 1、下载redis安装包:https://redis.io/download/ …

subplots()--matplotlib

1. 函数功能 成一个画布和若干子区。2. 函数语法 matplotlib.pyplot.subplots(nrows1, ncols1, *, sharexFalse, shareyFalse, squeezeTrue, subplot_kwNone, gridspec_kwNone, **fig_kw)3. 函数参数与示例 参数含义nrows, ncols画布被分成的行、列数squeeze布尔值&#xf…

【畅购商城】用户登录

用户登录 构建页面&#xff1a;Login.vue步骤一&#xff1a;创建Login.vue步骤二&#xff1a;绘制通用模块<template> <div> <TopNav></TopNav> <div style"clear:both;"></div> <HeaderLogo></HeaderLogo> <div…

嵌入式开发--CubeMX使用入门教程

嵌入式开发–CubeMX使用入门教程 CubeMX简介 传统的单片机开发时&#xff0c;需要针对片上外设做各种初始化的工作&#xff0c;相当麻烦。 CubeMX是ST公司出品的一款图形化代码生成工具&#xff0c;通过图形化界面&#xff0c;可以非常直观的配置好各种片上外设&#xff0c;时…

一个方便IO单元测试的C#扩展库

对于我们.Net程序员&#xff0c;System.Web.Abstractions我们都非常熟悉&#xff0c;主要作用于Web可以实现单元测试&#xff0c;他是在.Net framework 3.5 sp1开始引入的,很好的解决项目表示层不好做单元测试的问题&#xff0c;这个库所有类都是Wrapper/Decorator模式的。今天…

[SpringBoot] Spring Boot注册Web原生组件/拦截器HandlerInterceptor

✨✨个人主页:沫洺的主页 &#x1f4da;&#x1f4da;系列专栏: &#x1f4d6; JavaWeb专栏&#x1f4d6; JavaSE专栏 &#x1f4d6; Java基础专栏&#x1f4d6;vue3专栏 &#x1f4d6;MyBatis专栏&#x1f4d6;Spring专栏&#x1f4d6;SpringMVC专栏&#x1f4d6;SpringBoot专…

风控建模坏样本太少,不要再用过采样和欠采样了,试下这种更有效的方法

样本数据不平衡是我们建模场景中经常遇到的问题&#xff0c;由于目标类别的分布占比差异较大&#xff0c;使得模型训练难以取得较好的拟合效果&#xff0c;甚至模型结果在实际应用中无效。举个最常见的例子&#xff0c;在信贷场景中构建反欺诈模型时&#xff0c;训练样本数据的…

(附源码)计算机毕业设计SSM垃圾分类综合服务系统

&#xff08;附源码&#xff09;计算机毕业设计SSM垃圾分类综合服务系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术…

(27)语义分割--cityscape数据集的读取和使用

1、主要参考 (1) 图像分割cityscape数据集使用介绍 - 知乎 (2)torchvision支持很多现成的数据集 Datasets — Torchvision 0.13 documentation 。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。 2、下载…