自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (10)
  • 收藏
  • 关注

转载 Verilog程序实现CAN协议控制器

CAN 协议具有一下特点:1) 多主控制。在总线空闲时,所有单元都可以发送消息(多主控制),而两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。2) 系统的柔软性。与总线相连的单元没有类似于“地址”的信息。因此在总线上增加

2022-06-26 19:23:04 2962 1

转载 射频电路板设计要点

1、射频电路中元器件封装的注意事项成功的RF设计必须仔细注意整个设计过程中每个步骤及每个细节,这意味着必须在设计开始阶段就要进行彻底的、仔细的规划,并对每个设计步骤的进展进行全面持续的评估。从过去到现在,RF电路板设计如同电磁干扰(EMI)问题一样,一直是工程师们最难掌控的部份,甚至是梦魇。若想要一次就设计成功,必须事先仔细规划和注重细节才能奏效。射频(RF)电路板设计由于在理论上还有很多不确定性,因此常被形容为一种「黑色艺术」(black art)。

2023-07-03 20:40:07 304

转载 Linux 最强总结

在 Linux 中有些进程是特殊的,它不与任何进程关联,不论用户的身份如何,都在后台运行,这些进程的父进程是 PID 为1的进程, PID 为1的进程只在系统关闭时才会被销毁。使链接的两个文件共享同样文件内容,就是同样的 inode ,一旦文件1和文件2之间有了硬链接,那么修改任何一个文件,修改的都是同一块内容,它的缺点是,只能创建指向文件的硬链接,不能创建指向目录的(其实也可以,但比较复杂)而软链接都可以,因此软链接使用更加广泛。Linux 的学习对于一个程序员的重要性是不言而喻的。

2023-06-25 22:24:12 151

转载 FPGA的前世今生

FPGA 是一种以数字电路为主的集成芯片,于 1985 年由 Xilinx 创始人之一 Ross Freeman 发明,属于可编程逻辑器件(Programmable Logic Device,PLD)的一种。这个时间比著名的摩尔定律出现的时间晚 20 年左右,但是 FPGA 一经发明,后续的发展速度之快,超出大多数人的想象。FPGA 发展历程在 PLD 未发明之前,工程师使用包含若干个逻辑门的离散逻辑芯片进行电路系统的搭建,复杂的逻辑功能实现起来较为困难。

2023-06-25 22:21:25 1037

转载 轻量级 C 语言网络库

dyad 是一个超级轻量级的 C 语言异步网络库。它功能纯粹,API 简洁易使用,对于使用者而言,简直就是开箱即用,前提是你需要的一个简单小巧的 TCP Server。另外,其内部的代码实现优雅且巧妙,非常适合初学者用来学习 Linux 网络编程和了解异步处理的本质。

2022-10-05 20:02:46 418

转载 【Verilog我思我用】-generate

这篇文章是在阅读《XAPP585》代码时候看着generate语法极其方便,所以引出了该篇文章,下面说下generate...for和for的区别:首先第二个代码时错误的!只有当 for 循环在 generate 中时,才能将 always 放在 for 循环中!generate for 循环和常规 for 循环之间的主要区别在于generate for 循环是为每次迭代生成一个实例。这意味着在示例中将有 3 个 always 块(与常规循环情况下的 1 个块相反)。module A();..

2022-09-28 10:40:24 397

转载 一个健壮且高效的串口接收程序

本篇重点在于解决如何写一个健壮、高效的串口接收数据,发送与接收处理过程略讲。帧格式先聊聊帧格式,一般来说,一个数据帧有以下几部分内容:帧头帧头用于分辨一个数据帧的起始,这个帧头必须足够特殊才行,因为它是分辨一个帧的起始,那么什么样的帧头是足够特殊的数据呢?保证这个数据在一个帧内最好只出现一次的数据,那就是帧头,比如0x55、0xAA之类的。而且最好有两个字节以上,这样帧头才更加独一无二。但是数据域内的数据你是没办法保障不包含和帧头一样的数据。那么如果不凑巧,除了帧头外其他部分也有这样的两个字节的帧头,那会出

2022-09-28 09:05:08 293

转载 一个实用的一键开关机电路

