自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(297)
  • 资源 (2)
  • 收藏
  • 关注

原创 往期文章汇总——总有一本适合你水平的书籍,书籍推荐一至四十

书籍推荐往期链接。

2024-10-30 10:30:00 498

原创 Xilinx DDR3 MIG系列——DDR3控制器项目开发及目录

文章结尾包含此专栏文章详细目录。该专栏包括:MIG的硬件设计讲解,IP底层代码讲解(lut和时钟资源占用,初始化,写入均衡,ZQ校准),app接口和AXIfull接口代码讲解,仿真环境搭建以及讲解,各种DMA示例教程等。

2023-11-04 19:17:55 709

原创 xilinx的vivado工具综合一直转圈圈,卡死后如何解决?

vivado业界内好用的EDA工具,也会出现各种各样的bug,莫名其妙,验证影响开发工作。在综合过程中,出现综合一直转圈圈,时间过去很久竟然还在synth综合。也就是图中的bug。从11点31开始synth,结果发现过去4分钟,还是一直转圈圈,此时卡死后,需要采用一定的方法进行解决。很多人尝试关闭工程,重新打开,仍然是这个bug,甚至有的人重新建工程,重装vivado软件,耗时又耗费精力。个人看法是在PC的缓存重新开辟内存,跑vivado的综合布线策略,其实就是完全摆脱以前的综合布线生成bit的路径。

2024-12-20 09:00:00 3318

原创 基于FDMA和AXI4接口的DDR4遍历读写测试

对于DDR的内存地址读写,有两种思路,一种是基于软核的读写测试,通过串口打印测试报告来查看,这种方式是基于C语言的DDR的地址写入与读取,并显示对应的测试结果;以下是简单的测试框架,ddr4_rw_fdma是预留的fdma的读写数据接口,用于DDR4遍历读写测试。FDMA,可以理解为帧格式的DMA操作,一种简易的DMA的操作方式,将AXIfull接口数据转换成读写测试数据接口,开放给用户侧使用,开发者使用相对方便,对于逻辑处理也更简单,不需要关注AXIfull的内部通道,比如:读通道,写通道,写响应等。

2024-12-19 01:00:00 913 1

原创 vivado时序优化——约束异步时钟组set_clock_groups

异步时钟组,英文名称为Asynchronous Clock Groups,在vivado xdc约束命令为 set_clock_groups。需要注意的是,相比于常规时序约束, set_clock_groups约束命令具有更高的优先级。如果需要约束和报告异步时钟之间的某些路径,则必须只使用常规时钟约束,而不是设置_clock_组。从字面上理解,两个时钟为异步时钟,不需要分析这两个时钟之间的所有路径,在分析过程中,忽略所有的时序路径。

2024-12-18 06:00:00 2205

原创 UltraScale+FPGA中GTY的TX路径时钟详解——以40G的ETH MAC IP为例

经过原语IBUFDS_GTE4生成gt_refclk,进入GTYE4_COMMON和GTYE4_CHANNEL,通过QPLLREFCLKSEL[2:0]参数进行时钟输入的选择,将GTREFCLK00输入至QPLL0中,GTREFCLK00对应ge_refclk。TX_PROGCLK_SEL设置为PREPT,也就是对应的数字为01,时钟路径分为两路,总时钟图中蓝线分叉部分,一路给到TX PMA的Phase Interp,用于生成TXOUTCLKPCS;在pg211中,40G IP核中需要将设置为对应的数值。

2024-12-17 09:30:00 1399

原创 Xilinx UltraScale+DDR4项目开发(三)——DDR4器件选型与MIG IP的配置

数据在时钟的双边沿采样,故有效数据传输频率为时钟频率的两倍,数据传送频率(等效频率),实际应用中测试时关注的时钟频率,下图中的3200MHz/2666MHz/2400MHz。DDR4器件选型,需要根据项目中内存的容量需求,读写速率,成本等各方面考虑,对于FPGA开发者,需要根据DDR4 MIG的IP控制器的性能进行选型,并配置。这个跟硬件上DDR4的颗粒有关系了,在上面IP配置中,数据位宽选择64,也就是4 * 16,硬件上使用了4个DDR4颗粒,故4 * 1GB=4GB,是DDR4的内存总容量。

