小猫爪:S32K3学习笔记04-S32K3之LCU
小猫爪:S32K3学习笔记04-S32K3之LCU
- 1 前言
- 2 LCU的框架
- 3 LC逻辑运算单元
- 3.1 input&output&sync&force
- 3.2 LUT block
- 3.3 数字filter
- 4 LCU应用示例
- 5 MCAL配置示例
- 待续。。。。。
1 前言
最近学习了一下LCU(Binary to Gray code converter)模块,它是一个S32K3内部的一个硬件逻辑运算模块,如果用的好的话可以有很大的作用,它可以实现与或门这些简单的逻辑运行,可以实现复用器,编码器,解码器等这些常见的数字电路,还可以实现一些D,SR,JK等这些触发器,还可以在电机应用中实现编码器,BLDC的换向器等等复杂应用, 下面就来简单的说一说它的实现原理。
2 LCU的框架
下图是一个LCU模块的框图。
从图中我们可以得到很多重要的点:
- 整个模块有12个输入信号,12个输出信号,2个同步信号,3个强制信号(图上有误,不要相信)
- 整个模块有3个LC逻辑运算单元,分别是LC0,C1,LC2,且相互独立
- 每个LC逻辑运算单元有4个输入信号,4个输出信号,2个同步信号,3个强制信号
- 3个LC逻辑运算单元的12个输出信号又可以作为LC逻辑运算单元的输入信号
- 每个LC逻辑运算单元都可以产生中断输出信号和DMA触发信号
3 LC逻辑运算单元
下图中黄色框的部分是一个LC逻辑运算单元的结构框图:
从图中又可以看出很多信息,下面就给它剖析一下。
3.1 input&output&sync&force
输入信号和输出信号就是传统意义上的输入和输出,没啥好说的, LCU的12个输入信号可以来自下面三个地方:
- 外部GPIO引脚
- 其他外设输出信号(通过TRGMUX连接,包括LCU的输出信号)
- 寄存器的值(软件写SWVALUE寄存器,并使能就可以直接将原来的输入信号覆盖,可以理解成是强制输入,或者叫覆盖输入信号)
强制信号就是啥意思?就是在输出的那一头整了一个强制改变输出的部件,一旦强制信号使能,那么最后输出的值则就等于强制信号的值了。
那啥又是同步信号呢?同步信号是为了给强制信号以及覆盖输入信号提供一个同步机制。对于强制信号的同步,只有当同步信号和强制信号同时有效(这里的有效可以是有效边沿或者有效电平),强制信号才会起作用;对于覆盖输入信号的同步,则只有边沿有效。
3.2 LUT block
这个其实就是LC单元的真值表,那么LUT Block的真值表是通过什么方式来驱动的呢?其实非常简单。
因为每个LC单元只有4个输入,所以一共只有16种输入可能,如果将这16种可能以一个16bit的数LUTCTRL来表示,即LUTCTRL的每一位代表一种可能,如果LUTCTRL的第一位为1,那么这一位代表的第一种可能相对应的输出就为1,反之输出0。是不是超级简单。举个例子就是如下表:
其中红框指的是输入,黄框即LUTCTRL=0x0035时的输出值。
3.3 数字filter
LCU还为输入信号和强制信号提供了数字filter,至于数字filter的原理也是非常的简单,就是当信号有效时间大于预先设置的时间,这个时候才会LCU内部逻辑才会判断信号有效,这里的时间单位为时钟数。
4 LCU应用示例
在S32K3的应用手册上提供了多种LCU应用示例介绍,如下图:
感兴趣的可以去RM手册上研究,这里就不多说了。
5 MCAL配置示例
待续。。。。。
待续。。。。。
小猫爪:S32K3学习笔记04-S32K3之LCU相关推荐
- 小猫爪:S32K3学习笔记09-S32K3之Safety简介
小猫爪:S32K3学习笔记09-S32K3之Safety简介 1 前言 2 Safety相关硬件介绍 3 Safety相关软件介绍 4 Safety文章目录 END 1 前言 接下来,就要开始进学 ...
- 小猫爪:S32K3学习笔记05-S32K3之ADC
小猫爪:S32K3学习笔记05-S32K3之ADC 1 前言 2 资源简介 3 ADC功能详解 3.1 ADC mux-mode channels 3.2 ADC内部框架 3.3 时钟源 3.4 通道 ...
- 小猫爪:S32K3学习笔记10-S32K3之EIM和ERM
小猫爪:S32K3学习笔记10-S32K3之EIM和ERM 1 前言 2 EIM(Error Injection Module) 3 ERM(Error Reporting Module) 4 MCA ...
- 小猫爪:S32K3学习笔记11-S32K3之FCCU
小猫爪:S32K3学习笔记11-S32K3之FCCU 1 前言 2 FCCU的功能框图 2.1 错误输入 2.2 时钟输入 2.3 FSM 2.4 FOSU 3 FCCU的状态机 4 MCAL配置 5 ...
- 小猫爪:S32K3学习笔记21-S32K3之SAF及其应用
小猫爪:S32K3学习笔记21-S32K3之SAF及其应用 1 前言 2 SAF简介 3 SAF框架 4 SAF组件 4.1 eMcem和Bist 4.2 sReco 4.3 mSel 4.4 sBo ...
- 小猫爪:S32K3学习笔记03-S32K3之eMIOS
小猫爪:S32K3学习笔记03-S32K3之eMIOS 1 前言 2 eMIOS资源介绍 3 CNT和Counter Bus 4 UC的工作模式 4.1 General-Purpose Input a ...
- 小猫爪:S32K3学习笔记17-S32K3之数据完整性的保障和手段
小猫爪:S32K3学习笔记17-S32K3之数据完整性的保障和手段 1 前言 2 三个保障 2.1 EDC 2.2 XBIC 2.3 ECC 3 一个手段 END 1 前言 大家都知道,怎样保证数 ...
- 小猫爪:S32K3学习笔记18-S32K3之Safety外设总结
小猫爪:S32K3学习笔记18-S32K3之Safety外设总结 总结 END 总结 在前面已经对S32K3对功能安全这一块相关的外设大致都介绍了一遍,这篇文章就来对S32K3与Safety有关的 ...
- 小猫爪:S32K3学习笔记20:S32K3之SCST及其应用
小猫爪:S32K3学习笔记20:S32K3之SCST及其应用 1 前言 2 SCST简介 3 移植 4 应用 4.1 启动测试 4.2 使能FPU相关测试项 4.3 49号测试项中的MPU配置 4.4 ...
最新文章
- 心电信号去噪(part3)--数学形态学
- SAP Cloud Connector的介绍
- Linux下载源码编译出错,linux下fortran中编译代码时“undefined reference to `_gfortran_st_”错误...
- Copy-On-Write容器之一:CopyOnWriteArrayList
- 【开发工具】之MinGW下makefile的编写
- Angular (Full App) with Angular Material, Angularfire NgRx 第3章 21节
- 解决CentOS 6 字体变成方框的方法
- JavaScript自有属性与原型属性
- CCOMBOX下拉弹出框,因属性对话框自动隐藏而弹出框没有隐藏问题
- docker 部分常用镜像下载及安装
- 软件测试期末试题及答案(史上最全)
- GRE红宝书使用方法介绍
- Numpy的终极备忘录
- java overload_Java中的Overload和Override有什么区别
- 数据分析之客户价值模型(RFM)技术总结
- 前端面试你需要知道的事情:简历
- opc客户端读取数据品质是bad_如何通过OPC自定义接口来实现客户端数据的读取
- Linux搭建samba服务及使用案例
- 启动类上的@MapperScan注解与yml配置中mybatis.mapper-locations和mybatis.type-aliases-package的作用
- 百度地图绘制多边形,展示多边形,计算多边形内障碍物个人,设置不同的状态
热门文章
- 禁果效应在游戏剧情中会有什么样的作用
- HTML代码 ol ol表示,htmlol标签的使用与定义详解
- 【无人机学习】Mission Planner(pc端)和QGroundControl(android端)
- vscode连接远程服务器遇到Bad owner or permissions on C:\\Users\\XXX/.ssh/config的解决方法
- App质量把控:简述质量问题现状及解决方案
- 计算机7层网络以及每层协议
- python预测糖尿病_使用决策树与随机深林预测糖尿病(python)
- Linux音频驱动(1)
- MediaPlayer之音乐播放器完整解析
- 中年危机总在不经意间来到