基于WinCE操作系统的通用USB数控键盘设计

发布者:喜从中来最新更新时间:2009-02-13 来源: 电子产品世界关键字:嵌入式  USB  数控键盘  WinCE 手机看文章 扫描二维码
随时随地手机看文章

      引言

  随着网络时代的到来,机械制造行业也面临着如何适应网络化制造的问题。于是将计算机技术、网络技术和传统的控制技术相结合,以嵌入式系统为主的数控系统正日益成为机械制造领域的热点。对于一个具体的数控系统,在通过键盘作为人机交互工具时,按键的数目与功能上与其他的数控系统是不同的,实时性和高速率是工业现场所重视的,USB数控键盘相对于传统的PS/2键盘具有高速率、支持热插拔、可灵活配置等特点,所以要为嵌入式数控设备研发出通用的数控键盘,来满足现代化数控系统的需求。具体设计方案如图1所示。

  图1 系统框图

  系统硬件电路设计

  系统(图1)有四个模块组成:键盘模块、USB接口模块、USB和MCU通信模块。USB数控键盘不需要显示模块,在实验中为了便于观察结果,采用了1602液晶显示器,来显示键值和通信的状态。AT89S55单片机和ZLG7290均采用上电复位电路,减少系统的不必要开支,整个电路的供电采用USB供电,有效的减少了电源干扰。

  ZLG7290键盘模块

  ZLG7290键盘编码显示芯片具有I2C总线接口功能并可直接驱动8 位共阴式数码管(或64 只独立的LED),同时还可以扫描管理多达64 只按键,其中有8 只按键还可以作为功能键使用。ZLG7290 内部还设置有连击计数器,能够使键按下后不松手而连续有效。并提供键盘中断信号,方便与处理器接口;可检测每个按键的连击次数,并具有键盘去抖动处理、双键互锁处理等功能。 

  在设计的过程中可以连接64个按键,但是在试验的过程中,选取了具有代表性的4个按键,其中有一个功能键F1,如图2所示。电路中晶振是4MHz,能够稳定地工作。MCU的地线一定要与ZLG7290的地线相连接,避免I2C通信故障,使得I2C通信顺畅。

  图2 键盘电路设计简图

  I2C 总线的器件SDA 和SCL 引脚都是漏极开路(或集电极开路)输出结构。因此实际使用时,它们都必须要加上拉电阻。上拉电阻一般取值3~10kW。

  USB接口模块

  USB 通过4线电缆接入主机, 这4 条线分别为: VCC(总线电源)、GND(地线)、D+和D-(数据线)。D12DM和D12DP分别连接到PDIUSBD12芯片的 D- 和 D+引脚。D+和D- 线上必须串接18W+1%的精密电阻,D+和D- 线必须分别用1MW的上拉电阻(3.3V)和下拉电阻,USB接口的VBUS为来自PC机的+5V电源,用于供给ZLG7290、MCU和PDIUSBD12的电源,VCC和GND分别接2个电感,起到电源的滤波作用。

  PDIUSBD12和MCU通信模块

  PDIUSBD12是Philips(编者注:现独立为NXP)公司的一款特点突出的USB接口芯片,它支持多路复用、非多路复用和DMA并行传输。PDIUSBD12需要外接MCU来进行协议处理和数据交换。

  PDIUSBD12完全遵从USB1.1协议,它内部集成有串行接口引擎(SIE)、FIFO存储器、收发器以及电压调整器。还有SoftConnectTM、PLL锁相环、可编程的时钟输出、低频晶振、终止寄存器和GoodLinkTM,以及并行和DMA传输。

  由AT89S55 和PDIUSBD12 构成的接口电路如图3所示,在此AT89S55没有画出,但是D12与MCU的连接都已标出。 PDIUSBD12 的8 位并行数据接入AT89S55的P0口,设计电路中只有D12一个外部总线扩展电路,那么D12 的A0引脚可通过10kW电阻到地。D12 的ALE引脚与MCU的ALE引脚相连。振荡电路采用6MHz,经过D12内部倍频电路以后,实际D12内部时钟为24MHz。注意两个电容值的大小是不一样的,采用22pF和68pF的。

  图3 PDIUSBD12与MCU通信电路

  GL_N通过一个电阻和红色LED串联到VCC。当USB设备枚举成功后,该LED常亮,当PC机与D12有数据通信时,该LED闪烁。因为没有用到D12的DMA功能,所以DMACK_N 和EOT_N 必须接上拉电阻,INT_N也要通过电阻上拉到VCC,因为这个引脚是开漏的。

  系统软件

  软件设计包括ZLG7290控制程序、I2C通信程序、USB固件程序、在WinCE下USB Host驱动程序和应用程序。各部分采用模块化程序设计,便于升级和维护。WinCE下USB数控键盘的驱动程序与硬件平台关联很少,USB数控键盘在WinCE操作系统下具有通用性,并且该键盘的按键数目根据用户的要求可以剪裁,功能也可以在程序设计中定制,可以满足不同数控系统的需求。

  I2C通信程序

  在程序设计时要注意:数据线SDA 的电平状态必须在时钟线SCL 处于高电平期间保持稳定不变,SDA 的电平状态只有在SCL 处于低电平期间才允许改变。但是在I2C总线的起始和结束时例外。

  I2C总线总是以字节为单位收发数据。每次传输的字节数量没有严格限制。首先传输的是数据的最高位(MSB,第7位),最后传输的是最低位(LSB,第0位)。另外,每个字节之后还要跟一个响应位,称为应答。

  ZLG7290控制程序

  该程序的主要功能是完成ZLG7290的控制及键盘的管理,读出键值并判断出是否为功能键,在系统中功能键是配合普通键完成对数控系统的操作。主要流程就是先初始化、判断是否有键按下,若有键按下,判断是普通键还是功能键, 若为功能键, 则进行功能键处理, 若为普通键, 则转化为十进制的值,将键值显示在1602液晶显示器上。

      PDIUSBD12固件程序

  固件设计的目标就是使PDIUSBD12在USB上达到最大的传输速率。PDIUSBD12的固件设计成完全的中断驱动。当CPU处理前台任务时,USB的传输可以在后台进行。这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。

  后台ISR(中断服务程序)和前台主程序之间的数据交换可以通过事件标志和数据缓冲区来实现,其原理图如图4所示。在ISR中,固件将数据包从PDIUSBD12内部缓冲区移到循环数据缓冲区,并在随后清零PDIUSBD12的内部缓冲区,以便接受新的数据包。CPU可以继续当前的前台任务直到完成。

  图4 前后台工作原理

  对于这种结构,主循环不关心数据是否来自USB、串口还是并口,其只检查循环缓冲区内需要处理的新数据。主循环程序专注于数据的处理,而ISR 能够以最大可能的速度进行数据的传输,相似的控制端点在数据包处理时采用了同样的概念,ISR 接收和保存数据缓冲区中的控制传输并设置相应的标志寄存器,主循环向协议处理程序发出请求,由于所有的标准器件级别和厂商请求都是在协议处理程序中进行处理,ISR 得以保持它的效率而且一旦增加新的请求只需要在协议层进行修改。

  USB在WinCE下驱动程序和应用程序

  整个系统采用的是ARM9微处理器作为主机,并且选用ARM9中的S3C2410作为系统的核心控制器。S3C2410内部集成了USB设备控制器,完全兼容USB1.1协议并且集成了USB收发器。WinCE操作系统下有自带的一些驱动程序,但是这些驱动程序不能满足本系统的设计需求,所以需要编写USB Host驱动程序。

  应用程序是系统与用户的接口, 它通过通用驱动程序完成对外设的控制和通信。主机用户程序的编写使用EVC++ 编译环境下的API 函数实现。程序中主要用到两个API 函数: CreateFile( )和DeviceIoControl( )。首先查找设备, 打开设备的句柄: 调用Win32 函数CreatFile( )得到设备驱动程序的句柄。然后进行读写和控制操作: 调用Win32 函数DeviceIoControl(),通过得到的句柄把IoControlCode 和相关的输入输出缓冲区提交给驱动程序。最后关闭设备句柄: 当退出应用程序时, 用CloseHandle ( )关闭设备。

  结语

  本文提出的嵌入式数控键盘已经设计完成,在项目组测试中达到了预期的效果。用USB键盘输入时,在WinCE操作系统下使用记事本的方式在LCD上显示键值,并且在应用程序中可以根据用户需求定制按键的具体功能,满足数控系统的需要。