2024-12-16 04:00:00 1648

原创 Xilinx UltraScale+DDR4项目开发(二)——DDR4 MIG的时钟网络

对应原语中的数值一一对应进行计算,以CLKOUT0为标准来计算,CLKIN_PERIOD_NS_MMCM数值表示的是输入时钟的周期,单位NS,9996ps,这个是通过DDR4的IP的用户界面设置的,也就是100M的差分时钟输入,外部硬件需要提供100M的差分时钟。从代码底层来看,ddr4_phy_v2_2_0_pll和ddr4_v2_2_17_infrastructure这两个模块实现了DDR4控制的所有时钟的产生,下面的仿真中表示的div_clk表示CLKOUT0,riu_clk表示CLKOUT6。

2024-12-15 02:15:00 1602

原创 Xilinx UltraScale+DDR4项目开发(一)——DDR4 MIG的ip接口信号

本节目录一、DDR4 SDRAM MIG的IP核接口信号二、时钟和复位三、DDR4的AXI数据接口四、DDR4的物理接口五、校准信号六、往期文章链接本节内容一、DDR4 SDRAM MIG的IP核接口信号BD,block design,创建后添加DDR4 SDRAM MIG的IP,图中的IP接口信号包括以下部分:时钟和复位,DDR4的AXI数据接口,DDR4的物理接口和校准信号等。至于如何新建BD,并添加MIG的ip,此处不做详细说明了,毕竟网上开源的教程已经很多了,理论上有手就会(

2024-12-14 18:46:27 1550

原创 vivado时序报告中slack是如何计算的?如何优化时序?

当然上述时序报告的问题,源时钟和目的时钟clock tx_clk_out[0]的时钟周期约束不一致,原因是因为IP核里面xdc约束的clock tx_clk_out[0]为6.4ns,在用户的xdc中约束为8ns,导致两者的时序不一致,从而不满足要求。若为红色,也就是所谓的时序违例,也有人称为时序爆红,需要优化时序,从而保证该路径的布线满足时序要求。从源时钟路径报告上,可以得到Tclk1的数值,其延时的总和为源时钟的路径延时,对应建立时间计算公式的Tclk1,即Tclk1=8.329ns。

2024-12-11 10:30:00 1000

原创 UltraScale+FPGA中Serdes的多lane对齐异常解决方案

接收到涉及到各种各样的复位,先满足QPLL或者CPLL的初始化复位,之后才是GTY的复位,因为涉及到多lane对齐,因此需要关注pg211手册中的接收侧状态。其实这种思路参考了看门狗复位的方法,计数到10s,检查下接收RX的状态,若异常则复位。高速Serdes的调试,两大难度:一是时钟,输入高速bank的参考时钟选择,QPLL、CPLL选择,用户侧时钟的选择,在前面的文章中已经介绍过了;二是复位,尤其是接收侧复位,涉及到各种模块的复位,而且还有复位时序的要求。问题来了,什么时候需要对RXPMA层进行复位?

2024-12-10 10:45:00 1253

原创 vivado+modelsim联合仿真中,如何修改do文件实现仿真代码和综合代码独立工作?

笔者习惯使用第二种方式,通过“+define+SIM +define+SIM_SPEED_UP”来实现Modelsim平台下仿真代码生效。由此在vivado+modelsim联合仿真中,修改do文件实现仿真代码和综合代码独立工作。刚开始用起来也挺舒服的,只需要在头文件中define,同时还需要在verilog中进行头文件引用,否则verilog中的宏定义并不会生效。但是最近仿真40G ETH MAC PCS+PMA的IP时候,发现此种方式并没有让IP核底层的仿真define实现,底层代码未引用头文件。

2024-12-09 10:30:00 1012

原创 低速接口项目之串口Uart开发(十一)——zynq PL侧串口在线升级

乒乓操作接收BIN二进制文件,基于双RAM的乒乓操作,大致思路如下:rx接收字节,先写入RAM1固定长度字节,再写入RAM2固定长度字节,两个RAM交叉写入。整个操作流程中,需要的设计技巧不少,包括:基本功能串口接收和发送、接收端的乒乓操作缓存、DDR3的AXI接口写入操作以及发送端的ascii log输出功能。PC电脑端的上位机QT,通过串口发送BIN文件至FPGA的PL端,PL端通过乒乓操作将BIN二进制文件写入PS侧DDR3,待接收完成后,PL侧启动PS侧的QSPI实现flash的更新。

2024-12-08 10:30:00 933

原创 低速接口项目之串口Uart开发(十)——基于EMIO的自定义PL串口实现zynq的在线升级

PL侧的普通IO要实现PS侧的QSPI的在线更新,此处提供两种实现思路:一是通过EMIO路由的方式,采用PS侧成熟的UART和QSPI的控制,从而实现PS侧的QSPI flash的更新。二是在PL侧实现一个串口的接收BIN文件的驱动,更新至PS侧的QSPI中,从而实现PS侧的QSPI flash的更新。本文实现的是上述中的思路一,PS通过EMIO路由至PL侧的普通IO管脚,在PS的软核开发串口更新flash的驱动,前面系列文章已经描述过了,此处不再进行详细描述。

2024-12-07 11:15:00 973

原创 低速接口项目之串口Uart开发(九)——如何通过ps侧的串口实现zynq的在线升级(二)

在线升级的核心在于读取BIN二进制文件,然后通过串口发送到Zynq端,当然需要封装一个BIN文件字节长度寄存器,用于通知zynq的ps端,写入QSPI flash的文件字节长度。串口中断接收字节,在回调函数中,接收字节长度寄存器,之后再存储该字节长度的数据,提供给QSPI驱动模块进行更新Flash。用户界面开发,基于QT组件和C++的界面,软件开源比硬件开源舒服多了,对于个人来说,不需要考虑各种性能,通常都是功能性软件。通过QT上位机连接串口,导入文件,然后点击启动更新,发送字节长度寄存器的数据帧。

2024-12-06 06:30:00 860

原创 低速接口项目之串口Uart开发(八)——如何通过ps侧的串口实现zynq的在线升级(一)

串口在线升级,就是通过I/O外设中的UART和QSPI控制器,将生成的BIN文件更新的Procesing System(PS侧)外挂的Flash中,断电从QSPI flash中重启,实现固件的更新。串口升级,通过串口传输待更新的BIN文件,利用Uart的控制器,采用中断的方式,实现BIN文件的传输。当然,此处的串口可以是ps侧固定的IO接口,也可以通过EMIO实现PL侧的扩展,从而实现串口在线升级,此部分后期进行开发验证。在PS侧开发,对QSPI Flash的读写操作,离不开底层的控制器。

2024-12-05 13:11:15 930

原创 低速接口项目之串口Uart开发(七)——如何在FPGA项目中实现自适应波特率串口功能

串口波特率Baud,具体定义此处不再进行描述,常用的波特率数值有115200、57600、38400、19200、9600等,FPGA开发项目使用中通常都是固定的波特率与上位机串口通信,上位机可以选择对应的FPGA波特率才能实现通信,否则通信失败。FPGA内部默认使用115200的波特率,通过寄存器写入指定的波特率数值从而实现不同波特率切换。串口波特率和FPGA波特率设置为115200,通过查询得到FPGA波特率为115200,对寄存器40000000进行读取,数值为aaaabbbb,与默认值一致。

2024-11-23 00:15:00 1141

原创 低速接口项目之串口Uart开发(六)——zynq系列ps-pl端uart实现共享Axilite内部寄存器的读写

但是评估资源的时候需要注意总共就只有两个uart的硬核控制器,如果需要更多的串口,思路有很多种,比如:ps侧通过GPIO扩展串口,移植串口驱动;PS串口COM8,再次读取寄存器32’h40000004,数值为32’h55556666。硬件上,PL侧和PS侧各一路串口,其中COM5为PL侧串口,COM8为PS侧串口。串口中断函数操作,对串口的数据处理,均在此处完成,个人理解,进入中断处理函数后进行业务处理,也就是所有的串口收发以及解析组帧等均在中断处理函数中实现。①PL侧读写测试验证+②PS侧读写测试验证。

2024-11-22 06:30:00 1279

原创 低速接口项目之串口Uart开发(五)——QT实现Uart串口寄存器读写工具

串口寄存器读写工具,为了方便FPGA开发者通过串口访问内部AXIlite的寄存器,属于轻量级的debug工具,界面中包括基本的串口配置项,寄存器读操作,寄存器写操作,发送显示和接收显示,均以HEX的格式进行写入和显示。LED控制寄存器,可读可写,基地址+偏移地址为32’h8000_0000+32’h0000_0008=32’h8000_0008,寄存器初始值为32’h0000_0000。只读寄存器的验证结果,读取32’h8000_0000寄存器的数值为32’haaaa_bbbb。读写测试寄存器的验证结果。

2024-11-21 04:30:00 1087

原创 低速接口项目之串口Uart开发(四)——UART串口实现FPGA内部AXILITE寄存器的读写控制

在uart_frame_ctrl中,当PC电脑端发送寄存器写数据帧时,解析来自串口的数据,生成wishbone的写控制,完成axilite的寄存器的写入操作,同时,将接收的数据组帧后,并发送至PC串口显示。用过AXILITE总线的FPGA开发者,或多或少都了解这个总线信号五个通道,相当多,也有直接逻辑控制各个通道的信号,而此处的思路是引入wishbone总线,通过控制wishbone总线的读写,借助于成熟开源的wishbone总线转换AXI总线的模块,从而实现axilite寄存器的读写控制。

2024-11-20 06:30:00 1022

原创 低速接口项目之串口Uart开发(三)——串口发送模块和接收模块

数据在刚刚发生变化和即将发生变化的这一时期,数据极有可能不稳定的,在这两个时间段采集数据,很有可能得到错误的结果,因此判定这两段时间的电平无效,采集时直接忽略。采样6次的结果分别1/1/1/1/0/1/,则取电平结果为 1,若为 0/0/1/0/0/0,,则取电平结果为 0,当6次采样结果中 1 和 0 各占一半(各 3 次),则可判断当前通信线路环境非常恶劣,数据不具有可靠性,不进行处理。目前,入门时候参考的小梅哥的,当然串口收发模块设计思路也是参考小梅哥的,个人感觉还可以,后期模块修改成同步复位。

2024-11-19 04:15:00 923

原创 低速接口项目之串口Uart开发(二)——FIFO实现串口数据的收发回环测试

串口数据的发送,则以FIFO的非空标志作为启动,读取FIFO内的数据并通过uart_tx将数据发送出去。串口数据的收发回环测试,最简单的硬件测试是把Tx和Rx连接在一起,然后上位机进行发送和接收测试,但是需要考虑到串口数据的缓存,通常软件驱动侧也会实现串口接收数据的缓存,或者通过一个环形buffer进行串口接收数据的处理。上板验证,采用的是正点原子的7020开发板,自定义GPIO作为串口的收发pin,通过CH340的模块与PC的usb端口相连,上位机软件进行串口数据的发送与接收。帧头为a1b2c3d4。

2024-11-18 06:30:00 1526

原创 低速接口项目之串口Uart开发(一)——串口UART

在 RS-232 标准中,最常用的配置是八个数据位+无奇偶校验+一个停止位,按照一个完整的字节包括一位起始位、8 位数据位、一位停止位即总共十位数据来算,要想完整的实现这十位数据的发送,就需要 11个波特率时钟脉冲,第 1 个脉冲标记一次传输的起始,第 11 个脉冲标记一次传输的结束。通常FPGA与电脑之间采用RS-232的串行数据通信接口标准,也就是计算机串行接口,显示COMX等,可以采取拔插串口的操作,通过在PC电脑的设备管理器下查看新增的串口COM,在上位机上进行连接。

2024-11-17 00:47:52 1183

原创 往期文章汇总——射频测量+无线通信+软件无线电+6G科普

三、软件无线电系列往期链接。一、射频测量系列往期链接。二、无线通信系列往期链接。四、6G科普系列往期链接。

2024-10-29 11:45:00 908

原创 深入浅出通信原理 | 周期信号和非周期信号的离散谱

不同占空比的周期矩形信号对应的频谱图比较,最上面为Ck=1/2×sin(k/2),中间为Ck=1/4×sin(k/4),最下面为Ck=1/8×sin(k/8)。不同占空比的周期矩形信号波形,最上面为Ck=1/2×sin(k/2),中间为Ck=1/4×sin(k/4),最下面为Ck=1/8×sin(k/8)。幅度为1、脉宽为τ、占空比为1/n的周期矩形信号的离散谱就是对1/n×sin(τkf0)的采样,采样间隔为f0。幅度为1、脉宽为τ的非周期矩形脉冲信号的连续频谱是X(f)=τsinc(τf)。

2024-09-22 00:10:19 1619

原创 深入浅出通信原理 | 信号的合成与分解

方波信号可以在一个直流信号上,不断叠加余弦信号,越来越逼近一个方波,同时也可以分解为一个直流分量和一系列余弦波分量之和。在第一次合成信号上再叠加余弦信号,左侧为第一次合成信号,中间为叠加余弦,右侧为叠加后波形。在第二次合成信号上再叠加余弦信号,左侧为第二次合成信号,中间为叠加余弦,右侧为叠加后波形。在直流信号上开始叠加余弦信号,左侧为直流信号,中间为叠加余弦,右侧为叠加后波形。左侧为频率为-1Hz,中间为频率为1Hz(与左侧幅度一致),右侧为叠加后波形1。式中ω0=2π/T,角速率;Ck表示傅里叶系数;

2024-09-16 05:45:00 1431

原创 深入浅出通信原理 | 信号的相与相位

正弦波在特定时刻所处的特定状态,幅值是正的还是负的,是在增大的过程中还是在减小的过程中,就是正弦波在这一时刻的相。同相,指任意时刻两个信号的状态都是相同的,一个取值为正,另一个取值也为正;反相,指任意时刻两个信号的状态都是相反的,一个取值为正,另一个取值必为负;通信系统中使用相来描述正弦波的状态,随着时间的推移,正弦波的幅值从零变到最大值,从最大值变到零,又从零变到负的最大值,从负的最大值变到零,不断循环。相位,指对于一个正弦波,特定的时刻在它循环中的位置,波峰、波谷或它们之间的某点。一个循环是360°。

2024-09-15 05:00:00 2056

原创 深入浅出通信原理 | 欧拉公式、复数以及复指数信号

复数,z=r×e ^ (jφ)=r×(cosφ+jsinφ),复数z与复指数 e ^ (jθ)相乘,zejθ=r×e ^ (jφ)×e ^ (jθ)=r×ej(φ+θ)复平面上的一个长度为A的旋转向量,始端位于原点,从角度φ开始,以角速度ω0围绕原点旋转,其末端在复平面上的轨迹就是复指数信号s(t)=A×e ^ [j(ω0t+φ)]。cosθ+jsinθ是一个复数,实部为cosθ,虚部为sinθ,对应在复平面上单位圆上的一个点,用复指数e^(jθ)来表示这个点。T0是复指数信号的周期T0=2π/ω0。

2024-09-14 10:00:00 2563

原创 深入浅出通信原理 | 通信系统的常用概念:通信模型、信源、信宿、信道、信道编码、调制以及复用多址技术

光纤通常作为光传输设备之间、通信设备之间的传输媒介,基站和核心网设备之间通过传输设备相连,基站和核心网设备与传输设备之间采用的传输媒介一般都是光纤。通常信道对传输的信号是有要求的,信息必须转换成满足信道要求的信号才能在信道中传输。在接收端的信道译码之前,先进行去交织,将数据顺序复原,连续的误码到了接收端就变成了零星的误码,信道译码就可以正确纠错了。无线信道的传输媒介为自由空间的电磁波。信源编码,对于模拟信源,先进行模/数转换,将模拟信号数字化,再进行压缩编码,尽量剔除冗余信息,减少对传输带宽的占用。

2024-09-13 09:15:00 1479

原创 深入浅出通信原理 | 通信和通信系统的概念

话筒称为麦克风、送话器,负责将声音的变化转换为电流的变化。在日常生活中接触到的通信系统都比较复杂,但这些复杂的通信系统并不是一蹴而就的,它经历了由简单到复杂、由有线到无线、由模拟到数字的发展历程。扬声器里有一个线圈,镶嵌在环形磁体的空隙里,当有音频电流通过时,就产生一个随电流规律变化的磁场,在环形磁铁的共同作用下,线圈带动纸盆振动,发出声音。通信系统是用模拟电路实现的,其中传输的信号都是模拟信号,被称为模拟通信系统。1875年,贝尔发现电流的强弱可以模拟声音大小的变化,利用电流来传送声音,发明了电话。

2024-09-12 09:15:00 692

原创 无线通信 | 低噪声放大器LNA和射频前端模块FEM

射频前端模块,包含了一些射频前端电路的模块,具体包含了Switch+Filter的射频前端模块、Switch+LNA的射频前端模块、Switch+LNA+PA 的射频前端模块等。因此射频前端模块的功能相当强大,既可以实现功率放大器的放大,又可以实现低噪声放大器的放大,也可以具有开关和滤波器等前端电路的作用。低噪声放大器是一个射频功率放大器,实现对射频弱信号的放大功能,用在RX电路上,有低噪声的独特性,尽可能低地引入系统噪声,从而提高灵敏度。通常是指输入和输出的隔离度,从性能的角度考虑,隔离度越高越好。

2024-09-11 05:00:00 1447

原创 无线通信 | 射频校准的概念、作用和步骤以及相关仪器

网络分析仪(Network Analyzer,NA),又称为矢量信号分析仪,用来测试前面史密斯圆图所讲到的端口的复数参数,比如S参数、反射系数、驻波等等,通常用来测试阻抗、调试匹配、调试测试天线、测试射频线缆的衰减值。射频测试常规仪器有万用表、示波器,硬件工程师常用的仪表,通常用于基带范畴的测试。校准,通过计算机和校准程序控制无线产品进入特定模式,借助测量仪器测试产品的射频参数,并通过校准程序不断调整产品寄存器中的值,以达到最佳的射频参数,然后存储到产品的存储芯片中(如Flash芯片)。

2024-09-10 17:13:32 943

原创 深入浅出通信原理 | 傅里叶变换

sinc脉冲信号τsinc(τt)的傅里叶变换,令脉冲幅度τ趋于无穷大,就可以得到单位冲激信号的傅里叶变换。连续谱X(f)求其对应的非周期信号x(t),以f0为间隔对X(f)进行采样,采样结果乘以f0,从而得到一个周期信号的傅里叶系数Ck,公式为Ck=f0×X(kf0)。矩形脉冲信号对应的傅里叶变换是(f)=τsinc(τf),若τ趋近于无穷大是,演变成单位冲激函数(f)=τ sinc(τf)。单位冲激函数的特点,当t=0时,幅度无穷大,t≠0时,幅度为0,宽度为0,面积为1。

2024-08-31 09:00:00 4428

原创 深入浅出通信原理 | 傅里叶变换的特性:对称性、时移特性、卷积特性

平移9:n=9,y[-k]向右平移9得到y[9-k],与x[k]相乘(k=0~n),再求和得到z[9]=x[0]y[9]+x[1]y[8]+x[2]y[7]+…下图中,最上方为f=1平移后的图形Y(1-τ),中间为f=2平移后的图形Y(2-τ),最下方为f=3平移后的图形Y(3-τ)。f(t)和g(t)的乘积为:y(t)=f(t)g(t)=3ej3ωt+17ej2ωt+28ejωt+12。相乘,将X(τ)×Y(f-τ),下图左侧为平移后的图形,右侧X(τ)×Y(f-τ)的图形。

2024-08-30 00:30:00 2047

原创 深入浅出通信原理 | 单位冲激响应和时域卷积定理

下图最上方为抽样信号的频谱X(f),中间为理想低通滤波器的频率响应H(f),最下方为输出的频谱Y(f)。k=1,下图左为x[1]×δ[n-1],下图右为对应的输出为x[1]×h[n-1]k=5,下图左为x[5]×δ[n-5],下图右为对应的输出为x[5]×h[n-5]x[k]×δ[n-k]对应的输出为x[k]×h[n-k],其中k∈[0,5]k=0,下图左为x[0]×δ[n],下图右为对应的输出为x[0]×h[n]x[k]×δ[n-k]对应的输出为x[k]×h[n-k]

2024-08-29 14:07:35 2098

原创 无线通信 | 阻抗与阻抗匹配的概念及原理

在射频电路中,射频信号需要经过许多器件或电路去传输,对于输入的电路为源端(Source),输出的电路为负载端(Load),信号从源端到负载端的传输中会有功率的损失,以及噪声的引入,为了减少功率的损失和降低干扰的引入,需要对源端和负载端做阻抗的匹配。无相移的最大功率匹配是指从源阻抗到负载的功率传输的最大化,从源阻抗到负载的传输电压无相位偏移。阻抗匹配包括最大功率匹配和无相移的最大功率匹配,实现无相移的最大功率匹配的前提是需要源阻抗和负载阻抗为共轭关系,实现最大功率匹配的前提是需要源阻抗和负载阻抗相等。

2024-07-31 10:45:00 1289

原创 无线通信 | 功率耦合器Coupler和天线Antenna的概念、作用、参数及选型

按天线工作波长可分为超长波天线、长波天线、中波天线、短波天线、超短波天线和微波天线等。一个四端口的耦合器器件,输入端(端口①)和输出端(端口②),还有一个耦合端(端口③),把一部分功率输出到耦合端口,这个端口用来实现对输出功率的检测反馈等目的。在某方向的某点上,在相同输入功率条件下,天线在该点产生的场强平方与理想点源天线在该点产生的场强平方的比值。天线,辐射或接收电磁波的装置,把无线信号转换为电磁波的形式并按照一定方式辐射出去的设备(发射天线),或者接收电磁波并转换为无线信号的设备(接收天线)。

2024-07-30 05:45:00 1425

原创 无线通信 | 双工器Duplexer和双讯器Diplexer的概念、作用、参数及选型

隔离度,双讯器是用来隔离不同的频段或系统的,所以必须对各端口之间做好足够的隔离,防止相互干扰。双讯器用来隔离和区分两个系统或频段的信号,比如双频CDMA手机,支持CDMA 800MHz附近频段和CDMA 1900MHz附近频段,需要双讯器来隔离选择两个频段的信号。双工器隔离出发射信号和接收信号,其原理相当于两个带通滤波器,一个通道对发射频段有效,另一个通道对接收频段有效。因为双工器是FDD系统才有的器件,FDD系统中发射和接收信号是同时进行处理的,要求发射和接收必须做足够的隔离保护,从而避免相互干扰。

2024-07-29 05:30:00 2203

原创 无线通信 | 射频滤波器Filter的概念、作用、参数及选型

插入损耗,滤波器的作用主要是隔离出信号,抑制干扰,不希望损耗有用信号,因此插入损耗越小越好;以中心频率为准,高于中心频率一直到传输系数衰减到时为上边频,相反为下边频,上边频和下边频之间为通频带。品质因数反映了滤波器的选择性,对同一频率,带宽越窄,品质因数越高,滤波器越难实现。按所通过信号的频段分类,可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)和带阻滤波器(BSF)等。滤波器就是滤除特定无线电信号的器件,专门用来滤除对系统通信没用的各种有害信号,保留有用信号并通过。

