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

相关文章

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

C++ RabbitMq消息队列组件详解

《C++RabbitMq消息队列组件详解》:本文主要介绍C++RabbitMq消息队列组件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. RabbitMq介绍2. 安装RabbitMQ3. 安装 RabbitMQ 的 C++客户端库4. A

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n