- 博客(638)
- 资源 (18)
- 收藏
- 关注
原创 一篇文章足够你学习Bluez,提供史上最全的Bluez教程,让你告别Bluez从入门到放弃
Bluez是真的难,说“入门到放弃”真的毫不夸张,Bluez的学习曲线陡峭,要求对Linux 系统/驱动概念、D-Bus 通信和蓝牙协议都有要求,加上网络上其实没有一个完整的介绍Bluez系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员,都有不小的难度。
2024-10-01 17:46:45
1888
原创 一篇文章足够你学习ESP32,提供史上最全的ESP32教程(驱动/蓝牙/Wi-Fi/LVGL/Arduino...)
本文章目的:1)针对单片机外设做详细的教程,丰富个人技能吃,彻底从原理+应用来写外设2)给广大蓝牙爱好者提供蓝牙应用方面的教程(结合我们的蓝牙协议栈会事半功倍)蓝牙协议栈教程点击我3)给广大Wi-Fi爱好者提供Wi-Fi方面的教程(结合我们的Wi-Fi协议栈会事半功倍)Wi-Fi协议栈教程点击我4)给广大GUI爱好者提供LVGL方面的教程LVGL教程点击我5)把各个技能池组合起来,举一反三,做炫酷的实例应用教程内容:我们的内容包括但不限于:1)IDF基础介绍
2022-04-04 14:46:19
189484
32
原创 一篇文章足够你学习蓝牙技术,提供史上最全的蓝牙技术(传统蓝牙/低功耗蓝牙)文章总结,文档下载总结(2025/11/01更新)
本文为蓝牙技术学习资料汇总,涵盖从基础到进阶的完整知识体系。主要内容包括:1)蓝牙协议栈架构及开发资源(代码/GitHub/视频/开发板链接);2)传统/低功耗蓝牙协议详解(HCI/L2CAP/AVDTP等20+协议);3)主流蓝牙芯片开发指南(CSR/博通/ESP32等);4)实战案例(Android/iOS抓包、车机蓝牙、CarPlay实现等);5)持续更新的技术专题(Core6.0测距、Mesh组网等)。提供完整的学习路径和开发工具链,适合各阶段开发者系统学习蓝牙技术。
2020-08-03 08:09:52
124661
66
原创 NPI(New Product Introduction)工程师职责介绍
NPI工程师负责新产品从设计到量产的全程导入工作,主要职责包括:参与产品立项评审、设计验证(DFM/DFT)、编制工艺文件、设计工装夹具、规划生产线等前期工作;组织试产并解决技术问题,监控项目进度;量产阶段负责工艺验证、问题改进及跨部门协调。通过标准化生产流程和持续优化,确保产品质量和生产效率,最终实现新产品顺利量产。该岗位需要具备专业技术、项目管理及团队协作能力。
2025-12-11 15:52:19
413
原创 项目中EVT、DVT、PVT、MP的概念
摘要:制造业广泛使用首字母缩略词作为行业术语,如NPI(新产品导入)、EVT(工程验证测试)、DVT(设计验证测试)、PVT(生产验证测试)和MP(量产)等,分别对应产品开发的不同阶段。这些缩略词涵盖流程、文档及生产管理,形成一套标准化开发体系。NPI工程师负责从接单到量产的完整导入过程,而产品开发通常经历规划、EVT、DVT、PVT和MP五个关键阶段,每个阶段有特定的验证目标和测试要求,确保产品从设计到量产的顺利过渡和质量控制。
2025-12-11 15:45:03
729
原创 实施百日减肥计划
【摘要】毕业10年后体重从140斤增至190斤,伴随健康问题增多。决心百日减重20斤,记录每日睡眠、运动和体重变化。初期数据显示:12月6日(95kg)和7日(94.5kg)通过3小时和1.5小时羽毛球运动初见成效。计划将持续至2026年1月23日,期间将研读减肥理论书籍辅助实践。该记录旨在自我监督,改善因肥胖引发的健康隐患。(149字)
2025-12-07 20:49:30
216
原创 蓝牙(BLE)射频测试(BQB RFPHY)
蓝牙射频测试规范摘要 本文档详细描述了蓝牙6.0核心规范中的射频物理层测试要求,涵盖发射机(TRM)和接收机(RCV)测试项目。 发射机测试包括: 输出功率测试(1Ms/s和2Ms/s速率下,功率范围-20dBm至+20dBm) 带内辐射测试(要求带内杂散功率低于-20dBm/-30dBm) 调制特性测试(1Ms/s要求Δf1avg在225-275kHz范围) 载波频率偏移和漂移测试(1Ms/s偏移≤23kHz,漂移≤20kHz) 接收机测试包括: 接收灵敏度测试(1Ms/s要求-70dBm,S=8编码要求
2025-12-05 21:36:16
1256
原创 ESP32平替CSR8311的介绍
摘要:本文探讨了用ESP32替代CSR8311蓝牙芯片的可行性。ESP32支持HCI模式,可通过烧录固件实现与CSR8311相同的Hosted模式功能,同时具备Wi-Fi、二次开发等优势。文章详细介绍了硬件连接方式(USB转串口)和软件配置步骤,包括修改配置文件、设置波特率等关键参数,并提供了相关文档参考链接。最后给出了在Linux环境下编译运行蓝牙协议栈的具体操作方法,特别提醒了音频功能需要sudo权限和asound库支持。
2025-12-05 16:55:51
912
原创 一文让你清晰nRF5340 ble beacon示例使用方式
本文介绍了在nRF5340开发板上实现Beacon功能的步骤。首先需要创建两个工程:beaconapp用于广播功能,hciipc用于处理网络核心通信。由于nRF5340采用双核架构,必须同时烧录两个程序才能正常工作。文章详细展示了beaconapp的广播数据设置和初始化流程,以及hciipc的核心通信处理代码。通过手机nRF Connect应用可以验证Beacon广播是否成功。该示例演示了如何在Zephyr RTOS上快速实现BLE广播功能,为后续更复杂的蓝牙应用开发奠定了基础。
2025-12-04 20:13:47
411
原创 完整的nRF5340环境搭建总结,别再因为开发环境被劝退了
nRF5340芯片,支持蓝牙BLE5.4和LEaudio功能。该模块采用双核ARMCortex-M33处理器,配备32M工业级晶振,提供丰富外设接口(UART/I2C/SPI/USB等),并支持多种无线协议(Zigbee/Thread/NFC等)。开发环境搭建包括:安装VSCode、J-Link驱动和nRFConnectSDK(集成ZephyrRTOS)。开发流程涵盖:创建应用程序、配置编译参数(选择开发板型号/优化等级等)、通过J-Link烧录程序。
2025-12-04 20:09:52
1038
原创 Linux 查看fd leak(文件描述符泄露)的思路介绍
【摘要】本文介绍了排查文件描述符泄漏(fdleak)问题的方法和工具。通过实际案例演示了使用lsof工具快速定位问题的过程,发现每次操作导致3个fd泄漏。文章还系统性地介绍了多种排查工具:1)strace实时跟踪系统调用;2)lsof检查打开的fd;3)/proc文件系统监控;4)auditd审计系统;5)各种检测方法和监控脚本。针对不同场景给出了工具使用建议:开发阶段用strace、测试阶段用/proc监控、生产环境用auditd或脚本、紧急排查用lsof。提供了完整的FD泄漏检测脚本,可帮助开发运维人员
2025-11-20 17:41:36
418
原创 BLE芯片跳频算法设计
摘要:蓝牙跳频方案主要分为软件控制、硬件实现和主流的软硬协同三种方式。纯软件方案(C语言)灵活性高但实时性差;纯硬件方案(FPGA/ASIC)响应快但缺乏灵活性;现代蓝牙芯片普遍采用混合架构,由硬件负责精确的时序跳频执行,软件处理算法决策和自适应跳频。CEVA IP的实现展示了这种分工:软件预处理跳频序列,硬件完成实时切换,兼顾性能与灵活性。这种架构已成为商用蓝牙芯片的标准方案,在保证微秒级跳频精度的同时支持协议更新和干扰规避。
2025-11-06 18:40:49
846
原创 蓝牙核心规范Core 6.2更新内容
蓝牙技术联盟发布核心规范v6.2版本,引入四项重要更新:1)新增USB批量串行模式支持低功耗蓝牙等时数据传输;2)推出统一测试协议(UTP)提升射频测试便利性;3)扩展连接间隔范围至最低375μs,优化传输速率与功耗平衡;4)新增基于幅度的信道探测攻击检测,增强测距安全性。这些改进将显著提升蓝牙技术在低延迟数据传输、测试效率、连接灵活性及安全测距等方面的性能表现。
2025-11-06 18:38:23
1072
1
原创 蓝牙h5 transport介绍(Realtek芯片大量使用)
H5协议是基于三线串口的HCI传输层协议,采用SLIP封装实现数据帧同步。协议通过3根核心信号线(TX/RX/GND)完成通信,与H4协议相比具有硬件简化、软件ACK等特性。其工作流程包含链路建立(SYNC/SYNCRESPONSE/CONFIG消息交换)、数据包传输(含4字节包头、0-4095字节负载)和低功耗管理(SLEEP/WAKEUP消息机制)。关键创新点包括:1)通过0xC0标识符和0xDB转义实现SLIP层帧同步;2)包头包含序列号、校验等控制字段;3)支持软件实现的可靠传输机制
2025-11-01 13:30:22
1153
原创 MFI IAP2 EAP session实现跟苹果APP经典蓝牙自定义数据通信
本文介绍了在iOS设备上通过IAP2协议实现EAP(External Accessory Protocol)通信的方法。由于iPhone不支持SPP协议,EAP提供了类似SPP的自定义数据通道,但仅能与iPhone应用通信。文章详细说明了EAP的实现流程,包括关键步骤:建立EAP会话(需注册控制会话和EAP会话类型)、车机回复识别信息(需匹配iPhone应用包名)、处理开始/停止EAP会话消息,以及EAP数据的发送与接收格式(包含2字节会话ID)。同时指出了现有问题:iPhone应用存在蓝牙连接异常后卡死的
2025-11-01 11:36:56
1268
原创 BLE controller PHY(Physical Laye)物理层介绍
摘要:BLE物理层(PHY)负责调制解调、频率控制(使用40个2.4GHz信道)、功率控制等。包含3种PHY类型:1M/2M/LECoded,其中LECoded通过FEC编码提高抗干扰性。采用GFSK调制方式,通过不同频偏表示"0"和"1"。跳频机制使用CSA#1/2算法在37个数据信道上自适应切换以避免干扰。
2025-10-20 08:30:00
621
原创 苹果ANCS(苹果通知中心服务) BLE协议介绍
ANCS(Apple Notification Center Service)是苹果定义的蓝牙低功耗服务,允许第三方蓝牙设备(如智能手表)获取iPhone通知。它通过三个GATT特征实现交互:NotificationSource推送通知事件,ControlPoint发送请求,DataSource返回详细信息。ANCS免除了MFi认证需求,采用小端字节序和UTF-8编码,支持获取通知属性和执行操作。典型流程包括:iPhone推送通知元信息→设备请求详情→iPhone返回具体内容。
2025-10-20 08:00:00
1337
原创 BLE低功耗蓝牙芯片设计思路(后续计划用SDR模拟蓝牙芯片)
本文探讨了在FPGA+MCU架构下实现BLE芯片原型时的软硬件功能划分策略。FPGA应承担时序要求严格、计算密集的底层功能,包括射频接口控制、GFSK调制解调、CRC校验、高精度定时等物理层处理,发挥其并行计算优势。MCU则负责协议栈高层功能,如链路层状态机、连接管理、HCI接口等需要灵活决策的复杂逻辑。这种划分既保证了物理层的实时性,又提高了控制逻辑的开发效率,是商业芯片架构的常见实现方式。
2025-10-18 10:45:00
960
原创 Source insight 3.5/4,0 选中/双击代码就进入剪切板(clip view)的解决方式
摘要:SourceInsight用户遇到选中代码时自动弹出ClipView窗口导致无法复制粘贴的问题。经排查发现是与其他软件(如谷歌翻译、有道词典等)的划词功能热键冲突所致。解决方案包括关闭冲突软件或删除SourceInsight快捷键配置中的冲突项。该问题在SourceInsight 3.5和4.0版本中均有出现,严重影响代码编辑效率。
2025-10-18 09:45:00
443
原创 BLE controller LL空口时序介绍
摘要:FrameSpace(帧间隔)是低功耗蓝牙(BLE)链路层规定的连续数据包间至少150μs的时间间隔,用于确保接收端处理时间、维护时序同步和避免总线冲突。该固定值T_IFS在蓝牙6.0前统一为150μs,6.0后新增多种场景化参数。通信时序要求活跃时钟精度(±50ppm)和休眠时钟精度(±500ppm),分别对应不同工作模式下的时间偏差限制,确保设备间可靠同步。典型连接事件中,主从设备交替发送数据包时需严格遵循该间隔要求。
2025-10-17 08:45:00
814
原创 BLE controller LL层跳频算法 CSA#1 介绍
低功耗蓝牙在2.4GHz ISM频段使用40个射频信道,包含3个主广播信道和37个一般用途信道。其跳频机制包括CSA#1和CSA#2两种算法,通过信道地图管理信道可用性。CSA#1采用基本跳频公式fn+1=(fn+hop)mod37,当计算结果不可用时进行重映射。中心设备负责维护信道地图并决定跳频参数,通过跳频机制提高抗干扰性。文章详细介绍了跳频算法的实现原理和C语言代码示例,展示了10次跳频的具体计算过程。
2025-10-17 08:30:00
1437
原创 BLE controller LL层bit流处理(CRC/数据白化/去白化)
低功耗蓝牙(BLE)的比特流处理过程根据物理方案分为两类:未编码方案(LE1MPHY/LE2MPHY)仅处理PDU和CRC部分,而编码方案(LECodedPHY)需处理除前导码外的所有数据包部分。关键处理环节包括:1)CRC校验,采用24位多项式计算;2)数据白化/去白化,使用x^7+x^4+1的LFSR实现,初始化值由物理信道索引确定。处理过程遵循小端格式,LSB优先传输。示例代码验证了CRC计算(0x555555初始化)和白化处理(信道索引38)的正确性。这些处理在芯片中通常由FPGA实现,确保数据可靠
2025-10-17 08:15:00
1352
原创 BLE controller LL层air interface packets格式
本文摘要: 文章详细解析了蓝牙低能耗(BLE)数据包的两种物理层格式:LE Uncoded PHY和LE Coded PHY。重点介绍了LE Uncoded PHY的包结构,包括前导码(1M/2M PHY下不同长度和模式)、接入地址(广播通道固定为0x8E89BED6,数据通道随机生成)、PDU协议数据单元(广播/数据通道的不同头部结构)及24位CRC校验机制。对于LE Coded PHY,则说明其特有的前导码模式和FEC编码块结构,强调编码指示器(CI)对FEC block2编码方案的选择作用。全文通过具
2025-10-17 08:00:00
719
原创 车载座舱蓝牙RTI(real-time information)的介绍
车载蓝牙RTI模式解析:传统蓝牙模式下需手动切换音源才能播放手机通知声,RTI模式通过自动请求音频焦点实现即时播放。该功能虽解决切换痛点,但存在键盘声、消息提示频繁打断音乐播放等技术缺陷。厂商将其设为可选项,让用户根据需求自行选择。建议理性看待,日常使用场景下传统模式可能更实用。
2025-10-11 10:00:06
430
原创 [carplay] MFI iAP2在bluez中的实现,实现carplay蓝牙握手
本文介绍了基于BlueZ蓝牙协议栈实现iAP2协议的过程。主要内容包括:1)BlueZ源码编译与错误修复;2)在BlueZ中开发iAP2 Accessory角色实现,包括通道建立、服务注册等;3)集成自研的iAP2协议库,包含协议栈和功能实现;4)通过I2C接口与MFi芯片通信,完成认证流程。作者实现了完整的iAP2协议栈,支持CarPlay等特性,并提供了相关的代码修改和调试方法。由于iAP2核心协议库涉及商业机密,文中未公开具体实现细节,但提供了技术对接方式。整体方案验证了基于BlueZ实现iAP2协议
2025-10-06 13:00:00
1710
原创 自动驾驶等级盘点L0~L5
美国汽车工程师学会(SAE)将自动驾驶分为0-5级,从完全手动到完全自动。L0-L2级需驾驶员主导,责任由驾驶员承担;L3级在特定条件下可自动驾驶,责任开始向制造商转移,需配备数据记录系统;L4级在限定区域内实现高度自动驾驶,制造商承担主要责任;L5级为全场景无人驾驶,仍处于测试阶段。中国正逐步完善L3及以上级别的法规,深圳已出台相关条例允许商业化运营。随着自动驾驶等级提升,事故责任主体从驾驶员转向制造商,法规要求也更加严格。
2025-10-04 15:01:52
886
原创 [carplay] 树莓派Linux驱动MFI芯片篇
本文介绍在树莓派上连接MFI加密芯片的实践步骤。首先安装i2c-tools工具检测设备,正确接线后想必态配置树莓派I2C接口。代码部分实现了aLinux程序,通过I2C协议与MFI芯片通信,读取版本信息并完成挑战应答测试。程序包含芯片寄存器定义、I2/dev/ic2设备操作函数以及数据解析功能,最终成功获取并打印加密芯片的应答数据,验证了硬件连接和通信协议的正确性。
2025-10-01 11:45:43
562
原创 树莓派4B下载ubuntu 2504镜像
本文介绍了树莓派镜像工具的使用及Ubuntu系统的基本配置流程。首先通过官网下载对应系统的镜像工具,选择树莓派4B设备并烧录Ubuntu系统到SD卡。系统安装完成后,依次安装网络工具net-tools、SSH服务、Git版本控制等必要软件。最后通过命令检查了蓝牙模块(赛普拉斯芯片)和Wi-Fi功能的运行状态。整个流程涵盖了从系统安装到基础环境配置的关键步骤。
2025-10-01 09:49:40
261
原创 AD9361原理图/功能框图介绍
AD9361是一款高性能射频捷变收发器,工作频率70MHz-6GHz,支持3G/4G基站等应用。该器件集成射频前端、混合信号基带、频率合成器和数字接口,支持200kHz-56MHz通道带宽。关键特性包括:双通道独立接收器(噪声系数优)、直接变频发射器(EVM<-40dB)、全集成PLL、辅助ADC/DAC和温度传感器。芯片采用144引脚BGA封装,需注意多路电源管理和LVDS数据接口设计。其模块化架构包含接收链(LNA、混频器、ADC)、发射链(DAC、混频器、PA驱动)和时钟系统,支持FDD/TDD
2025-09-15 08:15:00
1873
原创 GPIO 之 EMIO 按键控制 LED 实验
本文介绍了ZYNQ处理器系统中GPIO的EMIO接口使用方法。主要内容包括:1. PS与PL通过EMIO扩展GPIO通信的原理,当MIO引脚不足时可通过EMIO使用PL端I/O资源;2. 实验设计实现步骤,通过PL_KEY0(EMIO)和PS_KEY0(MIO)分别控制两个PS端LED;3. 详细硬件设计流程,包括Vivado工程创建、IP配置、管脚约束和比特流生成;4. 软件设计部分,展示了GPIO初始化和按键检测的代码实现;5. 最终通过开发板验证了EMIO接口功能,成功实现PL端按键控制PS端LED的
2025-09-14 10:55:30
1017
原创 基于zynq7020 AD9361 no-os 串口相关的配置
本文介绍了AD9361裸机程序开发中的串口实验实现方法。文章首先说明了硬件设计中通过CP2102芯片实现USB转串口功能,详细给出了原理图连接和Vivado配置方法。在软件设计部分,提供了一个简单的UART打印程序示例代码,展示了如何通过print函数输出"Hello World"信息。文中特别强调了stdin/stdout重定向的配置注意事项,并指出当前使用的是print打印而非标准库的printf。最后展示了串口打印成功的运行效果截图,为AD9361裸机开发提供了基本的调试手段。
2025-09-14 10:02:41
1313
原创 ZYNQ7020 Bank划分
Zynq芯片中存在两套Bank系统:逻辑功能分区(Bank0-3)和物理电气分组(Bank500+)。逻辑Bank0-2对应PS端的MIO引脚,分别映射到物理Bank500-502;逻辑Bank3用于PS-PL接口,通过PL端的物理Bank(如13/33/34/35)实现。纯PL部分仅使用物理Bank编号。简单来说,逻辑Bank是功能划分,物理Bank是实际引脚分组,二者通过映射关系配合工作:PS部分直接对应,PL部分则完全使用物理Bank编号。这种设计既保持了Zynq架构的清晰性,又满足了FPGA电气布局
2025-09-14 09:45:59
1119
原创 ZYNQ7020+AD9361裸机驱动验证
本文介绍了AntSDR FPGA程序的编译验证流程。首先需从GitHub下载源码(含子模块),使用Vivado 2021.1通过TCL命令恢复工程并生成bit文件。随后在Vitis中基于硬件描述文件创建no-OS工程,拷贝预置应用代码编译生成可执行程序。最后通过串口JTAG连接调试ELF文件完成功能测试。整个过程需注意:1)递归下载子模块保证版本一致;2)Vivado构建耗时较长;3)需根据具体型号(E200/E310/E316)选择对应目录和代码。
2025-09-12 20:45:00
1069
原创 GFSK调制解调介绍(蓝牙GFSK BT=0.5)
GFSK调制技术解析 GFSK(高斯频移键控)是一种改进的FSK调制技术,通过高斯滤波处理使频谱更紧凑。它广泛应用于蓝牙等低功耗通信系统。调制过程分为四步:1)将二进制数据转为NRZ信号;2)进行高斯低通滤波(关键参数BT值决定平滑程度);3)用滤波信号控制VCO产生频率调制;4)生成射频信号。GFSK具有频谱效率高、恒包络特性好、抗干扰能力强等优势。Python代码示例展示了从NRZ编码到高斯滤波,再到最终GFSK信号生成的全过程,并可视化各阶段信号特征。
2025-09-12 20:00:00
1490
原创 vitis hello world实验介绍
本文详细介绍了在ZYNQ嵌入式系统中实现"Hello World"串口打印的开发流程。主要内容包括:1)搭建基于ARM Cortex-A9、DDR3内存和UART串口的ZYNQ最小系统;2)通过Vivado进行硬件设计,配置PS端时钟、DDR控制器和UART接口;3)在Vitis中创建应用工程,使用Xilinx提供的print函数实现字符串输出;4)通过JTAG下载程序并使用串口终端验证"Hello World"打印功能。
2025-09-08 08:30:00
993
原创 GPIO 之 MIO 控制 LED 实验
ZYNQ PS端GPIO控制LED实验摘要 本实验通过ZYNQ PS端的GPIO控制器,使用MIO引脚实现对LED灯的控制。实验硬件部分在Vivado中配置GPIO_MIO外设,软件部分通过Vitis编写C程序,使用Xilinx提供的GPIO驱动函数控制MIO7和MIO8引脚输出高低电平,使连接在这两个引脚上的LED灯交替闪烁。程序主要流程包括:初始化GPIO设备、设置引脚方向为输出、使能输出功能,然后在循环中交替输出高低电平并延时1秒。实验验证了ZYNQ PS端GPIO的基本使用方法,展示了如何通过软件控
2025-09-08 08:00:00
1538
原创 Memory write error at 0x100000. MMU page translation fault
解决Vitis烧录程序报错"Memory write error at 0x100000"的方法:该错误通常是由于FPGA采用SD卡启动模式导致。解决方法很简单,只需将SD卡拔出后重新进行程序烧录即可成功。这是因为SD卡启动模式与烧录过程存在冲突,移除SD卡后内存访问恢复正常,MMU页转换错误随之消失。
2025-09-05 11:32:54
308
原创 Ubuntu系统下 xilinx vitis 无法识别JTAG 问题解决,Could not find ARM device on the board for connection ‘Local‘
摘要:在Ubuntu系统中运行程序时出现的"Could not find ARM device"错误通常是由于未安装相关驱动导致。解决方法为:进入安装目录下的install_drivers文件夹,在终端中执行"sudo ./install_drivers"命令即可完成驱动安装。该问题常见于Ubuntu默认安装时未包含必要驱动的情况。
2025-09-05 11:25:59
358
原创 vitis简介
Vitis是Xilinx推出的统一软件开发平台,基于堆栈架构,支持与开源开发系统无缝集成。该平台整合了原Xilinx SDK,提供C/C++/Python开发环境,适用于FPGA、SoC和Versal ACAP等异构平台的嵌入式系统和加速应用开发。Vitis通过丰富的优化库和高级框架集成,使开发者无需深入硬件知识即可利用Xilinx硬件架构。开发流程包括:使用Vivado进行硬件设计生成XSA文件,再导入Vitis完成软件编程与调试。平台支持硬件模块封装为软件可调用函数,显著提升开发效率,适用于复杂系统设计
2025-09-05 08:30:00
1161
原创 IP核之PLL实验
本文介绍了Xilinx FPGA中锁相环(PLL)IP核的使用方法。PLL是一种时钟反馈电路,可实现时钟倍频、分频、相位偏移等功能。文章详细讲解了PLL的工作原理、配置步骤,包括输入时钟设置、输出频率/相位调整等关键参数。通过一个实验案例,演示了如何配置PLL输出4路不同频率/相位的时钟信号(100MHz、100MHz相位偏移180°、50MHz和25MHz),并给出了Verilog代码实现和仿真验证。同时比较了PLL和MMCM的区别,指出PLL适合简单时钟管理,而MMCM提供更精细的相位调整功能。
2025-09-05 08:00:00
977
stm32f1_mrvl88w8801应用笔记_20191220.pdf
2019-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