您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

LonWorks-USB互联适配器的设计开发

时间:2007-1-20栏目:电子通信论文

数据缓冲区进行数据交换,而仅仅利用3150内部的2KRAM空间是远远不够的,因此扩展了外部存储器FLASH和RAM。FLASH选用AT29C512,其地址范围是0000H~7FFFH;RAM选用IS61C256AH-15N,其地址范围是8000H~DFFFH。AT29C512和IS61C256AH-15N的地址范围由Neuron芯片的地址线和控制线E及相关的逻辑门电路来确定。神经元芯片的晶振为10MHz。Neuron芯片与LON的网络介质的接口采用上海工业自动化仪表研究所生产的双绞线收发器。收发器按其传输速率可以分为TPT/XF-78(传输速率为78kbps)、TPT/XF-1250(传输速率为1.25Mkbps)两种型号,用于满足不同的通讯要求。这里选用的是TPT/XF-1250。
  
  EZ-USB单片机采用的是EZ-USB2100系列中具有44个引脚的AN2131S。AN2131S是互联适配器的主CPU,利用其I/O端口足以完成所需的功能。EZ-USB芯片中包含内部程序/数据RAM共8KB?熏不再需要ROM或其它非易失性存储器。主CPU与辅CPU的连接很简单,即与辅CPU的11个I/O口进行连接。单片机的PB口接上辅CPU的IO0~IO7,为两个CPU的并行通讯数据端口。单片机的PC0~PC2分别接神经元芯片IO8~IO10,完成控制功能。AN2131S再通过引脚USBD+和USBD-与主机PC/Laptop互联。
  
  3软件设计
  
  适配器的软件程序设计分为两大块。一块为对主机PC/Laptop程序的软件设计,另一块为对外围USB设备——互联适配器程序的软件设计。
  
  3.1USB主机的软件设计
  
  主机的软件设计主要包括两部分:一是基于USB的互联适配器的驱动程序。如图3所示,USB通信使用分层驱动模型,每层处理一部分通信过程,这样可以使不同设备在一些任务上使用相同的驱动。这里使用MicrosoftWDMDDK和MicrosoftVisualC++6.0来完成。
  
  二是USB通信程序和用户服务程序。用户服务程序通过USB通信程序与系统USBDI(USBDeviceInterface)通信,由系统完成USB协议的处理与数据传输。从逻辑上讲,USB数据的传输是通过管道进行的。USB系统软件通过缺省管道(与端点0相对应)管理设备,设备驱动程序通过其它的管道来管理设备的功能接口。为了满足不同外设和用户的要求,USB提供了四种传输方式:控制传输、同步传输、中断传输和块传输。本系统使用的是块传输。EZ-USB提供了16个用于块传输的端点,包括7个IN端点(EP1_IN~EP7_IN)和7个OUT端点(EP1_OUT~EP7_OUT)。每个端点都有一个64字节的缓冲区。块端点无方向控制,一个端点地址对应一个方向,所以端点IN1的地址不同于端点OUT1的地址,本适配器就采用这对端点传输数据。其中,端点0在USB系统中有特定含义,它是EZ-USB芯片中唯一的控制端点,用于传输控制信息。
  
  开发可以访问互联适配器的应用程序,可使用任何一个支持win32函数CreateFile()和DeviceIoControl()的编译器。

上一页  [1] [2] [3] [4] [5] 下一页

下页更精彩:1 2 3 4 下一页