- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 多字节串口收发IP设计(八)串口接收仲裁模块设计(含源码)
串口接收仲裁模块将多个通道的输入,通过一个输出通道进行输出。通过轮询的方式查询哪个通道已经准备好,然后将此通道数据输出。继续判断其他通道有无准备好,依次循环。源代码/******************************************************************** Author : Sean Hu Date : 2025-10-16 15:39:31 LastEditors : Sean Hu LastEditTime : 2025-10-
2025-10-20 10:20:27
57
原创 多字节串口收发IP设计(七)串口接收模块合并及排故(含源码)
本文介绍了一个合并后的UART接收模块UART_recv_chx的设计与调试过程。该模块整合了串口接收和帧接收功能,通过参数配置实现多通道支持。在设计过程中发现输出数据有效信号多一拍的问题,导致数据输出异常。通过分析发现是读取数据计数器逻辑错误,修正了判断条件后问题解决。文中详细展示了模块的接口定义、状态机设计、FIFO控制逻辑以及错误计数机制,最终实现了稳定的串口数据帧接收功能,能够正确输出帧长度、错误计数和用户数据。该设计采用Verilog实现,适用于FPGA平台。
2025-10-17 11:27:11
76
原创 多字节串口收发IP设计(六)串口帧接收模块设计及仿真(含源码)
该串口帧接收模块实现了以下功能:1. 通过状态机控制接收过程,包括数据写入FIFO、帧长度判断和补零操作;2. 使用两个FIFO分别存储接收数据(FIFO1)和帧信息(FIFO2);3. 通过计算数据间隔判断帧边界,支持非4字节倍数帧的补零处理;4. 输出帧长度和校验错误计数,并生成有效信号。模块包含8个状态,通过间隔计数识别帧结束,当帧长度非4的倍数时自动补零,确保数据对齐。仿真验证了模块对9字节数据(需补3字节)的正确处理能力。
2025-10-16 14:35:41
138
原创 多字节串口收发IP设计(五)串口模块增加数据位停止位动态配置功能(含源码)
本文设计实现了可配置参数的UART收发模块,支持动态配置数据位宽度(5-8bit)、停止位宽度(1-2bit)和校验方式(无/奇/偶校验)。接收模块通过高位补零将数据对齐到8bit输出,发送模块则截取输入数据有效位。模块采用PS端配置参数,通过联合仿真验证了功能正确性,测试结果显示输入输出数据一致。该设计解决了不同位宽数据与FIFO缓存接口的适配问题,提升了UART模块的灵活性和兼容性。
2025-10-15 14:44:33
264
原创 多字节串口收发IP设计(四)串口接收模块设计及联合仿真(含源码)
本文设计了一个带奇偶校验功能的串口接收模块,支持无校验、奇校验和偶校验三种模式。模块通过波特率计数器实现串行数据接收,并实时计算校验位进行校验判断。仿真结果表明,模块能正确识别起始位、数据位和校验位,在发送接收校验模式一致时能准确判断校验结果,而模式不匹配时则能正确报错。该模块已完成功能验证,为后续串口通信系统开发奠定了基础。
2025-10-11 15:13:29
366
1
原创 多字节串口收发IP设计(三)串口发送模块设计及仿真(含源码)
本文设计了一个支持奇偶校验的串口发送模块,采用Verilog实现。模块包含时钟、复位、波特率设置、校验方式选择等输入信号,支持无校验、奇校验和偶校验三种模式。通过状态机控制发送时序,实现了起始位、数据位、校验位和停止位的顺序发送。仿真结果表明,模块能正确计算并发送校验位,奇校验时使总"1"数为奇数,偶校验时使总"1"数为偶数。该设计通过波特率计数器和位计数器精确控制发送时序,具有结构清晰、功能完备的特点。
2025-10-09 16:57:14
867
3
原创 多字节串口收发IP设计(二)串口通信扫盲
本文介绍了串口通信的基本原理与应用。串口是一种异步、全双工、串行通信接口,常用于单片机等设备。文章详细说明了串口的硬件连接方法(TX-RX交叉连接)、数据包格式(起始位、数据位、校验位和停止位)以及波特率计算方法。同时解释了串并转换过程和奇偶校验原理(奇校验保持1的个数为奇数,偶校验保持偶数)。这些基础知识对实现稳定可靠的串口通信至关重要。
2025-10-09 10:24:58
329
原创 多字节串口收发IP设计(一)概述
本项目实现了一个支持AXI接口协议的UART IP模块,具有多字节收发功能。该模块支持波特率和奇偶校验配置,通过FIFO和BRAM缓冲实现高效数据传输。接收流程:配置初始化→数据缓存→中断触发→PS读取数据;发送流程:数据写入BRAM→启动发送→中断确认。适用于ZYNQ和FPGA平台,确保了通信的稳定性和实时性。
2025-10-08 21:07:26
407
原创 公司级项目-AD9914扫频源(四)ZYNQ开发板与AD9914评估板的平台搭建
接下来需要在ZYNQ+AD9914的平台上进行开发。采用串行配置方式。
2025-04-10 11:25:14
200
原创 公司级项目-AD9914扫频源(三)评估板与上位机的初步调试
第一阶段,先使用评估板配套的上位机软件进行控制,学习一下各种功能的实现方式和寄存器配置方式。
2025-04-09 16:49:22
686
原创 公司级项目-AD9914扫频源(二)AD9914工作模式及配置方式
要想实现一个芯片的功能,编写一个芯片的驱动,首先要了解这款芯片的功能及通信时序。AD9914 是一款带12位DAC的直接数字频率合成器(DDS),能够产生高达1.4GHz的频率捷变模拟输出正弦波。
2025-04-08 15:04:41
1465
原创 公司级项目-AD9914扫频源(一)项目需求
本次的实战项目根据公司的具体项目要求进行设计,手把手带你实现一个公司级的项目,可以学习到公司级项目的设计及调试思路。基于FPGA平台,采用AD9914实现扫频源。
2025-04-08 13:41:47
510
原创 SDR实战(五)-ZYNQ+FMCOMMS5架构(二)-配置函数及接口时钟
000表示单收单发,并且使用的是RX1和TX1通道;010表示单收单发,并且使用的是RX2和TX1通道;001表示单收单发,并且使用的是RX1和TX2通道;由于通道数的不同,AD9361的接口工作时钟也会产生相应的变化,那么对于后级的ADC和DAC的操作也会产生影响,所以需要对应的进行IP核的配置。有一点需要注意,这个函数会复位AD9361,所以使用此函数时还需要配套使用上述函数进行重新配置参数。由于配置为2发2收的模式,DDR模式,所以数据时钟DATA_CLK与采样率之间的关系为。
2024-05-10 13:03:22
859
原创 SDR实战(五)-ZYNQ+FMCOMMS5架构(一)-基础
在同步完成后,还可以根据需要通过相应的函数进行滤波器配置、采样率设定、本振频率设定、带宽设定、增益设定、衰减设定等。在通过PS端来控制PL端IP核的配置时,通过AXI-Lite协议来访问不同的基地址+偏移量,进而操作不同的IP核。由于系统中使用了两个AD9361,所以需要例化两个AD9361的IP核,通过配置参数ID来区分两个IP核。涉及到两个AD9361的初始化工作,需要创建两个结构体的指针,用于初始化的操作。自定义AXI-Lite协议的寄存器读写函数,用于控制IP核的各种参数的配置。
2024-05-10 10:38:14
1341
原创 SDR实战(四)-AD9361使用手册(三)
本节定义了并行数据端口和串行外设接口(SPI),它们使得AD9361与基带处理器(BBP)之间能够传输数据和控制/状态信息。图63展示了这些接口,并提供了AD9361和BBP在宽带无线系统中使用方式的高级概述。数据接口以两种模式之一运行:兼容标准CMOS模式或兼容低压差分信号(LVDS)模式。每个接口都具有以下部分描述的独特特性。使用CMOS模式时:保持了单端-CMOS逻辑兼容性。可以使用一个或两个数据端口。使用两个端口可以提高数据吞吐量。
2024-04-17 16:09:57
5749
2
原创 SDR实战(四)-AD9361使用手册(二)
设备在基带PLL块中使用分数-N合成器来生成系统所需的采样率。该合成器从参考时钟输入的指定频率范围内的任何参考时钟生成ADC采样时钟、DAC采样时钟和基带数字时钟。对于需要两个以上输入或两个以上输出通道的MIMO系统,需要多个AD9361设备和一台公共参考振荡器。AD9361提供了接受外部参考时钟并通过简单的控制逻辑与其他设备同步操作的功能。每个AD9361都包含有自己的基带PLL,从参考时钟输入生成采样和数据时钟,因此需要额外的控制机制来同步多个设备。
2024-04-17 16:06:48
2895
1
原创 SDR实战(四)-AD9361使用手册(一)
AD9361在上电后,为了保证最低功耗,后进入休眠状态。初始校准是在每次启动AD9361设备或使用RESETB引脚硬重置设备时必须运行的校准。有些校准只需要在初始化期间运行一次,并且在运行期间不需要再次运行。其他校准取决于载波频率、温度或者其他参数,并且需要在启动时运行,并在某些事件发生时(例如更改载波频率超过100MHz)运行。只要向AD9361设备供电,校准结果就会被存储,包括在SLEEP状态下。校准控制中的六个校准是校准序列状态机的一部分。在校准完成后,用于初始化校准的位将自我清除。如果在单个寄存器写
2024-04-17 16:04:57
8328
原创 SDR实战(三)-DSP基础
由于每个模拟值只能被量化到最接近的量化级别,而不是其精确值,因此会产生误差,这种误差在信号中表现为额外的噪声,即量化噪声。:通过过采样(以比奈奎斯特频率更高的频率采样),然后通过低通滤波和下采样来减少采样率,可以在一定程度上降低量化噪声的影响。:在某些应用中,可以使用误差校正技术来减少量化噪声的影响,例如通过查找表(LUT)或数字信号处理算法来校正量化误差。:通过增加量化级别的数量(即减少量化步长)来提高量化过程的分辨率,从而减少量化误差。:在某些应用中,可以使用误差校正技术来减少量化误差的影响。
2024-04-12 11:48:40
1866
2
原创 SDR实战(二)-RFSOC架构
每个核都包括一个浮点单元(FPU)、Neon 媒体处理引擎(MPE)、加密扩展(Crypto)、内存管理单元(MMU)和每个核心的专用一级缓存。:包括一个四核应用处理单元(APU)、一个双核实时处理单元(RPU),以及平台管理(PMU)和安全功能。RPU包含多个计算单元和存储器,包括一个浮点单元、紧耦合存储器(TCM)、两个本地高速缓存和一个存储器保护单元(MPU)。RFSoC设备的安全性由配置安全单元(CSU)处理,该单元包括一个安全处理器块(SPB)和加密接口块(CIB)。
2024-04-12 09:46:00
3872
1
原创 流畅的信息处理:采用“If This Then That“模型优化时间管理
通过将任务自动化,我们可以将更多的精力集中在那些需要创造性思维和人际交往的任务上,从而提升我们的工作和生活质量。在未来,随着人工智能和机器学习技术的发展,我们可以预见到IFTTT模型将会变得更加智能和强大,为我们带来更加无缝和高效的工作体验。这种模型的魅力在于,它可以将我们的工作流从严格的时间限制中解放出来,转而依赖于任务之间的因果关系。当然,要实现这种自动化的工作流,我们需要一些工具和平台的支持。在项目管理中,你可以将这一模型应用于项目的里程碑管理,确保每个阶段的任务完成后,自动触发下一阶段的工作。
2024-02-05 11:55:12
677
原创 精选信息源,提升知识管理的艺术
在这个过程中,可以利用一些工具和技术来帮助自己,比如使用RSS阅读器来订阅和管理自己感兴趣的内容,设置谷歌警报来追踪特定主题的最新动态,或者利用专业的文献管理软件来组织和引用学术资源。在这无边无际的信息海洋里,如何有效地筛选出有价值的消息,构建一个高效且专属的信息源,成为了一个值得深思的问题。这些形式的内容往往由专家整理,提炼出最重要和最有用的知识点,帮助你在较短的时间内建立起对某个领域的初步了解。通过这样的信息筛选和管理策略,你可以确保自己花在吸收新知识上的时间和精力都是投资在正确的地方。
2024-02-05 11:19:10
633
原创 打造高效信息流水线:从收集到输出的全程策略
在当今这个信息爆炸的时代,每个人都是信息的生产者和消费者。面对浩如烟海的数据和知识,如何有效地管理信息成为了一个至关重要的技能。一个高效的信息流程包括五个关键步骤:收集、处理、内化、检索和输出。本文将深入探讨这五个步骤,并提供策略和工具,帮助你构建一个高效的信息管理系统。
2024-02-02 17:20:27
560
原创 提升信息敏感度,高效构建个人知识树
通过提升信息敏感度和建立个人知识树,我们可以在这个信息泛滥的时代中,更加自信和高效地驾驭知识的海洋。随着我们在这个方向上的努力,我们将能够更加精准地命中信息,就像“开枪打靶”一样,不仅提高我们的工作效率,还能够为我们的个人和职业发展带来巨大的价值。通过这样的方法,我们可以更加系统地理解和掌握信息,提高我们的知识水平和思考能力。我们能够更快地识别哪些信息是新的、重要的,以及如何将这些信息融入到自己的知识体系中。知识树是一个结构化的知识体系,它帮助我们组织和连接不同领域的信息,形成一个完整的知识视图。
2024-02-02 17:17:53
844
原创 我的创作纪念日
提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等。
2023-12-21 10:35:14
408
GUI and Simulink
2014-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