中颖51芯片学习8. ADC模数转换

news2024/11/18 8:33:35

中颖51芯片学习8. ADC模数转换

  • 一、ADC工作原理简介
    • 1. 概念
    • 2. ADC实现方式
    • 3. 基准电压
  • 二、中颖芯片ADC功能介绍
    • 1. 中颖芯片ADC特性
    • 2. ADC触发源
      • (1)**软件触发**
      • (2)**TIMER4定时器触发**
      • (3)**外部中断2触发**
      • (4)**PCA0计数器触发**
      • (5)**PWM1触发**
    • 3. ADC 触发优先级
      • (1)硬件触发优先级高于软件触发
      • (2)硬件触发信号的优先级
    • 4. ADC转换步骤
      • (1)软件ADC转换步骤
      • (2)硬件ADC转换步骤
  • 三、寄存器介绍
    • 1. 整体介绍
    • 2. ADC时钟寄存器
      • (1)位功能
      • (2)采样时间与转换时间
    • 3. ADC控制寄存器1
    • 4. ADC控制寄存器2
    • 5. 映射控制寄存器
    • 6. ADC信道配置寄存器1
    • 7. ADC信道配置寄存器2
    • 8. 通道寄存器
    • 9. 结果寄存器
  • 四、单次转换示例
    • 1. 引脚示例
    • 2. adc_utils.c
    • 3. main.c函数
    • 4. 实验步骤
  • 五、序列转换

在这里插入图片描述

*本文示例使用芯片型号是中颖 SH79F9476 *

一、ADC工作原理简介

1. 概念

ADC(Analog-to-Digital Converter)是一种将模拟信号转换为数字信号的电路或模块,以将来自外部传感器或其他模拟设备的模拟电压信号转换为处理器能处理的数字信号。

ADC转换中,采样率SPS(Samples Per Second),即每秒样本数用来衡量采样的速度,它的单位通常用Hz表示, 即 1SPS=1Hz。

2. ADC实现方式

ADC(模数转换器)的实现方式主要有以下几种:

  1. 逐次逼近型 ADC(Successive Approximation ADC):它是一种常见且常用的 ADC 实现方式,通过逐步逼近输入信号的模拟值,直到找到与其最接近的数字量化值。逐次逼近型 ADC 的精度通常较高,适用于许多应用场景。

  2. 积分型 ADC(Integrating ADC):积分型 ADC 基于模拟输入信号的积分过程。它通过将输入信号与一个可调电压比较器连接,并将积分电压与参考电压进行比较,以确定输入信号的大小。积分型 ADC 通常用于需要高精度和高速度的应用中。

  3. 逐渐逼近积分型 ADC(Ramp-compare ADC):逐渐逼近积分型 ADC 通过对输入信号进行积分,并在积分值达到某个阈值时停止。这种类型的 ADC 通常用于低速和低精度的应用中。

  4. Sigma-Delta(Σ-Δ)ADC:Sigma-Delta ADC 是一种利用过采样技术和反馈控制来实现高精度和低成本的 ADC。它通过将模拟输入信号与 DAC 输出信号相减,并将结果输入一个积分器中,以产生一个误差信号,然后将误差信号作为反馈输入,以调整 DAC 输出。这种方式的 ADC 通常用于需要极高分辨率和动态范围的应用中,如音频处理和传感器接口。

本文介绍的中颖C51芯片使用12位逐次逼近型模数转换器,其结构框图如下图所示:
在这里插入图片描述

3. 基准电压

基准电压在模数转换器(ADC)中是用作参考电压的稳定源,用于将输入信号的模拟电压转换为数字数据。

当选择 VDD 作为基准电压时,ADC 将使用芯片的供电电压作为参考电压。这种情况下,ADC 的输出将直接受到芯片供电电压的影响。

选择外部 VREF 端口输入作为基准电压时,可以通过外部电路提供一个稳定的参考电压。这样可以消除芯片供电电压的波动对 ADC 输出的影响,从而提高 ADC 的测量精度和稳定性。

二、中颖芯片ADC功能介绍

