如何零基础入门FPGA?这篇文章让你吃透!

大鱼机器人 2022-04-13 14:51

01 



FPGA学习重点


1. 看代码,建模型


只有在脑海中建立了一个个逻辑模型,理解FPGA内部逻辑结构实现的基础,才能明白为什么写Verilog和写C整体思路是不一样的,才能理解顺序执行语言和并行执行语言的设计方法上的差异。在看到一段简单程序的时候应该想到是什么样的功能电路。

  

2. 用数学思维来简化设计逻辑


学习FPGA不仅逻辑思维很重要,好的数学思维也能让你的设计化繁为简,所以啊,那些看见高数就头疼的童鞋需要重视一下这门课哦。举个简单的例子,比如有两个32bit的数据X[31:0]与Y[31:0]相乘。


当然,无论Altera还是Xilinx都有现成的乘法器IP核可以调用,这也是最简单的方法,但是两个32bit的乘法器将耗费大量的资源。那么有没有节省资源,又不太复杂的方式来实现呢?我们可以稍做修改:

  

将X[31:0]拆成两部分X1[15:0]和X2[15:0],令X1[15:0]=X[31:16],X2[15:0]=X[15:0],则X1左移16位后与X2相加可以得到X;同样将Y[31:0]拆成两部分Y1[15:0]和Y2[15:0],令 Y1[15:0]=Y[31:16],Y2[15:0]=Y[15:0],则Y1左移16位后与Y2相加可以得到Y,则X与Y的相乘可以转化为X1和X2 分别与Y1和Y2相乘,这样一个32bit*32bit的乘法运算转换成了四个16bit*16bit的乘法运算和三个32bit的加法运算。转换后的占用资源将会减少很多,有兴趣的童鞋,不妨综合一下看看,看看两者差多少。

  

3. 时钟与触发器的关系


“时钟是时序电路的控制者”这句话太经典了,可以说是FPGA设计的圣言。FPGA的设计主要是以时序电路为主,因为组合逻辑电路再怎么复杂也变不出太多花样,理解起来也不没太多困难。


但是时序电路就不同了,它的所有动作都是在时钟一拍一拍的节奏下转变触发,可以说时钟就是整个电路的控制者,控制不好,电路功能就会混乱。

  

打个比方,时钟就相当于人体的心脏,它每一次的跳动就是触发一个 CLK,向身体的各个器官供血,维持着机体的正常运作,每一个器官体统正常工作少不了组织细胞的构成,那么触发器就可以比作基本单元组织细胞。


时序逻辑电路的时钟是控制时序逻辑电路状态转换的“发动机”,没有它时序逻辑电路就不能正常工作。


因为时序逻辑电路主要是利用触发器存储电路的状态,而触发器状态变换需要时钟的上升或下降沿,由此可见时钟在时序电路中的核心作用。

  

最后简单说一下体会吧,归结起来就是多实践、多思考、多问。实践出真知,看100遍别人的方案不如自己去实践一下。实践的动力一方面来自兴趣,一方面来自压力。有需求会容易形成压力,也就是说最好能在实际的项目开发中锻炼,而不是为了学习而学习。

  

02 



为什么你会觉得FPGA难学?


不熟悉FPGA的内部结构


FPGA为什么是可以编程的?


恐怕很多初学者不知道,他们也不想知道。


因为他们觉得这是无关紧要的。他们潜意识的认为可编程嘛,肯定就是像写软件一样啦。


软件编程的思想根深蒂固,看到Verilog或者VHDL就像看到C语言或者其它软件编程语言一样。一条条的读,一条条的分析。


拒绝去了解为什么FPGA是可以编程的,不去了解FPGA的内部结构,要想学会FPGA 恐怕是天方夜谭。


那么FPGA为什么是可以“编程”的呢?首先来了解一下什么叫“程”。


启示 “程”只不过是一堆具有一定含义的01编码而已。

  

编程,其实就是编写这些01编码。只不过我们现在有了很多开发工具运算或者是其它操作。


所以软件是一条一条的,通常都不是直接编写这些01编码,而是以高级语言的形式来编写,最后由开发工具转换为这种01编码而已。


