自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(184)
  • 资源 (1)
  • 收藏
  • 关注

原创 EDA软件

主要提供封装设计平台,涵盖封装的设计、验证、实施等环节。芯片设计流程主要可分为前端设计与后端设计,其中前端设计(也称为逻辑设计)主要涉及芯片的功能设计,后端设计(也称为物理设计)主要涉及工艺有关的设计,使其成为具备制造意义的芯片。网上的资料中对EDA的分类有不同的说法,一种常见的分类方法是把EDA分为IC设计软件、电路设计与仿真工具、PCB设计软件、PLD设计工具及其它EDA软件等,另一种常见的分类方法是按产品将EDA分为数字设计类、模拟设计类、晶圆制造类、封装类、服务等五大类。

2024-03-10 03:36:47 925 1

原创 3.三极管和MOS管

从半导体结构上分按沟道分。

2024-01-14 22:38:30 1146

原创 SFP/SFP+/QSFP/QSFP+光模块和GTP/GTX/GTH/GTZ/GTY/GTM高速收发器

SFP( small form-factor pluggable)称为小封装热拔插光模块,应用于电信行业和光通信,它主要由光电子器件(光发射器、光接收器)、功能电路和光接口等部分组成,主要作用就是实现光纤通信中的光电转换和电光转换功能。

2024-01-13 23:12:31 1667 1

原创 以太网媒体接口MII/RMII/SMII/GMII/RGMII/SGMII

例如连接速度、双工的能力等。MII支持10兆和100兆的操作,一个接口由14根线组成,它的支持还是比较灵活的,但是有一个缺点是因为它一个端口用的信号线太多,如果一个8端口的交换机要用到112根线,16端口就要用到224根线,到32端口的话就要用到448根线,一般按照这个接口做交换机,是不太现实的,所以现代的交换机的制作都会用到其它的一些从MII简化出来的标准,比如RMII、SMII、GMII等。在100M速率中,每一组的内容都是变换的,在10M速率中,每一组数据需要重复10次,采样任一一组都可以。

2023-09-17 13:01:45 3665

原创 Cadence学习

Cadence 公司不像 Alitum 只做电子设计自动化(EDA)设计软件,它旗下有两个产品链,一个是 IC 产品也就是半导体知识产权(IP),一个是电子设计自动化(EDA)软件。而我们说所的原理图和PCB绘制,其实是属于电子设计自动化(EDA)软件下的PCB设计工具范畴的。其中PCB设计工具又分成PO系列和PS系列,PO中低端系列,也就是OrCAD系列,PS是高端系列,有的人称其为Allegro系列,其实并不准确。其实OrCAD这个产品线是Cadence收购来的,Allegro才是嫡系。

2023-08-06 23:41:48 1711

原创 半导体存储电路

磁盘里面使用一些磁材料存储数据,当对内部导体进行导通时会导致内部磁场发生变化,会让内部的磁极根据电流的方向而产生改变,发生的改变不会因为没有电流而消失,这个改变是永久的,当下次来读时只需要将上次的变化转化成对应的电流变化,这个过程较为复杂,涉及到一些磁信号到电信号的转换,速度相对于较慢,同时如果受到一些磁场较大的一些设备影响会导致里面的磁信号混乱,也就是数据混乱。浮动栅没有电子的状态(数据为1)下,在栅电极施加电压的状态时向漏极施加电压,源极和漏极之间由于大量电子的移动,就会产生电流。

2023-04-22 14:37:28 898 1

原创 EDA基础概念

FPGA(Field- Programmable Gate Array),即现场可编程门阵列,它是在 PAL、GAL、CPLD等可编程器件的基础上进一步发展出来的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA 普遍用于实现数字电路模块,用户可对 FPGA 内部的逻辑模块和 I/O模块重新配置,以实现用户的需求。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。

2023-04-16 21:59:43 2696

原创 2.半导体二极管

与PN结一样,二极管也具有单向导电性,但是由于二极管存在半导体体电阻(体字未重复)和引线电阻,所以当外加正向电压时,在电流相同的情况下,二极管的端电压大于PN结上的压降,或者说,在外加正向电压相同的情况下,二极管的正向电流要小雨PN结的电流。而普通二极管必须工作在正向导通的工作状态,它不能工作在反向状态,若所加的反向电压超过其反向击穿电压值时会对普通二极管造成不可逆的破坏作用,一但普通二极管被反向击穿,就宣告了它的工作“使命”结束就要更换新的了。另肖特基二极管耐压一般在100V以下,没有150V以上的。

