位置:51电子网 » 技术资料 » 控制技术

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

发布时间:2008/6/3 0:00:00 访问次数:680

摘要: 提出了一个基于wince操作系统的通用usb数控键盘设计。实现了键盘与主机之间快速灵活的数据通信。

关键词: 嵌入式;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通信模块

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

pdiusbd12完全遵从usb1.1协议,它内部集成有串行接口引擎(sie)、fifo存储器、收发器以及电压调整器。还有softconnecttm、pll锁相环、可编程的时钟输出、低频晶振、终止寄存器和goodlinktm,以及并行和dma传输。

由t89s55 和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 处于高电平期间保持稳定不变,s

摘要: 提出了一个基于wince操作系统的通用usb数控键盘设计。实现了键盘与主机之间快速灵活的数据通信。

关键词: 嵌入式;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通信模块

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

pdiusbd12完全遵从usb1.1协议,它内部集成有串行接口引擎(sie)、fifo存储器、收发器以及电压调整器。还有softconnecttm、pll锁相环、可编程的时钟输出、低频晶振、终止寄存器和goodlinktm,以及并行和dma传输。

由t89s55 和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 处于高电平期间保持稳定不变,s

相关IC型号

热门点击

 

推荐技术资料

自制经典的1875功放
    平时我也经常逛一些音响DIY论坛,发现有很多人喜欢LM... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!