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

合集下载

周立功USBCAN-II上位机开发(MFC)

周立功USBCAN-II上位机开发(MFC)

周⽴功USBCAN-II上位机开发(MFC)使⽤的USB转CAN的设备是周⽴功的USBCAN-II,在购买的时候,会有上位机⼆次开发的库⽂件、例程和API⽂档等材料,可以参考。

1、库函数的调⽤⾸先,把库函数⽂件都放在⼯作⽬录下。

库函数⽂件总共有三个⽂件:ControlCAN.h、ControlCAN.lib、ControlCAN.dll和⼀个⽂件夹kerneldlls。

VC调⽤动态库的⽅法(1) 在扩展名为.CPP的⽂件中包含ControlCAN.h头⽂件。

如:#include “ControlCAN.h”(2) 在⼯程的连接器设置中连接到ControlCAN.lib⽂件。

如:在VC7环境下,在项⽬属性页⾥的配置属性→连接器→输⼊→附加依赖项中添加ControlCAN.lib中间换了⼀台电脑,出现电脑丢失ControlCAN.dll的问题,将ControlCAN.dll拷到了可执⾏⽂件的⽂件夹中即可2、基本操作2.1 连接设备我这⾥每次连接都会重新开启接收数据的线程,创建⼀次接收数据的txt⽂档void CTest_OilDlg::OnBnClickedButtonConnect(){//⾸先判断CAN是否打开,,如果已经打开,则先复位及重启CAN--1.8//关闭程序前必须点击断开连接按钮,否则报错if(m_connect == 1){m_connect = 0;//isShow = 0;Sleep(500);GetDlgItem(IDC_BUTTON_CONNECT)->SetWindowTextW(_T("连接"));VCI_CloseDevice(m_deviceType,m_deviceIndex);showListInfo(_T("断开设备成功"));//结束⾃发⾃收测试的定时器KillTimer(0);//结束当前线程if(m_pThread != NULL){//::WaitForSingleObject(m_pThread->m_hThread,INFINITE);//该函数会造成死锁//https:///silvervi/article/details/5874212 将上⾯函数修改成如下,以避免上⾯函数阻塞对话框主线程的消息队列DWORD dwRet = 0;MSG msg;while(true){//等待处理数据线程结束,和等待消息队列中的任何消息dwRet = MsgWaitForMultipleObjects(1,&m_pThread->m_hThread,false,INFINITE,QS_ALLINPUT);//dwRet = WaitForSingleObject(m_pThread->m_hThread,50);switch (dwRet){case WAIT_OBJECT_0:break;case WAIT_OBJECT_0 + 1://get the message from Queue and dispatch it to specific windowPeekMessage(&msg,NULL,0,0,PM_REMOVE);DispatchMessage(&msg);continue;default:break;}break;}//CloseHandle(m_pThread->m_hThread);delete m_pThread;m_pThread = NULL;//不太懂}//关闭存储数据的⽂件for(int i = 0;i < 4;i++){//判断⽂件是否打开,若打开了关闭if(m_waveDataFile[i].m_hFile != CFile::hFileNull){m_waveDataFile[i].Close();}}GetDlgItem(IDC_BUTTON_START)->SetWindowTextW(_T("开始⼯作"));return;}//------------打开设置---------------------////设备类型m_deviceType = VCI_USBCAN2;//设备索引号,只有⼀个设备,索引号为0m_deviceIndex = 0;//第0路CAN--只有⼀路,⽤户选择CString canNum;m_selectCANNum.GetWindowTextW(canNum);m_canNumA = _ttoi(canNum);if(VCI_OpenDevice(m_deviceType,m_deviceIndex,0) != STATUS_OK)//m_deviceType:设备类型号;m_deviceIndex:设备索引号;最后⼀个是保留参数,⼀般为0 {MessageBox(_T("打开设备失败!",_T("警告"),MB_OK|MB_ICONQUESTION));showListInfo(_T("打开设备失败"));SetHScroll();return ;}else{showListInfo(_T("打开设备成功"));SetHScroll();}///-------------对CAN进⾏初始化------------------////对CAN进⾏初始化VCI_INIT_CONFIG init_config;init_config.AccCode = 0x00000000;init_config.AccMask = 0xffffffff;//表⽰全部接收,(全部接收,AccMask:0xffffffff;AccCode:0x00000000---这块可以通过测试软件中的滤波设置功能中计算)init_config.Mode = 0;//正常模式;1:表⽰只听模式(只接收,不影响总线)init_config.Timing0 = 0x00;init_config.Timing1 = 0x14;//相当于波特率1000kbpsif(VCI_InitCAN(m_deviceType,m_deviceIndex,m_canNumA,&init_config) != STATUS_OK){MessageBox(_T("初始化CAN失败!"),_T("警告"),MB_OK|MB_ICONQUESTION);VCI_CloseDevice(m_deviceType,m_deviceIndex);showListInfo(_T("初始化CAN失败"));SetHScroll();return ;}else{showListInfo(_T("初始化CAN成功"));SetHScroll();}m_connect = 1;GetDlgItem(IDC_BUTTON_CONNECT)->SetWindowTextW(_T("断开"));//创建存储数据的⽂件CTime time0 = CTime::GetCurrentTime();CString fileName = _T("WaveData");if(!PathIsDirectory(fileName)){::CreateDirectory(fileName,NULL);}fileName.Format(_T("WaveData/%d-%d %dh%dm%ds"),time0.GetMonth(),time0.GetDay(),time0.GetHour(),time0.GetMinute(),time0.GetSecond());if(!PathIsDirectory(fileName)){::CreateDirectory(fileName,NULL);}CString fileName0 = fileName;for(int i = 0;i < 4;i++){CString i0;i0.Format(_T("/%dth"),i+1);fileName = fileName0 + i0;fileName += _T(".txt");m_waveDataFile[i].Open(fileName,CFile::modeWrite|CFile::modeCreate|CFile::modeNoTruncate);//若⽂件存在,则清空}//开启接收数据的线程m_pThread = AfxBeginThread(ReceiveThread,this,0,CREATE_SUSPENDED,NULL);m_pThread->m_bAutoDelete = false;}2.2 接收数据UINT CTest_OilDlg::ReceiveThread(void *param){CTest_OilDlg *dlg = (CTest_OilDlg*)param;VCI_CAN_OBJ frameInfo[5000];//⼀次性从缓冲区获取50个帧VCI_ERR_INFO errInfo;int len = 1;//获取到的CAN帧的个数int i = 0;CString str,tmpstr;while(1){Sleep(1);if(dlg->m_connect == 0){break;}//获取缓冲区的长度int lenBuf = VCI_GetReceiveNum(dlg->m_deviceType,dlg->m_deviceIndex,dlg->m_canNumA);//获取到的数据的个数,如果缓冲区⼤于5000,则取出5000,否则将缓冲区全部取出len = VCI_Receive(dlg->m_deviceType,dlg->m_deviceIndex,dlg->m_canNumA,frameInfo,5000,400);//每次从缓冲区获取50帧,等待200ms⽆响应后结束if(len <= 0){//注意:如果没有读到数据则必须调⽤此函数来读取出当前的错误码//千万不能省略这⼀步(即使你可能不想知道错误码是什么)DWORD error = VCI_ReadErrInfo(dlg->m_deviceType,dlg->m_deviceIndex,dlg->m_canNumA,&errInfo);//返回值为1 表⽰操作成功if((errInfo.ErrCode & 0x0000) == 0x0000){//表⽰错误码是0x0000}}else{for(i = 0;i < len;i++){str = _T("数据:\n");if(frameInfo[i].DataLen > 8)frameInfo[i].DataLen = 8;//原始数据----但是这⾥没有保存for(int j = 0; j < frameInfo[i].DataLen;j++){tmpstr.Format(_T("%04x \n"),frameInfo[i].Data[j]);str += tmpstr;}::SendMessage(dlg->GetSafeHwnd(),WM_WAVEFORM,WPARAM(&frameInfo[i]),NULL);//TRACE(_T("receive\n"));}}}return0;}这⾥的数据处理是通过发送⾃定义消息的⽅法实现的,因为这些数据同时也要画成曲线显⽰在界⾯上,需要对界⾯进⾏更新操作,这时候需要给界⾯的主线程发消息去实现界⾯更新2.3 发送数据void CTest_OilDlg::OnBnClickedButtonSend(){//-----------------发送井下仪器⼯作模式命令-------------------//if(m_connect == 0)return ;VCI_CAN_OBJ frameInfo;//设置发送重发超时时间,建议不⼩于1500ms,默认4000msVCI_SetReference(m_deviceType,m_deviceIndex,m_canNumA,4,&m_sendTimeout);frameInfo.ID = 0x84444444;//需要再确定frameInfo.SendType = 0;//正常发送frameInfo.RemoteFlag = 0;//数据帧frameInfo.ExternFlag = 1;//扩展帧frameInfo.DataLen = 3;//⼀个字节frameInfo.Data[0] = 0x04;frameInfo.Data[1] = 0xff;//01仪器待机;02:仪器⾃检;03:仪器定时开关机;04:仪器测试;05:仪器连续⼯作frameInfo.Data[2] = m_selectMode.GetCurSel() + 1;int ret = VCI_Transmit(m_deviceType,m_deviceIndex,m_canNumA,&frameInfo,1);if(ret == 1){showListInfo(_T("命令发送成功"));SetHScroll();}else{showListInfo(_T("命令发送失败"));SetHScroll();}}View Code3、问题做到现在,程序⾃发⾃收可以,接收下位机数据能接受5个左右的循环就接不到了,后来把数据的操作都屏蔽掉,只接收,发现也接不到,缓冲区内的数据个数为0.这个问题还没解决。

LonWorks技术概述

LonWorks技术概述

LonWorks技术概述关键词LonWorks技术,LonTalk协议,ANSI709,智能收发器,LonWorks到IP当今世界上使用最广泛的控制网络协议是LonWorks控制网络协议,自从80年代后期,美国埃施朗(Echelon)公司开发出这一平台技术以来,到目前为止,已有约4千万的设备安装在世界各地。

这些产品广泛地应用在智能楼宇、工业控制、家庭智能化和交通等领域。

LonWorks技术的核心是LonTalk协议,该协议现在已成为很多组织的标准,包括ANSI /EIA/CEA-709.1-A-1999 (最新的版本是:ANSI/EIA/CEA-709.1- B-2002),ANSI/CEA/EIA 852 ,CEN TC 247,IEEE 1473L等。

各种日常设备组成机器到机器的控制系统(M2M),它们完成一系列的功能:探测、处理、执行和通信。

LONWORKS 是一个通用的M2M 网络平台,使得这些功能的核心部分得以实现,并且将这些各种行业的日用设备,转变成智能的、互可操作的设备。

LONWORKS 是一个开放的标准,它使得OEM厂商生产出更好的产品,系统集成商可以籍此来创建基于多厂商产品的系统,最终为规范制定人员和业主提供了选择性的可能。

LonW orks网络系统地规模,可以从有几个节点构成的系统到涵盖全球的网络体系。

在全世界,目前有4500多家厂商生产开发基于LonWorks技术的产品,在中国从事LonWorks技术研发、集成的单位也有上百家。

Echelon公司提供一整套的产品,来帮助客户开发基于LonWo rks的产品,和集成基于LonWorks的系统。

它们包括开发工具、收发器和智能收发器,模块,网卡,路由器,互联网服务器,LNS软件,和企业级的平台软件Panaromix。

自从Lontalk协议成为美国国家控制网络标准后,其它公司也开发出了基于ANSI709. 1的芯片。

在Echelon公司,ANSI709.1协议称为LonTalk协议。

LonWorks开发工具介绍

LonWorks开发工具介绍
LonMaker浏览器让你测试你 的设备接口变得很容易
34
NodeBuilder项目管理器
编辑一个工程项目的 源代码
编译、构建和装载应 用映象到LTM-10A平 台或定制硬件
在Neuron C 源代码 级调试应用程序
使用程序代码向导
快速定义设备的接口
指明功能模块、网络变 量和配置属性
使用网络接口“LON1”,对指定Neuron ID的设备下载应用程序
nodeload –N050012AC1D00 –Ltest.ndl
NodeUtil Utility
Windows Console程序 测试、诊断、配置LonWorks网卡、路由器以及节点。 兼容Echelon公司给类型网卡:
Windows 2008/2003 Server 功能强大的事务分析系统,简化了数据包
的记录和解析 除了显示网络地址,还可以显示设备和网
络变量的名称 可以对网络变量的数值实现格式输出
51
给出全面的网络统计数据
数据包的捕获和显示
收集一个信道上的所有LonWorks数据包,并 记录到一个日志文件中
7
LonMaker与Visio
利用Visio处理图形的环境; SmartShapes减少设计时间; 不需任何编成技巧; 快速启动设备管理和过程工
程方案
8
8
图形化设和工程化
设备间的连接简而易行;
加速图形和工程设计;
快速产生系统记录报告;
9
内置i.LON 600/SmartServer等设备图素;
安装
– 一步操作完成安装、替换或装载在一个子系统中的所有设 备或者一个子系统;
12

linux usb wifi驱动开发原理

linux usb wifi驱动开发原理

linux usb wifi驱动开发原理Linux USB WiFi驱动开发原理一、引言随着无线网络的普及,WiFi成为了人们生活中不可或缺的一部分。

而在Linux操作系统中,为了支持各种WiFi设备,需要进行对应的驱动开发。

本文将介绍Linux USB WiFi驱动开发的原理和过程。

二、USB WiFi驱动开发的基本原理1. USB接口USB(Universal Serial Bus)是一种通用的串行总线标准,用于连接计算机与外部设备。

USB WiFi设备通过USB接口与计算机通信,传输数据和控制命令。

2. 驱动程序驱动程序是用于操作和控制硬件设备的软件。

USB WiFi驱动程序负责与USB WiFi设备进行通信,实现数据的传输和接收。

驱动程序需要与操作系统紧密结合,通过操作系统提供的API接口与设备进行交互。

三、USB WiFi驱动开发的过程1. 设备识别与初始化USB WiFi设备插入计算机后,操作系统会通过USB子系统进行设备的识别和初始化。

在Linux系统中,USB设备的识别和初始化由USB核心驱动完成。

核心驱动会根据设备的VID(Vendor ID)和PID (Product ID)来匹配对应的驱动程序。

2. 驱动程序注册驱动程序需要在Linux系统中进行注册,以便系统能够正确识别和加载驱动。

注册过程通常包括向系统注册设备类型、设备ID等信息。

3. 设备操作接口的实现驱动程序需要实现设备操作接口,包括设备的打开、关闭、读取数据、写入数据等功能。

这些操作接口是通过USB子系统提供的API 来实现的。

4. 数据传输与控制USB WiFi驱动程序需要实现数据的传输和控制功能。

数据传输主要包括从设备读取数据和向设备写入数据,而控制功能包括设置设备参数、配置网络等操作。

5. 错误处理与调试在USB WiFi驱动开发中,错误处理和调试是非常重要的一部分。

驱动程序需要处理各种异常情况,如设备断开连接、传输错误等。

winusb设备的开发方法

winusb设备的开发方法

winusb设备的开发方法
开发WinUSB设备涉及一些复杂的步骤和概念,需要一定的专业
知识和经验。

以下是开发WinUSB设备的一般步骤和方法:
1. 硬件设计,首先需要设计和制造符合WinUSB标准的硬件设备。

这可能涉及选择合适的芯片、接口和电路设计。

2. 驱动程序开发,WinUSB设备需要相应的驱动程序来与Windows操作系统进行通信。

通常使用微软提供的WinUSB驱动框架
来开发驱动程序。

开发驱动程序需要熟悉Windows Driver Kit (WDK) 和 Windows Driver Framework (WDF)。

3. USB描述符配置,在设备固件中配置USB描述符,以确保设
备能够正确地与Windows系统进行通信。

描述符包括设备描述符、
配置描述符、接口描述符等。

4. 测试和调试,在开发过程中需要进行大量的测试和调试工作,确保设备和驱动程序的稳定性和兼容性。

可以使用微软提供的HLK (Windows Hardware Lab Kit) 进行测试。

5. 证书签名,最终的WinUSB驱动程序需要通过微软的数字签名认证,以确保安全性和兼容性。

这需要申请和获取相应的数字证书。

需要注意的是,开发WinUSB设备需要一定的专业知识和经验,包括硬件设计、驱动程序开发、USB协议等方面的知识。

此外,开发过程中可能会遇到各种问题和挑战,需要耐心和细心地解决。

最好的方法是参考微软官方文档和开发者社区的经验,以及与经验丰富的开发者进行交流和讨论。

《基于农业物联网的无线传感器USB接口与通信设计》范文

《基于农业物联网的无线传感器USB接口与通信设计》范文

《基于农业物联网的无线传感器USB接口与通信设计》篇一一、引言随着科技的发展,农业物联网(IoT-Agri)技术的应用正在不断拓展。

通过整合现代通信技术和传统农业技术,物联网技术在农业生产、管理和优化方面取得了显著的成果。

在农业生产中,无线传感器网络作为农业物联网的重要组成部分,对于提高农业生产效率和资源利用率具有重要作用。

本文将重点探讨基于农业物联网的无线传感器USB接口与通信设计,旨在为农业物联网的进一步发展提供技术支持。

二、无线传感器USB接口设计1. 接口选择与原理无线传感器USB接口作为连接传感器与计算机的桥梁,是实现数据传输的关键。

本文选用的USB接口具有高速、稳定、易扩展的特点,能够满足农业物联网中大量数据传输的需求。

USB接口通过串行通信协议与无线传感器进行数据交换,实现数据的实时传输和监控。

2. 硬件设计硬件设计是无线传感器USB接口设计的核心部分。

在硬件设计中,我们采用了微型化、低功耗的设计理念,以确保传感器在农业生产环境中的稳定性和可靠性。

同时,我们优化了电路布局和元件选择,以降低系统功耗和成本。

此外,我们还设计了防尘、防水等保护措施,以适应农业生产环境中的恶劣条件。

三、通信设计1. 通信协议与标准在通信设计中,我们采用了通用的无线通信协议和标准,如Wi-Fi、ZigBee等。

这些协议和标准具有高速、低功耗、覆盖范围广等特点,能够满足农业物联网中大量传感器数据的传输需求。

同时,我们还根据实际需求进行了定制化开发,以确保系统在不同场景下的稳定性和可靠性。

2. 数据传输与处理数据传输与处理是通信设计的核心任务。

我们采用了高效的数据压缩和加密算法,以降低数据传输量和提高数据安全性。

同时,我们还设计了数据存储和管理的机制,以便用户对数据进行实时监控和分析。

此外,我们还提供了友好的用户界面和操作界面,以便用户轻松地使用和维护系统。

四、系统实现与应用在系统实现与应用方面,我们采用了模块化设计思想,将系统分为传感器模块、数据处理模块、通信模块等部分。

LonWorks总线

LonWorks总线




现场总线控制系统采用总线连接方式替代一对 一的连线,减少了由接线点造成的不可靠因素 系统具有现场级设备的在线故障诊断、报警、 记录功能,可完成远程设备的参数设定、修改 等工作,也增强了系统的可维护性。 现场总线网络系统具有优良的系统扩展性,可 以非常方便增加网络节点
总结


现场总线是数字化通信网络,可以实现设备状 态、故障、参数等信息传送。现场总线控制系 统既是一个开放通信网络,又是一种全分布式 控制系统,它把单个分散的测量控制设 备变成网络节点,以现场总线为纽带,把它们 连接成可以相互沟通信息、共同完成自控任务 的网络系统
2 LonBuilder 和NodeBuilder开发工具


LonBuilder 和NodeBuilder是开发网络系统和 节点的工作平台,是硬件和软件卡法工具的集 合。 LonBuilder是系统的卡法工具,提供一个用 PC操作的开发环境,可支持单个仿真应用节 点,也可支持24个仿真节点和上百个远程节点 组成的复杂分散式把照明控制器和面板之间通 过现场总线相连接 网络节点为照明线路中的开关或控制箱,通过 现场总线这个枢纽组成网络,所有的控制信号、 开关灯的状态信号以及采集的电量信号都通过 现场总线网络进行通信,网络中的每个节点都 可以接受网络中其他节点的信息,非常方便地 实现节点间互相监测与控制。


3.2神经元芯片内部处理器 (1)MAC处理器——介质访问寄存器,主要完成介质访问控制, 即LonTalk协议1、2层,包括驱动通信子系统硬件和执行MAC算 法 (2)网络处理器——完成LonTalk协议3~6层,包括处理网络变 量,寻址,认证,后台诊断,软件定时器,网络管理和路由等 (3)应用处理器——完成用户的编程,宝库用户编写的代码以 及用户程序对操作系统的服务调用等 注意:各个处理器分别同时独立工作,通过缓冲器进行通信。网 络处理器使用网路缓冲器和MAC处理器通信;用应用缓冲器与 应用处理器通信

现场总线技术 参考教材

现场总线技术 参考教材

现场总线技术参考教材以下是一些与现场总线技术相关的参考教材:1. 《现场总线技术应用教程》国家级职业教育规划教材,根据高等职业技术院校电气自动化技术专业教学计划和教学大纲,由劳动和社会保障部教材办公室组织编写。

主要内容涉及现场总线控制系统的组成、典型现场总线的协议结构、LonWorks现场总线系统及其应用、Profibus现场总线系统及其应用、其他几种典型的现场总线控制网络及其简单应用举例等。

2. 《现场总线技术及应用教程》本书是作者在教学与科研实践的基础上,结合近十年现场总线技术的发展编写而成的,书中详细介绍了作者在现场总线应用领域的最新科研成果,给出了大量的应用设计实例。

本书可作为高等院校自动化、计算机应用、信息工程、机电一体化方向的研究生、高年级本科生的教材,更适用于从事现场总线技术及其应用系统设计的工程技术人员参考。

全书共分8章,主要内容包括:现场总线概述、数据通信基础与网络互联、串行通信接口技术、CAN控制器局域网、LonWorks智能控制网络、PROFIBUS现场总线、基金会现场总线FF、DeviceNet与工业以太网技术及其应用系统设计,同时介绍了基于PCI总线的现场总线智能通信适配器的硬件设计和设备驱动程序WDM的开发。

3. 《工业网络与现场总线技术》本书主要介绍了工业网络与现场总线的基本原理和应用技术,包括网络基础知识、网络体系结构、网络互连技术、工业网络系统、几种典型的现场总线(如CAN、LonWorks、PROFIBUS、FF等)的原理及其应用技术,以及工业网络的组态与控制软件等。

4. 《现代控制工程基础》该书介绍了现代控制工程的基本概念、原理和应用,包括自动化系统的发展趋势和特点、控制系统计算机仿真技术等。

5. 《工业自动化系统与网络》该书介绍了工业自动化系统与网络的基本概念、原理和应用,包括自动化系统的网络架构和通信协议等。

6. 《电气控制技术基础》该书介绍了电气控制技术的基本原理和应用,包括常用电气元件和控制系统的工作原理等。

LonWorks网络与LAN、Internet互连的解决方案

LonWorks网络与LAN、Internet互连的解决方案

LonWorks网络与LAN、Internet互连的解决方案杨斌杨国才罗木平摘要介绍了基于LonWorks现场总线技术的控制系统与LAN、Internet互连的一种解决方案,提出了LonTalk/IP路由器的技术方案。

关键词 LonWorks 局域网 Internet 路由器协议LonWorks是一种具有强劲实力的现场总线技术,LonWorks控制网络在开放性、互操作性等方面所具有的优良性能已使它广泛应用于楼宇自动化、家庭自动化、保安系统、办公设备、交通运输、工业过程控制等行业。

实现LonWorks网络与LAN、Internet的集成将为企业综合自动化与信息化创造有利的条件。

.建立综合实时信息库,为企业优化控制、生产调度、计划决策提供依据。

.建立分布式数据库管理功能,保证数据一致性、完整性和可互操作性。

.有关人员可在任何地方通过Internet浏览了解企业的生产情况。

.能够实现对控制网络工作状态的远程监控,优化调度,也能实现控制网络的远程诊断与维护等。

.可进行控制网络的远程软件维护与下载新版本软件。

1 LonWorks网络与LAN、Internet互连的系统结构我们可以把一个企业综合的控制系统分解为两个子系统:第一个是基于LonWorks技术的实时控制(Input/Output,IO)子系统,包括智能传感器,传动装置和微控制器;第二是基于局域网、Internet技术的信息传输(Information Transfer,IT)子系统。

图1便是这样一个系统。

图1IT子系统基于局域网技术(Ethernet,IEEE802.xx)和TCP/IP,而IO子系统使用LonTalk协议、LonWorks技术及支持LonMark互操作性标准。

IT子系统和IO子系统之间的通讯有两种方法:一种方法是可以发展一种IT和IO之间的路由器。

这种方法要求IT上的设备具有多协议栈;另一种方法是可以发展一种IT的协议与IO的协议之间的网关。

Lonworks基础知识

Lonworks基础知识
拓扑结构
选择合适的拓扑结构,如星型、总线型、环型等,以满足网络的可靠性和扩展性要求。
网络设备配置与连接
设备选型
根据应用需求,选择合适的Lonworks设备,如节 点模块、路由器、网关等。
设备配置
对选定的设备进行配置,包括IP地址、设备类型、 通信速率等参数的设置。
设备连接
将设备按照网络规划进行连接,确保节点之间的 通信畅通。
集中控制
将家中的各种设备连接到 Lonworks网络中,实现集中控
制和管理。
远程控制
用户可以通过手机、平板等设 备远程控制家中的设备,随时 随地掌握家居状况。
自动化控制
根据预设的规则和条件,自动 控制家中设备的开关和调节, 提高生活便利性。
节能管理
根据用户的生活习惯和环境因 素,智能调节家中设备的能耗
网络调试与优化
调试工具
使用Lonworks提供的调试工具,如LonManager,对网络进行 调试和测试。
通信测试
测试节点之间的通信是否正常,检查数据传输的准确性和实时性。
网络优化
根据调试结果,对网络进行优化,包括调整设备参数、改善网络 拓扑结构等措施。
05
Lonworks应用案例分析
智能家居系统中的应用
Lonworks技术被国际电工委员会(IEC) 采纳为现场总线国际标准,即 IEC61491。
02
Lonworks网络结构与通信协议
Lonworks网络结构
Lonworks网络由多个智能节点 组成,节点之间通过无线或有线
方式进行通信。
每个节点包含一个Lon芯片,该 芯片集成了Lonworks通信协议
节点软件设计
Lonworks开发环境
使用Lonworks开发环境(如LNS IDE)进行节点软件的设计和开 发。

Lonworks技术简介

Lonworks技术简介
Lon Works 技术简介
肖雅雯 10093448 动优090
主要内容
概况
应用领域 智能节点 技术核心
Lon Talk协议
概况
Lon Works是局部操作网络(Local Operating Network)的缩写。它是由美国Echelon公司研制,于 1990年正式公布的现场总线网络。 它采用了ISO/OSI模型中完整的七层通信协议,采用 了面向对象的设计方法,通过网络变量把网络通信设计 简化为参数设置。 其最高通信速率为1.25Mbps(通信距离不超过 130m),最远通信距离为27000m(通信速率为 78Kbps),节点总数可达32000个。 其传输介质可以是双绞线、同轴电缆、光纤、射频、 红外线、电力线等。
LON架构
Lon Talk协议
Lon Talk的七层协议
Lon Talk协议
Lon Talk协议支持总线型、星型、自由拓朴等多种 拓扑结构类型,极大地方便了控制网络的构建。
Lon Talk协议
Lon Talk协议支持多种传输介质。 包括: • 双绞线 Twisted pair • 电力线 Power line • 无线电 Radio frequency • 红外线 Infrared • 同轴电缆 Coaxial cable • 光纤 Fiber optics
应用领域
目前采用Lon Works技术的产品广泛地应用于工业、 楼宇、家庭、能源等自动化领域。 Lon Works技术最大 的应用领域在楼宇自动化 (building automation) 方面,包括建筑物监控系 统的所有领域,即入口控 制、电梯和能源管理、消 防/救生/安全、照明、供 暖通风、测量、保安等等。
住宅小区的自动抄表系统

usb hub电路设计要点

usb hub电路设计要点

USB Hub的电路设计要点主要包括以下几个方面:USB接口设计:USB Hub需要至少一个USB接口用于连接计算机,同时还需要多个USB接口用于连接USB设备。

USB接口的设计需要符合USB标准,包括电气特性、信号传输、接口形状等。

USB控制器选择:USB控制器是USB Hub的核心部件,负责控制USB数据的传输和管理USB设备。

USB控制器的选择需要考虑其性能、兼容性和稳定性等因素。

集线器设计:集线器是USB Hub内部用于连接多个USB设备的部件。

集线器的设计需要考虑其带宽、延迟和稳定性等因素。

电源管理设计:USB Hub需要提供稳定的电源供应,同时还需要支持USB设备的电源管理。

电源管理的设计需要考虑功率消耗、电源稳定性和保护等因素。

数据传输速率:根据不同的USB标准,如USB 2.0和USB 3.0,数据传输速率会有所不同。

在设计USB Hub时,需要考虑所需的数据传输速率,并选择合适的芯片和接口。

电磁兼容性(EMC):在电路设计中,需要考虑电磁兼容性(EMC)问题,以确保设备在电磁环境中能够正常工作,并且不会对其他设备产生干扰。

信号完整性(SI):对于高速信号传输,需要考虑信号完整性(SI)问题,以确保信号在传输过程中不会失真或衰减。

热设计:在多设备连接的情况下,USB Hub可能会产生较大的热量。

因此,需要进行热设计,以确保设备不会过热并保持稳定运行。

安全设计:在电路设计中,还需要考虑安全问题,如过流保护、过压保护和短路保护等,以确保设备和人员安全。

总之,USB Hub的电路设计需要考虑多个方面的问题,包括接口设计、控制器选择、集线器设计、电源管理设计、数据传输速率、电磁兼容性、信号完整性、热设计和安全设计等。

只有综合考虑这些因素,才能设计出稳定、高效的USB Hub。

LonWorks现场总线

LonWorks现场总线
调试工具
用于对LonWorks节点设备进行调试和故障排除, 提高开发效率。
04
LonWorks应用案例
智能家居系统
智能家居系统是利用LonWorks技术 的典型应用之一。通过LonWorks总 线,各种智能家居设备可以互联互通 ,实现集中控制和远程监控。
智能家居系统可以实现的功能包括: 自动控制家电、远程监控家庭安全、 调节室内环境等,从而提高居住的舒 适度和便利性。
03
LonWorks设备与工具
LonWorks节点设备
智能节点设备
具备数据采集、控制和通 信功能的设备,如传感器、 执行器等。
网关节点设备
用于连接不同总线网络的 设备,实现不同总线协议 之间的转换。
路由器节点设备
用于扩展总线网络的通信 范围,实现多跳通信。
LonWorks网络设备
总线网络
由多个节点设备组成的通信网络, 采用LonWorks技术实现设备间
城市照明系统还可以根据天气、交通等因素自动调节灯光亮 度、开关时间等,提高城市照明的智能化水平。
楼宇自动化系统
01
楼宇自动化系统是利用 LonWorks技术实现楼宇设备的 集中监控和管理的应用。通过 LonWorks总线,可以实现设备
02 的互联互通和智能化控制。
楼宇自动化系统可以提高楼宇的 能源利用效率和管理效率,降低 运营成本,提高楼宇的安全性和 舒适性。
应用编程接口
为了方便设备开发,LonWorks提 供了应用编程接口(API),开发人 员可以通过API进行设备开发。
通信速率与距离
通信速率
LonWorks网络的通信速率可以根据实际需要进行配置,常见的通信速率为 1.25-500kbps。
通信距离

usb 驱动开发原理

usb 驱动开发原理

usb 驱动开发原理USB驱动开发原理USB(Universal Serial Bus,通用串行总线)是一种用于连接计算机与外部设备的通信接口标准。

USB驱动开发是为了实现计算机与USB设备之间的数据传输而进行的软件编程。

本文将介绍USB驱动开发的原理和步骤。

一、USB驱动开发的基本原理USB驱动开发的基本原理是通过驱动程序与USB设备之间的通信来实现数据的传输。

USB驱动程序负责管理和控制USB设备,将计算机的请求传递给USB设备,并将USB设备的响应传递给计算机。

USB驱动开发的基本流程如下:1. 初始化USB驱动程序:驱动程序需要初始化USB控制器和USB设备。

这包括初始化数据结构、分配内存空间、设置中断处理程序等操作。

2. 建立通信连接:驱动程序需要与USB设备建立通信连接。

这包括检测和识别USB设备、分配端点和接口、设置传输模式等操作。

3. 数据传输:驱动程序通过读取和写入USB设备的寄存器来实现数据的传输。

这包括发送和接收数据包、处理中断和错误等操作。

4. 终止通信连接:在完成数据传输后,驱动程序需要关闭通信连接。

这包括释放端点和接口、清除中断和错误等操作。

二、USB驱动开发的步骤USB驱动开发的步骤如下:1. 确定USB设备的功能和特性:USB设备可以具有多种功能和特性,例如存储设备、打印机、摄像头等。

驱动程序需要了解USB设备的功能和特性,以便正确地管理和控制USB设备。

2. 编写驱动程序:驱动程序是实现USB驱动开发的核心部分。

驱动程序需要根据USB设备的功能和特性编写相应的代码,以实现数据的传输和设备的控制。

3. 进行调试和测试:在编写驱动程序后,需要进行调试和测试来验证驱动程序的正确性和稳定性。

这包括检查驱动程序的功能、性能和兼容性等方面。

4. 发布和维护驱动程序:在通过调试和测试后,可以将驱动程序发布给用户使用。

同时,还需要对驱动程序进行维护,以修复bug和提升性能。

三、USB驱动开发的挑战和解决方案USB驱动开发面临一些挑战,例如设备的兼容性、驱动程序的稳定性、传输性能的优化等。

《LonWorks总线》课件

《LonWorks总线》课件
3 开放性
完全开放的协议,任何制造商都可以实现。
工作原理
LonWorks总线数据传输过程
分为控制网和管理网两个方面,基于独特的数据传 输方式。
控制模型
采用“开放系统”设计理念常采用“主从式”控制模型, 数据模型则采用“物理对象- 属性-资源”方式描述。
应用
家庭自动化
可以方便实现家庭智能控制,如温度控制、照明控制、门禁控制等。
2
LonWorks与EIA-709协议体系的奇妙结合,
形成了目前的LonTalk协议。
3
1989年
该技术体系开始出现,它由Echelon公司 提供。
1999年
经过努力,在全球范围内推广和植入的 总线。
特点
1 分布式控制
实现各单元间互联互通,反应速度更快,维修也更方便。
2 通用性
适用于各行各业,能够实现多种设备和系统的集成。
工业自动化
广泛应用于汽车、电梯及其他设备的监控控制。
智慧城市
实现城市各类设施的互联互通,如交通信号灯、路灯监控、公共交通系统等。
系统构成
LonWorks节点
是实体设备或系统,通过网络传输信息。
网络管理器
负责网络拓扑结构、数据传输和安全等。
传输媒介
可以通过有线或无线的方式传输数据。
用户界面
主要是各种操作界面,可以让用户轻松使用。
《LonWorks总线》PPT课件
本课件旨在为大家讲解LonWorks总线的工作原理、特点、应用及其发展趋势, 为您剖析这个光亮而神秘的技术。
什么是LonWorks总线
LonWorks总线是一种基于通讯协议的工业控制网络系统,能够实现分布式控 制,它是一种成熟、经典的开放性通信协议。

基于LonWorks技术的家庭智能控制器研制开发

基于LonWorks技术的家庭智能控制器研制开发
c tc l lme t f h o to lrwa P F - t se — ar o to d l. p i ai n p o r m sd v l p d wi i r i a e n ec n l sT / T 1 e o t r e 0 witd p i c n l r mo u e Ap l t r g a wa e e o e t c o h Ne r n C. t f tt si f r ai n a d me e a i g we ep o e s d f rr l b l y a d a c r c . ec n o l r u o Da ao a u o m to n t r e d n r r c s e e i i t n c u a y T o t l s s n r o a i h r e d v lp d h v u t p r t n a e e a e i e t l u re s t r s n . e eo e a ep t n o o e a i t v r l sd n i a tr e e t i o s r aq ap Ke r s Lo Wo k I tl g n m e Ne o k y wo d : n r s n e l e tHo i w t r
用。
【 关键词】 L n rs 智能住宅 网络 ’ o Wo k
Ab t a t Lo W o k — a e t l g n o to l r r e in d a d d v l p d f rh u e mo i r g a d c n o , sr c : n r s b s d i e l e tc n r l swe ed sg e n e e o e o o s n t i n o t l n i e o n r wh c i d t a r u n t rn u r g i s t e n me g n y c s sa l a e t t r e d n . e i h a me c ry o t o mo i i g g a d a a n t h f a d e r e c a e swe l sr mo e me e a i g Th o t r

LonWorks简介

LonWorks简介

LonWorks®技术介绍LonWorks技术为设计、创建、安装和维护设备网络方面的许多问题提供解决方案:网络的大小可以是两个到32385个设备,并且可以适用于任何场合,从超市到加油站,从飞机到铁路客车,从熔解激光到自动贩卖机,从单个家庭到一栋摩天大楼。

今天,在几乎每种工业应用中,有一种趋势就是远离专用控制方案和集中系统。

制造商正在使用基于开放技术的产品,如现成的芯片、操作系统和功能模块产品。

这些特性可以改进可靠性、提高灵活性、降低系统成本、改善系统性能。

LonWorks技术通过所提供的互操作性、先进的技术架构、快速地产品开发和可估算的成本节约,加速了这个趋势的发展。

LonWorks网络中设备的通信是采用一种称为LonTalk的网络标准语言实现的。

LonTalk协议由各种允许网络上不同设备彼此间智能通信的底层协议组成。

LonTalk协议提供一整套通信服务,这使得设备中的应用程序能够在网络上同其他设备发送和接收报文而无需知道网络的拓扑结构或者网络的名称、地址,或其他设备的功能。

LonWorks 协议能够有选择地提供端到端的报文确认、报文证实和优先级发送,以提供规定受限制的事务处理次数。

对网络管理服务的支持使得远程网络管理工具能够通过网络和其他设备相互作用,这包括网络地址和参数的重新配置、下载应用程序、报告网络问题和启动/停止/复位设备的应用程序。

LonTalk——也就是LonWorks系统——可以在任何物理媒介上通信,这包括电力线,双绞线,无线(RF),红外(IR),同轴电缆和光纤。

虽然组建控制网络的方法有很多,但是对于自动化控制而言,平坦的、对等式(P2P)体系结构是最好的。

P2P体系结构和其它任何一种分级的体系结构相比,不再具有分级体系结构与生俱来的单点故障。

在传统的体系结构中,来自某一个设备的信息要传递给目标设备,必须先传送到中央设备或者网关。

因此,每两个非中央设备之间的通信包括了一个额外的步骤,或者说增加了故障的可能性。

LonWorks技术在网络化楼宇控制系统中的应用

LonWorks技术在网络化楼宇控制系统中的应用

LonWorks技术在网络化楼宇控制系统中的应用【摘要】本文讨论了基于lon总线和以太网的网络控制系统的设计原则和实现方法。

文章以实现lon总线接入因特网为目标,在对lontalk协议进行深入研究的基础上,设计开发了实现两网互联的网关设备——互联适配器,介绍了lonworks 的neuron 芯片通信模块的硬件电路设计、lonworks通信模块与以太网通信模块中51单片机的接口硬件电路设计部分和以太网接口通信模块的硬件电路设计,从而实现以太网与lon总线的互联,为实现企业信息网络与控制网络集成提供了一种可行的方法。

【关键词】lonworks 楼宇自动化智能楼宇控制系统网络工业以太网【中图分类号】tu855 【文献标识码】a 【文章编号】1674-4810(2013)02-0179-02一引言随着互联网的发展,在使用计算机进行互连的同时,各种智能家电、工业控制、智能仪器仪表、数据采集系统都在逐步趋向网络化。

在工业控制网络中一般采用现场总线技术。

现场总线实时性好,数据通信可靠性高,但通信数据量小。

与此同时,以太网以其廉价和开放的特点成为最普及的局域网技术,也是构筑互联网的基础。

以太网通信数据量大、速度快,但在实时性和可靠性方面先天不足。

为实现二者的优势互补,必须将现场总线与以太网互连。

通过遍布各地的因特网将地域分布的控制网络连接在一起,实现不同类型网络之间的互连,以组成一个真正全分散、全开放的控制网络结构,不仅解决了控制网络与上层信息管理网络之间的互通,而且也解决了不同标准的现场总线技术之间的互连问题,这也是现代工业控制网络的发展趋势。

二楼宇自动化系统的基本构成楼宇自动化系统是智能建筑的必备要素和关键所在,主要对智能建筑中所有机电设施和能源设备实现高度自动化和智能化的集中管理。

它以中央计算机和中央监控系统为核心,对建筑物内设置的供水、电力、照明、空调、冷热源、防火、防盗、监控、门禁、电梯和停车场等各种设备的运行情况进行集中监测控制和科学管理,从而创造出一个适宜的温度、湿度、亮度和空气清新的工作和生活环境,达到了节能、高效、舒适、安全、便利和实用的要求。

国立科技USB数据传输适配器说明书

国立科技USB数据传输适配器说明书

Manufacturer: National InstrumentsBoard Assembly Part Numbers (Refer to Procedure 1 for identification procedure): Part Number and Revision Description140050A-01L or later USB-8502(1 Port)140050A-02L or later USB-8502(2 Port with Sync)142889A-01L or later USB-8506(1 Port)142889A-02L or later USB-8506(2 Port with Sync)Volatile MemoryTarget Data Type Size Backup1Accessible Accessible ProcedureInstruction & data memory FPGAOn-chipMemory111KB/Port No No Yes Cycle Power Non-Volatile Memory (incl. Media Storage)Target Data Type Size BatteryBackupUserAccessibleSystemAccessibleSanitizationProcedureDevice configuration and info EEPROM 128 Kb No No Yes None 1 Refer to Terms and Definitions section for clarification of User and System AccessibleProceduresProcedure 1 – Board Assembly Part Number identification:To determine the Board Assembly Part Number and Revision, Open up the case of the USB module, look for a laser printed label on the top side of the PCB board, it should contain the part number and revision in the format of 14XXXXX-XXLTerms and DefinitionsCycle Power:The process of completely removing power from the device and its components and allowing for adequate discharge. This process includes a complete shutdown of the PC and/or chassis containing the device; a reboot is not sufficient for the completion of this process.Volatile Memory:Requires power to maintain the stored information. When power is removed from this memory, its contents are lost. This type of memory typically contains application specific data such as capture waveforms.Non-Volatile Memory:Power is not required to maintain the stored information. Device retains its contents when power is removed.This type of memory typically contains information necessary to boot, configure, or calibrate the product or may include device power up states.User Accessible:The component is read and/or write addressable such that a user can store arbitrary information to the component from the host using a publicly distributed NI tool, such as a Driver API, the System Configuration API, or MAX. System Accessible:The component is read and/or write addressable from the host without the need to physically alter the product. Clearing:Per NIST Special Publication 800-88 Revision 1, “clearing” is a logical technique to sanitize data in all User Accessible storage locations for protection against simple non-invasive data recovery techniques using the same interface available to the user; typically applied through the standard read and write commands to the storage device.Sanitization:Per NIST Special Publication 800-88 Revision 1, “sanitization” is a process to render access to “Target Data” on the media infeasible for a given level of effort. In this document, clearing is the degree of sanitization described.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LonWorks-USB互联适配器的设计开发摘要:LonWorks技术的核心是神经元芯片,介绍了神经元芯片的一种I/O应用模式——并行口I/O模式,并介绍了基于此I/O模式设计开发的LonWorks协议与USB标准的互联适配器。

关键词:LonWorks 神经元芯片并行口I/O 模式 EZ-USBLonWorks技术是美国Echelon公司于上世纪90年代初推出的一种现场总线技术。

LON(LocalOperatingNetwork)的意思为局部操作网络,它是用于开发监控网络系统的一个完整的技术平台,LonWorks现场总线在网络通讯方面具有突出的优点,作为现场总线中的佼佼者在国内各个领域的测控系统中广泛流行。

通用串行总线(UniversalSerialBus,即USB)是一种快速、灵活的总线接口。

与其它通信接口相比,USB总线接口最大的特点是易于使用,这主要表现在成本低、适用于多种设备、支持热插拔等方面,并且所有的配置过程都由系统自动完成,无需用户干预。

目前,市场上供应的USB控制器主要有两种:带USB接口的单片机(MCU)和纯粹的USB接口芯片。

本文采用Cypress公司推出的带智能USB接口的EZ-USB单片机。

该单片机极大地降低了USB外设的开发难度,为PC机外设的制造商提供了一个性能优良、价格较低的设计方案。

采用USB接口设计开发的LON网互联适配器很好地解决了传统适配器由于RS-232与PC/Laptop互联而造成的速度上的瓶颈。

1系统框图及工作原理1.1系统框图系统框图如图1所示。

互联适配器是LON网与PC/Laptop的接口,在通信过程中起着关键的作用,它既完成了LON网与PC/Laptop的互联,又实现了数据的交换。

互联适配器作为LON网的一个特殊的网络节点——通信处理器,能按照LonTalk协议与LonWorks总线上所有分布在现场的智能节点进行对等的数据通信,起到上传下达的桥梁作用。

当现场的测控设备有数据送到LonWorks网络上时,互联适配器负责把所有发送给它的信息接收下来,将测控设备发送来的LonTalk显式报文重新打包装帧,向PC/Laptop发送。

同时,它将从PC/Laptop接收来的已解析的数据按LonWorks现场总线通信协议构造LonTalk显式报文,发送给LonWorks网上的测控设备。

相对USB系统而言,PC/Laptop是USB主机,互联适配器只是USB外部设备。

在整个USB系统中只有一个主控制器,即主机(PC/Laptop),主机是总线控制者,USB设备响应主机请求。

系统软件设计部分也是针对主机和外部设备这两部分展开的。

[!--empirenews.page--]1.2工作原理互联适配器中采用Neuron芯片预定义的并口I/O应用模式实现双CPU的通信,并行口的速率可达3.3Mbps,实现了高数据速率。

并行I/O应用模式下利用Neuron芯片的11个I/O口进行通信,其中,IO0~IO7为双向数据线,IO8~IO10为控制信号线,借助令牌传递/握手协议,并行I/O口可用来外接处理器,实现Neuron芯片与外接各类微处理器之间的双向数据通信,在这里采用EZ-USB单片机与Neuron芯片互连。

主机PC/Laptop控制USB外部设备,通过互联适配器与LON网各现场节点通信,其实质就是互联适配器中EZ-USB单片机与Neuron芯片之间的通信。

并行口的工作方式有三种,即主模式、从A模式、从B模式。

不同的模式下,IO8~IO10这三根控制信号线的意义不同,这里应用的是从A模式。

在从A模式中,认为Neuron芯片为从CPU,EZ-USB单片机为主CPU,主CPU和从CPU之间的数据传输通过虚拟的写令牌传递协议(VirtualWriteToken-PassingProtocol)得以实现。

主CPU和从CPU交替地获得写令牌(WriteToken),只有拥有写令牌的一方可以写数据(不超过255个字节),或者不写任何数据传送一个空令牌。

传送的数据要遵从一定的格式,即在要传送的数据前面加上命令码和传送的数据长度,命令码有CMD_XFER(写数据)、CMD_NULL(传递空令牌)、CMD_RESYNC(要求从机同步)、CMD_ACKSYNC(确认同步)四种,最后以EOM字节结束。

在从A方式中,整个握手/应答协议以及数据传送的实现过程是自动完成的。

在通信以前,主CPU和从CPU之间先建立握手信号,即HS信号有效(这由3150的固件自动实现)。

然后,主CPU再送一个CMD_RESYNC命令,要求从CPU同步,而从CPU接收到这个信号以后,则发送CMD_ACKSYNC,表示已经同步、可以通信了。

同步以后,虚写令牌就在主CPU和从CPU之间无限地、交替地传递,拥有虚写令牌的一方就可以向数据总线上写数据,即主CPU可以往从CPU写数据,从机也可以将数据传往主CPU。

需要特别说明的是,Neuron芯片的握手及令牌传递的实现是自动的,但是对于非Neuron芯片的微处理器(EZ-USB),就要求编程人员通过编程使非Neuron芯片的微处理器能够执行Neuron芯片的握手/令牌传递算法,也即是复制Neuron芯片的行为,从而实现双方的通信。

图2 互联适配器硬件结构框图2硬件设计互联适配器的结构框图如图2所示,主要由神经元芯片和EZ-USB单片机组成。

神经元芯片(NeuronChip)是LonWorks技术的核心?熏芯片中含有Lontalk协议的固态软件(简称固件),使其能可靠地通信。

神经元芯片主要包含TMPN3150和TMPN3120两大系列,由日本东芝公司生产。

TMPN3150支持外部存储器,适合更为复杂的应用,而TMPN3120则不支持外部存储器,它本身带ROM。

所以,在互联适配器的设计中选用的是TMPN3150,该芯片内有三个微处理器,即MAC处理器、网络处理器和应用处理器。

对神经元芯片进行外围电路的设计和扩展,使之成为LonWorks网上的一个特殊的LON节点,这样它不仅可以与LonWorks网络上的LON节点进行通信,还可以作为适配器的协通信处理器。

[!--empirenews.page--]TMPN3150片内存储器的地址[1][2][3]下一页范围是E800H~FFFFH,包括2KB的RAM、0.5KB的EEPROM、2.5KB保留空间和1KB的用于存储器映象I/O的空间。

TMPN3150有16根地址线,可寻址64K空间,可以外接存储器,如RAM、ROM、EEPROM或FLASH等。

由于开发Neuron芯片时采用NeuronC语言,内存占用大,另外其作为通信协议处理器使用要求有大量的数据缓冲区进行数据交换,而仅仅利用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芯片中唯一的控制端点,用于传输控制信息。

[!--empirenews.page--]开发可以访问互联适配器的应用程序,可使用任何一个支持win32函数CreateFile()和DeviceIoControl()的编译器。

首先调用CreateFile()函数,来取得访问设备驱动程序的句柄,CreateFile()使用设备的链接符作为函数参数。

然后调用DeviceIoControl()函数来提交I/O控制码,并且为CreateFile()函数返回的设备句柄设置I/O缓冲区。

最后,还要调用CloseHandle()关闭设备。

其中,最重要的函数是DeviceIoControl(),它的功能是完成应用程序与驱动程序之间数据的交换。

DeviceIoControl()函数的具体格式为:BOOLDeviceIoControl(HANDLEhDevice,//外设句柄DWORDdwIoControlCode, //I/O操作控制代码LPVOIDIpInBuffer, //输入缓冲区指针DWORDnInBufferSize, //输入缓冲区大小LPVOIDIpOutBuffer, //输出缓冲区指针DWORDnOutBufferSize, //输出缓冲区大小LPDWORDIpBytesReturned, //实际返回的字节数LPOVERLAPPEDIpOverLapped//用于异步操作的结构指针);3.2外围USB设备——互联适配器的软件设计这一部分的软件编写也包括两部分。

相关文档
最新文档