关键字:嵌入式  USB  数控键盘  WinCE 引用地址:基于WinCE操作系统的通用USB数控键盘设计

上一篇:基于 LWIP 的嵌入式网络系统设计与实现
下一篇:基于μC/OS—II的嵌入式构件系统设计

推荐阅读最新更新时间:2024-05-02 20:45

嵌入式系统中电源管理电路的设计与实现
    针对大部分嵌入式系统的电池电源管理问题,设计了一种为嵌入式系统——尤其是应用在手持式和便携式设备的嵌入式系统进行电源管理的单元电路模块。该电源管理电路以MAX8903为核心,具有输入范围宽、体积紧凑、外围电路简单、工作效率较高等优点,可以在嵌入式系统中用来管理电池充电、电源选择、电源检测等,很好地满足了电源管理单元的功能需求。     1系统简介     电子电路集成工艺的飞速发展使计算机系统体积不断缩小,性能不断地提升,同时移动通信技术的发展让这些计算机系统更加的便携,许多便携式计算机开始使用电池供电。高性能运算通常伴随着高功耗,而电池技术的严重滞后和人们环保意识的增加使得性能和功耗之间的问题越发突出。电源管理技术的
[单片机]
东芝高官:闪存芯供不应求 只能完成70%订单
9月27日消息,据东芝半导体部门的CEO兼总裁Shozo Saito称,东芝无法满足对其NAND闪存芯片的需求,订单已经排到了12月份。 据国外媒体报道称,Saito证实了相关报道,即东芝只能满足客户订单需求的70%。但是,东芝对NAND闪存芯片平均售价的前景并不乐观。本周,Saito在接受采访时说,有利的一面是需求相当强劲。他说,我们计划大幅度提高产量,满足迅速增长的需求。 大多数的NAND闪存需求来自嵌入设备市场——其中包括MP3播放机、优盘等产品,闪存卡只占需求很少的一部分。Saito说,东芝专注于嵌入式设备市场。 总体而言,在经历一段疲软后,NAND闪存的需求再次强劲。从去年末到今年初,NAND闪存芯片的价格不断下滑,
[焦点新闻]
普渡大学工程学院在新建的实验室中采用泰克仪器测试嵌入式系统设计
帮助学生实施社区服务工程项目(EPICS)计划 俄勒冈州毕佛顿, 2007年9月10日讯 – 全球领先的测试、测量和监测仪器的提供商--泰克公司(NYSE: TEK)日前宣布,普渡大学社区服务工程项目(EPICS)计划将安装和使用泰克最新的测试测量仪器。普渡大学已经为其实验室购买了测试设备,与此同时,泰克还为其捐赠了部分设备。泰克将为EPICS新建的工程师实验室捐赠业内领先的测试设备,该实验室将于2007年秋天在新落成的Neil Armstrong工程礼堂开放,为设计嵌入式系统应用提供项目支持。 EPICS是一家国家级跨学科工程计划,由普渡大学电气工程部于1995年启动。该计划把由大学生组成的小组与本地社区机构联系起来。例如
[焦点新闻]
STC15W4K48S4的直接USB-ISP功能!51单片机最方便的下载
正在检测目标单片机 ... 单片机型号: STC15W4K48S4 固件版本号: 7.3.1T 当前芯片的硬件选项为: . 下次冷启动后系统时钟源为内部IRC振荡器 . 内部振荡器的频率未调节 . 掉电唤醒定时器的频率: 37.133KHz . P3.2和P3.3与下次下载无关 . 上电复位时增加额外的复位延时 . 复位引脚用作普通I/O口 . 检测到低压时复位 . 低压检测门槛电压 : 2.63 V . 低压时不能进行EEPROM操作 . CPU-Core最高工作电压 : 2.78 V . 上电复位时,硬件不启动内部看门狗 . 上电自动启动内部看门狗时的预分频数为 : 256 . 空闲状态时看门狗定
[单片机]
STC15W4K48S4的直接<font color='red'>USB</font>-ISP功能!51单片机最方便的下载
基于嵌入式图像信息采集与传送系统的设计
1.引言 家庭安防是困扰人们很久的问题,目前 智能家居 的崛起可以说不光解决了这一问题,而且提高了人们的生活质量。但是它的高额费用是大多数人所负担不起的,本文提出了一款简单、低廉的专一家庭安防系统来满足广大消费者的需求。 2.系统硬件电路结构设计 如图1所示,硬件电路由嵌入式核心电路板和外围设备构成。核心板处理器为三星S3C2440,运行主频率400MHz,存储单元由8M 16Bit K9F2808UOC NAND FLASH和4M 16Bit HY57V641620HG SDRAM存储芯片构成。外围设备由遮光式光电传感器、图像扑捉摄像模块及GPRS(通用无线分组业务)模块组成。 3.各模块功能 3.1 遮光式光电
[单片机]
基于<font color='red'>嵌入式</font>图像信息采集与传送系统的设计
USB2.0集线器 应用于便携式消费电子【SMSC】
致力于实现多样化连接性系统的领先半导体厂商 SMSC 今天发表最新的高速 USB 2.0 连接方案─ USB3803 USB 2.0 便携式集线器。这是业界首款专为便携式设备而设计的高速 USB 便携式集线器,由于具备引脚少和小尺寸特性,可为电池供电的便携式应用设备提供绝佳的 USB 连接性解决方案。 随着便携式设备整合的功能不断增多,以及连接性架构日趋复杂,必需有一个以上的 USB 端口来管理内部和外部周边设备的通信。 SMSC 的低功耗 USB3803 USB 2.0 集线器控制器可提供三个下行 (downstream) 端口,是专门针对需要一个以上 USB 端口的便携式嵌入式应用所设计的。 USB3803
[嵌入式]
浅谈嵌入式系统测试JTAG技术各个阶段
  引言   IEEE 1149.1边界扫描测试标准(通常称为JTAG、1149.1或 dot 1 )是一种用来进行复杂IC与 电路板 上的特性测试的工业标准方法,大多数复杂电子系统都以这种或那种方式用到了IEEE1149.1(JTAG)标准。为了更好地理解这种方法,本文将探讨在不同年代的系统开发与设计中是如何使用JTAG的,通过借助过去有关JTAG接入的经验或投入,推动设计向新一代发展。   大多数复杂电子系统都以这种或那种方式用到了IEEE1149.1(JTAG)标准。如果系统采用的是复杂FPGA或CPLD,那么几乎可 以肯定这些硬件是通过JTAG端口设置的。如果系统利用仿真工具来调试硬件或软件,那么仿真工具也很可能是通过JT
[测试测量]
浅谈<font color='red'>嵌入式</font>系统测试JTAG技术各个阶段
外媒爆料:下代入门级iPad大改款 A14芯片还有5G/USB-C也有了
外媒9to5Mac报道称,苹果公司未来的入门级iPad会采用A14仿生芯片、USB-C借口,并支持5G连接。    此前,他们就曾从消息源头获知,苹果新一代iPad Air的细节,也就是M1芯片并支持5G连接 ——事实证明,该报道是正确的。    目前定价为329美元的入门级iPad是该系列中最实惠的 iPad。出于这个原因,苹果已经多年没改变他的设计,目前还是有home键的版本,接口也是Lightning而不是更现代的USB-C。    今年,看起来苹果终于要给低价iPad进行更重大的升级了。 9to5Mac看到的信息显示,新的第 10代 iPad(代号 J272Ω将配备USB-C端口而不是Lightning。这意味着苹果终
[手机便携]
外媒爆料:下代入门级iPad大改款 A14芯片还有5G/<font color='red'>USB</font>-C也有了
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved