新唐NUC980使用记录:基础说明与资料索引

2023-11-22 20:31

本文主要是介绍新唐NUC980使用记录:基础说明与资料索引,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 基础说明
  • 上电设置
  • 电路设计
    • 供电
    • 复位
    • 时钟源
    • 启动设置与启动源
    • UART0
    • USB接口
    • 以太网接口
  • 资料索引

前言

最初知道 新唐(nuvoton) 是因为别人推荐的国产单片机厂家,不过国产单片机厂家可选择的太多了,也就一直没有用过它们家的单片机。后来在寻找适合入门学习嵌入式Linux的微处理器时候发现了新唐的微处理器。目前它家的微处理器最新的是NUC980系列。

新唐的微处理器在入门学习嵌入式Linux方面有两点优势:

  1. 数据手册、参考手册、硬件参考设计、BSP包、开发板资料等完全开放;
    这是选择一颗芯片最核心的需求,没有这个就得花很多时间趟坑了;
  2. 内置DDR & 焊接方便;
    比如现在最常见的NUC980系列的NUC980DK61YC芯片,内置64MB DDR2内存、采用LQFP-128封装、无底部焊盘,使用电烙铁就可以完成焊接,不用使用风枪或是底部开孔灌锡等方式进行焊接;

上面两个条件中,满足第一个条件的一大堆,在此基础上同时要满足第二个条件的就非常少了,至少目前我只找到新唐的。(其实我还想要第三个条件:ARMv7或以上,焊接条件可以放宽点,比如使用QFN封装等。可惜一直没找到。

NUC980DK61YC便宜的时候零卖三十多一片,现在普遍卖五十多,虽然不算便宜,但也不算贵:
在这里插入图片描述

这篇文章将介绍下上手使用NUC980系列需要的一些基础信息,方便回头查询使用。

基础说明

下面是NUC980系列官方的介绍:

NUC980 工业控制物联网系列


NUC980 系列采用 ARM926EJ-S 核心,执行速度高达 300 MHz ,堆迭 64 MB 或 128 MB DDR-II 记忆体于同一封装,提供 64-pin、128-pin 和 216-pin LQFP 封装,大幅减少 PCB 尺寸和降低电磁干扰 ( EMI ) 。丰富的周边功能包含:10 组 UART 介面、双乙太网、4 组 CAN 2.0 B 、8 组 USB Host 、双 SDIO / eMMC 介面、NAND Flash 介面、QSPI NAND 介面、ISO-7816 介面和高速 USB 2.0 Host / Device 等,可以满足客户对弹性设计的需求。


NUC980 提供 AES、SHA、ECC 与 RSA 加密引擎,并符合 - 40 ℃ 至 85 ℃ 工业温度规格,主要应用为工业自动化控制、工业物联网闸道器 ( Gateway ) 、网路印表机设备、电表集中器、智能家居闸道。

下面是NUC980系列芯片框图:
在这里插入图片描述

下面是NUC980系列芯片命名规则:
在这里插入图片描述
NUC980系列目前市面上最常见的是NUC980DK61YC这个型号。这个型号是LQFP-128封装的,一般来说比较推荐使用这个封装的:LQFP-64封装的外设少一些,并且只支持从SPI Flash启动;LQFP-216封装的可用的IO相比128Pin的多了没几个,可用外设两者几乎一样。

上电设置

NUC980系列上电时会读取一些IO口上的电平值,将它所存到 SYS_PWRON 寄存器的对应位。 SYS_PWRON 寄存器会影响系统的启动源和一些基础功能配置。下面是相关的一些内容:

IO口描述寄存器对应位默认值
USB0_ID0 = USB0 act as a USB host
1 = USB0 act as a USB device
USBID (SYS_PWRON[16])1
PG[1:0]00 = Boot from USB
01 = Boor from SD0/eMMC
10 = Boot from NAND Flash
11 = Boot from SPI Flash
BTSSEL (SYS_PWRON[1:0])11
PG.20 = QSPI0_CLK frequency is 30 MHz
1 = QSPI0_CLK frequency is 50 MHz
QSPI0CKSEL(SYS_PWRON[2])1
PG.30 = After power-on, WDT Disabled
1 = After power-on WDT Enabled
WDTON (SYS_PWRON[3])1
PG.40 = Pin PA[6:2] used as JTAG interface
1 = Pin PG[15:11] used as JTAG interface
JTAGSEL (SYS_PWRON[4])1
PG.50 = UART 0 debug message output ON and pin PF[12:11] used as the UART0 functionality
1 = UART0 debug message output OFF and pin PF[12:11] used as the GPIO functionality
URDBGON (SYS_PWRON[5])1
PG[7:6]00 = NAND Flash page size is 2KB
01 = NAND Flash page size is 4KB
10 = NAND Flash page size is 8KB
11 = Ignore Power-On Setting
NPAGESEL(SYS_PWRON[7:6])11
PG[9:8]When BTSSEL = 01, Boot from SD/eMMC,
the MISCCFG defines the GPC or GPF used as the booting source.
11 = GPC group used as the booting source
Others = GPF group used as the booting source

When BTSSEL = 10, Boot from NAND Flash,
the MISCCFG defines the ECC type.
00 = No ECC
01 = ECC is BCH T12
10 = ECC is BCH T24
11 = Ignore power-on setting

When BTSEL = 11, Boot from SPI Flash,
the MISCCFG defines the SPI Flash type and data width.
00 = SPI-NAND Flash with 1-bit mode
01 = SPI-NAND Flash with 4-bit mode
10 = SPI-NOR Flash with 4-bit mode
11 = SPI-NOR Flash with 1-bit mode
MISCCFG (SYS_PWRON[9:8])11

上面表格中比较重要的一些信息都进行了加粗。此外还有一些需要事项:

  • 表格中这些IO口会在上电启动时由芯片自动启用内部上拉,所以默认值都是1;
    需要改动的话可以外部接地、或者串个10K电阻接地;
  • 表格中的IO口可能并没有全部引出到外部引脚,视封装而定;

电路设计

新唐官方有出了几款NUC980的开发板,可以在下面大章节中找到这些开发板的链接。这一章节主要介绍下基础的电路部分。

供电

NUC980需要 3.3V1.8V1.2V 三路电源供电:
在这里插入图片描述

复位

NUC980的复位引脚是 nRESET ,低电平复位。官方开发板中主要使用3.3V电源串接100k电阻和1uF电容接到地,电阻和电容中间点作为复位信号。

时钟源

NUC980使用外部 12M 无源晶体作为主系统时钟。除了晶体两端配置负载电容外。两个引脚间还需要接1M电阻。RTC时钟使用 32.768k 晶体,不需要负载电容。

启动设置与启动源

启动设置主要参考前面上电设置章节,与启动源相关的最主要的设置依赖于 PG[1:0]PG[9:8] ,依据组合不同可以产生下面几种情况:

PG[1:0] = 00 USB ISP模式,可以用过 USB0 向板子上的Flash写入数据(烧录固件);

PG[1:0] = 01 & PG[9:8] = 11 通过 SD0 接口上的SD卡或eMMC启动,接口引脚说明如下:

Pin NameGPIOTypeDescription
SD0_CLKPC.6OSD0 clock output pin
SD0_CMDPC.5I/OSD0 command/response pin
SD0_DATA0PC.7I/OSD0 data line bit 0
SD0_DATA1PC.8I/OSD0 data line bit 1
SD0_DATA2PC.9I/OSD0 data line bit 2
SD0_DATA3PC.10I/OSD0 data line bit 3
SD0_nCDPC.12 或 PB.8ISD0 card detect input pin

PG[1:0] = 01 & PG[9:8] = other 通过 SD1 接口上的SD卡或eMMC启动,接口引脚说明如下:

Pin NameGPIOTypeDescription
SD1_CLKPF.1OSD1 clock output pin
SD1_CMDPF.0I/OSD1 command/response pin
SD1_DATA0PF.2I/OSD1 data line bit 0
SD1_DATA1PF.3I/OSD1 data line bit 1
SD1_DATA2PF.4I/OSD1 data line bit 2
SD1_DATA3PF.5I/OSD1 data line bit 3
SD1_nCDPF.6ISD1 card detect input pin

PG[1:0] = 10 使用NAND Flash作为启动源,接口引脚说明如下:

Pin NameGPIOTypeDescription
NAND_ALEPC.3ONAND Flash address latch enable
NAND_CLEPC.4ONAND Flash command latch enable
NAND_DATA0PC.8I/ONAND Flash data bus bit 0
NAND_DATA1PC.9I/ONAND Flash data bus bit 1
NAND_DATA2PC.10I/ONAND Flash data bus bit 2
NAND_DATA3PC.11I/ONAND Flash data bus bit 3
NAND_DATA4PC.12I/ONAND Flash data bus bit 4
NAND_DATA5PC.13I/ONAND Flash data bus bit 5
NAND_DATA6PC.14I/ONAND Flash data bus bit 6
NAND_DATA7PC.15I/ONAND Flash data bus bit 7
NAND_RDY0PC.7INAND Flash ready/busy pin
NAND_nCS0PC.1ONAND Flash chip enable input
NAND_nREPC.6ONAND Flash read enable
NAND_nWEPC.5ONAND Flash write enable
NAND_nWPPC.2ONAND Flash write protect input

PG[1:0] = 11 使用SPI Flash作为启动源,接口引脚说明如下:

Pin NameGPIOTypeDescription
QSPI0_CLKPD.3I/OQuad SPI0 serial clock pin
QSPI0_MISO0PD.5I/OQuad SPI0 MISO0 (Master In, Slave Out) pin
QSPI0_MISO1PD.7I/OQuad SPI0 MISO1 (Master In, Slave Out) pin
QSPI0_MOSI0PD.4I/OQuad SPI0 MOSI0 (Master Out, Slave In) pin
QSPI0_MOSI1PD.6I/OQuad SPI0 MOSI1 (Master Out, Slave In) pin
QSPI0_SS0PD.2I/OQuad SPI0 slave select 0 pin
QSPI0_SS1PD.0 或 PA.0I/OQuad SPI0 slave select 1 pin

UART0

NUC980默认可以通过UART0输出调试信息,接口引脚说明如下:

Pin NameGPIOTypeDescription
UART0_RXDPF.11IUART0 data receiver input pin
UART0_TXDPF.12OUART0 data transmitter output pin

USB接口

NUC980可以在USB ISP模式下通过 USB0 向板子上的Flash写入数据,所以 USB0 也是比较重要的,部分引脚如下:

Pin NameGPIOTypeDescription
USB0_IDIUUSB0 Host/Device identification with an internal pull-up
1: Device (default) / 0: Host
USB0_DMAUSB0 differential signal D-
USB0_DPAUSB0 differential signal D+
USB0_REXTAUSB0 module reference resister (external 12.1K to GND)
USB0_VBUSVLDPE.11IUSB0 VBUS valid indication pin

USB0默认作为Device使用(USB ISP模式下就是作为Device);
REXT引脚需要串联12.1K电阻到地;
VBUSVLD用于作为Device时检查是否接入Host,USB接口上的5V信号通过20k和39k电阻分压后接入该引脚。没有接入Host时此处为0V,接入Host后此处经过分压得到3.3V;

以太网接口

作为Linux而言网络是比较重要的,NUC980有两组 RMII 接口,可以外接PHY芯片实现以太网访问功能,接口引脚说明如下:

RMII0

Pin NameGPIOTypeDescription
RMII0_CRSDVPE.1IRMII0 Carrier Sense/Receive Data input pin
RMII0_MDCPE.9ORMII0 PHY Management Clock output pin
RMII0_MDIOPE.8I/ORMII0 PHY Management Data pin
RMII0_REFCLKPE.4IRMII0 mode clock input pin
RMII0_RXD0PE.3IRMII0 Receive Data bus bit 0
RMII0_RXD1PE.2IRMII0 Receive Data bus bit 1
RMII0_RXERRPE.0IRMII0 Receive Data Error input pin
RMII0_TXD0PE.7ORMII0 Transmit Data bus bit 0
RMII0_TXD1PE.6ORMII0 Transmit Data bus bit 1
RMII0_TXENPE.5ORMII0 Transmit Enable output pin

RMII1

Pin NameGPIOTypeDescription
RMII1_CRSDVPF.1IRMII1 Carrier Sense/Receive Data input pin
RMII1_MDCPF.9ORMII1 PHY Management Clock output pin
RMII1_MDIOPF.8I/ORMII1 PHY Management Data pin
RMII1_REFCLKPF.4IRMII1 mode clock input pin
RMII1_RXD0PF.3IRMII1 Receive Data bus bit 0
RMII1_RXD1PF.2IRMII1 Receive Data bus bit 1
RMII1_RXERRPF.0IRMII1 Receive Data Error input pin
RMII1_TXD0PF.7ORMII1 Transmit Data bus bit 0
RMII1_TXD1PF.6ORMII1 Transmit Data bus bit 1
RMII1_TXENPF.5ORMII1 Transmit Enable output pin

资料索引

NUC980系列应估计是在NUC970的基础上阉割优化而来的,所以资料中有一些名称还是沿用了NUC970。

  • NUC980工业控制物联网系列总页面
    https://www.nuvoton.com.cn/products/microprocessors/arm9-mpus/nuc980-industrial-control-iot-series/
  • NUC980系列开发板
    https://www.nuvoton.com.cn/products/iot-solution/iot-platform/numaker-iiot-nuc980/
    https://www.nuvoton.com.cn/products/iot-solution/iot-platform/numaker-server-nuc980/
    https://www.nuvoton.com.cn/products/iot-solution/iot-platform/numaker-rtu-nuc980/
  • 开发板软件支持包 (BSP)
    BSP包中有烧录工具、驱动和中英文使用开发文档等
    NUC980_Linux-4.4_BSP_v1.03.000(包含代码、文档、工具)
    https://www.nuvoton.com.cn/resource-download.jsp?tp_GUID=SW1820200909165814
    NUC980_Non-OS_BSP_v1.03.000(包含代码、文档、启动程序、工具)
    https://www.nuvoton.com.cn/resource-download.jsp?tp_GUID=SW1820200914164955
  • Linux开发环境
    Linux开发环境VMware虚拟机
    https://www.nuvoton.com/resource-download.jsp?tp_GUID=SW1320200406183205
    Linux开发环境VMware虚拟机用户手册
    https://www.nuvoton.com.cn/resource-download.jsp?tp_GUID=UG1320200721114334
  • GitHub OpenNuvoton主页与部分NUC980相关项目
    https://github.com/OpenNuvoton
    https://github.com/OpenNuvoton/NUC970_Buildroot
    https://github.com/OpenNuvoton/NUC970_U-Boot_v2016.11
    https://github.com/OpenNuvoton/NUC980-linux-4.4.y
    https://github.com/OpenNuvoton/NUC980_Linux_Applications
    https://github.com/OpenNuvoton/NUC980_NuWriter_CMD

这篇关于新唐NUC980使用记录:基础说明与资料索引的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的