2023-04-07 23:02:49 1261

原创 1.半导体基础知识

空穴和自由电子都是会运动的,且运动方向相反。

2023-04-07 12:40:01 2106

原创 有人物联网485转网口模块网口调试助手1035未知错误

项目使用有人物联网485转网口模块USR-TCP232-304,将模块接入实验室路由器,IP地址设置为动态IP,路由器上查得IP为192.168.31.185。打开控制面板,然后点击网络和Internet,再点击网络连接,如果是之前安装过虚拟机的朋友,那么会出现VMware的网络,只需要把跟虚拟机(VMware)相连的两个网络禁用。调试时候使用网络调试助手设置为本机IP,选择TCP Server,点击Listening,碰到报错:不能关联到指定地址。接下来网络调试助手就可以正常监听了。

2023-02-23 13:40:09 1685

原创 反客STM32F4核心板DAP无法下载程序解决

反客STM32F407ZGT6核心板使用反客的DAP下载器下载程序,无法识别下载器,说明下载器没有正常工作。(这里是已经换过杜邦线了,之前的更长)1、要么是时钟线和数据线接反了,要么就是没有安装驱动,或者是硬件有问题,此时可以交换时钟线和数据线的位置,再不行就重装驱动。但是换台电脑又不行了,后面又咨询反客,也有提到更换下载器固件库,最后是通过换更短的杜邦线解决的。但是下载时候一直按着复位键下载成功了。通过方法2识别到了下载器,如下。2、通过复位键解决。但是还是无法下载程序,会报错。

2023-02-23 12:37:49 987

原创 强大的PubMed插件Scholarscope

NCBI(National center for biotechnology information), 是目前最好用的生物技术、生物信息数据库之一,而旗下的Pubmed是目前生命科学及医学领域内最好用的论文检索网站,收录了全部的SCI文献。那么用好Pubmed数据库自然很重要。曾经有一个学生为了能快速地找到可信度较高、有意义的研究论文,无奈已有的插件不能达到他的要求,然后自己开始敲代码,于是神仙插件——scholarscope诞生了。

2022-11-13 17:59:29 3657

原创 回车和换行的区别

需要注意的是在Windows系统中回车键被当做\r\n的组合来使用,当我们从键盘输入回车键时,Windows系统会把回车键当做\r\n来处理,Unix系统只会当做\n来处理,不管在什么系统中,都可以用\n来作为一行输入结束的标记,只是在编程时我们需要注意,在Windows系统中我们会读到\r这个字符,我们必须把\r和正常输入的字符区别开来。如果同时出现,则去掉’\r’,如果没有同时出现,保留’\n’。只要在Unix文件中出现的’\n’的之前加入一个’\r’字符就可以了。...

2022-07-31 16:32:02 2974 1

原创 音视频基础

为什么直播现场的信息,用户通过手机或者网站就能很快的看到呢?为什么有时候网络不稳定,直播效果会有延迟呢?现场的视频信号又是如何传到网络呢?这些所有问题的产生,都离不开视频直播中常说的两个词:推流和拉流。推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验很是糟糕。要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP、

2022-07-27 18:08:49 1704

转载 解决Endnote插入参考文献时导致word闪退问题

通过endnote插入参考文献时,会使得word闪退。

2022-07-15 13:44:46 5140 2

原创 嵌入式面试题

C++中字符串分两种,一种是C语言的字符串,一种是string字符串。C语言字符串是不可以直接比较大小的,string是可以直接比较大小的。具体细节:从Weiss的《数据结构与算法分析》看到一条typedef语句通过查看《 C Primer Plus 》中typedef的相关用法,找到答案。typedef 关键字有如下用法所以这条语句定义了一个含有NunVertex 个元素的结构体数组类型。...

2022-07-14 17:28:54 266

原创 找素数问题

找素数

2022-07-14 12:24:11 159

原创 程序中的负数存储及类型转换

分为:正数 和负数(包括正浮点数,和负浮点数)。规定最高位位符号位正数为0,负数为1(原因下文解释)原码:10进制转换成2进制是原码,只不过正数的原码是本身符号位为0,负数的原码符号位为1(以下篇幅均以单字节为例:10进制1的原码是0000 0001,10进制-1的原码是1000 0001)。反码:正数的反码是本身,负数的反码是负数的原码0变为1,1变为0 (-1的原码是1000 0001 它的反码就是 1111 1110,)。(注意负数求反码时候的符号位不参与变换)。补码:正数的补码是本