对于软件编程而言,处理器会有一个专门的译码电路逐条把这些01编码翻译为各种控制信号,然后控制其内部的电路完成一个个的读,因为软件的操作是一步一步完成的。


而FPGA的可编程,本质也是依靠这些01编码实现其功能的改变,但不同的是FPGA之所以可以完成不同的功能,不是依靠像软件那样将01编码翻译出来再去控制一个运算电路,FPGA里面没有这些东西。

  

FPGA内部主要三块:可编程的逻辑单元、可编程的连线和可编程的IO模块。


03 



可编程的逻辑单元


其基本结构某种存储器(SRAM、 FLASH等)制成的4输入或6输入1输出地“真值表”加上一个D触发器构成。


任何一个4输入1输出组合逻辑电路,都有一张对应的“真值表”,同样的如果用这么一个存储器制成的4输入1输出地“真值表”,只需要修改其“真值表”内部值就可以等效出任意4输入1输出的组合逻辑,这些“真值表”内部值就是那些01编码。


如果要实现时序逻辑电路怎么办?任何的时序逻辑都可以转换为组合逻辑+D触发器来完成。但这毕竟只实现了4输入1输出的逻辑电路而已,通常逻辑电路的规模那是相当的大。

  

3.1 可编程连线


那怎么办呢?这个时候就需要用到可编程连线了。在这些连线上有很多用存储器控制的链接点,通过改写对应存储器的值就可以确定哪些线是连上的而哪些线是断开的。这就可以把很多可编程逻辑单元组合起来形成大型的逻辑电路。


3.2 可编程的IO


任何芯片都必然有输入引脚和输出引脚。有可编程的IO可以任意的定义某个非专用引脚(FPGA中有专门的非用户可使用的测试、下载用引脚)为输入还是输出,还可以对IO的电平标准进行设置。


总归一句话,FPGA之所以可编程是因为可以通过特殊的01代码制作成一张张 “真值表”,并将这些“真值表”组合起来以实现大规模的逻辑功能。

  

不了解FPGA内部结构,就不能明白最终代码如何变到FPGA里面去的,也就无法深入的了解如何能够充分运用FPGA。现在的FPGA,不单单是有前面讲的那三块,还有很多专用的硬件功能单元,如何利用好这些单元实现复杂的逻辑电路设计,是从菜鸟迈向高手的路上必须要克服的障碍。而这一切,还是必须先从了解FPGA内部逻辑及其工作原理做起。


3.3 错误理解HDL语言,怎么看都看不出硬件结构


HDL语言的英语全称是:Hardware Deion Language,注意这个单词Deion,而不是Design。老外为什么要用Deion这个词而不是Design呢?因为HDL确实不是用用来设计硬件的,而仅仅是用来描述硬件的。


描述这个词精确地反映了HDL语言的本质,HDL语言不过是已知硬件电路的文本表现形式而已,只是将以后的电路用文本的形式描述出来而已。而在编写语言之前,硬件电路应该已经被设计出来了。语言只不过是将这种设计转化为文字表达形式而已。


硬件设计也是有不同的抽象层次,每一个层次都需要设计。最高的抽象层次为算法级、然后依次是体系结构级、寄存器传输级、门级、物理版图级。


使用HDL的好处在于我们已经设计好了一个寄存器传输级的电路,那么用HDL描述以后转化为文本的形式,剩下的向更低层次的转换就可以让EDA工具去做了,这就大大的降低了工作量。这就是可综合的概念,也就是说在对这一抽象层次上硬件单元进行描述可以被EDA工具理解并转化为底层的门级电路或其他结构的电路。

  

在FPGA设计中,就是在将这以抽象层级的意见描述成HDL语言,就可以通过FPGA开发软件转化为上一点中所述的FPGA内部逻辑功能实现形式。


HDL也可以描述更高的抽象层级如算法级或者是体系结构级,但目前受限于EDA软件的发展,EDA软件还无法理解这么高的抽象层次,所以HDL描述这样抽象层级是无法被转化为较低的抽象层级的,这也就是所谓的不可综合。


所以在阅读或编写HDL语言,尤其是可综合的HDL,不应该看到的是语言本身,而是要看到语言背后所对应的硬件电路结构。

  

3.4  FPGA本身不算什么,一切皆在FPGA之外


