龙芯1D是超声波热表、水表和气表测量专用SoC 芯片。该芯片集成超声波时间测量、超声波脉冲发生器、温度测量单元、CPU、串口、红外收发器、段式LCD 控制器、电压检测单元、空管检测单元、超声波换能器断线检测等功能部件,配合完善的编程、仿真、调试环境,将会大大简化超声波热表测量系统的软硬件设计。

另外,龙芯1D芯片采用特殊的电源设计,实现对芯片功耗的动态精细化管理,在低功耗方面有着出色的表现。

龙芯1D结构图:

龙芯 1D 由测量模块、处理器子系统、电源管理模块、显示模块等部分组成,采用 AXI、APB 总线相连。

其中,
(1)CPU 是处理器子系统,是整个芯片的控制核心,处理器子系统包括处理器核以及 Flash、SPI 等外设模块,其电源可单独关闭以节约功耗;
(2)Snrths 是测量模块,包括脉冲发生器、模拟比较器和时间数字转换器时间测量精度达到 40ps,其电源可关闭以节约功耗;
(3)LCD 显示模块是段式 LCD 控制器,最多可对 96 段进行显示控制,电源由软件来控制,可单独关闭以降低功耗;
(4)PMU 是电源管理模块,是实现低功耗的关键部件。PMU 域的电源不可关断,自芯片硬复位之后,PMU 域将一直保持上电状态,从而实现对芯片其他模块的电源管理。系统启动后,软件可配置 PMU 寄存器,根据实际需要打开或者关闭CPU、Snrths 和 LCD 模块的电源,实现芯片功耗的精细控制。

LS132R 处理器核

LS132R 处理器核,兼容 MIPS32 指令集,包含一个硬件浮点部件,支持单精度 float 类型的浮点运算。(如需了解 MIPS 架构的背景知识,请参考 MIPS 官方文档。)

LS132R 处理器核是 32 位的处理器,一共有 32 个 32 位的通用寄存器,编号为$1~$31,用于数据的存储和运算;在协处理器 CP0(Co-Processor)中包含几个特殊的控制寄存器 SFR(Special Function Register),用于控制处理器的工作模式,当芯片上电或者复位时,需要对这些 SFR 进行配置,将处理器核初始化到一个合适的状态。

下面对几个需要配置的 SFR 进行简要介绍(本手册只标出实际中使用到的位域,请用户根据需要进行配置,其他未介绍的位域使用时请写‘0’):CP0_COUNT(RO)

CP0_COUNT 和 CP0_COMPARE 这两个寄存器构成一个定时器,初始值都是 0,达到最大计数时也会自动清零,时钟源是芯片时钟(8MHz),也就是每 125ns 自动地 Count 寄存器加一,当 Count 和 Compare 相等时,产生一个 Timer 中断(参考 13.1 节内容)。往 CP0_COMPARE 寄存器写进一个新的值,可以清除这个中断。

CP0_STATUS(R/W)

其中,
CU1------“1”代表 enable 硬件浮点部件,“0”disable
CU0------“1”代表可访问控制器 CP0,“0”disable
BEV------“1”代表中断入口在 0xbfc00380
NMI------“1”代表出现 NMI,“0”表示不是 NMI
IMx------“1”代表 enable 第 x 号中断,“0”disable
IE-------“1”代表 enable 所有中断,“0”disable
注意:默认状态下不支持中断嵌套。

CP0_CAUSE(ExcCode 位域 RO,其它 R/W)

其中,

DC------“0”代表 enable 定时器(CP0_COUNT 和 CP0_COMPARE),“1”disable
IPx------“1”代表第 x 号中断等待处理
ExcCode-----代表异常类型

注:“RO----只读,R/W--可读可写,WO--只写”,这些都代表寄存器的访问类型,后面内容的描述都参照这个标准。

地址空间

注 1:访问类型包括字节(B),半字(H)和字(W),访存地址必须对齐。
注 2:若访存超出上表定义的范围则会触发 NMI 例外。

软件对地址空间的访问方式
龙芯1D芯片兼容MIPS 架构,没有cache 和MMU 部件,软件可访问的地址空间为0xa000,0000~0xbfff,ffff 这部分逻辑地址,通过将高3位(二进制)的地址清零来映射到物理地址 0x0000,0000~0x1fff,ffff。因此,软件在访问上述列表的地址时,需要访问对应的逻辑地址,计算公式为:(逻辑或操作)

