小猫爪: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模块的框图。

  从图中我们可以得到很多重要的点:

  1. 整个模块有12个输入信号,12个输出信号,2个同步信号,3个强制信号(图上有误,不要相信)
  2. 整个模块有3个LC逻辑运算单元,分别是LC0,C1,LC2,且相互独立
  3. 每个LC逻辑运算单元有4个输入信号,4个输出信号,2个同步信号,3个强制信号
  4. 3个LC逻辑运算单元的12个输出信号又可以作为LC逻辑运算单元的输入信号
  5. 每个LC逻辑运算单元都可以产生中断输出信号和DMA触发信号

3 LC逻辑运算单元

  下图中黄色框的部分是一个LC逻辑运算单元的结构框图:

  从图中又可以看出很多信息,下面就给它剖析一下。

3.1 input&output&sync&force

  输入信号和输出信号就是传统意义上的输入和输出,没啥好说的, LCU的12个输入信号可以来自下面三个地方:

  1. 外部GPIO引脚
  2. 其他外设输出信号(通过TRGMUX连接,包括LCU的输出信号)
  3. 寄存器的值(软件写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相关推荐

  1. 小猫爪:S32K3学习笔记09-S32K3之Safety简介

    小猫爪:S32K3学习笔记09-S32K3之Safety简介 1 前言 2 Safety相关硬件介绍 3 Safety相关软件介绍 4 Safety文章目录 END 1 前言   接下来,就要开始进学 ...

  2. 小猫爪: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 通道 ...

  3. 小猫爪:S32K3学习笔记10-S32K3之EIM和ERM

    小猫爪:S32K3学习笔记10-S32K3之EIM和ERM 1 前言 2 EIM(Error Injection Module) 3 ERM(Error Reporting Module) 4 MCA ...

  4. 小猫爪: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 ...

  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 ...

  6. 小猫爪:S32K3学习笔记03-S32K3之eMIOS

    小猫爪:S32K3学习笔记03-S32K3之eMIOS 1 前言 2 eMIOS资源介绍 3 CNT和Counter Bus 4 UC的工作模式 4.1 General-Purpose Input a ...

  7. 小猫爪:S32K3学习笔记17-S32K3之数据完整性的保障和手段

    小猫爪:S32K3学习笔记17-S32K3之数据完整性的保障和手段 1 前言 2 三个保障 2.1 EDC 2.2 XBIC 2.3 ECC 3 一个手段 END 1 前言   大家都知道,怎样保证数 ...

  8. 小猫爪:S32K3学习笔记18-S32K3之Safety外设总结

    小猫爪:S32K3学习笔记18-S32K3之Safety外设总结 总结 END 总结   在前面已经对S32K3对功能安全这一块相关的外设大致都介绍了一遍,这篇文章就来对S32K3与Safety有关的 ...

  9. 小猫爪:S32K3学习笔记20:S32K3之SCST及其应用

    小猫爪:S32K3学习笔记20:S32K3之SCST及其应用 1 前言 2 SCST简介 3 移植 4 应用 4.1 启动测试 4.2 使能FPU相关测试项 4.3 49号测试项中的MPU配置 4.4 ...

最新文章

  1. 心电信号去噪(part3)--数学形态学
  2. SAP Cloud Connector的介绍
  3. Linux下载源码编译出错,linux下fortran中编译代码时“undefined reference to `_gfortran_st_”错误...
  4. Copy-On-Write容器之一:CopyOnWriteArrayList
  5. 【开发工具】之MinGW下makefile的编写
  6. Angular (Full App) with Angular Material, Angularfire NgRx 第3章 21节
  7. 解决CentOS 6 字体变成方框的方法
  8. JavaScript自有属性与原型属性
  9. CCOMBOX下拉弹出框,因属性对话框自动隐藏而弹出框没有隐藏问题
  10. docker 部分常用镜像下载及安装
  11. 软件测试期末试题及答案(史上最全)
  12. GRE红宝书使用方法介绍
  13. Numpy的终极备忘录
  14. java overload_Java中的Overload和Override有什么区别
  15. 数据分析之客户价值模型(RFM)技术总结
  16. 前端面试你需要知道的事情:简历
  17. opc客户端读取数据品质是bad_如何通过OPC自定义接口来实现客户端数据的读取
  18. Linux搭建samba服务及使用案例
  19. 启动类上的@MapperScan注解与yml配置中mybatis.mapper-locations和mybatis.type-aliases-package的作用
  20. 百度地图绘制多边形,展示多边形,计算多边形内障碍物个人,设置不同的状态

热门文章

  1. 禁果效应在游戏剧情中会有什么样的作用
  2. HTML代码 ol ol表示,htmlol标签的使用与定义详解
  3. 【无人机学习】Mission Planner(pc端)和QGroundControl(android端)
  4. vscode连接远程服务器遇到Bad owner or permissions on C:\\Users\\XXX/.ssh/config的解决方法
  5. App质量把控:简述质量问题现状及解决方案
  6. 计算机7层网络以及每层协议
  7. python预测糖尿病_使用决策树与随机深林预测糖尿病(python)
  8. Linux音频驱动(1)
  9. MediaPlayer之音乐播放器完整解析
  10. 中年危机总在不经意间来到