Day 2 | 实习第二天 飞思卡尔S12--HSD

2023-12-17 21:50

本文主要是介绍Day 2 | 实习第二天 飞思卡尔S12--HSD,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    今天体检了一个上午,下午开始把HSD部分理理清楚--High-Side Drivers(高侧驱动),在我的理解下我感觉HSD类似与一个高电压的驱动器可以驱动更高的电压的外设,就像手册里面说的(used to drive LED or resistive loads)

 HSD一共有两路HSD0和HSD1,通常用来驱动LED 或者 电阻负载,

The HSDRV module includes two independent high-side drivers with common high voltage supply.  

该HSDRV模块包括两个独立的高侧驱动器与常见的高压电源

寄存器地址=模块基础地址+地址偏移量,其中模块基础地址在MCU级别定义,地址偏移量在模块级别定义。

整体的框图

      在整体的框图中可以看到HSDRV有HS0和HS1以及VSUPHS,其中VSUPHS是可以直接连接到主电源的另外的两条线是HS0和HS1 

芯片引脚图

 

寄存器地址

 共计4个寄存器可以配置 HSDR HSCR HSIE HSIF 

端口HS数据寄存器(HSDR)

HSDRV配置寄存器(HSCR)

中断允许寄存器(HSIE)

中断标志寄存器(HSIF)

首先是HSDR寄存器这是一个数据寄存器,这个寄存器可以被连接到定时器和PWM的输出的接口上面,关键看PIM模块的设置

(See PIM section for routing details.)

0 High-side driver is turned off //在其中的一个寄存器的值写0则关闭,写1则开启
1 High-side driver is turned on

 第二个是HSCR寄存器

     其中HSOCMEx具体可能是--(是否关闭过电流检测),过电流检测和驱动器关机可在切换驱动器后为初始THOSOCM屏蔽。这可以通过在HSCR寄存器中相关的HSOCME寄存器位写入1来达到。HSOCME位只能写,而相关的驱动被禁用(HSE=0)。

 后面的就是是否使能HSD了,写1使能,写0失能 需要注意在HSEx写入1使能之后到在HSDRx写入1打开之前需要一段时间

 

第三个是HSIE(中断使能寄存器)

写1时 过电流中断使能

写0时 过电流中断失能

第四个 是HSIF寄存器

这个是中断标志位的寄存器,写1清除标志,写0无作用

可以读取和清除标志位。这个如果是1则意味着有一次OC发生,如果是0则自上次清除标志以来没有发生的OC事件

这是一个简单的模块,接下来去看看PIM的模块

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

端口集成模块----PIM

S12VR端口集成模块(PIM)为所有端口建立外围模块和I/O引脚之间的接口。它控制电引脚特性,以及共享引脚上的信号优先级和多路复用。

对于S12VR64/48:

与外部振荡器相关联的2个引脚端口E----------------------------------------------------------PTE*2

4个引脚端口T与4个定时器通道和2个PWM通道相关 --------------------------------------PTT*4

6个引脚端口S与2 SCI和1 SPI相关 -------------------------------------------------------------PTS*6

6个引脚端口P与引脚中断和唤醒功能;--------------------------------------------------------PTP*6

中断输入

-6个PWM通道,其中两个能够驱动高达10毫安 -----------------------------------------------PAD*6

一个具有过电流保护和中断功能的输出,最多可提供20毫安。

外部设备,如霍尔传感器

具有引脚中断和唤醒功能的6引脚端口AD;与6个ADC通道相关

4个引脚端口L具有引脚中断和唤醒功能;与4个高电压输入相关 ----------------------------PTL*4

可选的分压器旁路和开路输入检测的数字或模拟使用

可见

DDR是控制方向的寄存器,0输入 ,1输出

PT是控制输出电平的寄存器,

PER是上下拉使能的寄存器,0失能,1使能

PPS是上下拉选择寄存器, 0上拉,1下拉

PIE是是否启用中断寄存器。看PPS如果PPS是0则下降沿为中断的敏感边沿,1则上升沿为中断的敏感边沿。