逻辑地址 = 物理地址 | 0xa000,0000

例如,软件要读写 SRAM 第一个字节,访问的地址为 0xa000,0000,实际上访问的是 0x0000,0000。

测量相关寄存器

注:该表中的寄存器都处于 PMU 域,一直处于上电状态,芯片在“运行”和“休眠”之间切换时,这些寄存器的内容不变。(请参考 4.2 节内容)

电源与测量控制
测量过程介绍

龙芯1D集成了完善的时差和温度测量功能。一个测量过程包括以下几个步骤:

1. 测量事件触发;
2. 测量模块启动,完成指定的测量后将值写入结果寄存器并引发中断;
3. 软件被唤醒,从结果寄存器取值并处理,随后清空结果寄存器;
4. 等待下一个测量事件。

其中测量事件的触发有两种方式:

1. 单次测量:软件往 StartOP 位写 1,启动 MOP 类型的测量;
2. 定时测量:开启巡航模式,硬件会根据配置,周期性地产生测量事件。
测量是非常精密的过程,对环境要求较高,因此软件最好在测量模块工作前将芯片置为休眠模式,关闭处理器系统。

电源管理

龙芯1D实现了完善的电源管理,通过有效的软件控制,可大大延长电池寿命。按电源状态分组,包括:电源管理模块(PMU)、液晶显示模块(SLCD)、测量模块(SNRTHS,Sonar 和 Thsens 的缩写)、处理器模块(CPU),如图 4- 1 所示。

除 PMU 外,其它模块均实现了低功耗关断模式。

(1)SLCD 模块的电源由 ChipCtrl.lcd_pd 一位控制,写 1 关断,写 0 打开。该模块的电源只能由软件进行控制,关断后再次打开需要重新配置其寄存器。

(2)SNRTHS 模块的电源主要由测量状态机自动控制。当有新的测量操作需要进行时,电源将自动打开;当测量结束,测量结果被软件读走(resread)后,电源自动关断。该模块的配置寄存器不会因为电源关断而丢失,因此软件无需反复配置。但应注意,如果其电源处于关断状态,模块内所有寄存器将无法访问,读寄存器操作只会返回 0,写操作则被忽略掉。将 ChipCtrl.sonar_pd 寄存器写 0可强行将该模块打开,不受测量状态机的控制。SNRTHS 模块需要一段时间上电,软件强行打开后等 8 个时钟周期(8 条指令的延迟)才能访问。

(3)CPU 模块的电源只能被软件关断,并且只能通过 PMU 中断唤醒后自动打开电源。(详见 13.1 节内容,并不是所有中断都能唤醒 CPU)

CPU 模块的关断由 Command.Sleep 控制,软件写 1 后进入关断模式,软件需要保证在关断电源之前所有内部模块(包括 cpu 核以及外设模块)都已完成任务,否则关断操作将强制关闭模块电源造成异常。例如,软件写 1 执行关断操作时,如果串口打印尚未完成,那么打印信息的末端将不能正常显示而是出现乱码。

当 PMU 有中断时,CPU 模块将被唤醒并自动打开电源。唤醒后 CPU 模块内所有内部寄存器都会被复位成默认值,处理器的执行与系统复位一致,因此软件需要重新进行初始化操作。软件需要判断是一次系统复位,还是一次待机唤醒(无需重新初始化PMU 域寄存器)。一个简单的方法是在不掉电的 PMU 模块中ChipCtrl.soft_flag 寄存器存储状态信息,根据其复位值为 0 进行判断。CPU 模块在关断、打开时还会控制外部的 SPI Flash,使其进行相应的电源状态转换。如果没有外部 SPI Flash,则关闭此功能可加速 CPU 模块的电源状态转换,进一步降低功耗。