按键没按下之前,PMOS GS两端电压一样,不导通,当按键按下之后,看上图红色回路,G极通过二极管D1接地,PMOS导通,12V电压通过PMOS到VCC,给后级供电,这时候有老铁就要问了,难道我要一直按着嘛,按键松开的话MOS不就关断了?原理其实很简单,就是通过控制PMOS Q2的通断来实现的,当按键KEY1按下的时候,PMOS Q2导通,之后控制Q1导通,就可以实现PMOS一直导通,实现开机,开机之后,可以检测PG2的电平来判断按键的短按,双击,长按等操作。

2022-09-27 09:46:21 426

转载 充分理解ADC预充电缓冲器的重要性

对该器件来说,如果使用4.096V的典型外部基准电压,输入时钟频率为25.6MHz,并工作在高速模式,那么没有预充电缓冲器时的平均输入电流为778μA,这对大多数基准来说都可以轻松驱动,然而,许多系统使用多个ADC通道,比如8个或更多个通道,此时,总的基准电流为8×778μA,即6.2mA,这对于精密基准来说就相当高了。对于极低频输入信号或直流输入信号来说,使用大输入滤波电容可能是一种可接受的方法,但对于10kHz或更高的输入频率来说,负载电流和由此产生的功耗可能会变得高的无法接受。...

2022-09-01 14:23:39 308

转载 详细分析机器人伺服系统,对比国内外伺服代表产品

工业机器人有4大组成部分,分别为本体、伺服、减速器和控制器。而其中,工业机器人电动伺服系统的一般结构为三个闭环控制,即电流环、速度环和位置环。一般情况下,对于交流伺服驱动器,可通过对其内部功能参数进行人工设定而实现位置控制、速度控制、转矩控制等多种功能。伺服系统(servomechanism)又称随动系统,是用来精确地跟随或复现某个过程的反馈控制系统。伺服系统使物体的位置、方位、状态等输出被控量能够跟随输入目标(或给定值)的任意变化的自动控制系统。...

2022-09-01 14:18:52 1291

转载 28 张图,一次性说清楚 TCP

做IT相关的工作,肯定都离不开网络,网络中最重要的协议是TCP。无论是实际工作还是笔试面试,你看哪里能少得了TCP?我看过RFC中与TCP相关的文档,也看过linux中TCP相关的源码,也看过不少框架中的TCP相关的代码,对TCP是有点感觉了。一直想找个时间来分享下TCP相关的知识,如果大家有疑问,欢迎相互交流。其实,搞透了TCP之后,发现它也就那么回事。考虑最简单的情况:两台主机之间的通信。...

2022-09-01 14:16:45 100

转载 自动驾驶中ROS操作系统的重要性

ROS是对机器人的硬件进行了封装,不同的机器人、不同的传感器,在ROS里可以用相同的方式表示(topic等),供上层应用程序(运动规划等)调用。计算机OS与机器人OS对比示意图,图片引用自Nao。...

2022-09-01 14:15:27 185

转载 PHY寄存器

并且,值得注意的是,由于目前很多百兆的PHY芯片其MAC接口主流的都是SMII/S3MII,8个端口的接口是相互关联的,一个端口设置Isolate可能会影响其他端口的正常使用,因此在使用中注意不要随意更改bit10的状态。双工模式设置:Bit8置1端口设置为全双工,置0则端设置为半双工,和SpeedSelection的设置一样,DuplexMode的设置只有在自动协商关闭的情况下才起作用,如果自动协商设置为Enable状态,则该设置不起作用,端口的双工模式根据AN结果来定。自动协商(AN)开关。...

2022-09-01 14:12:42 1562

转载 全面认识MOS管,一篇文章就够了

虽然我把MOS管归结为基础知识一大类,但是迟迟没有更新,正好最近博客专栏《电路小课堂》分享总结的一些电路还比较受欢迎,而其中 MOS 管都是关键元器件,那么正好借此机会来好好的理一理 MOS管。既然要说,那就给他整到位了,从原理到应用一网打尽。开局一张图(内容用心写!说白了就是NMOS相对 PMOS 来说:简单点。这个简单点,包括生产难度,实现成本,实现方式等等。

2022-08-23 18:41:07 3705

转载 嵌入式中应用层与硬件层分层管理方法

以STM32为例,打开网络上下载的例程或者是购买开发板自带的例程,都会发现应用层中会有stm32f10x.h或者stm32f10x_gpio.h,这些文件严格来时属于硬件层的,如果软件层出现这些文件会显得很乱。使用过Linux的童鞋们肯定知道linux系统无法直接操作硬件层,打开linux或者rt_thread代码会发现代码中都会有device的源文件,没错,这就是驱动层。...

2022-08-11 19:13:46 252

转载 计算机系统弱电网络知识点全面总结(完整版)

一、计算机网络概述1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构TCP/IP四层模型与OSI体系结构对比:1.3 层次结构设计的基本原则各层之间是相互独立的;每一层需要有足够的灵活性;各层之间完全解耦。1.4 计算机网络的性能指标速率:bps=bit/s时延:发送时延、传播时延、排队时延、处理时延往返时间RTT:数据报文在端到端通信中的来回一次的时间。二、物理层物理层的作用:连接不同的物理设备

2022-07-09 18:23:20 483

转载 直接用于项目开发的PID库!很好用!

今天给大家安利一下了。一般同学会去某度上搜,看到各种各样版本的PID示例,或者去GitHub上白嫖。其实一些芯片公司会提供一些控制领域的解决方案了,这里面就会包括PID库。比如ST的"ST Motor Control Sdk",或者TI的C2000系列的control suite。不过目前TI官方对于control suite已经不再提供相应的更新,可以继续下载这个套件.目前control suite已经更新为C2000WARE-MOTORCONTROL-SDK.那本文主要介绍TI的control suit

2022-07-03 15:52:18 600

转载 一文教你搞懂C语言的Q格式

1 前言2 Q数据的表示2.1 范围和精度2.2 推导3 Q数据的运算3.1 0x7FFF3.2 0x80003.3 加法3.4 减法3.5 乘法3.6 除法4 常见Q格式的数据范围5 0x5f3759df6 总结Q格式是二进制的定点数格式,相对于浮点数,Q格式指定了相应的小数位数和整数位数,在没有浮点运算的平台上,可以更快地对浮点数据进行处理,以及应用在需要恒定分辨率的程序中(浮点数的精度是会变化的);需要注意的是Q格式是概念上小数定点,通过选择常规的二进制数整数位数和小数位数,从而达到所需要的数值范围

2022-07-03 15:49:51 2083

转载 fpga复位的几种方法及程序实现

1、FPGA的复位方法几种方法在 FPGA 设计中,复位起到的是同步信号的作用,能够将所有的存储元件设置成已知状态。在数字电路设计中,设计人员一般把全局复位作为一个外部引脚来实现,在加电的时候初始化设计。全局复位引脚与任何其它输入引脚类似,对 FPGA 来说往往是异步的。设计人员可以使用这个信号在 FPGA 内部对自己的设计进行异步或者同步复位。不过在一些提示和技巧的帮助下,设计人员可以找到更加合适的复位结构。理想的复位结构可以改善 FPGA 中器件的利用率、时序和功耗水平。了解触发器复位行为在深入探讨复

2022-06-30 19:31:31 4121

转载 C语言字符串

字符串是一种重要的数据类型,但是 C 语言并未提供显式的字符串数据类型,而是用字符串常量或者字符数组来表示字符串。字符串是一个或多个字符,并以空字符 作为终止符。上述字符数组声明了 14 个字符,但初始化中只有 13 个字符,那是因为最后一个字符会自动加上 终止符结束,当然,也可以手动加上。C 语言提供了一种更简洁的方式来对字符数组进行初始化。字符串常量一般是用双引号 括起来的一串字符来表示,并且不可被修改。实际上,字符串常量是通过第一个字符的地址存储的,而不是存储字符本身,可

2022-06-30 14:07:02 109

转载 PCB的Checklist

料输入阶段1.在流程上接收到的资料是否齐全(包括:原理图、*.brd文件、料单、PCB设计说明以及PCB设计或更改要求、标准化要求说明、工艺设计说明文件)2.确认PCB模板是最新的3.确认模板的定位器件位置无误4.PCB设计说明以及PCB设计或更改要求、标准化要求说明是否明确5.确认外形图上的禁止布放器件和布线区已在PCB模板上体现6.比较外形图,确认PCB所标注尺寸及公差无误, 金属化孔和非金属化孔定义准确7.确认PCB模板准确无误后最好锁定该结构文件,以免误操作被移动位置布局后检查阶段器件检查8.确认所

2022-06-30 13:48:56 428

转载 最详细的Intel CPU体系结构分析(内核源码)

本文主要关注以下几个问题。几乎所有的冯·诺伊曼型计算机的CPU,其工作都可以分为 5 个阶段:取指令、指令译码、执行指令、访存取数、结果写回。取指令(Instruction Fetch,IF)阶段是将一条指令从主存中取到指令寄存器的过程。 程序计数器 PC 中的数值,用来指示当前指令在主存中的位置。当一条指令被取出后,PC 中的数值将根据指令字长度而自动递增:若为单字长指令,则(PC)+1->PC;若为双字长指令,则(PC)+2->PC,依此类推。取出指令后,计算机立即进入指令译码(Instruction

2022-06-30 13:37:26 485

转载 FPGA开发流程

概述编译器的主要工作就是将HDL代码和约束文件转换为FPGA芯片上的实际数字电路。主要分为五大方面:综合、翻译融合、映射、布局布线和配置文件生成。1.综合①综合的输入包括:HDL代码、综合设置、器件型号②综合的输出:RTL门级网表和综合报告③综合的工具2.翻译融合翻译融合是编译流程的第二个环节,编译器在这一环节将输入的门级网表和约束信息转换为后续作业工具所能识别的逻辑连接。位置约束、时序约束和用户约束在翻译融合环节之后进行设置。①翻译融合的输入包括:RTL门级网表、翻译融合设置和器件型号等

2022-06-29 14:15:33 241

转载 FPGA与CPLD之区别

CPLD和FPGA都是我们经常会用到的器件。有的说有配置芯片的是FPGA,没有的是CPLD;有的说逻辑资源多的是FPGA,少的是CPLD;有的直接就不做区分,把他们都叫做FPGA。那么两者到底有什么区别呢?下面我们就以Altera公司的CPLD和FPGA为例来说说两者的区别。首先我们看一下CPLD的芯片结构,搞清楚CPLD是由哪几部分组成的。下图是MAX系列CPLD的芯片结构图:从图中可以清楚的看出来CPLD主要由三部分组成:Macro cell(宏单元),PIA(可编程连线),和IO Control Bl

2022-06-29 12:02:02 2228

转载 软件架构设计风格

1. 架构设计的一个核心问题是能否达到架构级的软件复用2. 架构风格反映了领域中众多系统所共有搭档结构和语义特性,并指导如何将各个构件有效地组织成一个完整的系统3. 架构风格定义了用于描述系统的术语表和一组指导构建系统的规则1. 数据流风格1) 批处理序列:构件为一系列固定顺序的计算单元,构件之间只通过数据传递交互。每个处理步骤是一个独立程序,每一步必须在其前一步结束后才能开始,数据必须是完整的,以整体搭档方式传递。2) 管道-过滤器:每个构建都有一组输入和输出,构建读输入的数据流,经过内部处理,然后产生输

2022-06-29 11:00:12 264

转载 I2C-总结

1、I2C 历史I2C:Inter-Integrated Circuit,集成电路总线。I2C 是 Philips 公司在 1982 年为主机板、嵌入式系统(短距)设计的一种简单、双向二线制同步串行总线。Philips 半导体事业部就是现在的 NXP。I2C 的专利在 2006 年 11 月 1 日已到期,大家可以免费使用。Intel 1995 年推出的 I2C 兼容总线(System Managerment Bus),即 SMBus 或 SMB最新版本 I2C spec v.6 于 2014.04.04

2022-06-28 18:31:39 2204 1

转载 Aurora8B10B IP使用

Aurora 8B/10B 内核支持 AMBA协议、AXI4-Stream 用户接口。 该内核使用 Zynq、Artix-7、Kintex-7 和 Virtex-7 系列、UltraScale和 UltraScale+系列上的高速串行收发器实现 Aurora 8B/10B 协议。吞吐量范围为 480 Mb/s 至 84.48 Gb/s 的通用数据通道。支持多达 16 个连续键合的 7 系列 GTX/GTH、UltraScale GTH 或 UltraScale+ GTH 收发器和多达四个键合 GTP 收发器

2022-06-28 18:27:51 1040

转载 CRC校验原理及其实现

目录前言最近的工作中,要实现对通信数据的CRC计算,所以花了两天的时间好好研究了一下,周末有时间整理了一下笔记。一个完整的数据帧通常由以下部分构成:校验位是为了保证数据在传输过程中的完整性,采用一种指定的算法对原始数据进行计算,得出的一个校验值。接收方接收到数据时,采用同样的校验算法对原始数据进行计算,如果计算结果和接收到的校验值一致,说明数据校验正确,这一帧数据可以使用,如果不一致,说明传输过程中出现了差错,这一帧数据丢弃,请求重发。常用的校验算法有奇偶校验、校验和、CRC,还有LRC、BCC等不常用的校