FPGA是给谁用的?很多学校是为给学微电子专业或者集成电路设计专业的学生用的,其实这不过是很多学校受资金限制,买不起专业的集成电路设计工具而用FPGA工具替代而已。其实FPGA是给设计电子系统的工程师使用的


这些工程师通常是使用已有的芯片搭配在一起完成一个电子设备,如基站、机顶盒、视频监控设备等。当现有芯片无法满足系统的需求时,就需要用FPGA来快速的定义一个能用的芯片。

  

前面说了,FPGA里面无法就是一些“真值表”、触发器、各种连线以及一些硬件资源,电子系统工程师使用FPGA进行设计时无非就是考虑如何将这些以后资源组合起来实现一定的逻辑功能而已,而不必像IC设计工程师那样一直要关注到最后芯片是不是能够被制造出来。


本质上和利用现有芯片组合成不同的电子系统没有区别,只是需要关注更底层的资源而已。


要想把FPGA用起来还是简单的,因为无非就是那些资源,在理解了前面两点再搞个实验板,跑跑实验,做点简单的东西是可以的。


而真正要把FPGA用好,那光懂点FPGA知识就远远不够了。因为最终要让FPGA里面的资源如何组合,实现何种功能才能满足系统的需要,那就需要懂得更多更广泛的知识。

  

3.5 数字逻辑知识是根本


无论是FPGA的哪个方向,都离不开数字逻辑知识的支撑。FPGA说白了是一种实现数字逻辑的方式而已。如果连最基本的数字逻辑的知识都有问题,学习FPGA的愿望只是空中楼阁而已。数字逻辑是任何电子电气类专业的专业基础知识,也是必须要学好的一门课。


如果不能将数字逻辑知识烂熟于心,养成良好的设计习惯,学FPGA到最后仍然是雾里看花水中望月,始终是一场空的。


以上几条只是我目前总结菜鸟们在学习FPGA时所最容易跑偏的地方,FPGA的学习其实就像学习围棋一样,学会如何在棋盘上落子很容易,成为一位高手却是难上加难。要真成为李昌镐那样的神一般的选手,除了靠刻苦专研,恐怕还确实得要一点天赋。

  

04 



荐读


4.1  入门首先要掌握HDL(HDL=verilog+VHDL)


第一句话是:还没学数电的先学数电。然后你可以选择verilog或者VHDL,有C语言基础的,建议选择VHDL。因为verilog太像C了,很容易混淆,最后你会发现,你花了大量时间去区分这两种语言,而不是在学习如何使用它。当然,你思维能转得过来,也可以选verilog,毕竟在国内verilog用得比较多。

  

接下来,首先找本实例抄代码。


抄代码的意义在于熟悉语法规则和编译器(这里的编译器是硅编译器又叫综合器,常用的编译器有:


Quartus、ISE、Vivado、Design Compiler 、Synopsys的VCS、iverilog、Lattice的Diamond、Microsemi/Actel的Libero、Synplify pro),然后再模仿着写,最后不看书也能写出来。


编译完代码,就打开RTL图,看一下综合出来是什么样的电路。

  

HDL是硬件描述语言,突出硬件这一特点,所以要用数电的思维去思考HDL,而不是用C语言或者其它高级语言,如果不能理解这句话的,可以看《什么是硬件以及什么是软件》。


在这一阶段,推荐的教材是《Verilog传奇》、《Verilog HDL高级数字设计》或者是《用于逻辑综合的VHDL》。不看书也能写出个三段式状态机就可以进入下一阶段了。

  

此外,你手上必须准备Verilog或者VHDL的官方文档,《verilog_IEEE官方标准手册-2005_IEEE_P1364》、《IEEE Standard VHDL Language_2008》,以便遇到一些语法问题的时候能查一下。

  

4.2  独立完成中小规模的数字电路设计


现在,你可以设计一些数字电路了,像交通灯、电子琴、DDS等等,推荐的教材是夏老《Verilog 数字系统设计教程》(第三版)。在这一阶段,你要做到的是:给你一个指标要求或者时序图,你能用HDL设计电路去实现它。这里你需要一块开发板,可以选Altera的cyclone IV系列,或者Xilinx的Spantan 6。