1. 中颖芯片ADC特性

  • 分辨率:具有12位分辨率,能够将模拟信号转换为数字数据,并提供高精度的测量。
  • 参考电压:可选择使用外部VREF或芯片内部的VDD作为基准电压。
  • 模拟输入通道:最多有9路模拟输入通道(CH0 - CH8),可以配置为转换序列中的任意一路。
  • 转换序列:启动一次ADC转换可以自动完成多通道转换(序列),每个通道都可以配置为转换序列中的一部分,最多可包含8个通道。
  • 转换速率:其中7路通道的转换速率为100KSPS,而2路通道的转换速率最高可达1MSPS。
  • 时间间隔设置:序列中相邻通道之间的转换时间间隔可以由软件通过寄存器设置。
  • 转换精度提高:对于单个信道,在模拟输入电压源推荐阻抗超出规定值时,可以通过增加采样时间来提高ADC精度。

2. ADC触发源

中颖C51芯片ADC触发方式可分为软件触发和硬件触发,硬件触发信号优先于软件触发信号,硬件触发又分为4种方式。

(1)软件触发

通过将ADCON1中的ADON位置1,这样可以使能ADC模块的时钟ADC_CLK,同时令ADON位置1可以令ADC模块中的模拟电路上电,从而触发ADC转换。

(2)TIMER4定时器触发

TIMER4 定时器触发方式下,ADC 的启动由 TIMER4 溢出信号触发。

(3)外部中断2触发

外部中断2 触发方式下,ADC 的启动由 外部中断2触发,可配置为上升沿、下降沿、双沿触发。

(4)PCA0计数器触发

PCA0 计数器触发方式下,ADC 的启动由 PCA0 计数器产生的计数器中断触发。

(5)PWM1触发

PWM1 触发方式下,ADC 的启动由 PWM1 模块产生的脉冲信号触发。当 PWM1 输出的脉冲信号的某个特定边沿到达时,会触发 ADC 启动,从而开始进行模数转换。这种触发方式适用于需要与 PWM1 输出同步触发 ADC 转换的场景,通常用于需要测量脉冲信号的周期或占空比的应用中。

3. ADC 触发优先级

(1)硬件触发优先级高于软件触发

当软件处于ADC工作状态,硬件触发会终止先前的ADC转换而重新启动一次序列转换,转换值会覆盖先前的结果。
在硬件触发ADC工作状态,软件再次触发无效。

(2)硬件触发信号的优先级

后触发发硬件ADC覆盖先触发的硬件ADC。

如:PWM1模块的触发ADC工作状态,又进来一次Timer4的触发信号,则ADC重新启动一次,转换值将覆盖先前的结果;

反之Timer4触发序列的转换过程中,又进来一次PWM1的触发信号,则也会终止先前的转换,重新启动一次序列,转换值覆盖先前的结果。

4. ADC转换步骤

(1)软件ADC转换步骤

  1. 使能ADC模块:在程序中设置相应的寄存器(例如ADCON1)来启用ADC模块。

  2. 选择参考电压:根据需要选择ADC模块的参考电压,可以是芯片的VDD或外部VREF引脚上的电压。

  3. 设置转换序列:配置转换序列,包括选择转换的通道数以及每个通道的模拟输入。

  4. 清零ADC中断标志:在开始转换前,将ADC中断标志位(ADCIF)清零,以便在转换完成后进行检查。

  5. 启动ADC转换:将GO/DONE位设置为1,开始ADC转换过程。

  6. 等待转换完成:在转换过程中,程序需要等待ADC转换完成。可以通过轮询ADCIF位或者使用ADC转换完成中断来检查转换是否完成。

  7. 读取转换结果:转换完成后,读取结果寄存器中的转换结果。根据需要,可以对结果进行后续处理或者存储。

  8. 重复转换:根据需要,可以重复以上步骤进行下一次ADC转换。

(2)硬件ADC转换步骤

  1. 使能ADC模块:同样,在程序中设置相应的寄存器来启用ADC模块。

  2. 选择参考电压:选择ADC模块的参考电压,可以是芯片的VDD或外部VREF引脚上的电压。

  3. 设置转换序列:配置转换序列,包括选择转换的通道数以及每个通道的模拟输入。

  4. 设置触发源:通过设置相关寄存器(例如ADCON1)来选择硬件触发ADC转换的源,可以是定时器、PWM模块、外部中断等。

  5. 清零ADC中断标志:同样,在开始转换前,将ADC中断标志位清零。

  6. 等待转换完成:在硬件触发的情况下,程序需要等待转换完成。转换完成后,可以通过轮询ADCIF位或者使用ADC转换完成中断来检查。

  7. 读取转换结果:转换完成后,读取结果寄存器中的转换结果。

  8. 重复转换:根据需要,可以重复以上步骤进行下一次ADC转换。

三、寄存器介绍

1. 整体介绍

ADC模块使用以下寄存器:

功能名称寄存器描述
ADC时钟设置ADT设置ADC时钟与采样时间
ADC控制1ADCON1AD模块使能、启动、参考电压的选择、及ADC转换完成中断标志、事件触发设置
ADC控制2ADCON2序列信道总数设置、相邻通道之间时间间隔设置
映像控制SEQCON通道及转换结果映像控制、转换结果对齐方式设置
AD信道配置1ADCH1设置AD信道引脚为AD信道功能或I/O功能
AD信道配置2ADCH2设置AD信道引脚为AD信道功能或I/O功能
通道和转换顺序设置SEQCHx指定序列中的通道以及转换顺序,x = 0 - 7
ADC结果寄存器低位ADDxLSEQCHx中指定通道转换值的低位,x = 0 - 7
ADC结果寄存器高位ADDxHSEQCHx中指定通道转换值的高位,x = 0 - 7

2. ADC时钟寄存器

(1)位功能

在这里插入图片描述

(2)采样时间与转换时间

时钟寄存器可以用来设置采样时间,要注意的是采样时间范围是:

2 t A D ≤ 采样时间 ≤ ( T S [ 3 : 0 ] + 1 ) ∗ t A D ≤ 15 t A D 2t_{AD} ≤ 采样时间 ≤ (TS[3:0]+1) * t_{AD} ≤ 15t_{AD} 2tAD采样时间(TS[3:0]+1)tAD15tAD

转换时间的公式如下:
一个通道的总转换时间 = 14 t A D + 采样时间 一个通道的总转换时间=14t_{AD}+采样时间 一个通道的总转换时间=14tAD+采样时间

示例: 系统时钟24M,TADC[2:0] 设置为 1111,
1/24M ≈ 0.042
t A D = 0.042 ∗ 192 = 8.064 u s t_{AD}=0.042*192=8.064us tAD=0.042192=8.064us
采样时间 = 28.064=16.128us
单通道转换时间 14
8.064+16.128=129.024us 。

可以通过表格查询:
在这里插入图片描述

3. ADC控制寄存器1

在这里插入图片描述
位说明:

  • bit7 ADON: ADC的允许位,0:禁止ADC模块 ;1:允许 ADC模块;
  • bit6 ADCIF:ADC中断标志位,0:无ADC中断,由软件清0 ;1:完成ADC转换
  • bit5 REFC:基准电压选择位,0:VDD为基准电压;1:外部 R E F 端口输入为基准电压 _{REF}端口输入为基准电压 REF端口输入为基准电压
  • bit4 XTRGEN:外部中断2信号启动序列转换控制位,0:禁用;1启用;
  • bit3 PCATRGEN:PCA0触发ADC,0:禁用;1:启用;
  • bit2 PWMTRGEN:PWM1触发ADC,0:禁用;1:启用;
  • bit1 TIMTRGEN:Timer4溢出触发ADC,0:禁用;1:启用;
  • bit0 GO/DONE:ADC启动控制/状态标志位,0:完成AD转换时,由硬件清0;1:开始AD转换,可由软件清0终止转换;

4. ADC控制寄存器2

在这里插入图片描述
位功能说明:
在这里插入图片描述

5. 映射控制寄存器

在这里插入图片描述
位功能说明:
在这里插入图片描述

6. ADC信道配置寄存器1

在这里插入图片描述

7. ADC信道配置寄存器2

在这里插入图片描述

8. 通道寄存器

在这里插入图片描述

9. 结果寄存器

在这里插入图片描述
在这里插入图片描述
位说明:
在这里插入图片描述

四、单次转换示例

下面示例使用AN0输入模拟信号,ADC转换后通过串口输出转换值。
需要注意的是,输入引脚如果悬空,则获取的数据会浮动不准确。

1. 引脚示例

在这里插入图片描述

2. adc_utils.c


/**
 * @brief ADC的单一通道转换(AN0)。
 *
 * 配置ADC使用VDD作为电压参考,没有触发。
 * 系统时钟设置为24M,ADC设置为50ksps采样。
 * 软件开始ADC转换,结果存储在ADC_res数组中。
 */
void init_adc_one(void){
    CLKCON = 0X00;  // 设置时钟控制寄存器
    ADCON1 = 0x80;	// 设置ADC控制寄存器1(ADON,VDD作为vref,没有触发)

    // 设置ADC时钟周期以实现24M SYSCLK下的50ksps
    ADT=0x95;

    ADCON2 = 0x00;	// 设置ADC控制寄存器2为1通道
    ADCH1 = 0x01;	// 设置ADC通道选择寄存器1为AN0
    SEQCHX = 0x00;	// 设置ADC序列控制寄存器为CH0

}
/**
 * @brief ADC的单一通道转换(AN0)。
 * @return
 */
UINT16 adc_one_trans(void){
    UINT16 result;
    // 启动ADC转换
    ADCON1 |= 0x01;  // 设置ADC GO位
    while(ADCON1 & 0x01);	// 等待ADC转换完成(检查go/done位)
    result = ((ADDXH << 4) + (ADDXL >> 4)); // 在ADC_res数组中存储ADC结果
    return result;
}

3. main.c函数

#include "SH79F9476.h"
#include "clk_utils.h"
#include "cpu.h"
#include "isr_utils.h"
#include "adc_utils.h"
#include "euart_utils.h"

void delay_us(void) {
    UINT16 i;
    for (i = 0; i < 1000; i++);
}

void delay_ms(UINT16 ms) {
    UINT16 i;
    for (i = 0; i < ms; i++)
        delay_us();
}

void main() {
    UINT16 result;
    // 选择高速时钟
    highFrequenceClk();

    // 初始化串口
    uart0_init();

    // 开启中断
    enableAllIsr();
    enableAdcIsr();
    init_adc_one();

    while (1) {
        // ADC转换
        result = adc_one_trans();
        // 高位
        uart0_send_byte((u8)(result >> 8));
        // 低位
        uart0_send_byte((u8) result);
        // 暂停1s
        delay_ms(600);
    }
}

4. 实验步骤

代码选项设置如下:
在这里插入图片描述

通过AN0(P0.0)输入模拟信号,观察串口输出电压值。

五、序列转换

ADC转换序列可以由单个信道或多个信道组成,对序列进行转换,即对序列中的通道进行逐个转换。 下面示例对AN7~AN0 进行ADC转换,结果按顺序存放在ADC_res[8]数组里。

/**
 * @brief ADC的多通道转换(AN0~AN7)。
 */
void init_adc_array(void){
    UINT16 ADC_res[8];
    UCHAR i=0;          // 初始化索引变量
    CLKCON = 0X00;      // 设置时钟控制寄存器
    ADCON1 = 0x80;	    // 设置ADC控制寄存器1(ADON,VDD作为vref,没有触发)

    // 24M SYSCLK, 50ksps
    ADT=0x95;

    ADCON2 = 0x72;	    // 8通道,间隔时间:4Tad
    ADCH1 = 0xff;	    // P0.7~P0.0,AN7~AN0通道作为adc输入
    // 配置通道交易顺序:AN7,AN6, AN5, AN4, AN3, AN2, AN1, AN0
    SEQCON = 0x00;	    // 配置SEQCH0
    SEQCHX = 0x07;	    // CH7
    SEQCON = 0x01;	    // 配置SEQCH1
    SEQCHX = 0x06;	    // CH6
    SEQCON = 0x02;	    // 配置SEQCH2
    SEQCHX = 0x05;	    // CH5
    SEQCON = 0x03;	    // 配置SEQCH3
    SEQCHX = 0x04;	    // CH4
    SEQCON = 0x04;	    // 配置SEQCH4
    SEQCHX = 0x03;	    // CH3
    SEQCON = 0x05;	    // 配置SEQCH5
    SEQCHX = 0x02;	    // CH2
    SEQCON = 0x06;	    // 配置SEQCH6
    SEQCHX = 0x01;	    // CH1
    SEQCON = 0x07;	    // 配置SEQCH7
    SEQCHX = 0x00;	    // CH0
    SEQCON &= 0x7f;	    // 结果左对齐
//	SEQCON |= 0x80;	    // 结果左对齐
    // 启动AD转换
    ADCON1 |= 0x01;
    while(ADCON1 & 0x01);	// 检查go/done
    // 获取结果。
    for(i = 0; i < 8; i++)
    {
        SEQCON = i; // 设置SEQCON为当前索引
        ADC_res[i] = ((ADDXH << 4) + (ADDXL >> 4)); // 在ADC_res数组中存储ADC结果
    }
}