2022-06-30 16:49:47 1224

转载 new和malloc的区别

new和malloc的区别

2022-06-29 21:41:03 713

原创 不同操作系统及CPU字长、寻址能力、指针宽度的理解

64位CPU和32位CPU中64和32的含义:64和32指的是CPU中的寄存器(通用)的字长,字长就是一个字的位数。这里说的字的含义是:处理器进行数据处理时,一次存取,加工,和传送的数据长度。现在CPU大多是64位的,但大多都以32位字长运行,都没能展示它的字长的优越性,因为它必须与64位软件(如64位的操作系统等)相辅相成,也就是说,字长受软件系统的制约,例如,在32位软件系统中64位字长的CPU只能当32位用。在计算机词典中:(1)位(Bit):表示一个二进制数码0或1,是计算机存储处理信息的最基本

2022-06-29 21:36:25 2599

原创 全局变量和静态变量的初始化

首先,静态局部变量和全局变量一样,数据都存放在全局区域,所以在主程序之前,编译器已经为其分配好了内存,但在C和C++中静态局部变量的初始化节点又有点不太一样。在C中,初始化发生在代码执行之前,编译阶段分配好内存之后,就会进行初始化,所以我们看到在C语言中无法使用变量对静态局部变量进行初始化,在程序运行结束,变量所处的全局内存会被全部回收。而在C++中,初始化时在执行相关代码时才会进行初始化,主要是由于C++引入对象后,要进行初始化必须执行相应构造函数和析构函数,在构造函数或析构函数中经常会需要进行某些程序中

2022-06-29 09:40:17 2967

原创 乐鑫面试流程

题目分为选择题和编程题,选择题二十题,编程题两题;选择题基本是一些计算机相关基础知识,比较简单,如果有考过研应该很轻松,没考过研的话可能稍微要复习一下计算机组成原理;编程题我做的部分是一题easy一题medium;第一题是关于数学的,给出一个数,高度合成数的概念,求第n个高度合成数,不知道为啥,我自己跑能通过,放牛客平台上显示超时只通过40%;第二题是关于树的,使用递归的方法解题,具体题目不太记得了,还是得多刷刷leetcode,不然一紧张可能就做不出来了。时长:1h40min首先是问项目,就聊天,了解一

2022-06-28 18:35:57 686

原创 C语言数组专题训练

若有语句char s1[10], s2[10] = {“books”};则能将字符串 books 存放到数组 s1 的正确语句是( )A、strcpy(s1, s2);B、s1 = {“books”};C、s1 = s2;D、strcpy(s2, s1);答案:A解析:数组名代表的是数组的首地址,是一个地址常量,所以不能给数组名赋值,C错误。strcpy函数原型如下第二题线性表是________。A、一个有限序列,可以为空B、一个有限序列,不可以为空C、一个无限序列,可以为空D、

2022-06-28 18:07:21 925

转载 逻辑结构与物理结构

简单的来说,逻辑结构就是数据之间的关系。逻辑结构常见有四种类型:集合结构,线性结构,树形结构,图形结构。表面意思,没有什么深刻意义,就是数据元素同属一个集合,单个数据元素之间没有任何关系。如下图所示。线性结构类似于线性关系,也就是说,线性结构中的数据元素之间是一对一的关系。注意:重点在一对一。如下图所示。树形结构中的数据元素之间存在一对多的关系。(各元素及元素关系所组成图形类似于树状图)。注意:关系为一对多。如下图所示。数据元素之间是多对多的关系。如下图所示。又叫存储结构,分为两种,一种是顺序存储

2022-06-28 18:02:10 563

原创 小米笔试真题一

下述算法的时间复杂度为()A、O(log2n)B、O(n)C、O(nlog2n)D、O(n^2)答案:B解析:这个相当于就是遍历了一遍,从N到1的值。 然后每次去乘以上次得到的值。时间复杂度为线性阶,简单来讲就是利用递归实现求N的阶乘,代码执行n次在现代Linux 系统和 Windows 系统中,如果希望可以在任意目录下直接通过输入文件名运行一个程序,需要把程序所在路径添加到哪个环境变量里面?( )A、PWDB、PATHC、SHELLD、EXEC答案:B解析:linux脚本文件在任何

