汽车电子模块的输入一般包含数字量低端输入、数字量高端输入、模拟量输入、脉宽调制输入、总线信号输入、脉冲信号输入,对于无线信号输入和视频信号音频信号我们不做讨论。
  数字量低端输入是应用最为广泛的一种输入,车上有很多开关都是由一个低端输入加一个背光、一个工作指示灯组成。对于两态的状态反馈一般也是用一个低端开关,如门的开关状态反馈。对于开关来说有两种结构型式,一种是自琐式、一种是自复位式,前者即按下去就被锁在按下的位置,如果需要让它返回原来的位置,则需要再按一下,后者即按一下开关便可以触发相应的功能,用户松手后开关会自动返回它原先的位置。对于一个开关平时的状态,我们称之为“常态”,比如车窗玻璃控制开关,平时它是不闭合的、玻璃也是不动的,我们称这个开关的“常态是开启”,同时也称它为“常开开关”。即开关按状态分为常开和常闭两种。需注意的是休眠状态下开关的状态,因为常开开关在车辆或与之对应的模块休眠时其状态不一定是常开的,例如P档信号,而硬件工程师很容易理解为凡是mech图上画作常开则在休眠时它也是常开,这样会造成硬件设计错误,因为休眠下常闭会带来漏电流,所以这块需向硬件工程师说明清楚。
  谈到休眠时的状态就必须提到唤醒,模块休眠后,本开关状态变化是否需要唤醒模块?这个需定义清晰。假如休眠时开关打开,如果开关闭合模块要唤醒,即打开到闭合的动作需要唤醒模块的话,若开关为低有效开关,则这种唤醒称之为下降沿唤醒,因为模块内采样采用上拉电阻,开关打开时MCU采样到高电平、闭合时低电平,由高到低需要唤醒,模块经历了一个下降沿,所以叫下降沿唤醒。与此相关的还有上升沿唤醒、双边唤醒、IA唤醒。双边唤醒即开关只要状态变化均要求唤醒,有些输入口是模拟信号,如果要求该口的信号发生变化时要唤醒则它是IA唤醒,它可能即不是上升沿唤醒又不是下降沿唤醒,故我们叫它IA唤醒。
  另外一个内容是湿电流,即对于一个开关来说,它工作时的最小电流。机械开关都有触点,电流太大会烧坏触点,电流太小又会导致触点上的氧化层无法熔掉,影响开关的使用(接触电阻增大,有可能使模块对信号判断不准),这个湿电流就是开关工作时它要求不影响其使用寿命和性能的最小电流。那是否要定义开关的最大电流呢?对于负责开关的人来说,我认为需要,尤其是对过大电流的开关而言是必须的;对于负责模块的人来说,可以不了解,因为做模块的人为降低功耗(功耗低利于散热,更低的电流对应更小的功率,可以采用更小的PCB面积)不会选择将电流往高做,即在无明确要求时,合格的硬件工程师没有谁会把电流往高里做。若不对湿电流进行规定,他们会用很大的上拉电阻,若规定了,硬件工程师必然会根据规定值选择上拉电阻。
  低端输入一般为开关输入,但也可以是模块输入。

  以上提到的一些内容,如开关类型是自复位还是自锁、是常开还是常闭、休眠时的状态、唤醒需求、湿电流要求、接口电路匹配,全是系统设计之初需要注意考虑的,下文中不再详述。下面是参考示意。