本文学习资源参考中颖官方文档
本文代码开源地址:https://gitee.com/xundh/learn-sinowealth-51.git

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

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

相关文章

2024第八届图像、信号处理和通信国际会议 (ICISPC 2024)即将召开!

2024第八届图像、信号处理和通信国际会议 &#xff08;ICISPC 2024&#xff09;将于2024年7月19-21日在日本福冈举行。启迪思维&#xff0c;引领未来&#xff0c;ICISPC 2024的召开&#xff0c;旨在全球专家学者共襄盛举&#xff0c;聚焦图像信号&#xff0c;在图像中寻找美&am…

通用大模型研究重点之五:llama family

LLAMA Family decoder-only类型 LLaMA&#xff08;Large Language Model AI&#xff09;在4月18日公布旗下最大模型LLAMA3&#xff0c;参数高达4000亿。目前meta已经开源了80亿和700亿版本模型&#xff0c;主要升级是多模态、长文本方面工作。 模型特点&#xff1a;采用标准的…

企业监管工具:为何如此重要?

随着通信技术的发展&#xff0c;员工使用微信等即时通讯工具来进行工作沟通已经成为了常态。为了帮助企业有效地监管员工的工作微信使用情况&#xff0c;微信管理系统应运而生。 下面就一起来看看&#xff0c;它都有哪些功能吧&#xff01; 1、历史消息&#xff1a;洞察员工聊…

VMware设置Centos7静态ip

1、获取网段&#xff0c;子网掩码和网关 到此获取到的信息&#xff1a; 网段&#xff1a;192.168.204.128 ~ 192.168.204.254 子网掩码&#xff1a;255.255.255.0 网关IP&#xff1a;192.168.204.2 2、修改Centos系统的网络配置 使用命令vim /etc/sysconfig/network-scripts/…

一键搞定线性回归亚组森林图!快速生成顶级SCI论文的高清图!

现在亚组分析好像越来越流行&#xff0c;无论是观察性研究还是RCT研究&#xff0c;亚组分析一般配备森林图。 其实亚组分析的原理十分简单&#xff1a;它一般属于文章的附加内容&#xff0c;文章主体通过对全人群进行分析后&#xff0c;希望在亚组人群中进一步探索暴露与结局的…

DS:顺序表的实现

感谢各位友友的支持&#xff01;目前我的博客进行到了DS阶段&#xff0c;在此阶段首先会介绍一些数据结构相关的知识&#xff0c;然后再进行顺序表的学习。学习数据结构是为后面的通讯录项目打基础。 在学习数据结构之前&#xff0c;需要友友们掌握一些储备知识——结构体、指…

锦瑟香也MYLOVE:音质与颜值俱佳,入坑HiFi的热门好物!

当下尽管无线耳机大行其道&#xff0c;但有线耳机依旧保有其独特的魅力&#xff0c;特别是在音质表现上&#xff0c;它们拥有无线耳机难以企及的优势。如果对音质要求很高的话&#xff0c;口袋里还是少不了一副有线耳机。国产品牌中就有许多性价比高的有线耳机&#xff0c;它们…

Llama 3 开源!手把手带你进行大模型推理,部署,微调和评估

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学&#xff0c;针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 基于大模…

Linux网络编程--网络传输

Linux网络编程--网络传输 Linux网络编程TCP/IP网络模型网络通信的过程局域网通信跨网络通信&#xff1a;问题总结&#xff1a; Linux网络编程 TCP/IP网络模型 发送方&#xff08;包装&#xff09;&#xff1a; 应用层&#xff1a;HTTP HTTPS SSH等 —> 包含数据&#xff0…

如何在Windows安装Ollama大语言模型工具并实现无公网IP异地远程使用

文章目录 前言1. 运行Ollama2. 安装Open WebUI2.1 在Windows系统安装Docker2.2 使用Docker部署Open WebUI 3. 安装内网穿透工具4. 创建固定公网地址 前言 本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具&#xff0c;并安装Open WebUI结合cpolar内网穿透软…