还没掌握HDL之前千万不要买开发板,因为你买回来也没用。这里你没必要每次编译通过就下载代码,咱们用modelsim仿真(此外还有QuestaSim、NC verilog、Diamond的Active-HDL、VCS、Debussy/Verdi等仿真工具),如果仿真都不能通过那就不用下载了,肯定不行的。


在这里先掌握简单的testbench就可以了。推荐的教材是《WRITING TESTBENCHES Functional Verification of HDL Models》。

  

4.3  掌握设计方法和设计原则


你可能发现你综合出来的电路尽管没错,但有很多警告。这个时候,你得学会同步设计原则、优化电路,是速度优先还是面积优先,时钟树应该怎样设计,怎样同步两个异频时钟等等。


推荐的教材是《FPGA权威指南》、《IP核芯志-数字逻辑设计思想》、《Altera FPGA/CPLD设计》第二版的基础篇和高级篇两本。学会加快编译速度(增量式编译、LogicLock),静态时序分析(timequest),嵌入式逻辑分析仪(signaltap)就算是通关了。如果有不懂的地方可以暂时跳过,因为这部分还需要足量的实践,才能有较深刻的理解。

  

4.4 学会提高开发效率


因为Quartus和ISE的编辑器功能太弱,影响了开发效率。所以建议使用Sublime text编辑器中代码片段的功能,以减少重复性劳动。Modelsim也是常用的仿真工具,学会TCL/TK以编写适合自己的DO文件,使得仿真变得自动化,推荐的教材是《TCL/TK入门经典》。


你可能会手动备份代码,但是专业人士都是用版本控制器的,所以,为了提高工作效率,必须掌握GIT。


文件比较器Beyond Compare也是个比较常用的工具。此外,你也可以使用System Verilog来替代testbench,这样效率会更高一些。如果你是做IC验证的,就必须掌握System Verilog和验证方法学(UVM)。推荐的教材是《Writing Testbenches using SystemVerilog》、《The UVM Primer》、《System Verilog1800-2012语法手册》。

  

掌握了TCL/TK之后,可以学习虚拟Jtag(ISE也有类似的工具)制作属于自己的调试工具,此外,有时间的话,最好再学个python。脚本,意味着一劳永逸。

  

4.5 增强理论基础


这个时候,你已经会使用FPGA了,但是还有很多事情做不了(比如,FIR滤波器、PID算法、OFDM等),因为理论没学好。我大概地分几个方向供大家参考,后面跟的是要掌握的理论课。

 

  • 信号处理 —— 信号与系统、数字信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应滤波器原理、雷达信号处理


  • 接口应用 —— 如:UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太网接口)、SATA、光纤、DisplayPort


  • 无线通信 —— 信号与系统、数字信号处理、通信原理、移动通信基础、随机过程、信息论与编码


  • CPU设计 —— 计算机组成原理、单片机、计算机体系结构、编译原理


  • 仪器仪表 —— 模拟电子技术、高频电子线路、电子测量技术、智能仪器原理及应用


  • 控制系统 —— 自动控制原理、现代控制理论、过程控制工程、模糊控制器理论与应用


  • 压缩、编码、加密 —— 数论、抽象代数、现代编码技术、信息论与编码、数据压缩导论、应用密码学、音频信息处理技术、数字视频编码技术原理

  

现在你发现,原来FPGA会涉及到那么多知识,你可以选一个感兴趣的方向,但是工作中很有可能用到其中几个方向的知识,所以理论还是学得越多越好。如果你要更上一层,数学和英语是不可避免的。

  

4.6 学会使用MATLAB仿真


设计FPGA算法的时候,多多少少都会用到MATLAB,比如CRC的系数矩阵、数字滤波器系数、各种表格和文本处理等。


此外,MATLAB还能用于调试HDL(用MATLAB的计算结果跟用HDL算出来的一步步对照,可以知道哪里出问题)。推荐的教材是《MATLAB宝典》和杜勇的《数字滤波器的MATLAB与FPGA实现》。

    

4.7  图像处理


Photoshop

花一、两周的时间学习PS,对图像处理有个大概的了解,知道各种图片格式、直方图、色相、通道、滤镜、拼接等基本概念,并能使用它。这部分是0基础,目的让大家对图像处理有个感性的认识,而不是一上来就各种各样的公式推导。推荐《Photoshop CS6完全自学教程》。

  

