2.3 NIOS II外围组件

2024-04-27 04:58
文章标签 组件 ii 外围 2.3 nios

本文主要是介绍2.3 NIOS II外围组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

\qquad 在AGRS_GP_1项目的SOPC系统中,挂连在NIOS II CPU上的特定(非通用)外围组件包括常见的PIO (led_pio)、SPI (spi_max2769_1, spi_max2769_2)、以及UART (uart232_a, uart232_b)组件,本节对它们不予赘述。本节只对涉及时钟域管理/约束、软件速度优化的组件以及专用组件进行讨论,包括:

  • 紧耦合存储器组件
  • 实时时钟相关组件
  • SDRAM控制器
  • GNSS基带模块

2.3.1 紧耦合存储器组件

\qquad 为了加速软件执行和数据存取速度,在FPGA上分配了两个紧耦合片上存储器组件,分别用于存取具有关键速度要求的软件代码和数据。其中,紧耦合指令存储器组件(tightl_coupled_instruction_memory)大小为20-Kbytes,紧耦合数据存储器组件(tightl_coupled_data_memory)大小为18-Kbytes。第2.2.1小节介绍了在构建“NIOS II CPU”时需要设置的与紧耦合存储器相关的设置。有关如何使用紧耦合存储器组件的信息参见 “5.7 软件速度优化”。

2.3.2 实时时钟相关组件

\qquad 一片实时时钟芯片Dallas DS32x35 (RTC)通过专用的2-线I2C总线作为从机外设连接到FPGA。FPGA包含两个1-位PIO组件(rtc_scl, rtc_sda),分别用于控制2-线 I 2 C I^2C I2C总线中的串行时钟SCL 线和串行数据SDA。这两个逻辑块作为存储器映射的外设连接到NIOS II CPU,运行在那里的软件可以访问它们,来实现 I 2 C I^2C I2C总线协议以及与DS32x35芯片之间的数据传递。

2.3.3 SDRAM控制器

\qquad HD-GR-1底板装配了一个8-Mbytes动态存储器芯片(U72),由连接到NIOS II CPU的一个FPGA内部逻辑块(sdram)控制,用作NIOS II CPU运行软件和存储数据的主存储器。这个SDRAM控制器的基本参数参见图2-8,时序设置参见图2-9。

图2-8 SDRAM控制器(sdram)基本属性

图2-8 SDRAM控制器(sdram)基本属性

图2-9 SDRAM控制器(sdram)时序参数

图2-9 SDRAM控制器(sdram)时序参数

2.3.4 GNSS基带模块

\qquad GNSS基带模块是一个用户定义组件,有关它的总体模型和HDL代码实现的详细信息参见“AGRS-GR基带模块”一章。

\qquad GNSS基带模块作为具有固定地址范围的存储器映射外设,通过Avalon总线逻辑连接到NIOS II CPU。来自HD-2769-2RF-2射频前端的16.368 MHz时钟信号和来自FPGA片上锁相环(atlpll_0)的98.208MHz时钟信号(atlpll_0_c0)用于驱动该逻辑。由于该模块的Avalon总线逻辑和NIOS II CPU使用了相同的时钟信号(atlpll_0_c0),因此它们之间不存在跨时钟域问题。

\qquad 为了提供一个直观印象,下面的图2-10到图2-12相继显示了使用SOPC Builder生成GNSS基带模块实例(gnss_bdmod)的3个向导界面,包括:

  • 模块的HDL文件(图2-10)
  • 模块的顶层逻辑的接口信号(图2-11)
  • 模块的Avalon总线接口(图2-12)

图2-10基带模块的HDL文件

图2-10基带模块的HDL文件

图2-11 基带模块顶层逻辑的接口信号

图2-11 基带模块顶层逻辑的接口信号

图2-12 基带模块的Avalon总线接口

图2-12 基带模块的Avalon总线接口

这篇关于2.3 NIOS II外围组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939574

相关文章

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

从0到1,AI我来了- (7)AI应用-ComfyUI-II(进阶)

上篇comfyUI 入门 ,了解了TA是个啥,这篇,我们通过ComfyUI 及其相关Lora 模型,生成一些更惊艳的图片。这篇主要了解这些内容:         1、哪里获取模型?         2、实践如何画一个美女?         3、附录:               1)相关SD(稳定扩散模型的组成部分)               2)模型放置目录(重要)

vue2 组件通信

props + emits props:用于接收父组件传递给子组件的数据。可以定义期望从父组件接收的数据结构和类型。‘子组件不可更改该数据’emits:用于定义组件可以向父组件发出的事件。这允许父组件监听子组件的事件并作出响应。(比如数据更新) props检查属性 属性名类型描述默认值typeFunction指定 prop 应该是什么类型,如 String, Number, Boolean,

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器