UART DUT 介绍、验证功能点提取、UVM 验证代码介绍、Debug 过程和联调过程、覆盖率收集等 UART(Universal Asynchronous Receiver-Transmitter)是一种异步全双工串行通信协议,将要传输的数据在串行通信与并行通信之间进行转换。作为把并行输入信号转成串行输出信号的芯片,UART 通常被集成于其他通讯接口的连结上,其工作原理是将数据的二进制位一位一位地进行传输。 DUT(Device Under Test)功能理解:DUT design Spec 如左图所示,DUT 有两种执行方式,一种是对外围设备接收的数据进行串行到并行的转换(RX 方向);另一种是对传输到外围的数据进行并行到串行的转换(TX 方向)。 DUT 模块理解: 1. APB interface:实现接口信号的解码,用于访问状态,配置寄存器,接收,发送数据到 FIFO。 2. transmit FIFO:8 位宽,16 位深,用于存储从 APB interface 中写入的数据,直到数据被传输逻辑读走,该 FIFO 可以被 disable,使其成为单字节寄存器。 3. receive FIFO:12 位宽,16 位深,用于存储上行端接收的数据以及错误位信息,直到数据被 APB 接口读走,该 FIFO 可以被 disable,使其成为单字节寄存器。 4. transmitter:将传输 FIFO 中的数据实现并行到串行的转换。 5. receiver:将对外围设备数据进行串行到并向的转换,同时还会执行溢出,奇偶校验,frame 错误检测和中断检测,并将其写入到 receive FIFO。 6. 波特率发生器:包含自由运行的计数器,产生内部 x16 时钟和 Baud16 信号。Baud16 是 UART 发射和接收控制提供定时信息。 7. interrupt generation:该控制器在每个外围设备的基础上实现另一级别的屏蔽,这样,全局的中断服务例程可以从系统中断服务器中读取。 UARTLCR_H 寄存器内部宽 29 位,但外部通过 AMBA APB 总线通过三次写入寄存器位置 UARTLCR_H、UARTIBRD 和 UARTFBRD 进行访问。UARTLCR_H 定义了传输参数、字长、缓冲区模式、传输停止位数、奇偶校验模式和中断生成。 波特率配置:波特率除数是由 16 位整数和 6 位小数部分组成的 22 位数字。波特率生成器使用该值来确定位周期。波特率除数 = UARTCLK /(16xBaud Rate)= BRDI + BRDF,其中 BRDI 是整数部分,BRDF 是小数点分隔的小数部分小数 m = integer(BRDF*2^n + 0.5)生成内部时钟启用信号 Baud16,它是一个 UARTCLK 宽脉冲流,平均频率为所需波特率的 16 倍。然后将该信号除以 16,得到传输时钟。 数据传输和接收:对于传输,数据被写入传输 FIFO。如果 UART 已启用,则会导致数据帧开始使用 UARTLCR_H 中指定的参数进行传输。数据继续传输,直到传输 FIFO 中没有数据为止。一旦数据写入传输 FIFO(即 FIFO 非空),BUSY 信号就会变高,并在传输数据时保持高电平。只有当传输 FIFO 为空,并且最后一个字符(包括停止位)已从移位寄存器传输时,BUSY 才被否定。即使 UART 可能不再启用,也可以将 BUSY 断言为 HIGH。 当接收器空闲为 idle 时(UARTRXD 连续 1,处于标记状态)且在数据输入上检测到低电平(已接收到起始位)时,接收计数器(时钟由 Baud16 启用)开始运行,并在正常 UART 模式下在该计数器的第八个周期对数据进行采样。如果 UARTRXD 在 Baud16 的第八个周期上仍然处于低位,则起始位有效,否则会检测到错误的起始位并将其忽略。如果起始位有效,则根据数据字符的编程长度,在 Baud16 的每 16 个周期(即一个位周期之后)对连续数据位进行采样。如果启用了奇偶校验模式,则检查奇偶校验位。如果 UARTRXD 高,则确认有效的停止位,否则会发生帧错误。 UART 读写时序: * UART 读写时序图 * UART 数据帧格式 起始位:发送 1 位逻辑 0(低电平),开始传输数据。 数据位:可以是 5~8 位的数据,先发低位,再发高位,一般常见的就是 8 位(1 个字节),其他的如 7 位的 ASCII 码。 校验位:奇偶校验,将数据位加上校验位,1 的位数为偶数(偶校验),1 的位数为奇数(奇校验)。 停止位:停止位是数据传输结束的标志,可以是 1/2 位的逻辑 1(高电平)。 空闲位:空闲时数据线为高电平状态,代表无数据。 UVM 验证代码介绍: * UVM 验证环境搭建 * UVM 验证用例编写 * UVM 验证结果分析 Debug 过程和联调过程: * Debug 工具选择 * Debug 过程 * 联调过程 覆盖率收集: * 代码覆盖率收集 * 数据覆盖率收集 * FSM 覆盖率收集 通过对 UART DUT 的介绍、验证功能点提取、UVM 验证代码介绍、Debug 过程和联调过程、覆盖率收集等,我们可以更好地了解 UART 模块的工作原理和验证方法,并提高我们对 UART 模块的设计和验证能力。
2024-08-27 11:02:43 6.21MB uart
1
缺了1~4章,但1~4章是非常基本的东西,可以不用看或看英文版 真的后面难的章节这份文件都有
2024-08-27 07:23:35 42.44MB 数字信息
1
准比例微分(PD)控制器,也称为准比例积分微分(PR)控制器,是一种常见的控制算法,常用于自动化系统和过程控制中。它结合了比例控制器的即时响应和微分控制器对未来误差的预测能力,但不包含积分部分,因此避免了积分饱和和超调等问题。在数字信号处理器(DSP)和单片机中实现准PR控制器,可以有效地提高系统的稳定性和控制精度。 在提供的"myPR.c"和"myPR.h"文件中,我们可以预见到一个已经封装好的准PR控制器函数。通常,这样的函数会接受几个关键参数来定义控制器的行为: 1. **Kp(比例增益)**:这是控制器对当前误差的响应程度。比例增益越大,控制动作越剧烈,系统的响应速度更快,但也可能增加系统的振荡。 2. **Kr(微分增益)**:微分增益决定了控制器对误差变化率的反应。微分作用有助于提前预测误差并减少超调,改善系统的动态性能。 3. **Ts(采样时间)**:这是控制系统采样的周期,决定了控制器更新其输出的频率。合适的采样时间对于保证系统稳定性至关重要。 4. **wc(截止频率)**:这是微分部分的截止频率,决定了微分作用的强度和范围。过高可能会导致系统不稳定,过低则可能减弱微分效果。 5. **wo(自然频率)**:与系统的固有频率有关,用于调整控制器的响应特性,确保系统在期望的频率范围内工作。 在TI的SOLAR库中未找到此函数,意味着这可能是一个自定义实现,适用于特定的应用场景或为了满足特殊的需求。用户可能需要自行编译和测试这个函数,以适应他们的硬件平台和控制任务。 在实际应用中,设计和调整这些参数是一个迭代过程,通常通过模拟或实地试验来完成。开发者需要考虑系统的稳定性、响应速度、抗干扰能力和目标性能指标。在单片机或DSP中实现准PR控制器时,还需要注意计算资源的限制,如处理速度、内存大小等,确保代码优化且能够在有限的硬件资源下高效运行。 "myPR"代码库提供了一个方便的工具,使开发者能够快速集成准PR控制器到他们的控制系统中,通过调整参数来优化控制性能。无论是用于学术研究还是工业应用,理解并熟练掌握这种控制器的原理和应用都将极大地提升项目实施的成功率。
2024-08-26 17:12:31 957B 学习笔记
1
关于网关和路由器的定义和异同,网上各种解析不一而足,有说网关和路由器是运行在不同OSI模型层次上的,也有说网关是广义的路由器(还包括其他设备),还有说网关是连接不同协议和网络,而路由是连接不同结构网络的,这些说法都不能说错,但也不全对。我认为要将网关这个概念说透,就应该从网关的历史说起,下述部分内容摘抄自网上,来源各异,仅供学习,请各位作者海涵。 一、追根溯源         地球上先有电话网络,流行了很多年,有一个制定电信标准规范的组织叫国际电信联盟ITU,ITU制定的信令协议有SS7、ISUP,为了使不同的信令协议能够互联互通,于是就有了一个新的网络元素,信令网关(Signal Gatew
2024-08-26 15:03:39 166KB 网络硬件
1
分为真实场景和SD生成场景 真实场景: 数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):494 标注数量(xml文件个数):494 标注类别数:2 标注类别名称:["huapo","luoshi"] 每个类别标注的框数: huapo count = 183 luoshi count = 351 SD场景: 数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):497 标注数量(xml文件个数):497 标注类别数:1 标注类别名称:["luoshi"] 每个类别标注的框数: luoshi count = 514 数据集介绍地址:bilibili.com/video/BV1Ss4y1i7XZ
2024-08-25 15:12:00 54.1MB 目标检测 数据集
1
《AC63蓝牙SDK及其在蓝牙音箱和耳机应用中的详解》 AC63蓝牙SDK是一款专为蓝牙音频设备设计的软件开发工具包,它为开发者提供了构建蓝牙音箱和耳机等产品的强大支持。这款SDK的核心是蓝牙芯片技术,通过集成化的解决方案,使得产品开发更为便捷高效。本文将详细探讨AC63蓝牙SDK的特性和应用,以及它如何在蓝牙音箱和耳机领域发挥作用。 一、AC63蓝牙SDK概述 AC63蓝牙SDK由专业的芯片制造商提供,集成了低功耗蓝牙协议栈和丰富的音频处理功能。它包含了驱动程序、API接口、示例代码以及必要的文档,帮助开发者快速理解和实现蓝牙设备的功能。SDK的主要特点包括: 1. **高效稳定**:基于成熟的蓝牙技术,确保连接稳定,音质优良。 2. **低功耗**:优化的电源管理策略,延长设备的电池寿命。 3. **多功能**:支持A2DP、HFP、AVRCP等多种蓝牙音频协议,满足不同应用场景需求。 4. **易用性**:清晰的API接口和详尽的文档,降低开发难度。 二、蓝牙芯片在音箱和耳机中的应用 1. **蓝牙音箱**:AC63蓝牙SDK支持的音箱应用,能够实现无线音频流传输,用户可以通过手机或其他蓝牙设备轻松播放音乐。此外,它还可以提供语音助手集成、多设备配对等功能,提升用户体验。 2. **蓝牙耳机**:在耳机应用中,SDK负责处理音频编码解码,保证音质的同时实现低延迟通信,适合游戏和视频通话。同时,它还支持噪声消除、环境感知等高级功能,提升通话质量和听觉享受。 三、SDK的关键组件 1. **蓝牙协议栈**:包括蓝牙核心协议(Core Profile)和特定服务配置文件(如A2DP,HFP,AVRCP),确保设备间的数据交换。 2. **音频处理模块**:如数字信号处理器(DSP),用于音频编码、解码、降噪等操作。 3. **驱动程序**:与硬件紧密配合,控制蓝牙芯片的运行,实现硬件资源的管理。 4. **API接口**:为上层应用程序提供接口,调用蓝牙SDK的各种功能。 5. **示例代码**:提供参考,帮助开发者快速入门和理解SDK的工作机制。 四、开发流程 1. **环境搭建**:安装SDK开发工具,配置开发环境。 2. **了解API**:研读SDK文档,熟悉各个API的功能和使用方法。 3. **编写代码**:根据应用需求,编写控制蓝牙连接、音频播放等核心功能的代码。 4. **调试优化**:测试代码,调试错误,优化性能。 5. **产品集成**:将完成的代码集成到硬件平台,进行实际设备测试。 总结,AC63蓝牙SDK以其强大的功能和易用性,为蓝牙音箱和耳机的开发提供了强有力的支持。开发者借助这一工具,能够快速打造出具有竞争力的蓝牙音频产品,满足市场对音质、功能和便携性的多元化需求。随着蓝牙技术的不断进步,AC63蓝牙SDK也将持续更新,为开发者带来更先进的功能和更优化的开发体验。
2024-08-25 13:51:17 182.9MB 蓝牙芯片
1
辉芒微是一家专注于微电子技术的公司,其提供的最新开发工具包括IDE(集成开发环境)、烧录程序和编译器,这些都是嵌入式系统开发的关键组成部分。这些工具为开发者提供了全面的软硬件支持,帮助他们高效地进行项目开发和调试。 1. **IDE(集成开发环境)**:FMDIDE_Setup_V3.1.1.8.exe是辉芒微的IDE安装程序,版本号为3.1.1.8。IDE是程序员编写、调试和优化代码的平台。它通常集成了代码编辑器、编译器或解释器、构建工具以及调试器等功能,使得开发者能够在同一个环境中完成大部分开发任务。辉芒微的IDE可能针对其特定的微控制器或处理器系列进行了优化,提供友好的用户界面和专用的调试功能。 2. **烧录程序**:3_FMDProgrammer_Setup_V5.3.6.exe是辉芒微的烧录软件,版本5.3.6。烧录程序用于将编译后的固件或程序代码写入微控制器的闪存中,是硬件设备编程和调试的重要步骤。此工具可能支持多种通信协议,如USB、UART或SPI,并且可能具备擦除、读取、写入和验证等操作。 3. **编译器**:CompilerSetup2.0.6.exe是辉芒微的编译器安装包,版本2.0.6。编译器是将高级语言(如C/C++)转换成机器可执行的二进制代码的工具。辉芒微的编译器可能专门针对其微控制器的指令集进行了优化,以生成高效、紧凑的代码,同时可能支持调试信息生成,便于在IDE中进行调试。 4. **VisualTouchTL_Setup_V2.0.3.3.exe**:这个文件可能是辉芒微提供的图形化界面开发工具,例如用于触摸屏应用。VisualTouchTL可能是一个可视化设计工具,允许开发者通过拖放方式创建用户界面,并将其与底层代码连接,简化GUI(图形用户界面)开发。 5. **E系列转码操作说明.pdf**:这是一份关于E系列芯片转码操作的指南,可能详细介绍了如何处理辉芒微E系列产品的编码和解码过程,包括相关的配置、设置和注意事项。对于开发者来说,这类文档是理解和使用E系列芯片的关键参考资料。 通过这些工具,开发者可以全面地对辉芒微的微控制器进行开发、编译、烧录和调试,从而实现各种嵌入式应用,如物联网设备、工业控制、消费电子产品等。同时,完善的文档支持也确保了开发过程的顺利进行。
2024-08-25 11:19:37 115.46MB 烧录软件
1
标题 "金和智能解码器搜索工具" 指向的是一款专用于搜寻和配置解码设备的软件。在IT行业中,解码器通常用于处理数字信号,将编码后的数据转换回可读的格式,这在视频监控、多媒体播放等领域尤为常见。金和智能解码器搜索工具可能是一款帮助用户方便快捷地发现并管理网络中的这些设备的工具。 描述中的问题 "需要在同一个VLAN,跨VLAN三层网关配置了一样无法所搜到" 提示我们该工具的使用受到网络环境的限制。VLAN(虚拟局域网)是一种在网络层面上划分的逻辑网络,它允许在同一物理网络上创建多个独立的广播域。在VLAN之间通信通常需要三层网关,如路由器,来实现跨VLAN的数据传输。 当提到“同一VLAN”时,意味着该工具可能无法跨过VLAN边界进行设备搜索。这意味着如果解码器分布在不同的VLAN中,该工具可能无法检测到它们,即使在三层网关(如路由器)已正确配置的情况下也是如此。这可能是因为工具的设计限制,或者是由于安全考虑,防止了跨VLAN的自动扫描。 "软件/插件"标签表明这可能是一个需要安装在计算机上的应用程序,或者是某个主程序的扩展功能,比如浏览器插件,它可能需要与主机系统或特定的网络服务协同工作来实现其功能。 在提供的压缩包子文件名 "JHNVCConfig.V2.5.exe" 中,我们可以推断这是金和智能解码器配置工具的版本2.5的安装程序。".exe"是Windows操作系统中的可执行文件扩展名,表示这是一个可以直接运行的程序。用户可能需要运行这个文件来安装和使用该工具。 总结来说,金和智能解码器搜索工具是一款用于查找和配置网络中解码设备的应用,但其搜索功能受制于VLAN的限制,不能跨越VLAN边界。用户需要确保所有目标设备都在同一VLAN内,或者开发者需要提供支持跨VLAN搜索的功能更新。此外,该工具的最新版本为2.5,通过执行"JHNVCConfig.V2.5.exe"文件可以进行安装。对于那些希望在多VLAN环境中部署和管理解码器的IT专业人员来说,理解这一限制及其工作原理至关重要。
2024-08-24 20:30:25 830KB
1
该软件包包含一组工具,允许使用移动最小二乘算法实时变形点和图像。 这是一种无需使用薄板样条算法提供的计算扩展技术即可获得良好图像变形的快速技术。 该算法发表在Scott Schaefer,Travis McPhail,Joe Warren的论文“使用最小二乘法进行图像变形”中
2024-08-23 17:24:10 1.13MB matlab
1
Avogadro是一款先进的分子编辑器,设计用于计算化学,分子建模,生物信息学,材料科学及相关领域中的跨平台使用。 它提供了灵活的渲染框架和强大的插件架构。
2024-08-23 11:52:23 36.87MB 开源软件
1