资料介绍
引言随着网络时代的到来,机械制造行业也面临着如何适应网络化制造的问题。于是将计算机技术、网络技术和传统的控制技术相结合,以嵌入式系统为主的数控系统正日益成为机械制造领域的热点。对于一个具体的数控系统,在通过键盘作为人机交互工具时,按键的数目与功能上与其他的数控系统是不同的,实时性和高速率是工业现场所重视的,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通信顺畅。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操作系统下有自带的一些驱动程序,但是这些驱动程序不能满足本系统的设计需求,所以需要编写USBHost驱动程序。应用程序是系统与用户的接口, 它通过通用驱动程序完成对外设的控制和通信。主机用户程序的编写使用EVC++ 编译环境下的API 函数实现。程序中主要用到两个API 函数: CreateFile( )和DeviceIoControl( )。首先查找设备, 打开设备的句柄: 调用Win32 函数CreatFile( )得到设备驱动程序的句柄。然后进行读写和控制操作: 调用Win32 函数DeviceIoControl(),通过得到的句柄把IoControlCode 和相关的输入输出缓冲区提交给驱动程序。最后关闭设备句柄: 当退出应用程序时, 用CloseHandle ( )关闭设备。结语本文提出的嵌入式数控键盘已经设计完成,在项目组测试中达到了预期的效果。用USB键盘输入时,在WinCE操作系统下使用记事本的方式在LCD上显示键值,并且在应用程序中可以根据用户需求定制按键的具体功能,满足数控系统的需要。参考文献:1.http://www.microsoft.com/2. 何宗键编著, Windows CE嵌入式系统,北京航空航天大学出版社,20063. 周立功等编著, ‘PDIUSBD12 USB固件程序与驱动开发’, 北京航空航天大学出版社,2003(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于ARM9和WinCE操作系统的机电设备监测终端设计
- DSP硬实时操作系统用户手册下载 30次下载
- 三宝机器人软件操作系统v2.20.33.100下载 3次下载
- 为什么,操作系统内核都是用C语言写的?资料下载
- 通用串行总线USB资料下载
- 数控加工刀具及工具系统:数控加工刀具资料下载
- 数控加工刀具及工具系统:数控加工工具系统资料下载
- 开发51单片机操作系统时应注意哪些问题资料下载
- RTThread操作系统的调度设计原理是怎样的
- 数控加工编程与操作的学习课件资料免费下载 3次下载
- 如何使用ARM和WINCE进行USB视频采集与传输系统的设计 7次下载
- WinCE操作系统的通用USB数控键盘设计解析 1次下载
- 嵌入式系统WINCE的通用驱动程序 12次下载
- 嵌入式操作系统WINCE实践教程 4次下载
- WinCE系统中USB设备自动检测实现 51次下载
- 深度解析全球操作系统格局 675次阅读
- 详解实时操作系统和非实时操作系统 3520次阅读
- 服务器管理平台通过PXE下发操作系统失败的故障处理方法 639次阅读
- 基于pSoSystem操作系统实现通用网络代码框架的设计 1986次阅读
- 基于S3C2440A和WinCE 4.2操作系统实现数字寻北仪的应用方案 3162次阅读
- 英创信息技术如何实现WinCE系统中USB设备自动检测概述 1303次阅读
- 盈鹏飞科技AM335x-Wince6.0 BSP简介 2655次阅读
- 对实时操作系统特性的讨论 5039次阅读
- WINCE在ARM平台的移植及驱动技术详解 9016次阅读
- 通用操作系统和实时操作系统 6868次阅读
- 什么是嵌入式操作系统 常见的嵌入式系统有哪些 4w次阅读
- 嵌入式操作系统是什么_嵌入式操作系统有哪些 2w次阅读
- 国产操作系统究竟哪里不行_国产操作系统为何难普及 1.3w次阅读
- 数控机床操作系统_数控机床操作流程与步骤详解 3.1w次阅读
- 数控机床面板介绍_数控机床面板字母详解 4.7w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 11次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5DIY动手组装LED电子显示屏
- 0.98 MB | 3次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机PM2.5检测系统程序
- 0.83 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537797次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191186次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多