保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

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


能是完成应用程序与驱动程序之间数据的交换。DeviceIoControl()函数的具体格式为:
  
  BOOLDeviceIoControl(
  
  HANDLEhDevice,//外设句柄
  
  DWORDdwIoControlCode,//I/O操作控制代码
  
  LPVOIDIpInBuffer,//输入缓冲区指针
  
  DWORDnInBufferSize,//输入缓冲区大小
  
  
  
  
  LPVOIDIpOutBuffer,//输出缓冲区指针
  
  DWORDnOutBufferSize,//输出缓冲区大小
  
  LPDWORDIpBytesReturned,//实际返回的字节数
  
  LPOVERLAPPEDIpOverLapped//用于异步操作的结构指针
  
  );
  
  3.2外围USB设备——互联适配器的软件设计
  
  这一部分的软件编写也包括两部分。一部分为对主CPU(EZ-USB)的编写。USB内核功能强大,可以自动完成USB协议的转换,从而大大简化了8051的代码。采用C51语言,并使用EZ-USB的固件函数库和程序框架。框架完成了一个简单的任务循环,用户函数TD_Poll()能够实现USB外设的功能。因为从CPU(NeuronChip)的并行模式是芯片内部定义的,遵从虚拟的写令牌传递协议,所以需要编写芯片EZ-USB的程序来模拟3150的I/O并行口的从A模式。所以TD_Poll()函数主要完成四项工作:与辅CPU同步、握手、令牌的传送以及并行口数据的读写。
  
  另一部分为从CPU的软件程序的编写,用神经元的编程语言即NeuronC语言完成。从CPU主要完成将并口得到的报文解析,再利用NeuronC的消息传送机制,将解析的消息传送给适配器下层的应用节点;同时,还将从适配器下层的应用节点以消息形式传送上来的数据或信息构造成EZ-USB可识别的报文,通过并口传送给EZ-USB。由从机内部定义的与并行I/O对象有关的函数主要有:
  
  io_in_ready():当并口上有数据传送到来时,此函数值为TRUE。此时可调用io_in?穴?雪函数接收数据。
  
  io_out_request():此函数用来向并口总线发出请求以获取令牌。
  
  io_out_ready():当并口总线处于可写状态即3150获取到令牌后,此函数值为TRUE,此时可调用io_out()函数将数据发送到并口。在调用此函数之前应先调用io_out_request()。
  
  io_in():将并口上的数据接收到缓冲区。
  
  io_out():将缓冲区的数据发送到并口总线上。
  
  本文设计的互联适配器在结构上采用双CPU设计,具有结构简单、小型化的特点,非常适合用于测控系统。在软件设计中,突出模块的灵活性,并且USB内核可以自动完成USB协议的转换,大大简化了8051的代码。总之,本适配器具有组态灵活、成本低、可靠性好、通信能力强等优点,在工业控制、楼宇自动化等诸多领域有广阔的应用前景。
  
  
  
  
  
 

《LonWorks-USB互联适配器的设计开发(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/164118.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。