2024-07-28 09:00:00 1534

原创 无线通信 | 射频开关Switch的概念、作用、参数及选型

对于同一个无线系统或频段来讲,射频开关的作用就是选择接收(RX)还是发射(TX),收发切换,前无线系统采用的是时分双工(Time Division Duplexer,TDD)方式。对于多个无线系统或频段的电路,只能选择一个无线系统或频段进行通信,不可能同时发射或接收两个无线系统或频段的信号,因为物理路径只有一个,所以必须用开关选择要发射或接收的信号。比如对于TDD系统(时分双工),一个频段需要两个通路(发射和接收各一个),对于FDD系统(频分双工),一个频段只需要一个通路。选择合适的控制接口和逻辑电平。

2024-07-27 08:30:00 2661

基于fpga的图像处理之3x3-5x5算子模板中值排序

①本文介绍3x3算子模块和5x5算子模块中,矩阵转化成串行数据后,对其排序,并获取矩阵中值数据; ②本例程中采用的FPGA设计技巧,可用于借鉴,一是采用for循环实现串行数据转化并行数据;二是采用两级for循环实现矩阵中数据的比较; ③本文比较采用纯逻辑方式进行比较,一个时钟输出数据,并且提供了3x3和5x5的矩阵算子模板使用的逻辑资源,需斟酌考虑使用,也就是所谓的面积和速度之间的平衡选择