2022-06-27 16:07:25 1827

原创 Linux设备驱动中的并发控制

Linux设备驱动中的并发控制前言并发与竞争编译乱序和执行乱序编译乱序嵌入式汇编(内联汇编)示例分析一执行乱序中断屏蔽原子操作原子操作简介原子整形操作API函数原子位操作API函数自旋锁自旋锁简介其他类型的锁读写自旋锁顺序锁自旋锁使用注意事项信号量信号量简介信号量API函数互斥体互斥体简介互斥体API函数完成量总结前言本文主要来自正点原子、野火Linux教程及本人理解,若有侵权请及时联系本人删除。并发与竞争Linux 系统是个多任务操作系统,会存在多个任务同时访问同一片内存区域,这些任务可能会相互覆

2022-05-10 16:05:19 2205

原创 Linux驱动的分离与分层(很重要)

Linux驱动的分离与分层前言驱动的分隔与分离驱动的分层前言本文主要来自正点原子、野火Linux教程及本人理解,若有侵权请及时联系本人删除。驱动的分隔与分离对于 Linux 这样一个成熟、庞大、复杂的操作系统,代码的重用性非常重要,否则的话就会在 Linux 内核中存在大量无意义的重复代码。尤其是驱动程序,因为驱动程序占用了 Linux内核代码量的大头,如果不对驱动程序加以管理,任由重复的代码肆意增加,那么用不了多久Linux 内核的文件数量就庞大到无法接受的地步。假如现在有三个平台 A、B 和

2022-05-03 21:32:53 1603

原创 Modbus/TCP:主站、从站、客户端和服务端关系

modbus:主站、从站、客户端和服务端关系modbus poll和modbus slave模拟软件关系主站主动找从站读写数据客户端主动找服务端读写数据所以当使用Modbus/TCP时,主站一般作为客户端,从站一般作为服务端modbus poll和modbus slave模拟软件当使用Modbus/TCP时,modbus poll一般模拟客户端,modbus slave一般模拟服务端...

2022-03-20 21:59:16 28967

原创 数组、链表和哈希表

数组、链表和哈希表数组、链表和哈希表关系数组与链表的区别链表总结链表开源库—utlist.h哈希表开源C库—uthash简介uthash能做什么uthash包括的额外内容uthash效率简单使用定义hash数据结构从hash表查找item向hash表添加item从hash删除item数组、链表和哈希表关系数组与链表的区别(1)存储空间上链表存放的内存空间可以是连续的,也可以是不连续的,数组则是连续的一段内存空间。一般情况下存放相同多的数据时,数组占用较小的内存,而链表还需要存放其前驱和后继的空间。

2022-03-20 21:27:02 1962

原创 Flash Download failed - “Cortex-M3“解决方法

Flash Download failed - "Cortex-M3"解决方法问题解决Keil MDK Flash Download列表里没有想要的下载算法解决方法问题这两天用32核心板采集一下温湿度,使用Jlink通过SWD模式给STM32F103C8T6核心板下载代码时,报错Error:Flash Download failed - “Cortex-M3”Keil配置如下问题就出现在下图,STM32F103C8T6有64K Flash和20K RAM,不属于高容量Flash此时下载就会

2022-03-20 21:18:29 5250

原创 C编程每日一练

C编程每日一练2022.3.17两数之和题解方法一:暴力枚举思路及算法:代码复杂度分析方法二:哈希表(空间换时间)思路及算法代码复杂度分析2022.3.17两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:

2022-03-19 17:49:32 205

原创 单总线协议(DHT11/DS18B20读取一个bit)

单总线协议(1-wire)单总线协议单总线通信过程DHT11/DS18B20读取一个bit代码示例单总线协议定义:主机和从机通过1根线进行通信,在一条总线上可挂接的从器件数量几乎不受限制。特点:这是由达拉斯半导体公司推出的一项通信技术。它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的。优点:单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等。单总线通信过程1.初始化初始化过程 = 复位脉冲 + 从机应答脉冲。主机通过拉低单总线480 ~ 960 us产生

2022-03-16 16:50:57 2032

转载 Linux中文件描述符fd和文件指针flip的理解