基于MATLAB或OpenCV的图像处理

有C/C++基础的可以学习OpenCV,否则的话,建议学MATLAB。这个阶段下,只要学会简单的调用函数即可,暂时不用深究实现的细节。推荐《数字图像处理matlab版》、《学习OpenCV》。

  

图像处理的基础理论

这部分的理论是需要高数、复变、线性代数、信号与系统、数字信号处理等基础,基础不好的话,建议先补补基础再来。看不懂的理论也可以暂时先放下,或许学到后面就自然而然地开窍了。推荐《数字图像处理》。

  

基于FPGA的图像处理

把前面学到的理论运用到FPGA上面,如果这时你有前面第七个阶段的水平,你将轻松地独立完成图像算法设计(图像处理是离不开接口的,上面第五个阶段有讲)。推荐《基于FPGA的嵌入式图像处理系统设计》、《基于FPGA的数字图像处理原理及应用》。

  

进一步钻研数学。要在算法上更上一层,必然需要更多的数学,所以这里建议学习实分析、泛涵分析、小波分析等。

  

05 



其它问题


5.1  为什么不推荐学习MicroBlaze等软核?


性价比不高,一般的软核性能大概跟Cortex M3或M4差不多,用FPGA那么贵的东西去做一个性能一般的CPU,在工程上是非常不划算的。不如另外加一块M3。

  

加上软核,可能会影响到其它的逻辑的功能。这是在资源并不十分充足的情况下,再加上软核,导致布局布线变得相当困难。软核不开源,出现Bug的时候,不容易调试。工程上很少使用,极有可能派不上用场。

  

5.2  为什么不推荐0基础学习ZYNQ或SOC?

入门应该学习尽量简单的东西,要么专心学习ARM,要么专心学习FPGA。这样更容易有成就感,增强信心。

  

ZYNQ和SOC的应用领域并不广,还有很多人没听过这种东西,导致求职的不利。开发工具编译时间长,浪费较多时间。绝大多数工作,都只是负责一方面,也就是说另一方面,很有可能派不上用场。

  

5.3  为什么已经存在那么多IP核,仍需写HDL?


问这种问题的,一般是学生,他们没有做过产品,没有遇到过工程上的问题。IP核并非万能,不能满足所有需求。尽量少用闭源IP核,一旦出问题,这种黑匣子很可能让产品难产。


深入理解底一层次,可以更好地使用高一层次。该法则可以适用于所有编程语言。


-END-


往期推荐:点击图片即可跳转阅读

谁能教教我怎么学单片机,怎么入门?


什么是PWM“死区”?


平衡小车PID,就该这么调!!!


绝了!电容这样理解真的简单!