2023-11-13

基于fpga的图像处理之图像灰度化处理(Vivado+Modelsim+Matlab联合仿真验证)

①本文采用两种算法进行灰度处理,平均法和加权均值法;加权均值法采用了直接公式求解和查找表两种方式验证 ②FPGA设计中三个设计技巧,可用于工程项目借鉴,一是宏定义参数化设计;二是generate if参数定义;三是调用xilinx的rom原语实现ROM核,省去ip核的调用 ③通过Matlab实现图片转化hex,存储至原始图片txt文档,用于vivado+modelsim的仿真输入 ④将原始图片txt文档,导入fpga开发平台,通过灰度处理算法输出,并将输出数据存储至算法处理后的txt文档 ⑤通过Matlab将算法灰度化处理后的txt文档,通过代码转化至图片格式,显示处理

2023-11-13

基于fpga的图像处理之3x3-5x5算子模板设计

①本文采用支持3x3算子模块和5x5算子模块的生成,用于后一级别的算法输入 ②本例程中采用的FPGA设计技巧,可用于借鉴,一是generate if参数定义;二是调用xilinx和altera的sync fifo和async fifo原语实现不同平台同步fifo和异步fifo的功能,省去ip核的调用,简化代码移植

2023-11-13

本设计主要介绍AXILite的设计开发,通过一个主机Master读写控制两个从机Slaver(通过基地址进行寄存器地址偏移)

本设计主要介绍AXILite的设计开发,通过一个主机Master读写控制两个从机Slaver(通过基地址进行寄存器地址偏移),从而实现外设寄存器的控制。包括:IP的生成、各通道的信号讲解,以及基地址的使用。 包括三种设计方案,一是基于XILINX的AXI Crossbar IP的工程;二是基于XILINX的AXI Interconnect互联的Block Desing的工程;三是基于开源代码AXI的工程。

2023-11-12

自定义uiFDMA IP 核(米联客封装IP)

自定义封装uiFDMA IP核,可用于PL端读取PS端的DDR内存

2022-04-08

IIC_TOP(Verilog).rar

IIC顶层模块,涉及IIC主机Verilog模块、IIC从机Verilog模块、IIC模拟仿真模块,模拟实现IIC主机对从机寻址,写寄存器,并读取寄存器值

2021-03-22

空空如也

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

TA关注的人

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