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

来源 :电子产品世界 | 被引量 : 0次 | 上传用户:zhaohongjie0908
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  王典洪 乔 伟 谢利芳
  摘要:提出了一个基于WinCE操作系统的通用USB数控键盘设计。实现了键盘与主机之间快速灵活的数据通信。
  关键词: 嵌入式;USB;数控键盘;WinCE
  
  引言
  
  随着网络时代的到来,机械制造行业也面临着如何适应网络化制造的问题。于是将计算机技术、网络技术和传统的控制技术相结合,以嵌入式系统为主的数控系统正日益成为机械制造领域的热点。对于一个具体的数控系统,在通过键盘作为人机交互工具时,按键的数目与功能上与其他的数控系统是不同的,实时性和高速率是工业现场所重视的,USB数控键盘相对于传统的PS/2键盘具有高速率、支持热插拔、可灵活配置等特点,所以要为嵌入式数控设备研发出通用的数控键盘,来满足现代化数控系统的需求。具体设计方案。
  
  
  系统硬件也路设计
  
  系统有四个模块组成:键盘模块、USB接口模块、USB和MCU通信模块。USB数控键盘不需要显示模块,在实验中为了便于观察结果,采用了1602液晶显示器,来显示键值和通信的状态。AT89S55单片机和ZLG7290均采用上电复位电路,减少系统的不必要开支,整个电路的供电采用USB供电,有效的减少了电源干扰。
  
  ZLG7290键盘模块
  ZLG7290键盘编码显示芯片具有FC总线接口功能并可直接驱动8位共阴式数码管(或64只独立的LED),同时还可以扫描管理多达64只按键,其中有8只按键还可以作为功能键使用。ZLG7290内部还设置有连击计数器,能够使键按下后不松手而连续有效。并提供键盘中断信号,方便与处理器接口;可检测每个按键的连击次数,并具有键盘去抖动处理、双键互锁处理等功能。
  


  在设计的过程中可以连接64个按键,但是在试验的过程中,选取了具有代表性的4个按键,其中有一个功能键F1,电路中晶振是4MHz,能够稳定地工作。MCU的地线一定要与ZLG7290的地线相连接,避免12C通信故障,使得12C通信顺畅。
  12C总线的器件SDA和SCL引脚都是漏极开路(或集电极开路)输出结构。因此实际使用时,它们都必须要加上拉电阻。上拉电阻一般取值3-10kΩ。
  
  USB接口模块
  USB通过4线电缆接入主机,这4条线分别为:VCC(总线电源)、GND(地线)、D+和D一(数据线)。D12DM和D12DP分别连接到PDIUSBDl2芯片的D一和D+引脚。D+和D-线上必须串接18Q+1%的精密电阻,D+和D-线必须分别用1MQ的上拉电阻(3.3V)和下拉电阻,USB接口的VBUS为来自PC机的+5V电源,用于供给ZLG7290、MCU和PDIUSBDl2的电源,VCC和GND分别接2个电感,起到电源的滤波作用。
  
  PDIUSBD12和MCU通信模块
  PDIUSBDl2是Philips(编者注:现独立为NXP)公司的一款特点突出的USB接口芯片,它支持多路复用、非多路复用和DMA并行传输。PDIUSBDl2需要外接MCU来进行协议处理和数据交换。
  PDIUSBDl2完全遵从USBl.1协议,它内部集成有串行接口引擎(SIE)、FIFO存储器、收发器以及电压调整器。还有SoftConnectTM、PLL锁相环、可编程的时钟输出、低频晶振、终止寄存器和GoodLinkTM,以及并行和DMA传输。
  由AT89S55和PDIUSBDl2构成的接口电路如图3所示,在此AT89S55没有画出,但是D12与MCU的连接都已标出。PDIUSBDl2的8位并行数据接入AT89S55的P0口,设计电路中只有D12一个外部总线扩展电路,那么D12的A0引脚可通过10kf2电阻到地。D12的ALE引脚与MCU的ALE引脚相连。振荡电路采用6MHz,经过D12内部倍频电路以后,实际D12内部时钟为24MHz。注意两个电容值的大小是不一样的,采用22pF和68pF的。
  GL_N通过一个电阻和红色LED串联到VCC。当USB设备枚举成功后,该LED常亮,当PC机与D12有数据通信时,该LED闪烁。因为没有用到D12的DMA功能,所以DMACK_N和EOT_N必须接上拉电阻,INT_N也要通过电阻上拉到VCC,因为这个引脚是开漏的。
  
  系统软件
  
  软件设计包括ZLG7290控制程序、FC通信程序、USB固件程序、在WinCE下USB Host驱动程序和应用程序。各部分采用模块化程序设计,便于升级和维护。WinCE下USB数控键盘的驱动程序与硬件平台关联很少,USB数控键盘在WinCE操作系统下具有通用性,并且该键盘的按键数目根据用户的要求可以剪裁,功能也可以在程序设计中定制,可以满足不同数控系统的需求。
  12C通信程序
  在程序设计时要注意:数据线SDA的电平状态必须在时钟线SCL处于高电平期间保持稳定不变,SDA的电平状态只有在SCL处于低电平期间才允许改变。但是在12C总线的起始和结束时例外。
  12C总线总是以字节为单位收发数据。每次传输的字节数量没有严格限制。首先传输的是数据的最高位(MSB,第7位),最后传输的是最低位(LSB,第0位)。另外,每个字节之后还要跟一个响应位,称为应答。 
  
  ZLG7290控制程序
  该程序的主要功能是完成ZLG7290的控制及键盘的管理,读出键值并判断出是否为功能键,在系统中功能键是配合普通键完成对数控系统的操作。主要流程就是先初始化、判断是否有键按下,若有键按下,判断是普通键还是功能键,若为功能键,则进行功能键处理,若为普通键,则转化为十进制的值,将键值显示在1602液晶显示器上。
  
  PDIUSBDl2固件程序
  固件设计的目标就是使PDIUSBDl2在USB上达到最大的传输速率。PDIUSBDl2的固件设计成完全的中断驱动。当CPU处理前台任务时,USB的传输可以在后台进行。这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。
  后台ISR(中断服务程序)和前台主程序之间的数据交换可以通过事件标志和数据缓冲区来实现,其原理图如图4所示。在ISR中,固件将数据包从PDIUSBD12内部缓冲区移到循环数据缓冲区,并在随后清零PDIUSBDl2的内部缓冲区,以便接受新的数据包。CPU可以继续当前的前台任务直到完成。
  


  对于这种结构,主循环不关心数据是否来自USB、串口还是并口,其只检查循环缓冲区内需要处理的新数据。主循环程序专注于数据的处理,而ISR能够以最大可能的速度进行数据的传输,相似的控制端点在数据包处理时采用了同样的概念,ISR接收和保存数据缓冲区中的控制传输并设置相应的标志寄存器,主循环向协议处理程序发出请求,由于所有的标准器件级别和厂商请求都是在协议处理程序中进行处理,ISR得以保持它的效率而且一旦增加新的请求只需要在协议层进行修改。
  
  USB在WinCE下驱动程序和应用程序
  
  整个系统采用的是ARM9微处理器作为主机,并且选用ARM9中的$3C2410作为系统的核心控制器。S3C2410内部集成了USB设备控制器,完全兼容USBl.1协议并且集成了USB收发器。WinCE操作系统下有自带的一些驱动程序,但是这些驱动程序不能满足本系统的设计需求,所以需要编写USB Host驱动程序。
  应用程序是系统与用户的接口,它通过通用驱动程序完成对外设的控制和通信。主机用户程序的编写使用EVC++编译环境下的API函数实现。程序中主要用到两个API函数:CreateFile()和DeviceIoControl()。首先查找设备,打开设备的句柄:调用Win32函数CreatFile()得到设备驱动程序的句柄。然后进行读写和控制操作:调用win 3 2函数Devi ceIoControl(),通过得到的句柄把IoControlCode和相关的输入输出缓冲区提交给驱动程序。最后关闭设备句柄:当退出应用程序时,用CloseHandle()关闭设备。
  
  结语
  
  本文提出的嵌入式数控键盘已经设计完成,在项目组测试中达到了预期的效果。用USB键盘输入时,在WinCE操作系统下使用记事本的方式在LCD上显示键值,并且在应用程序中可以根据用户需求定制按键的具体功能,满足数控系统的需要。