大鱼机器人 一个专注于机器人技术,单片机,嵌入式系统,智能家居,智能设备,PCB设计,IT最新动态的自媒体。此外,还有海量学习资源等你来领取。作者:张巧龙,个人微信号:well_xiaolong。欢迎关注公众号,名称:大鱼机器人,公众号ID:All_best_xiaolong
评论 (0)
  • 故障现象 一辆2013款奔驰S300L车,搭载272 946发动机,累计行驶里程约为15万km。车主反映,将挡位置于D挡,稍微释放一点制动踏板,车辆蠕动时车身明显抖动,类似气缸失火时的抖动,又类似手动变速器,离合器片不平,起步半离合时的那种抖动;完全释放制动踏板后,抖动现象消失,且车辆行驶无明显异常。为此更换过火花塞、点火线圈,清洗过燃油管路,故障依旧;接着又大修了自动变速器,并更换了液力变矩器,但故障依然存在,于是将车开至我厂进行检修。 故障诊断 接车后试车,确认故障现象与车主所述一
    虹科Pico汽车示波器 2025-02-19 14:14 129浏览
  • 过去一年,厨电行业的AI竞赛进入“大模型时代”,各大品牌纷纷亮出了自己的杀手锏。老板电器的“食神大模型”、方太的“Healthy CookingGPT”轮番登场,两者都立志要用AI“重新定义厨房”。新的一年,大模型技术的不断成熟与迭代,AI将不再仅仅是概念上的炒作,而是真正融入到每一个厨房场景中。这场在厨电领域内悄然进行的“科技革命”无疑将步入一个更为深入且广泛的实践应用阶段,AI厨电狂欢开始了。AI厨电“燃”起来了众所周知,厨电行业的发展与房地产市场密切相关。随着房地产市场的调整,新房装修需求
    刘旷 2025-02-19 10:51 135浏览
  • 故障现象 一辆2010款路虎揽胜车,搭载5.0 L发动机,累计行驶里程约为16万km。车主反映,接通空调开关后,有时出风忽大忽小,有时不出风,有时要等2 min左右才出风;有时两三天出现一次,有时好几天才出现一次,故障没有规律。 故障诊断接车后试车,故障现象并未出现。使用故障检测仪检测,在空调控制单元(HVAC)中存储有故障代码“U1000-00 固态驾驶员保护微活-驾驶员已禁用”。查看该故障代码相关说明,可能的原因为中央接线盒输出电路对搭铁或电源短路,这与空调出风故障没有关联。如图1
    虹科Pico汽车示波器 2025-02-19 13:49 95浏览
  • 概述        在上一篇文章中,我们了解了TC10规范的内容,并掌握了基于以太网链路的物理层休眠唤醒机制。为了确保不同厂商的设备在以太网休眠唤醒功能上的互操作性,OPEN Alliance制定了详细的测试规范。测试规范        针对以太网休眠唤醒机制的测试,包含在各个以太网速率下的IOP测试规范中,具体如下:《10BASE-T1S Interoperability Test Suite》《100BASE-T
    经纬恒润 2025-02-19 13:20 138浏览
  • 随着国内市场的逐渐稳固,华为将目光投向了广阔的海外市场,开启了一段充满挑战与机遇的国际化征程。然而,华为在拓展海外市场时,遭遇了重重困难。文化差异带来的挑战不同国家和地区有着不同的文化背景、商业习惯和价值观,这使得华为在与当地客户、合作伙伴沟通和合作时面临诸多障碍。在欧洲,一些客户对产品的认证标准和售后服务有着非常严格的要求,并且注重商务活动中的礼仪和沟通方式。在机上欧洲通信市场竞争激烈,爱立信、诺基亚等本土企业在技术、品牌和市场份额上具有优势。而且欧洲各国的通信标准和监管政策不同,华为需要满足
    韭菜财经 2025-02-18 14:11 233浏览
  •  电磁铁的磁芯材质:软铁还是硬铁电磁铁的磁芯通常采用软铁材质,因其具有高磁导率和低矫顽力,使得电磁铁能够在通电时迅速产生强磁场,断电后磁场又能迅速消失。一、电磁铁与磁芯材质电磁铁是一种利用电流产生磁场的装置。其核心部件——磁芯,对电磁铁的性能有着至关重要的影响。在选择磁芯材质时,需要考虑多种因素,如磁导率、矫顽力、饱和磁化强度等。这些因素直接关系到电磁铁的工作效率、响应速度和能耗等方面。二、软铁与硬铁的特性软铁和硬铁是两种常见的磁性材料。软铁具有高磁导率和低矫顽力的特点,这意味着它容易
    锦正茂科技 2025-02-18 10:32 86浏览
  • 如何更有效地融合竞争、可持续与协作策略,从而彻底革新晶圆制造厂与半导体生产方式,进而提升效率与性能?这正是与electronica 2024同期举办的晶圆厂管理论坛所探讨的核心议题。该论坛堪称欧洲电子制造业领域最具影响力的盛会。艾迈斯欧司朗 “移动与照明” 业务线高级副总裁Wolfgang Lex与众多来自欧洲半导体及电子产业界的代表及论坛委员会成员齐聚一堂,共同分享行业洞见。在“汽车光子技术之旅”主题演讲中,Lex深入探讨了光智能(简称OI)在弥补人工智能与机器和、人之类间“最后一公里”距离中
    艾迈斯欧司朗 2025-02-19 19:23 71浏览
  • 清晨,闹钟准时响起,窗帘自动拉开,床灯随之亮起,音箱中则自动传出每日的早间新闻,从而唤醒熟睡中的你,而这只是智能家居中的冰山一角。作为人类群体追求更高生活品质的居住空间,智能家居正飞速普及至我们的日常生活之中,极大地提升了生活的便利性与舒适度。然而,随着单品智能向全屋智能的快速发展,不同智能家居设备的工作电压与通信频率等运行参数存在差异,它们共同运行在一个智能家居系统之中,其所产生的电气噪声与电磁干扰会互相影响,并形成潜在的安全隐患。例如,电气噪声可能导致线路过热,增加电气火灾的发生风险;电磁干
    华普微HOPERF 2025-02-18 10:48 112浏览
  • 这是一个3.3V 的供电开关,给WIFI模块供电。目的是能控制WIFI模块通电或断电。VCC_3V3 是电源,当WLENN为低时,Q1打开输出VCCW 给WIFI模块供电。实际使用时,当控制WLENN为低给模块供电时,MCU异常程序跑飞。不安装模块时不会跑飞。测试MCU的 3.3V供电,发现在WLENN为低时,3.3V会拉低到2V左右时间5uS。判断认为是瞬间电压过低引起程序跑飞。而WIFI模块通电瞬间电流较大,引起3.3V供电不稳。试着将电路更改一下。将连接到输出端VCCW的电容移动到输入端V
    southcreek 2025-02-20 13:35 82浏览
  • 嘿,大家好!在高压电子世界里摸爬滚打的朋友们,你们有没有遇到过这样的难题?那就是,如何选择适合高压环境的光颉精密电阻? 这可不是一个简单的问题,毕竟在高压环境下,电阻不仅要顶得住电压的“压力”,还得保证精度和稳定性,这要求可真不低。想想看,如果选错了电阻,就像给跑车装了个自行车轮,那能行吗?肯定不行!轻则电路性能大打折扣,重则电阻直接“罢工”,甚至引发更严重的后果。所以说,在高压应用中,选择一款靠谱的光颉精密电阻,那可是至关重要的。别担心,今天咱们就来好好聊聊,如何选择适合高压环境的光
    贞光科技 2025-02-18 17:28 154浏览
  • 引言:为什么THA6能成为“国产芯”的破局者?当全球汽车行业因芯片短缺陷入“卡脖子”困境时,紫光同芯的THA6系列车规MCU横空出世,不仅填补了国产高端MCU的空白,更凭借“功耗控制”与“热管理”两大杀手锏,直接对标国际大厂英飞凌TC387。北京贞光科技作为授权代理商,提供硬件、软件SDK及技术支持,并可现场协助芯片选型和定制服务,助力客户项目高效落地。从动力域控制到智能驾驶系统,THA6的足迹遍布新能源汽车核心场景。数据显示,其主频高达400MHz,算力超4000 DMIPS,却能在-40℃至
    贞光科技 2025-02-19 17:17 112浏览
  • 概述        TC10 为OPEN Alliance 中的一个技术委员会小组,专注于研究基于车载以太网的休眠唤醒机制,旨在为汽车应用场景提供灵活的休眠唤醒解决方案。该小组提出的休眠唤醒规范(《TC10 Sleep/Wake-up Specification》,以下简称TC10规范)作为对IEEE 802.3系列规范的补充,详细定义了以太网PHY的休眠唤醒过程、新增服务原语和接口、时间参数、指令描述等内容。目前,TC10已经发布了适配10Ba
    经纬恒润 2025-02-18 14:30 162浏览
  • 新技术的快速发展,其实与企业的管理机制、企业文化,甚至团队氛围、职场理念等方面非常相关!最近看到某平台有人吐槽00后实习生难带,进而又说到正常的工作安排被实习生莫名拉黑了。我就在人家的笔记评论区里写了我的观点(劝架风格),当然不出意料的就被更多的陌生人给围攻了!说起应届生的事情,可能是我一直长得年轻、又是个很较真很技术的人,我在多家企业里总被不同性格的老板拉去管“校企打杂”(所谓的领先企业应尽的社会责任,是连HR们都看不上的义务工作,给大学讲行业的意义和专业的意义)。我早就习惯了一种常见现象,像
    牛言喵语 2025-02-20 02:23 112浏览
我要评论
0
6
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