如上仅适用于端口P和AD,PTP[0..5]+PAD[0..5]

明天继续写~~

这篇关于Day 2 | 实习第二天 飞思卡尔S12--HSD的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

Java基础回顾系列-第二天-面向对象编程

面向对象编程 Java类核心开发结构面向对象封装继承多态 抽象类abstract接口interface抽象类与接口的区别深入分析类与对象内存分析 继承extends重写(Override)与重载(Overload)重写(Override)重载(Overload)重写与重载之间的区别总结 this关键字static关键字static变量static方法static代码块 代码块String类特

Linux基础入门 --9 DAY

文本处理工具之神vim         vi和vim简介 一、vi编辑器 vi是Unix及类Unix系统(如Linux)下最基本的文本编辑器,全称为“visual interface”,即视觉界面。尽管其名称中包含“visual”,但vi编辑器实际上工作在字符模式下,并不提供图形界面。vi编辑器以其强大的功能和灵活性著称,是Linux系统中不可或缺的工具之一。 vi编辑器具有三种主要的工作模

day-50 求出最长好子序列 I

思路 二维dp,dp[i][h]表示nums[i] 结尾,且有不超过 h 个下标满足条件的最长好子序列的长度(0<=h<=k),二维数组dp初始值全为1 解题过程 状态转换方程: 1.nums[i]==nums[j],dp[i,h]=Math.max(dp[i,h],dp[j,h]+1) 2.nums[i]!=nums[j],dp[i,h]=Math.max(dp[i,h],dp[j,h-1

[Day 73] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

AI在健康管理中的應用實例 1. 引言 隨著健康管理需求的提升,人工智能(AI)在該領域的應用越來越普遍。AI可以幫助醫療機構提升效率、精準診斷疾病、個性化治療方案,以及進行健康數據分析,從而改善病患的健康狀況。這篇文章將探討AI如何應用於健康管理,並通過具體代碼示例說明其技術實現。 2. AI在健康管理中的主要應用場景 個性化健康建議:通過分析用戶的健康數據,如飲食、運動、睡眠等,AI可

Vue day-03

目录 Vue常用特性 一.响应更新 1. 1 v-for更新监测 1.2 v-for就地更新 1.3 什么是虚拟DOM 1.4 diff算法更新虚拟DOM 总结:key值的作用和注意点: 二.过滤器 2.1 vue过滤器-定义使用 2.2 vue过滤器-传参和多过滤器 三. 计算属性(computed) 3.1 计算属性-定义使用 3.2 计算属性-缓存 3.3 计算属

用Python实现时间序列模型实战——Day 14: 向量自回归模型 (VAR) 与向量误差修正模型 (VECM)

一、学习内容 1. 向量自回归模型 (VAR) 的基本概念与应用 向量自回归模型 (VAR) 是多元时间序列分析中的一种模型,用于捕捉多个变量之间的相互依赖关系。与单变量自回归模型不同,VAR 模型将多个时间序列作为向量输入,同时对这些变量进行回归分析。 VAR 模型的一般形式为: 其中: ​ 是时间  的变量向量。 是常数向量。​ 是每个时间滞后的回归系数矩阵。​ 是误差项向量,假

实习项目|苍穹外卖|day7

缓存菜品 1.根据原型进行需求分析与设计(接口文档) 2.根据接口设计DTO(redis数据类型选取) 3.编码controller-》service-》mapper @GetMapping("/list")@ApiOperation("根据分类id查询菜品")public Result<List<DishVO>> list(Long categoryId) {//判断缓存

C语言-数据结构 克鲁斯卡尔算法(Kruskal)邻接矩阵存储

相比普里姆算法来说,克鲁斯卡尔的想法是从边出发,不管是理解上还是实现上都更简单,实现思路:我们先把找到所有边存到一个边集数组里面,并进行升序排序,然后依次从里面取出每一条边,如果不存在回路,就说明可以取,否则就跳过去看下一条边。其中看是否是回路这个操作利用到了并查集,就是判断新加入的这条边的两个顶点是否在同一个集合中,如果在就说明产生回路,如果没在同一个集合那么说明没有回路可以加入