pycharm已有项目增加pipenv

pycharm已有项目增加pipenv 第一步 第一步 python base 需要安装pipenv pip install pipenv在设置&#xff0c;project 之后 会自动查找项目下的pipfile 和pipfile.lock 进行pip配置 如果网络较慢&#xff0c;可以修复pipfile下的url 为国内的pip源 [[source]] name "…

centos7安装openGauss数据库企业版

本文章是在CentOS7虚拟机上安装openGauss企业版数据库流程 1.下载安装包: https://opengauss.org/zh/download/ openGauss-5.0.1-CentOS-64bit-all.tar.gz 2.安装python3.6.9 见我的另一篇文章 CentOS7安装Python3-CSDN博客 3.检查工具依赖&#xff1a; 分别检查以下工具是…

符文协议的演变历程:从挑战到创新

在比特币网络长期面临的挑战中&#xff0c;与主流去中心化金融功能的兼容性一直是一大难题。相比之下&#xff0c;以太坊通过ERC-721和ERC-1155代币标准&#xff0c;为NFT和去中心化金融应用提供了支持&#xff0c;而比特币的应用范围却相对有限。然而&#xff0c;近年来&#…

2024燃动智火-业务视角的中国企业AI+学习发展报告

来源&#xff1a;新华三 学习型组织的数字化转型是众多企业关注的焦点&#xff0c;数字战略需要人才升级&#xff0c;数字 化学习加速人才培养。AI 技术在学习中的运用&#xff0c;为企业学习型组织的数字化转型插 上了飞翔的翅膀。这份报告解码了AI 时代企业的学习发展&#…

Docker(七):容器监控工具(Portainer、CAdvisor)

一&#xff1a;轻量级可视化监控工具Portainer 可视化监控工具, 可以通过docker安装&#xff0c;用于管理和监控docker&#xff0c;基本上的docker命令都有对应的按钮来操作。 # always 表示docker重启了该容器也跟着重启 docker run -d --name portainer -p 8000:8000 -p 90…

torch.gather用法详解

torch.gather是PyTorch中的一个函数&#xff0c;用于从源张量中按照指定的索引张量来收集数据。 基本语法如下&#xff0c; torch.gather(input, dim, index, *, sparse_gradFalse, outNone) → Tensor input&#xff1a;输入源张量dim&#xff1a;要收集数据的维度index&am…

多头蜗杆的轴截面和端截面的关系

最近有一个点,之前没有注意,就是多头蜗杆的导程与齿距的关系,它们会影响蜗杆断截面的形状,是不是听的有点别扭,往下看: 上图是一个蜗杆的轴剖面齿形,看到这个图形,如果看不到蜗杆实物或者有明显的标准,我们是没办法判断这个蜗杆的头数是多少。 从下面几张图可以看到,…

A-1:树状数组

A-1:树状数组 1.介绍Q1:树状数组解决什么问题&#xff1f;Q2:树状数组的使用1.前置知识&#xff1a;lowbit(x)2.单点修改3.求[1,n]的和4.区间查询5.hh Q3:树状数组是否优化了Q4:上图上例子解释上面说的东西(Important) 2.习题练习 1.介绍 树状数组是一个比较难以理解的高级数据…

希亦、追觅、石头洗地机哪一款更实用?爆款产品性能全名测评

洗地机行业正在经历突飞式的发展&#xff0c;各大品牌商家纷纷推出功能丰富、性能卓越的产品&#xff0c;不断升级和优化洗地机的各个方面。如今&#xff0c;洗地机的功能配置已经变得十分完善&#xff0c;为用户提供了更多选择和更优质的清洁体验。那么&#xff0c;洗地机型号…

产品推荐 | 基于Lattice用于原型和FPGA设计和开发的Avant-E 评估板

01 产品概述 莱迪思半导体Avant-E评估板使设计人员能够快速进行原型设计和FPGA设计测试。它提供对所有 I/O 的访问&#xff0c;以及广泛的内存选项&#xff0c;以实现更快的原型设计和开发。 Avant-E评估板采用LFG1156封装的Avant-E FPGA。该板可以通过 FMC HPC、PMAD 和 Ras…