其他文献
摘要:为方便4G网络的部署,无线基站正面临着许多严苛的性能挑战,提高基站的MIMO(多输入、多输出)性能成为当前亟需解决的问题之一。本文重点论述了目前在改善无线基站方面的几个热点问题。  关键词:4G;无线基站;MIMO;带宽;占板面积  DOI: 10.3969/j.issn.1005-5517.2012.5.009  引言  高性能无线基站正在经历着根本性的变化,以使高成本4G(第四代)网络的
期刊
[摘要]霍建起作为当代中国影坛一位个性鲜明的导演,其作品不事张扬却频频获奖。温情题材与唯美表现,以及时时流露的具有散文或诗作意味的艺术情怀,成为自觉贯穿霍导创作始终的风格化印记。本文将从故事提炼、视听表达、文化积淀三个角度观照霍建起电影业已形成的独特审美风格。  [关键词]霍建起温情诗意电影  从处女作《赢家》到代表作《那山那人那狗》、《暖》,甚至新作所谓商业转型片《情人结》,霍建起导演的每一部电
期刊
Analog Devices AD8232心率监护仪前端是针对ECG和其他生物电势测量应用的集成式信号调理模块。它可在高噪声条件下提取、放大和过滤小生物电势信号,例如运动或远程电极放置所产生的电势信号。这种设计可以提供超低功耗模数转换器(ADC)或嵌入式微控制器,从而轻松获得输出信号。AD8232可以实现双极高通滤波器,用以消除运动伪影和电极半电池电势。此滤波器与放大器的仪表架构紧密耦合,可以在单
期刊
市场概述  消费类市场应用范围宽广,而且由于有创新产品如平板电脑等的推出,其应用范围还在不断演变。由于难以论及所有消费应用,本文将重点探讨传统“家庭娱乐”类消费应用,如电视、机顶盒(STB)及数字视频播放机(如DVD、DVR等,简称DVx)。  过去几年来,这些应用的变化颇大,功率电子设计工程师需要特别注意。这些应用中变化最大的就是电视机市场的发展,曾经盛行的阴极射线管(CRT)电视和投影电视已被
期刊
数字控制相对于传统模拟方法的优势有很多,远远超过了数字控制组件参数变化带来的相关问题(图1显示了FPGA控制的降压转换器)。相对于传统方法而言,FPGA能够以更快的频率运行,并能更迅速地对瞬变电流负荷做出积极响应(在某些应用中可能减少对多相转换器的需求)。控制算法可通过DSP和控制理论技术加以调节,以确保设计实施的高效性——例如,较轻负荷下进行脉冲跳跃以及持续和断续模式之间的切换等。滤波等DSP技
期刊
近日,Synopsys公司董事长兼首席执行官Aart de Geus博士接受了《电子产品世界》的访问。当前EDA业有五大主题:实现、制造、验证、系统设计和IP。  2009-2012年以来,Synopsys进行了十多次并购,包括去年底收购Magma。原因是意识到只有系统复杂程度达到某一个量时才会质变,才会真正改变设计的环境。例如,一个SoC所碰到的问题可能是制造的问题,也可能是实现、验证或系统级软
期刊
恩智浦(NXP)半导体执行董事、总裁兼首席执行官Rick Clemmer不久前接受了本刊的采访,称其已经实现了战略转型,专注四大领域,并支持中国实现从“中国制造”到“中国设计”的跨越,专注ARM MCU的策略等。  NXP从2011年第4季度到2012年第一季度增长了7%,而很多半导体同行却下降了,NXP的增长来自两方面,一是安全技术(特别是在ID)实现了两位数增长。二是之前与一些车厂进行设计项目
期刊
日前,德州仪器(TI)与清华大学宣布共同组建“未来智能机器人”兴趣团队,从而为未来智能型机器人开发、多智能体协同技术研究感兴趣的学生提供学习、交流、研究、实践和创新的平台。  TI 大中华区总经理、中国运营总裁谢兵先生表示,“自1958年TI的工程师Jack Kilby发明了集成电路,基于集成电路的各种技术和产品的创新已经完全改变了我们的学习、工作、娱乐的方式,并渗透到日常生活的每一个角落。清华大
期刊
自1970年发明MOS工艺及73年推出CMOS工艺以来,至今还没有发现可替代它的工艺,足见CMOS工艺的经济合理性。因此,至今硅基材料的应用仍在继续延伸。然而,在晶体管工艺制造中采用二氧化硅作为栅极材料,实质上已逼近极限。如65纳米工艺时,二氧化硅栅极的厚度已降低至1.2纳米,约5个硅原子层厚度,如果再继续缩小,将导致漏电及功耗急剧上升。    晶体管工艺技术的又一个里程碑    Intel共同创
期刊
摘要:本文介绍了同步采样ADC在电网监测中的应用,并对构建电力线测量系统时所要考虑的问题进行了讨论。  关键词: ADC;电力线监测;放大器;数字隔离器    前沿    电力工业的迅速扩展,在全球范围内引发了加强现有传输和配电网络以及建设新变电站的需求。微处理器技术方面的进展以及支持人员的人力成本的上升,已经成为电力公司设计新的、采用高精度集成化自动控制系统的自动化高压变电站的关键性推动因素。
期刊