热线电话:021-36580096 36580097

基于ARM的DCS专用工业键盘研究与实现(一)

来源:上仪销售网 编辑:上仪销售网 发布时间:2013-02-09 文章点击数:2344


工业控制现场中的分散控制系统(DCS)需要特定的DCS操作员键盘对其 进行控制。本文研究基于ARM微处理器的DCS专用工业键盘,设计了具有 USB2.0通信协议的标准HID类键盘接口程序以及具有标准PC键盘和DCS功 能扩展键盘功能的键盘任务处理程序,有效实现了该专用键盘。实验结果表明, 设计合理、系统稳定与可靠,能满足工业现场环境的需要。

随着工业控制现场中分散控制系统(DCS)的发展,需要特定的DCS操作 员键盘对系统进行控制。该键盘使操作员能对系统的操作更加直观,操作方法 更加简捷,以降低对操作员的操作技能要求,进一步减少误操作的可能,从而 提高整个生产线的自动化能力。DCS操作员键盘正是基于这个目的产生的。该 键盘在功能上除了兼容标准PC键盘的功能外,增加了 DCS功能扩展区和用户 自定义扩展区。在该键盘按键壳体上印刷按键功能,如逻辑开、逻辑关、手动、 自动、报警、输出步长等等,一旦有按键动作,键盘立刻响应并将按键编码发 给主机,主机根据接收到的按键编码调用相应的子函数来完成响应功能。同时 该键盘支持目前广泛流行的USB接口的标准PC键盘通讯协议。USB协议专门 为人机交互设备提供了接口描述,即HID设备类。用户可以按照HID设备类的 协议设计通用键盘,也可以根据自己的需要设计特殊的键盘,以满足不同的应 用场合。USB通信协议的设备一旦接入主机USB接口,主机调用底层驱动自动 完成USB设备的枚举,实现方便快捷的即插即用。另外该键盘可记挂标准PC 键盘,即便在DCS操作员键盘故障或在高级工程师操作管理模式下,可使用标 准PC键盘做进一步的操作。在基本功能上与标准PC键盘保持一致,可相互控 制Capslock状态。本文描述的正是这样一个基于ARM的DCS专用工业键盘的 研究与实现。

1系统硬件实现

该键盘硬件主要由ARM MCU、USB HUB等控制电路以及矩阵式键盘组 成。ARMMCU控制电路主要负责与主机的通信,完成USB通信建立、按键扫 描、键码确认以及发送。ARM其他部分电路包括JTAG调试电路接口,复位模 块,晶振介入电路等常规电路。另外有一个GPIO端口做指示灯,用于指示键 盘CAPS键。USBHUB控制电路主要是为该键盘作冗余,将USB数据分成两 路,一路接受和发送键盘的数据,另一路作为独立的USB 口,可记挂标准PC 键盘,以防工业现场恶劣环境下键盘故障。电源部分电路采用USB供电。本设 计中键盘需要支持86个按键,通过建立矩阵式结构的键盘,有效使用11个I/O 口做通用输出口,为键盘扫描信号的输出口,8个I/O 口做通用输入口,作为键盘反馈信号的输入口。这样总共使用19个I/O端口即可控制多达11*8二个按 键,减少了 I/O 口的占用。

1.1 ARM MCU控制电路和矩阵式键盘

本设计微处理器选用ST公司的STM32F103R6T6。STM32F103R6T6是ARM公司具有突破性的Cortex-M3内核的STM32系列32位闪存微控制器的 增强型产品。具有高性能、低功耗、实时应用且具有竟争力价格等多项优点。 该芯片工作频率72MHZ, 1.25 DMIPS/MHZ。片上集成了 32KB的FLASH代码 存储器和10KB的SRAM用户数据存储器,通过APB总线连接丰富和增强的外 设和I/O。其中3个定时器,51个快速I/O端口 ,以及SPI、I2C、USART、 CAN等多种标准通信接口 [1]。STM32F103R6T6嵌入了一个支持全速USB2.0 总线的USB外设,实现了全速(12Mb/s)功能接口,可通过软件配置端点,也 可以通过软件控制挂起/恢复,时钟来自内部PLL产生的48MHZ专用时钟源。

