源码系列:基于FPGA的数字电压表(AD)设计

原创 FPGA技术江湖 2025-05-10 08:12

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。


今天给大侠带来基于FPGA的数字电压表设计,附源码,获取源码,请在“FPGA技术江湖”公众号内回复“数字电压表设计源码”,可获取源码文件。话不多说,上货。


设计背景


模数转换器,又称A/D转换器,简称ADC,通常是指一个将模拟信号转换为抗干扰性更强的数字信号的电子器件。一般的ADC是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小,故任何一个ADC都需要一个参考模拟量作为转换标准。比较常见的参考标准为最大的可转换信号大小,而输出的数字量则表示输入信号相对于参考信号的大小。本设计则通过对模数转换芯片(TLC549)的采样控制,实现一个简易的数字电压表。

 

设计原理


TLC549典型的配置电路如下图所示:


TLC549的端口描述如下:

TLC549是一个8位的串行模数转换器,A/D转换时间最大为17us,最大转换速率为4MHz。下图为TLC549的访问时序,从图中可以看出,TLC549的使用只需对外接输入输出时钟(I/O CLK)和芯片选择(/CS)、输入的模拟信号(ANALOG IN)的控制。


分析时序图可知:当片选信号(/CS)拉低时,ADC前一次的转换数据(A)的最高位A7立即出现在数据线DATA OUT上,之后的数据在时钟I/O CLOCK的下降沿改变,可在I/O CLOCK的上升沿读取数据。转换时,/CS要置为高电平。在设计操作时,要注意Tsu(CS)、Tconv、Twh(CS)和I/O CLOCK的频率这几个参数。Tsu(CS)为CS拉低到I/O CLOCK第一个时钟到来的时间,至少要1.4us;Twh(CS)为ADC的转换时钟,不超过17us,Tconv的值也不超过17us;I/O CLOCK为 1.1MHz。其他参数可参考数据手册。

由于ADC是8位的,所以采样的电压值为:

V =(D*Vref)/256

其中V为采样的电压值;D为ADC转换后读取的8位二进制数;Vref为参考电压值,此处为2.5V。


设计架构


本设计通过调节电位器RW1改变ADC的模拟输入值,数据采样读取后由数码管显示,最后用万用表测量输入电压,并与读取在数码管上的数据(单位为mV)作比较。设计的架构图如下: 


设计架构图对应端口的功能描述表:

tlc549_Driver模块采用序列机实现接口访问时序,并且产生1MHz的ADC_Clk和采集到ADC_data;Control模块,将采集到的ADC数据(ADC_data)换算成对应的电压值,并经过二进制到BCD转换以后传送到数码管;DIG_LED_DRIVE模块负责数码管的驱动,将传递过来的数据显示出来。


设计代码


AD_TLC549顶层模块代码:

