0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >业界动态 > 嵌入式输入需要用到的设备与掌握的知识有哪些

嵌入式输入需要用到的设备与掌握的知识有哪些

2017-08-24
类别:业界动态
eye 253
文章创建人 拍明
  常见的人机交互输入设备包括按键、触摸屏、麦克风及其他各类用户可控输入的传感器等。随着科技的发展,不仅我们常见的交互输入设备出现了新的形态,而且也出现了不少新的交互输入方式。比如,现在手机中的电容按键及重力感应传感器、距离传感器。现在的交互设备不仅体现在硬件设备的复杂性上,而且在相关数据的复杂性上也与以往有了较大的增加。比如,可用于语音输入的麦克和可用于人脸识别的摄像头,为了完成这些人机交互输入,除了硬件输入设备对信息采集外,还需要后台进行大量的数据处理,以帮助系统“理解”用户的“输入信息”。

  下面我们详细介绍最常用的输入设备:键盘/按键。

键盘/按键.png

  图 1 最常用的输入设备键盘

  键盘

  键盘是嵌入式应用的常用外部设备之一。键盘是由若干个按键组成的开关矩阵,它是最简单的数字量输入设备。对系统而言,键盘上不同的按键代表着不同的含义(一般来说,按键的含义可通过软件定义)。用户通过按动键盘的按键,输入数据或命令,实现简单的人机交互。

  1、键盘的基本电路

  键盘的基本电路是一个接触开关,通、断两种状态分别表示逻辑“0”和“1”。如图2所示,当开关打开时,处理器检测到相应引脚为高电平,表示逻辑“1”;当开关闭合时,处理器检测到相应引脚为低电平,表示逻辑“0”。

  2、键盘的分类

  按键排布的方式,键盘可分为可分成独立式按键键盘和矩阵式按键键盘;按读入键值的方式,可分为直读方式和扫描方式;按编码方式,可分成非编码方式和硬件编码方式;按微处理器响应方式可分为中断方式和查询方式。以上各种方式组合可构成不同硬件结构和接口的键盘。以下介绍较为常用的两种方式。

  ①独立式

  独立式按键键盘是指将每个独立按键按一对一的方式直接接到微处理器的I/O输入端口,如图2所示。读键值时,处理器可以检测相应I/O输入端口的状态,判定输入电平,确定输入的逻辑值。按键之间在硬件和读取方式上均相互独立,所以习惯称这种按键为独立式按键。这种方式在软硬件上实现均比较简单,但每一个按键都占用一个I/O端口,占用的资源较多,一般在按键数量较少,微处理器I/O资源充足时采用。

键盘模型及按键抖动示意图.png

  图 2 键盘模型及按键抖动示意图

  ②矩阵式

  矩阵式键盘是用n条I/O线组成行输入口,m条I/O线组成列输出口,在行列线的每一个交点上设置一个按键。如图3(b)所示,为一个4行4列的矩阵键盘。矩阵式键盘读取键值一般采用逐行扫描的方式,即输出口按位轮换输出低电平,再从输入口读入信息,最后计算各次从输入口读取的信息,获得键码。例如,将row0~3配置为输出模式,col0~3配置为输入模式;现将row0输出低电平,row1~3输出高电平,读取col0~3;如果此时第0行0列的按键有按下,则col0检测到输入为低电平,其他列为高电平。这种方式占用I/O线较少,在按键较多的应用中采用较多。

  设计键盘时,通常小于4个按键的应用,可以使用独立式接口。如果按键较多,为了减少微处理器的I/O端口的占用,可以使用矩阵式键盘。

独立键盘与矩阵键盘.png

  图3 独立键盘与矩阵键盘

  另外,如果使用处理器I/O直接与矩阵键盘接口相连,上述矩阵键盘的检测方式需要处理器不断对接口扫描检测。对速度较快的处理器来说,这种检测方式是对处理器的极大浪费。所以实际应用中建议使用专门的矩阵键盘的驱动芯片或I/O扩展芯片,来实现对矩阵键盘的检测,比如ZLG7290、CAT9555等扩展芯片。使用驱动或I/O扩展芯片,可以将处理器从简单但频繁的键盘扫描动作中解放出来。如图4为ZLG7290实现矩阵键盘应用的基本电路,该芯片支持2×8个I/O扩展,采用I2C接口与处理器连接,并支持中断输出,最大可扩展8×8的矩阵键盘,。

ZLG7290矩阵键盘电路.png

  图 4 ZLG7290矩阵键盘电路


  学习嵌入式要什么基础


  硬件知识:

  无非就是写程序时调用硬件的功能是按照我们的逻辑来完成我们的要求,既然是与硬件打交道,那就应该熟练掌握硬件知识,如果你是电子专业的学生,那么这点要求对你来讲就很微不足道了吧,因为你已将掌握了写驱动的必要条件之一,驱动是软硬相结合的,那么在调试驱动的时候就需要我们通过调试硬件来完成驱动的功能。

  c语言:

  c语言也被称为是上帝的语言,那么在嵌入式驱动当中是使用最广泛的语言开发,此外也有用汇编来开发驱动程序,但其效率可能稍微差点,从当前实际工作环境中看,我们现在开发驱动程序用的醉倒的就是c语言,那么对于计算机专业的人来讲,大部分人的第一种编程语言就是c语言,所以这门学科对于我们来讲并不是什么难事。

  操作系统知识:

  驱动分为两种,一种是没有操作系统的驱动程序,也就是直接用c语言来对硬件进行编程,那么另外一种就是有操作系统的驱动程序,需要集合操作系统的接口来编写驱动程序才可正常使用,当然在两种模式中,使用最多且就业需求最多的就是第二种有操作系统的驱动程序,所以想要写驱动程序首先需要掌握操作系统的相关知识,而嵌入式的驱动程序大多是用linux系统,所以应该熟练掌握linux操作系统是成为开发嵌入式驱动的必要条件,但切记不是唯一的条件,因为还有wince等其他操作系统。

  以上就是学习嵌入式要什么基础,概括的嵌入式驱动三大基础内容。那么没有这些基础怎么办呢?如果这些基础你相对薄弱,可以到华清远见零基础的班级进行培训,会让你对嵌入式有全面并且丰富的了解。如果你对这些基础已经有一定的了解,那么来参加星创客的入学考试吧,考上星创客,将会对你的嵌入式水平进阶提升,对想要学习或是从事该行业的职业人一定有所帮助。


责任编辑:Davia

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: 嵌入式

相关资讯