A.01.01—模块的输入—低端输入的更多相关文章

  1. A.01.02—模块的输入—高端输入

    高端输入即一个高电平信号输入到模块,模块采样时最典型的是采用下拉电阻采样,当然,还有限流电阻和分压电阻,具体可以参见实际电路. 高端输入在汽车上用得不多,这种类型的输入既可以是开关提供的也可以是模块提 ...

  2. Python模块01/自定义模块/time模块/datetime模块/random模块

    Python模块01/自定义模块/time模块/datetime模块/random模块 内容大纲 1.自定义模块 2.time模块 3.datetime模块 4.random模块 1.自定义模块 1. ...

  3. (二)u-boot2013.01.01 for TQ210:《Makefile分析》

           当时写的时候看的是2012-10版本的,但是略对比了一遍和2013.01.01没什么改动,所以这不影响对2013.01.01版本的makefile的理解.本文比较侧重于语法句意的分析,框 ...

  4. (五)u-boot2013.01.01 for TQ210:《移植前的准备及u-boot初编译》

    移植前的准备 移植前,要做的事情是搭建开发环境以及对U-boot源码的获取.首先说一下开发环境: 1.此次U-boot移植的硬件平台是天嵌的TQ210开发板: CPU:板载核心是S5PV210(Cor ...

  5. (一)u-boot2013.01.01 for TQ210:《Uboot简介》

    一直想写一个s5pv210硬件平台的u-boot的移植文档,但一直都忙着没时间写.先写一些u-boot的脚本分析吧,包括makefile,mkconfig,config.mk,主要侧重于语法句意的分析 ...

  6. Hotkeys.js 2.0.2 发布,捕获键盘输入和输入的组合键快捷键,它没有依赖

    这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb),gzip:1.9k. 更新内容: 添加测试用例: 添加更多特殊键支持: 修复bug. __ ...

  7. org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.util.Date from String value '2012-12-12 12:01:01': not a valid representation (error: Can not parse date "2012-12-

    Jackson对于date的反序列化只支持几种,如果不符合默认格式则会报一下错误 org.codehaus.jackson.map.JsonMappingException: Can not cons ...

  8. javascript限定输入textarea输入长度

    <textarea  id="content" onkeyup="limitLength(this.value,'512','content')"> ...

  9. Hotkeys.js 2.0.2 发布,JS 网页快捷键设置,捕获键盘输入和输入的组合键快捷键,它没有依赖

    这是一个强健的 Javascript 库用于捕获键盘输入和输入的组合键,它没有依赖,压缩只有只有(~3kb),gzip:1.9k. 更新内容: 添加测试用例: 添加更多特殊键支持: 修复bug. __ ...

随机推荐

  1. JS XMLHttpRequesst对象 http post的五种请求状态

    记录一下js中对http请求的几种状态,下附代码 readyState 存有 XMLHttpRequest 的状态.从 0 到 4 发生变化. 0: 请求未初始化 1: 服务器连接已建立 2: 请求已 ...

  2. Oracle 用户管理与权限分配

    用户管理是系统管理员最基本的任务之一,用户想要连接数据库并且使用相应的系统资源就必须是系统的合法用户且具有对应的权限. 1 创建用户 default tablespace default_tables ...

  3. jquery 设置cookie、删除cookie、获取cookie

    1.引入jquery.js <script src="//cdn.bootcss.com/jquery/1.12.4/jquery.js"></script> ...

  4. JavaScript中forEach与each

    forEach是ES5中操作数组的一种方法,主要功能是遍历数组,例如: var arr = [1,2,3,4]; arr.forEach(alert); 等价于: var arr = [1, 2, 3 ...

  5. AdminLTE 前端框架

    适合运维平台  后台管理系统 AdminLTE 是一个开源的后台控制面板和仪表盘 WebApp 模板. 这是一个快速的HTML模板,基于CSS框架的引导. 文档: http://adminlte.la ...

  6. Java Annotation详解 理解和使用Annotation

    系统中用到了java注解: 查了一下如何使用注解,到底注解是什么: (1)创建方法:MsgTrace Java Class==> 在Create New Class中: name:输入MsgTr ...

  7. 怎样利用ADO中的adoquery进行缓存更新?????(100分)

    我用BDE时,用query与updatesql相结合进行缓存更新,但是在ADO中没有updatesql,只有用adoquery,在DBGRID中,用CANCELUPADTE,只能取消一条记录,烦恼不已 ...

  8. python 读取csv 数据并画图分析

    数据源 : https://pan.baidu.com/s/1eR593Uy    密码: yqjh python环境 python3 #encoding: utf-8 import csv impo ...

  9. Java精品文章收藏

    1.JAVA进阶----ThreadPoolExecutor机制 待实践测试

  10. python之旅第八篇--异常

    判断类与对象关系 isinstance #判断对象obj是否是由cls类创建的 class Foo(object): pass obj = Foo() print isinstance(obj,Foo ...