Linux中文件描述符fd和文件指针flip的理解简单概括open和fopenVFS进程控制块file.File Status Flag和file.f_countfile.file_operationsfile.dentrydentry.inodeinode.super_block总结简单概括fd只是一个整数,在open时产生。起到一个索引的做用,进程经过PCB中的文件描述符表找到该fd所指向的文件指针filp。open和fopenopen:文件描述符的操做(如: open)返回的是一个文件描述符(

2022-03-10 22:14:32 748

原创 register_chrdev()、register_chrdev_region()、alloc_chrdev_region()函数区别

register_chrdev、register_chrdev_region、alloc_chrdev_region函数区别函数原型区别总结函数原型分配设备编号,注册设备与注销设备的函数均在fs.h中声明,如下:extern int register_chrdev_region(dev_t, unsigned, const char *);//静态的申请和注册设备号 extern int alloc_chrdev_region(dev_t, unsigned, const char *);//动态的

2022-03-08 21:37:55 438

原创 __init和__exit修饰符

__init和__exit修饰符引入含义__init__exit总结引入在字符设备驱动中函数的修饰符会出现__init和__exit,与普通函数相比,定义中多了__init和__exit含义__init__init宏告知编译器,将变量或函数放在一个特殊的区域,这个区域定义在vmlinux.lds中。 __init将函数放在".init.text"这个代码区中,__initdata将数据放在".init.data"这个数据区中。标记为初始化的函数,表明该函数供在初始化期间使用。在模块装载之后,

2022-03-08 17:20:56 606

原创 大小端、字节顺序转换函数和IP地址格式转换函数

ntohs、ntohl、htons和htonl大小端CPU大小端之分常见字节序ntohs、ntohl、htons和htonl含义Linux系统下定义Windows系统下ntohs()htons()htonl()和ntohl()IP地址格式转换函数inet_aton、inet_addr、inet_ntoa函数(已废弃)inet_ntop、inet_pton函数inet_pton()函数inet_ntop()函数示例大小端CPU大小端之分大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在

2022-03-08 16:46:38 4672

原创 匈牙利命名法、驼峰式命名法、帕斯卡命名法

匈牙利命名法、驼峰式命名法、帕斯卡命名法匈牙利命名法驼峰式命名法小驼峰式命名法大驼峰式命名法(帕斯卡命名法)匈牙利命名法优缺点优点缺点其他匈牙利命名法基本原则是:变量名=属性+类型+对象描述。开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。例如:int iMyAge; //“i”是int类型的缩写;char cMyName[10]; //“c”是char类型的缩写; float fMyHeight; //“f”是float类型的缩写;匈牙利命名法中常

2022-03-08 15:22:41 1097

原创 Socket编程中常见错误

Socket编程中常见错误端口冲突(Address already in use)问题复现解决缓冲区溢出(buffer overflow detected)问题复现端口冲突(Address already in use)问题在socket编程时可能会遇到这样的问题:在成功的运行了第一次之后,如果先ctrl+c/ctrl+z结束服务器端程序的话,再次启动服务器就会出现Address already in use这个错误,或者你的程序在正常关闭服务器端socket后还是有这个问题。经常会出现在bind()

2022-03-05 18:13:08 2541

原创 C函数库(libc、glibc、uClibc、newlib)

libc、glibc、uClibc、newlibglibc和libcuClibcNewlibglibc和libcglibc和libc都是Linux下的C函数库,libc是Linux下的ANSI C的函数库;glibc是Linux下的GUN C的函数库;GNU C是一种ANSI C的扩展实现。ANSI C是基本的C语言函数库,包含了C语言最基本的库函数。这个库可以根据头文件划分为15个部分,其中包括:<asset.h>,<ctype.h>,<errno.h>,<

2022-03-05 16:36:41 2622

原创 声卡接口Line in、Line out、Mic in和Speak out

声卡接口Line in、Line out、Mic in和Speak out概念Line InMic InLine OutSpeaket Out(现在通常和Line Out合为一个插孔)区别于联系概念Line In线性输入,用来输入未经放大芯片放大的模拟音频信号。Mic In麦克风输入,用来连接麦克风。Line Out线性输出,用来输出未经放大芯片放大的模拟音频信号。Speaket Out(现在通常和Line Out合为一个插孔)用来输出经放大芯片放大的模拟音频信号。区别于联系可以通过下

2022-03-02 16:31:35 21476

AD添加LOGO方法及脚本程序.zip

用于AD导入logo或图片使用

2021-11-26

空空如也

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

TA关注的人

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