UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE、Ethernet

嵌入式电子 2023-10-01 11:57

UART、I2C、RS485……这些通信虽然都普遍在用,但解释起来也是模棱两可,觉得有必要整理一下,目的是巩固和区分。文章有点长,建议先收藏,需要的时候再拿出来看。

UART通用异步收发器

    UART口指的是一种物理接口形式(硬件)。

    UART是异步,全双工串口总线。它比同步串口复杂很多。有两根线,一根TXD用于发送,一根RXD用于接收。

    UART的串行数据传输不需要使用时钟信号来同步传输,而是依赖于发送设备和接收设备之间预定义的配置。

    对于发送设备和接收设备来说,两者的串行通信配置应该设置为完全相同。

    起始位:表示数据传输的开始,电平逻辑为“0” 。

    数据位:可能值有5、6、7、8、9,表示传输这几个bit 位数据。一般取值为8,因为一个ASCII 字符值为8 位。

    奇偶校验位:用于接收方对接收到的数据进行校验,校验“1” 的位数为偶数(偶校验) 或奇数(奇校验),以此来校验数据传送的正确性,使用时不需要此位也可以。

    停止位:表示一帧数据的结束。电平逻辑为“1”。

    如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。

I2C总线

    I2C总线是一种同步、半双工双向的两线式串口总线。它由两条总线组成:串行时钟线SCL和串行数据线SDA。

    SCL线——负责产生同步时钟脉冲。

    SDA线——负责在设备间传输串行数据。

    该总线可以将多个I2C设备连接到该系统上。连接到I2C总线上的设备既可以用作主设备,也可以用作从设备。

    主设备负责控制通信,通过对数据传输进行初始化,来发送数据并产生所需的同步时钟脉冲。从设备则是等待来自主设备的命令,并响应命令接收。

    主设备和从设备都可以作为发送设备或接收设备。无论主设备是作为发送设备还是接收设备,同步时钟信号都只能由主设备产生。

    如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。

SPI串行外设接口

    SPI总线是同步、全双工双向的4线式串行接口总线。它是由“单个主设备+多个从设备”构成的系统。

    在系统中,只要任意时刻只有一个主设备是处于激活状态的,就可以存在多个SPI主设备。常运用于AD转换器、EEPROM、FLASH、实时时钟、数字信号处理器和数字信号解码器之间实现通信。

    为了实现通信,SPI共有4条信号线,分别是:

  • 主设备出、从设备入(Master Out Slave In,MOSI):由主设备向从设备传输数据的信号线,也称为从设备输入(Slave Input/Slave Data In,SI/SDI)。

  • 主设备入、从设备出(Master In Slave Out,MISO):由从设备向主设备传输数据的信号线,也称为从设备输出(Slave Output/Slave Data Out,SO/SDO)。

  • 串行时钟(Serial Clock,SCLK):传输时钟信号的信号线。

  • 从设备选择(Slave Select,SS):用于选择从设备的信号线,低电平有效。

    SPI 的工作时序模式由CPOL(Clock Polarity,时钟极性)和CPHA(Clock Phase,时钟相位)之间的相位关系决定,CPOL 表示时钟信号的初始电平的状态,CPOL 为0 表示时钟信号初始状态为低电平,为1 表示时钟信号的初始电平是高电平。CPHA 表示在哪个时钟沿采样数据,CPHA 为0 表示在首个时钟变化沿采样数据,而CPHA 为1 则表示在第二个时钟变化沿采样数据。

UART、SPI、I2C比较

  • I2C线更少,比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。

  • SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。

  • I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。

  • UART一帧可以传5/6/7/8位,I2C必须是8位。I2C和SPI都从最高位开始传。

  • SPI用片选信号选择从机,I2C用地址选择从机。

RS232串口通信

    传输线有两根,地线一根。电平是负逻辑:

    -3V~-15V逻辑“1”,+3V~+15V逻辑“0”。

    RS-232串口通信传输距离15米左右。可做到双向传输,全双工通讯,传输速率低20kbps 。

    下图是DB9公头和母头的定义,一般用的最多的是RXD、TXD、GND三个信号。

    TTL和RS-232互转

    单片机接口一般是TTL电平,如果接232电平的外设,就需要加TTL转RS232的模块。如下图,可用芯片MAX232进行转换。

RS422串口通信

    RS-422有4根信号线:两根发送、两根接收和一根地线,是全双工通信。

    它有一个主设备,其余为从设备,从设备之间不能通信,所以RS-422支持点对多的双向通信。

RS485串口通信

    RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。

    采用两线半双工传输,最大速率10Mb/s,电平逻辑是两线的电平差来决定的,提高抗干扰能力,传输距离长(几十米到上千米)。

    +2V~+6V逻辑“1”,-2~-6V逻辑“0”。

    TTL转成RS-485很常见,比如MAX485,参考电路如下

    RE引脚:接收器输出使能(低电平有效)。

    DE引脚:发送器输出使能(高电平有效)。可以直接通过MCU的IO端口控制。

TTL

    嵌入式里面说的串口,一般是指UART口。4个pin(Vcc,GND,RX,TX),用TTL电平。

    PC中的COM口即串行通讯端口,简称串口。9个Pin,用RS232电平。

    串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指电平标准(电信号)。

    单片机与PC通讯示意图如下:

CAN总线

    CAN是控制器局域网络的简称,是一种能够实现分布式实时控制的串行通信网络。CAN总线的功能复杂且智能。主要用于汽车通信。

    CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻。

    每一个设备既可做主设备也可做从设备。CAN总线的通信距离可达10千米(速率低于5Kbps),速度可达1Mbps(通信距离小于40M)。


CAN电平逻辑

    CAN总线采用"线与"的规则进行总线冲裁,1&0为0,所以称0为显性,1为隐性。

    从电位上看,因为规定高电位为0,低电位为1,同时发出信号时实际呈现为高电位,从现象上看就像0覆盖了1,所以称0为显性,1为隐性。

USB通信串行总线

    USB接口最少有四根线,其中有两根是数据线,而所有的USB数据传输都是通过这两根线完成。它的通信远比串口复杂的多。

    两根数据线采用差分传输,即需要两根数据线配合才能传输一个bit,因此是半双工通信,同一时间只能发送或者接收。

    USB 规定,如果电压电平不变,代表逻辑1;如果电压电平变化,则代表逻辑0。

USB转TTL

    一般USB转串口都是用CH340G芯片。

    用串口通信比USB简单,因为串口通信没有协议。

SD卡

    SD卡是一种存储卡,可用于手机作为内存卡使用。

    嵌入式中,单片机与SD卡通信有两种模式:

  • SPI总线通信模式

  • SD总线通信模式

    值得注意的是,SD总线模式中有4条数据线;SPI总线模式中仅有一条数据线(MOSI和MISO不能同时读数据,也不能同时写数据);这样在嵌入式中,单片机与SD卡通信时采用SD总线模式比SPI总线模式速度快几倍。

1-WIRE总线

    1-Wire由美国Dallas(达拉斯)公司推出,是一种异步半双工串行传输。采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的。

    单总线的数据传输速率一般为16.3Kbit/s,最大可达142 Kbit/s,通常情况下采用100Kbit/s以下的速率传输数据。

    1-Wire线端口为漏极开路或三态门的端口,因此一般需要加上拉电阻Rp,通常选用5K~10KΩ

    主要应用在:打印墨盒或医疗消耗品的识别;印刷电路板、配件及外设的识别和认证。

DMA直接存储器访问

    DMA是STM32内的一个硬件模块,它独立于CPU,在外围设备和内存之间进行数据传输,解放了CPU,可使CPU的效率大大提高。

    它可以高速访问外设、内存,传输不受CPU的控制,并且是双向通信。因此,使用DMA可以大大提高数据传输速度,这也是ARM架构的一个亮点——DMA总线控制。

    DMA就相应于一条高速公路,专用、高速的特性。如果不使用DMA,也可以达到目的,只是达到目的的时间比较长。

Ethernet以太网

    以太网是目前应用最普遍的局域网技术。

    大家知道,以太网接口可分为协议层和物理层。

    协议层是由一个叫MAC(Media Access Layer)控制器的单一模块实现。

    物理层由两部分组成,即PHY(Physical Layer)和传输器。

    目前很多主板的南桥芯片已包含了以太网MAC控制功能,只是未提供物理层接口。因此,需外接PHY芯片以提供以太网的接入通道。

    网络变压器的作用是:

  • 耦合差分信号,抗干扰能力更强

  • 变压器隔离网线端不同设备的不同电平,隔离直流信号

    以太网接口参考电路,如下图所示。


关注公众号,加星标,回复1024获取学习资料,每天进步一点点。


声明:

本号原创、转载的文章、图片等版权归原作者所有,如有侵权,请联系删除。

关注、点赞、在看、转发,支持优质内容! 

评论 (0)
  • Wayking RadarSensors_LRR7710_中英文产品手册
    Wayking RadarSensors_LRR7710_中英文产品手册
  • XPM52C规格书 65W USB PD 多协议降压芯片
    XPM52C 是一款集成同步开关的降压转换器,支持多种输出快充协议、支持 USB Type-C 和 PD 等多种快充协议,包括 USB Type-C 和 PD 协议,高通 QC2.0/3.0/3.0+,华 为 FCP/SCP/HVSCP,VOOC 2.0/4.0 协议,联发科 PE,三星 AFC,USB BC1.2 DCP 以及 Apple 2.4A 充电规范,为车载充电器、各种快充适配器、智能排插等供电设备提供完 整的解决方案。
  • 15、贴片叠层电感应用测试中不良率高的原因
    15、贴片叠层电感应用测试中不良率高的原因
  • CS5511芯片设计原理图
    CS5511的LVDS输出可以配置为在120 Hz时支持高达1920x1080或在100 Hz时支持1920x1200。CS5511 LVDS接口支持单端口和双端口模式。CS5511具有5个配置引脚,可支持32个不同面板分辨率和LVDS工作模式与一个闪光图像的组合。
  • [完结19章]SpringBoot开发双11商品服务系统教程下载
    如何使用SpringBoot开发一款关于双11商品服务的系统?今天就给大家说道说道,希望对大家的学习有所帮助!
    1.什么是SpringBoot?
    Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发的。
    Spring Boot是由Pivotal团队提供的基于Spring的框架,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot集成了绝大部分目前流行的开发框架,就像Maven集成了所有的JAR包一样,Spring Boot集成了几乎所有的框架,使得开发者能快速搭建Spring项目。
    2.SpringBoot的优点
    快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
    内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。
    快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬。
    可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发。
    ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况

    后端配置
    1.1创建Springboot工程
    打开idea->file->new->project
    选择spring Initializer进行配置,java版本选择8,点击next
    - internal 应用代码
        - controllers 控制器模块
          - admin 后端控制器
          - front 前端控制器
        - listen redis监听器
        - models 模型模块
        - service 服务模块
          - product_serive 商品服务
          - wechat_menu_serive 微信公众号菜单服务
          ......
    - conf 公共配置
      -config.yml yml配置文件
      -config.go 配置解析,转化成对应的结构体
      
    - middleware 中间件
        - AuthCheck.go  jwt接口权限校验
    - cors.go 跨域处理
    ......
    - pkg 程序应用包
      - app
      - base
      - casbin
      - jwt
      - qrcode
      - wechat
      .....
    - routere 路由
    - logs 日志存放
    - runtime 资源目录
    首先,我仔细分析了需求,并且根据业务逻辑设计了合适的接口。
    对于多表关联查询,我使用了MyBatis的注解来编写SQL语句,并通过@One和@Many等注解来实现结果集的映射。
    对于数据分页,我使用了MyBatis-Plus提供的Page对象,并结合相关方法来实现数据分页查询。
    2. 上课中的优秀项目
    在课堂上,我完成了一个优秀的项目,主要是学生实体类的增删改查功能。通过这个项目,我巩固了对Spring Boot框架的理解和掌握。
    具体实现如下:
    //初始化redis
    err := cache.InitRedis(cache.DefaultRedisClient, &redis.Options{
    Addr:        global.CONFIG.Redis.Host,
    Password:    global.CONFIG.Redis.Password,
    IdleTimeout: global.CONFIG.Redis.IdleTimeout,
    }, nil)
    if err != nil {
    if err != nil {
    global.LOG.Error("InitRedis error ", err, "client", cache.DefaultRedisClient)
    panic(err)
    }
    panic(err)
    }

    //初始化mysql
    err = db.InitMysqlClient(db.DefaultClient, global.CONFIG.Database.User,
    global.CONFIG.Database.Password, global.CONFIG.Database.Host,
    global.CONFIG.Database.Name)
    if err != nil {
    global.LOG.Error("InitMysqlClient error ", err, "client", db.DefaultClient)
    panic(err)
    }
    global.Db = db.GetMysqlClient(db.DefaultClient).DB

    开发步骤
    SpringBoot 开发起来特别简单,分为如下几步:
    创建新模块,选择Spring初始化,并配置模块相关基础信息
    选择当前模块需要使用的技术集
    开发控制器类
    运行自动生成的Application类
    知道了 SpringBoot 的开发步骤后,接下来我们进行具体的操作
    shutdown.NewHook().Close(
    //关闭http server
    func() {
    ctx, cancel := context.WithTimeout(context.Background(), time.Second*10)
    defer cancel()
    if err := server.Shutdown(ctx); err != nil {
    logging.Error("http server shutdown err", err)
    }
    },

    func() {
    //关闭kafka producer(特别是异步生产者,强制关闭会导致丢消息)
    if err := mq.GetKafkaSyncProducer(mq.DefaultKafkaSyncProducer).Close(); err != nil {
    logging.Error("kafka shutdown err", err)
    }
    },
    func() {
    //关闭mysql
    if err := db.CloseMysqlClient(db.DefaultClient); err != nil {
    logging.Error("mysql shutdown err", err)
    }
    },
    func() {
    //关闭redis
    if err := cache.GetRedisClient(cache.DefaultRedisClient).Close(); err != nil {
    logging.Error("redis shutdown err", err)
    }
    },
    )
    //也可以自己实现优雅关闭
    //signals := make(chan os.Signal, 0)
    //signal.Notify(signals, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
    //s := <-signals
    //global.LOG.Warn("shop receive system signal:", s)
    //ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
    //defer cancel()
    //err := server.Shutdown(ctx)
    //if err != nil {
    // global.LOG.Error("http server error", err)
    //}
    //mq.GetKafkaSyncProducer(mq.DefaultKafkaSyncProducer).Close()

    选择 Spring Initializr ,用来创建 SpringBoot 工程
    以前我们选择的是 Maven ,今天选择 Spring Initializr 来快速构建 SpringBoot 工程。而在 Module SDK 这一项选择我们安装的 JDK 版本。
    type StoreProduct struct {
    Image        string         `json:"image" valid:"Required;"`
    SliderImage  string         `json:"slider_image" valid:"Required;"`
    StoreName    string         `json:"store_name" valid:"Required;"`
    StoreInfo    string         `json:"store_info" valid:"Required;"`
    Keyword      string         `json:"keyword" valid:"Required;"`
    CateId       int            `json:"cate_id" valid:"Required;"`
    ProductCate  *StoreCategory `json:"product_cate" gorm:"foreignKey:CateId;association_autoupdate:false;association_autocreate:false"`
    Price        float64        `json:"price" valid:"Required;"`
    VipPrice     float64        `json:"vip_price" valid:"Required;"`
    OtPrice      float64        `json:"ot_price" valid:"Required;"`
    Postage      float64        `json:"postage" valid:"Required;"`
    UnitName     string         `json:"unit_name" valid:"Required;"`
    Sort         int16          `json:"sort" valid:"Required;"`
    Sales        int            `json:"sales" valid:"Required;"`
    Stock        int            `json:"stock" valid:"Required;"`
    IsShow       *int8          `json:"is_show" valid:"Required;"`
    IsHot        *int8          `json:"is_hot" valid:"Required;"`
    IsBenefit    *int8          `json:"is_benefit" valid:"Required;"`
    IsBest       *int8          `json:"is_best" valid:"Required;"`
    IsNew        *int8          `json:"is_new" valid:"Required;"`
    Description  string         `json:"description" valid:"Required;"`
    IsPostage    *int8          `json:"is_postage" valid:"Required;"`
    GiveIntegral int            `json:"give_integral" valid:"Required;"`
    Cost         float64        `json:"cost" valid:"Required;"`
    IsGood       *int8          `json:"is_good" valid:"Required;"`
    Ficti        int            `json:"ficti" valid:"Required;"`
    Browse       int            `json:"browse" valid:"Required;"`
    IsSub        *int8          `json:"is_sub" valid:"Required;"`
    TempId       int64          `json:"temp_id" valid:"Required;"`
    SpecType     int8           `json:"spec_type" valid:"Required;"`
    IsIntegral   *int8          `json:"isIntegral" valid:"Required;"`
    Integral     int32          `json:"integral" valid:"Required;"`
    BaseModel
    }

    //定义商品消息结构
    type ProductMsg struct {
    Operation string `json:"operation"`
    *StoreProduct
    }
    切换web服务器
    现在我们启动工程使用的是 tomcat 服务器,那能不能不使用 tomcat 而使用 jetty 服务器,jetty 在我们 maven 高级时讲 maven 私服使用的服务器。而要切换 web 服务器就需要将默认的 tomcat 服务器给排除掉,怎么排除呢?使用 exclusion 标签
    func (e *StoreProductController) Post(c *gin.Context) {
    var (
    dto  dto2.StoreProduct
    appG = app.Gin{C: c}
    )
    httpCode, errCode := app.BindAndValid(c, &dto)
    if errCode != constant.SUCCESS {
    appG.Response(httpCode, errCode, nil)
    return
    }
    productService := product_service.Product{
    Dto: dto,
    }
    model, err := productService.AddOrSaveProduct()
    if err != nil {
    appG.Response(http.StatusInternalServerError, constant.FAIL_ADD_DATA, nil)
    return
    }

    //发消息队列
    defer func() {
    operation := product.OperationCreate
    if dto.Id > 0 {
    operation = product.OperationUpdate
    }
    productMsg := models.ProductMsg{
    operation,
    &model,
    }
    msg, _ := json.Marshal(productMsg)
    p, o, e := mq.GetKafkaSyncProducer(mq.DefaultKafkaSyncProducer).Send(&sarama.ProducerMessage{
    Topic: product.Topic,
    Key:   mq.KafkaMsgValueStrEncoder(strconv.FormatInt(dto.Id, 10)),
    Value: mq.KafkaMsgValueEncoder(msg),
    },
    )
    if e != nil {
    global.LOG.Error("send product msg error ", e, "partition :", p, "offset :", o, "id :", dto.Id)
    }
    }()

    appG.Response(http.StatusOK, constant.SUCCESS, nil)

    }


  • 首个基于Transformer的分割检测+视觉大模型视频课程(附源码+课件)
    众所周知,视觉系统对于理解和推理视觉场景的组成特性至关重要。这个领域的挑战在于对象之间的复杂关系、位置、歧义、以及现实环境中的变化等。作为人类,我们可以很轻松地借助各种模态,包括但不仅限于视觉、语言、声音等来理解和感知这个世界。现如今,随着 Transformer 等关键技术的提出,以往看似独立的各个方向也逐渐紧密地联结到一起,组成了“多模态”的概念。

    多功能
    通过引入灵活的提示引擎,包括点、框、涂鸦 (scribbles)、掩模、文本和另一幅图像的相关区域,实现多功能性;
    可组合
    通过学习联合视觉-语义空间,为视觉和文本提示组合实时查询,实现组合性,如图1所示;
    可交互
    通过结合可学习的记忆提示进行交互,实现通过掩模 引导的交叉注意力保留对话历史信息;
    语义感知
    通过使用文本编码器对文本查询和掩模标签进行编码,实现面向开放词汇分割的语义感知。

    超大规模视觉通用感知模型由超大规模图像、文本主干网络以及多任务兼容解码网络组成,它基于海量的图像和文本数据构成的大规模数据集进行预训练,用于处理多个不同的图像、图像-文本任务。此外,借助知识迁移技术能够实现业务侧小模型部署。

    超大规模视觉通用感知模型面临的挑战:
    (1)网络参数量庞大,通常超十亿参数,训练稳定性、收敛性、过拟合等问题相较于小网络挑战大很多。
    (2)原始数据集包含数十亿异质低质量图片与海量文本,多步训练以利用异质的多模态多任务数据,流程复杂,存在灾难性遗忘,难以定位精度等问题。
    (3)实验成本高,通常需要上千块GPU并行训练数周,需要研究者有敏锐的分析能力和扎实的知识基础。
    (4)工程挑战多,海量数据的吞吐,大型GPU集群上的并行算法,超大参数量模型的内存管理。

    提示工程
    大多数视觉数据集由图像和相应文本标签组成,为了利用视觉语言模型处理视觉数据集,一些工作已经利用了基于模版的提示工程,
    text_descriptions = [f"This is a photo of a {label}" for label in cifar100.classes]  
    text_tokens = clip.tokenize(text_descriptions).cuda()

    除了此类大型视觉语言基础模型外,一些研究工作也致力于开发可以通过视觉输入提示的大型基础模型。例如,最近 META 推出的 SAM 能够执行与类别无关的分割,给定图像和视觉提示(如框、点或蒙版),指定要在图像中分割的内容。这样的模型可以轻松适应特定的下游任务,如医学图像分割、视频对象分割、机器人技术和遥感等

    从模型训练、模型分发、模型商业化,美图体系化地同创作者和开发者共建模型生态:

    (1)模型训练:提供二次训练能力,并持续不断地为创作者提供服务,包括培训、社区和模型创作大赛。

    (2)模型分发:创作者和开发者共建的模型可以在美图的产品内进行分发,在分发过程中持续优化模型。

    (3)模型商业化:行业客户可通过 MiracleVision 的 API 和 SDK 进行商业使用,创作者和开发者通过商业合作获得经济收益。
    通用视觉-语言学习的基础模型
    UNITER:结合了生成(例如掩码语言建模和掩码区域建模)和对比(例如图像文本匹配和单词区域对齐)目标的方法,适用于异构的视觉-语言任务。
    Pixel2Seqv2:将四个核心视觉任务统一为像素到序列的接口,使用编码器-解码器架构进行训练。
    Vision-Language:使用像 BART 或 T5 等预训练的编码器-解码器语言模型来学习不同的计算机视觉任务。
    模型整体结构上,抛弃了CNN,将 BERT 原版的 Transformer 开箱即用地迁移到分类任务上面,在使用大规模训练集的进行训练时,取得了极好的效果。
    同时,在大规模数据集上预训练好的模型,在迁移到中等数据集或小数据集的分类任务上以后,也能取得比CNN更优的性能。
    模型整体结构如下图所示,完全使用原始 BERT 的 Transformer 结构,主要是对图片转换成类似 token 的处理,原文引入了一个 patch 的概念,首先把图像划分为一个个的 patch,然后将 patch 映射成一个 embedding,即图中的 linear projection 层,将输入转换为类似 BERT 的输入结构,然后加上 position embedding,这里的 position 是1D的,最后加上一个learnable classification token 放在序列的前面,classification由 MLP 完成。

    这里我们用 RAM 提取了图像的语义标签,再通过将标签输入到 Grounding-DINO 中进行开放世界检测,最后再通过将检测作为 SAM 的提示分割一切。目前视觉基础大模型可以粗略的归为三类:
    textually prompted models, e.g., contrastive, generative, hybrid, and conversational;
    visually prompted models, e.g., SAM, SegGPT;
    heterogeneous modalities-based models, e.g., ImageBind, Valley.

    CoCa 通过将所有标签简单地视为文本,对 web-scale alt-text 和 annotated images 进行了从头开始端到端的预训练,无缝地统一了表示学习的自然 语言 监督。因此,CoCa 在广泛的下游任务上实现了最先进的性能,零样本传输或最小的任务特定适应, 跨越视觉识别(ImageNet,Kinetics-400/600/700,Moments-in-Time )、跨模式检索(MSCOCO、Flickr30K、MSR-VTT)、 多模式理解(VQA、SNLI-VE、NLVR2)和图像字幕(MSCOCO、NoCaps)。在 ImageNet 分类中,CoCa 获得了 86.3% 的 zero-shot top-1 准确率, frozen encoder and finetune classifier 是 90.6%,finetune encoder 可以到 91.0%。

    截止目前国内外已经发布了许多包括 NLP, CV 和 多模态在内的大规模模型,但是这些模型在应用落地上还是有待进一步探究的,目前应用落地较好的有华为 的盘古,在电网和金融圈都有应用;智源的悟道系列在诗词图文上都有广泛应用,可以帮助学生看图写作,根据文字生成插图等;百度的文心也发布了在金融方 面的应用。但截止目前为止大模型在实际中的应用还不是很理想,大模型发展的初衷是使用一个预训练好的大模型代替一堆小作坊似的根据不同任务训练的小模 型,通过模型蒸馏知识迁移等技术在小模型上使用少量数据集达到超过原来小模型性能的目标。CV 大模型在应用上的一个难点是与实际应用相结合,目前社会中 用的较多的视觉相关的深度学习模型主要包括物体检测,人脸识别以及缺陷检测(部分)相比 NLP 模型在实际中的使用少很多,因此将 CV 模型与实际生产相 结合发现更多的应用场景很关键。另外一个 CV 大模型应用的难点就是如何快速高效的使用蒸馏和知识迁移技术提升下游任务的性能,这两点难题的解决在 CV 大模型的实际应用中都刻不容缓。

    总结起来,将大模型应用于更高分辨率的下游视觉任务具有以下好处:提高感知能力、改善定位精度、提升语义理解、改善细节保留和边缘清晰度、增加鲁棒性和泛化能力,以及推动研究进展。这些好处使得大模型在处理高分辨率图像时能够获得更准确、更细致和更真实的结果。随着深度学习和计算资源的不断发展,我们可以期待更先进的大模型和相关技术的出现,进一步推动计算机视觉在高分辨率图像任务中的应用和突破

  • RadarSensors_ARS308-21_cn数据手册
    RadarSensors_ARS308-21_cn数据手册
  • 特斯拉电路图.rar
    特斯拉电路图,欢迎大家下载
  • 12、如何挑选立式磁棒电感厂家
    12、如何挑选立式磁棒电感厂家
  • 13、如何解决直插差模电感的异响问题
    13、如何解决直插差模电感的异响问题
  • RadarSensors_ARS408-21_cn数据手册
    RadarSensors_ARS408-21_cn数据手册
  • 浅谈地下污水厂智能照明控制应用

    结合某地下污水厂项目,从结构、系统组成、系统功能、控制要求、场景模式等方面介绍了地下污水厂智能照明控制系统,探索了一套适用于地下污水厂的智能照明控制策略,以确保地下污水厂正常运行的照明需求。

  • CS5511数据手册
    CS5511是一个将DP/eDP输入转换为LVDS信号的桥接芯片,此外,CS5511可以用作在DP/eDP输入到DP/eDP输出场景中桥接芯片
  • 注释EN55014-1
    注释EN55014-1
  • 光耦合器是一种在现代科技中发挥关键作用的设备,其应用领域横跨通信、医疗、工业等多个行业。光耦合器通过巧妙地将光电子器件结合起来,实现了光与电的高效转换和传输,为光电子领域的发展提供了强大的支持。光耦合器是什么光耦合器是一种用于隔离、耦合和传输光信号的器件。其主要功能是将一个光学系统的光信号转换成电信号,或者将电信号转换为光信号,以实现光与电之间的高效转换。在各类光电子设备中,光耦合器起到了桥梁的作用,实现了不同部分之间的无缝衔接。光耦合器的原理及结构光耦合器的基本原理是通过光电二极管和光电晶体管
    克里雅半导体科技 2023-12-06 10:58 31浏览
  • #这段代码是一个基于C语言的嵌入式程序,用于在HPMicro平台上运行。它的主要功能是初始化一个LED灯,并使其以一定的时间间隔闪烁。#以下是对代码的解析:#```c#include #include "board.h"#include "hpm_debug_console.h"#define LED_FLASH_PERIOD_IN_MS 300int main(void){    int u;    board_init(); // 初始化板子 
    丙丁先生 2023-12-06 14:22 108浏览
  • 近日,在传感器专家网的压力传感器专业交流群组中,有相关专家交流了目前我国压力传感器的一些情况。交流中指出,目前国内已有一些企业在做MEMS压力传感器芯片,在该领域国内相关企业总体来说技术差不多,精度等关键技术指标彼此间相差不大,但与国外压力传感器芯片巨头相比,精度等指标却有较大差距。传感器专家网https://www.sensorexpert.com.cn专注于传感器技术领域,致力于对全球前沿市场动态、技术趋势与产品选型进行专业垂直的服务,是国内领先的传感器产品查询与媒体信息服务平台。基于传感器
    传感器专家网 2023-12-06 11:03 52浏览
  • 摘要:根据CINNO Research产业统计数据,Q3'23国内智能手机屏下指纹识别占比创历史新高达45%,而侧边指纹识别占比较去年同期下降12%,后置指纹识别占比下降至1%,而前置指纹已淡出国内智能手机指纹识别市场。根据CINNO Research产业统计数据,受华为、荣耀热门机型销售的影响,Q3'23国内智能手机指纹识别搭载率上升至84%。图示:中国市场智能手机指纹识别技术别占比趋势来源: CINNO Research月度中国市场智能手机指纹识别应用趋势报告2023年第三季度,国内OLED
    CINNOResearch 2023-12-06 12:53 94浏览
  • 导语:CINNO Research统计数据表明,Q3'23全球半导体设备厂商市场规模前十大公司合计超250亿美元,同比下降9%,环比增长3%。CINNO Research统计数据表明,Q3'23全球半导体设备厂商市场规模Top10营收合计超250亿美元,同比下降9%,环比增长3%。Q3'23全球半导体设备厂商市场规模排名Top10与1H'23的Top10设备商相比,日立高新(Hitachi High-Tech)排名跌出Top10,泰瑞达(Teradyne)排名回归第十。荷兰公司阿斯麦(ASML)
    CINNOResearch 2023-12-06 14:04 110浏览
  • ​无论当下看不看机会,把握行情肯定是没错。 通过岗位数量,岗位要求(如对学历,技术点的要求)来了解行情是有效途径之一。 可以找我了解更多全国岗位。 【嵌入式软件工程师】 上海,风电行业国资企业,对学历有要求。 岗位职责: 1. 负责产品全周期研发,包括市场调研、客户需求技术转化、产品设计、产品制造、产品安装调试、产品测试验证和产品认证; 2. 负责产品失效根因分析,提供有效解决方案; 3. 负责组织供应商选择和产品质量管控; 4. 组织编制产品开发技
    落子无悔 2023-12-06 13:27 63浏览
  • 近日,英国伦敦的可持续倡议(SMI)公布了2023年《地球宪章》徽章获奖名单。在这个名单中,全球共17家企业入选,中国企业仅占两席。最值得注目的是,海尔智家作为唯一获奖的中国家电企业,荣登榜单。 据了解,《地球宪章》徽章由现任英国国王查尔斯三世于2021年发起,旨在表彰对全球环境的可持续发展做出突出贡献的企业,鼓励企业将自然、人类和地球置于核心位置,通过创新和可持续的商业模式,共同应对全球气候挑战。获奖企业由来自环境、商业、政治和慈善界的全球专家小组经过严苛的评选选出。 海尔
    锦缎研究院 2023-12-06 12:41 53浏览
  • 背景   随着汽车行业的不断迭代发展,市场及消费者对汽车提出了更高的要求,智能网联、自动驾驶等新技术的应用推动整车厂对车载芯片、汽车软件等方面投入了更多的精力,SOA(面向服务的架构)逐渐成为大多整车厂顺应市场趋势和技术趋势的首选。SOA架构使服务间的通讯变得更加简单,ECU更新、软件升级等变得更加灵活,使系统的健壮性和拓展性获得了大幅提高。但是在SOA架构开发阶段,由于市面上的IDL(接口描述语言)众多,例如FIDL、Protobuf、vCDL、ARXML、OMG IDL、CAN
    北汇信息 2023-12-06 11:41 76浏览
  • 12月5日中国台湾地区“国科委”发布了一份包含22项核心关键技术的清单,这些技术具有“主导优势与保护急迫性”,列入清单的技术在出口方面将面临审查。传感器专家网https://www.sensorexpert.com.cn专注于传感器技术领域,致力于对全球前沿市场动态、技术趋势与产品选型进行专业垂直的服务,是国内领先的传感器产品查询与媒体信息服务平台。基于传感器产品与技术,对广大电子制造从业者与传感器制造者提供精准的匹配与对接。技术清单中,包含多项传感器技术,以及14纳米以下制程芯片制造技术等半导
    传感器专家网 2023-12-06 19:57 36浏览
  •     今天看到一个麦肯锡的统计数据,2021年中国出口的电子产品占世界34%。越来越多的PCB组件在中国造出来,然后送往全世界。作为电子工程师,除了增加修养,不断实现良好的设计,也要减少电子垃圾,对国际上的主要环保要求有所了解。    ROHS  Restriction of Hazardous Substances  有毒物质限制        这个标准针对 6 类电子产品中常见的的有毒物质,
    电子知识打边炉 2023-12-06 22:21 121浏览
  • Delta-Sigma 模数转换器(Delta-Sigma)可为精密测量应用提供低功耗、低噪声前端。它可用于多种应用,具体取决于分辨率、采样速率和操作模式。它能够对 16 位音频进行高速低分辨率通信处理,并且能够对应变计、热电偶和其他高精度传感器进行高精度的 20 位低速转换。处理音频信息时, Delta-Sigma采用连续操作模式。当用于扫描多个传感器时, Delta-Sigma采用其中一个多样本采样模式。用于单点高分辨率测量时,Delta-Sigma采用单一样本采样模式。Delta-sigm
    blackguest 2023-12-07 00:34 39浏览
  • 文章目录前言1 SD NAND概述2 代码说明3 记录Log前言本文基于 ESP32 芯片作为主控制器,测试 SD NAND 记录飞控 Log 功能。关于 MCU 的存储方面,以前基本上用内置的 E2PROM,或者是外置的 NOR Flash 就可以。随着物联网的兴起,MCU 的应用越来越广泛,逐渐的 MCU 会涉及到大容量的存储需求,用来存储音频,图片(GUI)、视频缓存、协议栈等等。传统的 E2PROM 和 NOR Flash 就不够用了。这个时候 MCU 可能就需要用到 NAND Flas
    雷龙发展 2023-12-06 18:18 27浏览
  • 国产光耦是近年来中国电子产业中备受关注的领域之一。在全球电子市场的竞争中,中国光电行业正逐渐崭露头角。本文将详细分析国产光耦的发展趋势,探讨其未来发展的关键因素与前景。国产光耦的现状国产光耦是一种用于电气隔离和信号传输的关键电子元器件,广泛应用于通信、工控、医疗、消费电子等领域。随着中国电子制造业的不断壮大,国产光耦在市场上逐渐崭露头角。目前,国产光耦已经实现了从技术到市场的多方面突破,主要体现在以下几个方面:1. 技术创新国产光耦制造商不断投入研发,推动光耦技术的创新与升级。新材料的应用、封装
    克里雅半导体科技 2023-12-06 10:56 36浏览
  • 来源:虹科汽车电子 虹科技术丨BabyLIN产品如何轻松搞定K线协议实现? 原文链接:https://mp.weixin.qq.com/s/LR7VHFQajjyw6s6bVDJmsg 欢迎关注虹科,为您提供最新资讯!   导读 为了实现K线通信,SDF-V3在协议部分中定义了新的协议类型KLine Raw。所有能够运行SDF-V3文件(LinWorks版本在V.2.29.4以上)并使用最新固件(固件版本在V.6.18以上)的BabyLIN设备都可以执行KLine Raw
    虹科电子科技 2023-12-06 14:42 119浏览
我要评论
0
2
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