module AD_TLC549(Clk,Rst_n,ADC_Din,ADC_Clk,ADC_Cs_n,Dig_Led_sel,Dig_Led_seg);
  input Clk;  input Rst_n;  input ADC_Din;
  output ADC_Clk;  output ADC_Cs_n;  output [2:0]Dig_Led_sel;  output [7:0]Dig_Led_seg;
  wire Get_Flag;  wire [7:0]ADC_data;  wire [23:0]seg_data;
  tlc549_Driver tlc549_Driver(      .Clk(Clk),    .Rst_n(Rst_n),    .En(1'b1),    .ADC_Din(ADC_Din),    .ADC_Clk(ADC_Clk),    .ADC_Cs_n(ADC_Cs_n),    .Data(ADC_data),    .Get_Flag(Get_Flag)  );
  Control Control(    .Clk(Clk),    .Rst_n(Rst_n),    .Get_Flag(Get_Flag),    .ADC_data(ADC_data),    .seg_data(seg_data)  );
  DIG_LED_DRIVE DIG_LED_DRIVE(    .Clk(Clk),        .Rst_n(Rst_n),        .Data(seg_data),        .Dig_Led_seg(Dig_Led_seg),    .Dig_Led_sel(Dig_Led_sel)    );
endmodule 


tlc549_Driver模块代码:

module tlc549_Driver (Clk,Rst_n,En,ADC_Din,ADC_Clk,ADC_Cs_n,Data,Get_Flag);
  input Clk;  //系统50MHz时钟输入  input Rst_n;//全局复位  input En;   //ADC转换使能,高电平有效
  input ADC_Din;//ADC串行数据输入
  output reg ADC_Clk; //ADC时钟信号输出  output reg ADC_Cs_n;//ADC片选信号输出  output reg Get_Flag;//数据转换完成标志  output reg [7:0] Data;//ADC转换以后的电压值
  reg [10:0] Cnt1;   //系统时钟计数器  reg [7:0] data_tmp;//数据寄存器
  //系统时钟上升沿计数  always@(posedge Clk or negedge Rst_n)  begin     if(!Rst_n)      Cnt1 <= 11'd0;    else if(!En)      Cnt1 <= 11'd0;    else if(Cnt1 == 11'd1310)      Cnt1 <= 11'd0;    else       Cnt1 <= Cnt1 + 1'b1;    end
  always@(posedge Clk or negedge Rst_n)  begin    if(!Rst_n)      begin        ADC_Clk  <= 1'b0;        ADC_Cs_n <= 1'b1;        data_tmp <= 8'd0;        Data <= 8'd0;      end    else if(En)      begin        case(Cnt1)          1    :  ADC_Cs_n <= 1'b0;  //1~71(Tsu)          71    :  begin ADC_Clk <= 1; data_tmp[7] <= ADC_Din;end          96    :  ADC_Clk <= 0;          121  :  begin ADC_Clk <= 1; data_tmp[6] <= ADC_Din;end          146  :  ADC_Clk <= 0;          171  :  begin ADC_Clk <= 1; data_tmp[5] <= ADC_Din;end          196  :  ADC_Clk <= 0;          221  :  begin ADC_Clk <= 1; data_tmp[4] <= ADC_Din;end          246  :  ADC_Clk <= 0;          271  :  begin ADC_Clk <= 1; data_tmp[3] <= ADC_Din;end          296  :  ADC_Clk <= 0;          321  :  begin ADC_Clk <= 1; data_tmp[2] <= ADC_Din;end          346  :  ADC_Clk <= 0;          371  :  begin ADC_Clk <= 1; data_tmp[1] <= ADC_Din;end          396  :  ADC_Clk <= 0;          421  :  begin ADC_Clk <= 1; data_tmp[0] <= ADC_Din;end          446  :  begin ADC_Clk <= 0; ADC_Cs_n <= 1'b1; Get_Flag<=1;end          447  :  begin Data <= data_tmp;  Get_Flag<=0; end //447~1310(Twh)          1310:  ;          default:;        endcase        end    else      begin        ADC_Cs_n <= 1'b1;        ADC_Clk <= 1'b0;      end  end 
endmodule

Control模块代码:
module Control(Clk,Rst_n,Get_Flag,ADC_data,seg_data);
  input Clk;//系统时钟输入  input Rst_n;//系统复位  input Get_Flag;//ADC采集数据完成标志  input [7:0]ADC_data;//ADC采集数据输入
  output reg [23:0]seg_data;//数码管待显示数据
  reg [3:0]qianwei;  //千位  reg [3:0]baiwei;   //百位  reg [3:0]shiwei;   //十位  reg [3:0]gewei;    //个位  reg [15:0]tenvalue;//采样的电压值
  //采集电压值计算  always@(posedge Clk or negedge Rst_n)  begin    if(!Rst_n)      tenvalue<=0;    else if(Get_Flag)//新的数据采集完成,可以进行计算      tenvalue<=(ADC_data*100*25)/256;  end   
  //二进制转BCD值  always@(posedge Clk or negedge Rst_n)  begin    if(!Rst_n)       begin         qianwei<=0;        baiwei<=0;        shiwei<=0;        gewei<=0;      end    else     begin       qianwei<=tenvalue/1000;     //2      baiwei<=(tenvalue/100)%10;  //5      shiwei<=(tenvalue/10)%10;   //0      gewei<=tenvalue%10;         //0    end       end 
  //数码管显示数值  always@(posedge Clk or negedge Rst_n)  begin    if(!Rst_n)      seg_data<=0;    else      seg_data<={            qianwei,  //千位            baiwei,   //百位            shiwei,   //十位            gewei,    //个位            8'hFF     //空闲          };  end 
endmodule 

DIG_LED_DRIVE模块代码:
/*数码管扫描模块,位选为外部74hc138译码器进行控制*//*仿真时请将本文件设置为顶层,并在代码中根据相应注释中的内容选择cnt1_MAX = 24*/
  module DIG_LED_DRIVE(Clk,Rst_n,Data,Dig_Led_seg,Dig_Led_sel);
  input Clk;       //系统时钟输入  input Rst_n;     //系统复位  input [23:0]Data;//待显示数据
  output [7:0]Dig_Led_seg;//数码管段选  output [2:0]Dig_Led_sel;//数码管位选
  parameter system_clk = 50_000_000;
    localparam cnt1_MAX = 24;/*仿真的时候使用,板级验证时请注释掉*///localparam cnt1_MAX = system_clk/1000/2-1;/*板级验证的时候使用,仿真时请注释掉*/
  reg [14 :0] cnt1;  //分频计数器  reg clk_1K;      //扫描时钟,1KHz  reg [2:0]sel_r;    //数码管位选  reg [7:0]seg_r;    //数码管段选  reg [3:0]disp_data;  //单位显示数据缓存
//1KHz时钟分频计数器  always@(posedge Clk)  beginif(!Rst_n)cnt1<=0;elseif(cnt1==cnt1_MAX)cnt1<=0;else cnt1<=cnt1+1'b1;  end
  //得到1KHz时钟  always@(posedge Clk or negedge Rst_n)  begin    if(!Rst_n)      clk_1K<=0;    else if(cnt1==cnt1_MAX)      clk_1K<=~clk_1K;  end 
  //位选信号控制  always@(posedge clk_1K or negedge Rst_n)  begin    if(!Rst_n)      sel_r<=3'd0;elseif(sel_r == 3'd3)      sel_r<=3'd0;else      sel_r<=sel_r+1'b1;  end 
  //根据不同的数码管位选择不同的待显示数据  always@(*)  begin    if(!Rst_n)      disp_data=4'd0;else      begincase(sel_r)3'd0:disp_data=Data[23:20];          3'd1:disp_data=Data[19:16];3'd2:disp_data=Data[15:12];          3'd3:disp_data=Data[11:8];3'd4:disp_data=Data[7:4];          3'd5:disp_data=Data[3:0];default :disp_data=4'd0;        endcase      end  end 
  //数据译码,将待显示数据翻译为符合数码管显示的编码  always@(*)  begin      if(!Rst_n)      seg_r=8'hff;else      begincase(disp_data)4'd0:    seg_r=8'hc0;4'd1:    seg_r=8'hf9;4'd2:    seg_r=8'ha4;4'd3:    seg_r=8'hb0;4'd4:    seg_r=8'h99;4'd5:    seg_r=8'h92;4'd6:    seg_r=8'h82;4'd7:    seg_r=8'hf8;4'd8:    seg_r=8'h80;4'd9:    seg_r=8'h90;4'd10:  seg_r=8'h88;4'd11:  seg_r=8'h83;4'd12:  seg_r=8'hc6;4'd13:  seg_r=8'ha1;4'd14:  seg_r=8'h86;4'd15:  seg_r=8'h8e;default : seg_r=8'hff;        endcase      end  end 
  assign Dig_Led_seg = seg_r;  assign Dig_Led_sel = sel_r;
endmodule

仿真测试



AD_TLC549_tb顶层测试代码如下:
`timescale 1ns/1ps
module AD_TLC549_tb;
  reg Clk;  reg Rst_n;  reg ADC_Din;
  wire ADC_Clk;  wire ADC_Cs_n;  wire [2:0] Dig_Led_sel;  wire [7:0] Dig_Led_seg;
  initial begin    Clk = 1;    Rst_n = 0;    ADC_Din = 0;    #200.1     Rst_n = 1;

    #1400 ADC_Din=1; //aa    #1000 ADC_Din=0;    #1000 ADC_Din=1;    #1000 ADC_Din=0;    #1000 ADC_Din=1;    #1000 ADC_Din=0;    #1000 ADC_Din=1;    #1000 ADC_Din=0;  
    #17000     #1400 ADC_Din=1; //98    #1000 ADC_Din=0;    #1000 ADC_Din=0;    #1000 ADC_Din=1;    #1000 ADC_Din=1;    #1000 ADC_Din=0;    #1000 ADC_Din=0;    #1000 ADC_Din=0;
    //#20000 $stop;  end 
  AD_TLC549 AD_TLC549_dut(    .Clk(Clk),    .Rst_n(Rst_n),    .ADC_Din(ADC_Din),    .ADC_Clk(ADC_Clk),    .ADC_Cs_n(ADC_Cs_n),    .Dig_Led_sel(Dig_Led_sel),    .Dig_Led_seg(Dig_Led_seg)  );
  always #10 Clk = ~Clk;
endmodule

仿真图如下所示:


观察仿真图,实现了数据的采集,并正确显示,下板验证结果也达到了设计的预期效果。

END


往期精选 

图片 
图片 

【免费】FPGA工程师招聘平台

简谈FPGA设计中系统运行频率计算方法与组合逻辑的层级

SANXIN-B01开发板verilog教程V3电子版

学员笔记连载 | FPGA Zynq 千兆以太网回环

求职面试 | FPGA或IC面试题最新汇总篇

FPGA项目开发:204B实战应用-LMK04821代码详解(二)

项目合作 | 承接FPGA项目公告

FPGA时序分析及约束专题课,Quartus、ISE、Vivado全涉及

FPGA图像处理专题课,Quartus、ISE、Vivado全涉及

资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2025.02.19更新)

FPGA工程师线上研修班,常年开班,随时报名,新增高速接口、光纤通信等内容!


图片
图片

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

图片

加群主微信,备注姓名+公司/学校+岗位/专业进群


FPGA技术江湖QQ交流群

图片

备注姓名+公司/学校+岗位/专业进群

图片

FPGA技术江湖 任何技术的学习就好比一个江湖,对于每一位侠客都需要不断的历练,从初入江湖的小白到归隐山林的隐世高人,需要不断的自我感悟自己修炼,让我们一起仗剑闯FPGA乃至更大的江湖。
评论
  •   基于 2025 年行业权威性与时效性,以下梳理国内知名软件定制开发企业,涵盖综合型、垂直领域及特色技术服务商:   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP,系统二次开发,CRM等领域有很多成功案例。   五木恒润科技有限公司:是一家专业的部队信
    华盛恒辉l58ll334744 2025-05-12 16:13 86浏览
  • 行车记录仪是长这个样子的,如下图。从前面拆去玻璃挡板,可以清晰的看见里面的部件,5个按键电路板,液晶显示屏,摄像头,喇叭,电池包,还有一块主电路板。液晶显示屏正面,如下图。液晶显示屏背面,如下图。喇叭,如下图。5个按键的电路板,MENU,DOWN,POWER,UP,OK总共5个按键功能,导线连接到主电路板上,如下图。电池包,303040聚合物锂电池,3.7V,300mAH,如下图。如下图。摄像头,如下图。拿去摄像头外壳,如下图。分离广角聚集镜头和PCB板,如下图。广角聚焦镜头,具体结构如下图。P
    liweicheng 2025-05-09 22:50 33浏览
  • 在印度与巴基斯坦的军事对峙情境下,歼10C的出色表现如同一颗投入平静湖面的巨石,激起层层涟漪,深刻印证了“质量大于数量”这一铁律。军事领域,技术优势就是决定胜负的关键钥匙。歼10C凭借先进的航电系统、强大的武器挂载能力以及卓越的机动性能,在战场上大放异彩。它能够精准捕捉目标,迅速发动攻击,以一敌多却毫不逊色。与之形成鲜明对比的是,单纯依靠数量堆砌的军事力量,在面对先进技术装备时,往往显得力不从心。这一现象绝非局限于军事范畴,在当今社会的各个领域,“质量大于数量”都已成为不可逆转的趋势。在科技行业
    curton 2025-05-11 19:09 181浏览
  • 1.概述MYD-YG2LX采用瑞萨RZ/G2L作为核心处理器,该处理器搭载双核Cortex-A55@1.2GHz+Cortex-M33@200MHz处理器,其内部集成高性能3D加速引擎Mail-G31 GPU(500MHz)和视频处理单元(支持H.264硬件编解码),16位的DDR4-1600 / DDR3L-1333内存控制器、千兆以太网控制器、USB、CAN、SD卡、MIPI-CSI等外设接口,在工业、医疗、电力等行业都得到广泛的应用。米尔基于瑞萨RZ/G2L开发板本文主要介绍基于MYD-Y
    米尔电子嵌入式 2025-05-09 17:38 25浏览
  • 在 AI 浪潮席卷下,厨电行业正经历着深刻变革。AWE 2025期间,万得厨对外首次发布了wan AiOS 1.0组织体超智能系统——通过AI技术能够帮助全球家庭实现从健康检测、膳食推荐,到食材即时配送,再到一步烹饪、营养总结的个性化健康膳食管理。这一创新之举并非偶然的个案,而是整个厨电行业大步迈向智能化、数字化转型浪潮的一个关键注脚,折射出全行业对 AI 赋能的热切渴求。前有标兵后有追兵,万得厨面临着高昂的研发成本与技术迭代压力,稍有懈怠便可能被后来者赶
    用户1742991715177 2025-05-11 22:44 78浏览
  • 【拆解】+CamFi卡菲单反无线传输器拆解 对于单反爱好者,想要通过远程控制自拍怎么办呢。一个远程连接,远程控制相机拍摄的工具再合适不过了。今天给大伙介绍的是CamFi卡菲单反无线传输器。 CamFi 是专为数码单反相机打造的无线传输控制器,自带的 WiFi 功能(无需手机流量),不但可通过手机、平板、电脑等设备远程连接操作单反相机进行拍摄,而且还可实时传输相机拍摄的照片到 iPad 和电视等大屏设备进行查看和分享。 CamFi 支持大部分佳能和尼康单反相机,内置可充电锂离子电池,无需相机供电。
    zhusx123 2025-05-11 14:14 102浏览
  • 在工业自动化领域中,PLC(可编程逻辑控制器)和 DCS(分布式控制系统)是两种最为常见的控制技术。它们凭借着高可靠性、高灵活性与高自动化程度等显著优势,在工业自动化行业中发挥着不可替代的作用,并已被广泛应用于机械臂自动装配、发电机功率调节、石油炼制、化工生产、交通信号控制与地铁轻轨控制等众多工控场景之中。一种典型的现代工业总线控制系统而数字隔离器,作为工业自动化领域中低压控制系统与高压设备进行信息传输的“安全桥梁”,其不仅能有效阻断高压电气向低压控制系统的传导路径,保障操作人员与控制系统的安全
    华普微HOPERF 2025-05-09 17:08 24浏览
  •         信创产业含义的“信息技术应用创新”一词,最早公开信息见于2019年3月26日,在江苏南京召开的信息技术应用创新研讨会。本次大会主办单位为江苏省工业和信息化厅和中国电子工业标准化技术协会安全可靠工作委员会。        2019年5月16日,美国将华为列入实体清单,在未获得美国商务部许可的情况下,美国企业将无法向华为供应产品。       2019年6
    天涯书生 2025-05-11 10:41 128浏览
  • ‌磁光克尔效应(Magneto-Optic Kerr Effect, MOKE)‌ 是指当线偏振光入射到磁性材料表面并反射后,其偏振状态(偏振面旋转角度和椭偏率)因材料的磁化强度或方向发生改变的现象。具体表现为:1、‌偏振面旋转‌:反射光的偏振方向相对于入射光发生偏转(克尔旋转角 θK)。2、‌椭偏率变化‌:反射光由线偏振变为椭圆偏振(克尔椭偏率 εK)。这一效应直接关联材料的磁化状态,是表征磁性材料(如铁磁体、反铁磁体)磁学性质的重要非接触式光学探测手段,广泛用于
    锦正茂科技 2025-05-12 11:02 110浏览
  • 体积大小:14*11*2.6CM,电气参数:输入100V-240V/10A,输出16V24A。PCB 正面如下图。PCB 背面如下图。根据实际功能可以将PCB分成几部分:EMI滤波,PFC电路,LLC电路。EMI滤波区域,两级共模电感,LN各用了保险丝加压敏电阻,继电器(HF32FV-G)用来切除NTC的,为了提高效率点,如下图。PFC电路区域,如下图。LLC电路区域,如下图。详细分析一下该电源用的主要IC还有功率器件。AC侧采用了两颗整流桥进行并联,器件增加电流应力,如下图。共模电感都有放电针
    liweicheng 2025-05-10 20:03 46浏览
  • 递交招股书近一年后,曹操出行 IPO 进程终于迎来关键节点。从 2024 年 4 月首次递表,到 2025 年 4 月顺利通过中国证监会境外发行上市备案,并迅速更新招股书。而通过上市备案也标志着其赴港IPO进程进入实质性推进阶段,曹操出行最快有望于2025年内完成港股上市,成为李书福商业版图中又一关键落子。行路至此,曹操出行面临的挑战依然不容忽视。当下的网约车赛道,早已不是当年群雄逐鹿的草莽时代,市场渐趋饱和,竞争近乎白热化。曹操出行此时冲刺上市,既是背水一战,也是谋篇布局。其招股书中披露的资金
    用户1742991715177 2025-05-10 21:18 58浏览
  •   定制软件开发公司推荐清单   在企业数字化转型加速的2025年,定制软件开发需求愈发多元复杂。不同行业、技术偏好与服务模式的企业,对开发公司的要求大相径庭。以下从技术赛道、服务模式及行业场景出发,为您提供适配的定制软件开发公司推荐及选择建议。   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转
    华盛恒辉l58ll334744 2025-05-12 15:55 120浏览
  • 【拆解】+自动喷香机拆解 家里之前买了从PDD买了一个小型自动喷香机放在厕所里。来增加家里的温馨感,这东西看着确实小巧,精致。可是这东西吧,耗电就是快,没过几天就没电了。今个就让我拆开看看什么在捣鬼。如下是产品的实物和宣传图: 由于螺丝孔太小和限位很深。对于我的螺丝刀套装没用。只能使用那种螺丝刀细头,同时又长的小螺丝刀进行拆解 拧下三颗螺丝钉,用一字螺丝刀撬开外壳,内部结构就呈现在眼前。 内部构造相当简单,部件没多少。就是锂电池供电,通过MCU实现按键控制,段码屏控制,LE
    zhusx123 2025-05-10 19:55 59浏览
  • 文/Leon编辑/cc孙聪颖‍在新能源汽车赛道的残酷洗牌中,威马、爱驰等数十个品牌黯然退场,极越、哪吒汽车也深陷经营困局,“跨界造车” 早已褪去曾经的光环,成为吞噬企业资金与精力的风险泥潭,尤其对上市公司而言,稍有不慎便会被拖入业绩泥沼。当行业共识已清晰显现 —— 新能源汽车市场这片红海正上演着惨烈的生存之战,石头科技创始人昌敬却逆势入局,掌舵极石汽车,其押注造车的抉择,正让本就面临挑战的石头科技主业雪上加霜。2025 年 4 月中旬,昌敬突然清空微博、抖音等社交媒体账号的举动,迅速引爆舆论场。
    华尔街科技眼 2025-05-09 20:53 30浏览
  • 蓝牙耳机是长这个样子,如下图。背部图,如下图。拆开L耳的一侧,有NFC和电池包(501230 3.7V 150mAh)如下图。电池包(501230 3.7V 150mAh)如下图。NFC正面,如下图。NFC背面,如下图。如何理解NFC的工作原理呢,搜集一下相关的资料,如下图。拆开R耳的一侧,PCB正面,如下图。PCB背面,如下图。有两组红黑的线,一组连接到了喇叭,另一组连接到了MIC头上,MIC头参数如下图。蓝牙模块(CSR 8635),有蛇形PCB走线做成天线,节约了天线成本,如下图。该IC介
    liweicheng 2025-05-10 00:45 40浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