2022-06-28 09:12:27 1227

转载 静态链接与动态链接的区别

对于初学C语言的朋友,可能对链接这个概念有点陌生,这里简单介绍一下。我们的C代码编译生成可执行程序会经过如下过程:链接就是把目标文件与一些库文件生成可执行文件的一个过程。关于更详细的编译过程,可查阅上一篇笔记:C程序的编译过程1、什么是静态链接?静态链接是由链接器在链接时将库的内容加入到可执行程序中的做法。链接器是一个独立程序,将一个或多个库或目标文件(先前由编译器或汇编器生成)链接到一块生成可执行程序。这里的库指的是静态链接库,Windows下以.lib为后缀,Linux下以.a为后缀。2、什么是动态链接

2022-06-28 08:45:31 1505

转载 TCP/IP深度解析

TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。TCP/IP协议族按照层次由上到下,层层包装。最上面的是应用层,这里面有http,ftp 等等我们熟悉的协议。而第二层则是传输层,著名的TCP和UDP协议就在这个层次。第三层是网络层,

2022-06-28 08:37:58 169

转载 搞懂这个16个C语言问题,你也能进大厂

用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)考察点: 语法的基本知识(例如:不能以分号结束,括号的使用,等等)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。写一个"标准"宏MIN ,这个宏输入两个参

2022-06-27 14:03:45 37

转载 嵌入式 C 语言的核心和灵魂

提起C语言,大部分开发者很自然就会想到指针二字。没错,作为C的核心和灵魂,它的地位咱们就不再赘述了。今天,我们想跟大家讲的是指针中的两个特有名词:“悬空指针”和“野指针”。悬空指针C语言中的指针可以指向一块内存,如果这块内存稍后被操作系统回收(被释放),但是指针仍然指向这块内存,那么,此时该指针就是“悬空指针”。下面这段C语言代码是一个例子,请看:C语言中的“悬空指针”会引发不可预知的错误,而且这种错误一旦发生,很难定位。这是因为在 free(p) 之后,p 指针仍然指向之前分配的内存,如果这块内存暂

2022-06-27 13:48:29 45

转载 嵌入式 C 语言的高级用法,面向对象

不知道有多少人去了解过语言的发展史,早期C语言的语法功能其实比较简单。随着应用需求和场景的变化,C语言的语法功能在不断升级变化。虽然我们的教材有这么一个结论:C语言是面向过程的语言,C++是面向对象的编程语言,但面向对象的概念是在C语言阶段就有了,而且应用到了很多地方,比如某些操作系统内核、通信协议等。面向对象编程,也就是大家说的OOP(Object Oriented Programming)并不是一种特定的语言或者工具,它只是一种设计方法、设计思想,它表现出来的三个最基本的特性就是封装、继承与多态。阅读文

2022-06-27 13:42:43 539

电子元器件设计选型原则与规范

01.二极管选型规范.doc 02.三极管和MOSFET选型规范.doc 03.光耦选型规范.doc 04.电阻选型规范.doc 05.器件降额规范.doc 06.电容选型规范.doc 07.元器件可靠性降额规范V1.0.doc

2022-06-26

泰克-示波器培训讲义。

泰克-示波器培训讲义。

2022-06-26

CAN协议控制器verilog程序

CAN协议控制器verilog程序-可用

2022-06-26

FPGA基础篇+FPGA验证篇+FPGA时序篇

FPGA基础篇+FPGA验证篇+FPGA时序篇,FPGA快速入门,一周玩转FPGA

2022-06-26

SEED-DECC6713B开发板设计资料(合众达)

1.SEED-DEC6713V2.1原理图 2.demo设计例程 3.相关设计资料。

2022-06-26

AXI总线协议(中文)+AXI总线协议(英文)

1.AXI总线协议(中文)2.AXI总线协议(英文)

2022-06-26

Candece电子教程+Cadence电路图设计百例

Cadence高速电路板设计与仿真+allegro_总结+capture原理图规范等设计资料

2022-06-26

龙芯2K1000原理图及PCB文件-官方文件

1.2k龙芯派用户手册 2.龙芯2K1000LA处理器数据手册 3.龙芯CPU开发系统PMON固件开发规范_V1.0 4.龙芯架构32位精简版参考手册 5.龙芯架构参考手册 6.硬件资料-官方设计的Cadence原理图 PCB BOM文件

2022-06-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除