该电路主要用于检测键盘矩阵上的按键情况,并加以处理包括特殊功能键 在内的数据传输,具体功能由软件编程实现。接口部分为矩阵式键盘,列线通 过电阻接正电源,用MCU的11个I/O 口做通用输出口,作为键盘扫描信号的 输出口 ;行线用8个I/O 口做通用输入口,作为键盘反馈信号的输入口。因而 可设计控制多达11*8二88个按键,满足需要的86个按键。将全部列线置低电平 输出,然后读行线有无低电平出现。当没有按键按下时,所有的输入端都是高 电平,代表无键按下;一旦有键按下,则输入线就会被拉低,这样通过读入输 入线的状态就可得知是否有键按下。

ARM其他部分电路还包括JTAG调试电路接口,复位模块,晶振介入电路等常规电路。另外有一个口做指示灯,用于指示键盘CAPS键。

此外本项目采用IAR System公司为ARM微处理器开发的一个集成开发环 境IAR EWARM,需要配套的IAR J-LINK仿真器。J-LINK 一端通过PC机 USB 口与PC连接,另一端通过标准20芯JTAG插头与目标板连接,并将目标 板的电源接上,即可进行应用程序的在线调试。

根据ST公司提供的芯片资料,单片机控制设计电路如图1所示。

1.2 USB HUB 部分

USB HUB控制电路主要是为该键盘作冗余,将USB数据分成两路,一路 接收和发送键盘的数据,另一路作为独立的USB 口,可与其他的标准USB2.0 设备通讯,如标准PC键盘,以防工业现场恶劣环境下键盘故障。USBHUB芯 片采用赛普拉斯的CYC765621,主要接口是1路和上位机通讯的USB接口 (D-、D+ ),另2路为HUB分出来的2路USB接口 ,其中一路就作为外接 USB 口了 ,另一路接到ARM作为键盘通讯的数据传输口(DD1-DD1+DD2-DD2+ )。另有MIC2026 -2YM的电源保护关断芯片,作为保护电路与 CYC765621 相连。

1.3电源部分电路

电源部分电路采用USB供电。USB为5V供电,通过LM1117MPX-3.3的 线性电源芯片转换为3.3V电源,为USB HUB和ARM芯片供电。

2系统软件设计

本设计中软件主要是对硬件电路的驱动,实现与USB 口的通信,以及键盘 的响应功能。首先是对ARMMCU进行系统初始化,包括系统时钟设置, GPIO 口的初始化设置;其次对USB模块中断配置与使能,这里中断包括USB 低优先级中断、USB唤醒中断、按键控制中断等;并对USB模块时钟设置和使 能,然后初始化。对定时器TIM2进行设置,之后进入循环任务函数。循环任 务函数有两个一是主机枚举响应;另一个是使用定时器中断方式实现键盘任务。键盘主程序流程图如图2所示。

2.1 USB任务处理设计

USB键盘是HID类设备的一种,遵循着USB设备启动过程。即每次设备接入总线,先进入设备检测状态,总线对设备进行总线复位。其次是设备枚举 过程,在这里USB设备将被枚举为标准的HID类键盘。主机通过默认端点0发 送SETUP包,得到设备描述符,然后给设备分配新的地址,分配成功后,主机 将通过新的设备地址向设备依次发送标准USB请求来获取设备的配置信息,即 获得设备描述符、配置描述符、接口描述符、端点描述符、HID描述符和报表 描述符。通过设备的这些描述符,主机就知道了设备的详细信息,并根据设备 的配置情况对设备的端点进行操作。这些操作包括初始化端点数目,分配各端 点所需使用的PacketBuffer;初始化所使用的端点,配置端点的传输类型、传输 方向、PacketBuffer地址和初始状态。在需要发送数据或接收数据的时候,使能 端点;并在该端点的中断回调函数中,处理数据,如果需要则使能下一次传输。 以上便是实现USB键盘设备的步骤。

USB设备描述符如下:


分享到:

首页网站简介仪表产品生产厂商资质荣誉技术中心行业标准单位换算加入收藏在线客服手机站

公司地址:北京赛车市灵石路650号  邮编:200230  EMAIL:sale@shyibiao.com.cn  联系电话:021-36580096 36580097 66832988  传真:021-66835305
CopyRight@2007-2015  Www.Shyibiao.Com.Cn  北京赛车自动化仪表销售网.版权所有  沪ICP备15017254号
主营北京赛车自动化仪表股份有限公司,北京赛车自动化仪表三厂,北京赛车自动化仪表四厂仪表产品,北京赛车自动化仪表厂是国内生产仪表规模最大,产品种类繁多的生产型企业