龙芯1D处理器用户手册相关推荐

  1. 龙芯1D处理器参数规格书介绍

    龙芯1D是超声波热表.水表和气表测量专用SoC芯片.该芯片集成超声波时间测量.超声波脉冲发生器.温度测量单元.CPU.串口.红外收发器.段式LCD 控制器.电压检测单元.空管检测单元.超声波换能器断线 ...

  2. 龙芯多核处理器启动概要

    0.约定 为了便于理解,根据最新版的<龙芯3A处理器用户手册>约定以下术语: 处理器节点:包含4个GS464核的1个3A处理器称为1个处理器节点 处理器核: 3A中的每个GS464核就是一 ...

  3. 龙芯3A4000+龙芯3B4000处理器数据手册

    龙芯3A4000+龙芯3B4000是龙芯3A3000/3B3000 四核处理器的微结构升级版本,采用相同的28nm FD-SOI 工艺,封装引脚全新定义.龙芯3A4000/3B4000是一个配置为单节 ...

  4. 龙芯3A4000处理器解读①

    龙芯3A4000处理器解读 关于3A4000的处理器结构简单做一下自己的相关分析,希望可能通过此次深入分析,更加了解处理器的结构. 文章目录 龙芯3A4000处理器解读 简介 3号(3A)硬件结构 简 ...

  5. 龙芯3A4000处理器解读 ②

    龙芯3A4000处理器解读 2 第一章简述了3A4000的芯片结构,并对照结构图举例了访问7A的通道,那么本章节主要梳理CPU如何获取到一条分配给到7A的地址如何通过窗口命中正确访问到有效数据. 文章 ...

  6. 龙芯2K1000运行linux,对龙芯2K1000处理器的支持补丁已经合并进Linux 5.

    对龙芯Loongson 2K1000的支持工作终于在即将到来的Linux 5.13内核中被合并.虽然基于MIPS的Loongson处理器以对开源社区极为友好而闻名,并一度被Stallman提及,但在过 ...

  7. ORI-621龙芯3A处理器CPCI刀片计算机

    ORI-621龙芯3A处理器CPCI刀片计算机 一.产品简介 ORI -621是一款基于龙芯3A国产CPU处理器的特种CPCI刀片计算机.该产品成功地实现了服务器NUMA架构在国产特种计算机中的应用, ...

  8. 龙芯3A4000处理器实测:28nm工艺不变,性能可提升100%以上

    龙芯是中科院下属的计算机所研发的自主产权国产处理器,现在已经由中科龙芯公司商业化,再过几天他们又要发布新一代龙芯处理器--龙芯3A4000系列了,这是在现有的龙芯3A3000系列上的改进版. 根据之前 ...

  9. 龙芯2K1000LA处理器流片成功,龙芯业务全面转向LoongArch架构

    2022年4月底,龙芯2K1000处理器完成了改版芯片(代号龙芯2K1000LA)的功能和性能测试,正在开展用户试用.龙芯2K1000LA在实现与原有版本2K1000引脚和接口兼容的基础上,处理器核更 ...

最新文章

  1. 基于视频理解TSM和数据集20bn-jester-v1的27类手势识别
  2. UML与软件建模 第三次作业
  3. Python程序设计之如何设置统一编码格式
  4. python自动化是什么-自动化专业学习python需要到什么程度?
  5. SQL Server数据库中、获得刚插入新记录的自动ID号
  6. 关于c中的inline
  7. oracle集群图例
  8. python选择排序从大到小_Python实现选择排序
  9. 系统学习深度学习(二十六)--BiRNN
  10. vs2010 打开项目卡死问题解决办法
  11. jest单元测试-匹配器
  12. 项目经理案头手册学习系列【9、10】——资源强制进度计划、应用PERT编制进度计划...
  13. 学习笔记:Unity战斗卡牌游戏(三)-----代码加载预设 及 Tween动画使用及播放回掉...
  14. 实践出真知:微服务经验之避坑指南
  15. 对涉密计算机检查内容,RG涉密信息自检查工具安全保密检查内容及方法.docx
  16. mysql跨库关联查询(dblink)
  17. BOS基础资料视图封装示例(合同种类封装成基础资料)
  18. kernelbase故障模块_错误模块名称: KERNELBASE.dll
  19. 计算机web二级考试内容,2015年全国计算机二级Web考试内容
  20. Keysight的扫描电子元件软件EP-Scan 2023版本下载与安装配置教程

热门文章

  1. js关闭当前弹出的小窗口并打开新窗口
  2. 二维数组--二维数组的遍历
  3. Java 集合框架(5)---- Map 相关类解析(中)
  4. MVC5 + EF6 + Bootstrap3 (9) HtmlHelper用法大全(下)
  5. Linux基础、Shell基础语法等
  6. Linux配置SVN 服务端
  7. 【STM32】DAC详解
  8. 4.4.1. SWE.1 Software Requirements Analysis中“Process outcomes”的第一条的正确翻译
  9. 中国移动OneOS助力全国大学生物联网竞赛开幕
  10. java获取GET和POST请求参数