LonWorks应用过程中遇到的问题及其对策 点击:2752 | 回复:8



吴礼雄

    
  • 精华:5帖
  • 求助:0帖
  • 帖子:10帖 | 77回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2001年7月22日
发表于:2005-09-29 14:07:00
楼主
见:http://www.loncontrol.com/wlxwtdc.rar



zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2005-09-30 10:34:00
1楼
吴老师:我把内容贴出来====== 1. 学习资料: Motorola 公司出的《MOTOROLA LonWorks Technology Device Data》是LonWorks用户必备的设计宝典,在这本技术数据手册中详细介绍了LonWorks从底层到高层的一切技术细节,很多内容都是ECHELON公司未公开的技术资料。另外,如果你在开发过程中遇到技术难题,可以将问题发送到ECHELON公司网站BBS讨论组上(http://webserv.echelon.com/),该讨论组中有全世界热心的LonWorks技术开发人员免费为你详细解答问题,你也可以加入这个讨论组为他人解答问题。在国内:http://www.loncontrol.com/中收集了很多国内LonWorks的应用开发资料,可以供开发人员参考。国内有个专业的LonWorks讨论组:http://www.lonworks.com.cn/。还有一个供LonWorks开发人员交流的QQ群,群号为:9679646 。

zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2005-09-30 10:35:00
2楼
吴老师:我把内容贴出来====== 2. LonWorks控制模块的设计: ECHELON公司推出的FTT控制模块(Model 55020-10),以其体积小、安装简便、易于标准化、模块化,已成为LonWorks 现场总线控制模块的主流产品。许多第三方开发商大量购买这种OEM模块,作为其系统集成的主要控制单元。在应用过程中发现这个模块无外部扩展内存(RAM),在开发Neuron芯片时用的是Neuron C语言,内存占用大,作为通信协处理器使用要求有大量的数据缓冲区进行数据交换,而仅仅利用3150内部的2K RAM容量是远远不够的(运行时系统还要占掉800多个字节)。在这种条件下,我们自己设计了一块3150控制模块,与55020-10模块完全兼容,在这基础上增加了24K的外部RAM,这样可以增加3150发送和接收缓冲区的数量,使得控制模块的功能大大增强。采用这种方法,圆满地解决了3150通信协处理器的数据通信和交换的功能。 55020-10模块有5个空脚未用,由于Neuron芯片只有11个IO脚,实际使用时IO太少,我们利用扩展地址IO的方法扩展了5个输出的IO,开发给用户使用。 在模块的设计中,我们根据研制船用控制产品的经验,为确保高可靠性,控制模块采用6层板的PCB设计,电源层和地层分开,而国内外公司的产品大都采用2-4层的电路板设计,相比之下可大大减少电磁干扰(EMI)。另外在模块中增加了SERVICE指示灯和SERVICE按钮,便于用户操作和使用。 严格按照LonMark互通协会的设计要求进行设计与布线。全部选用高质量低功耗的贴片元器件。FTT-10A的PCB布线一定要根据ECHELON公司的《FTT-10A使用手册》中的布线要求进行布线。 3. EEBLANK: 常常有用户将控制模块寄回维修,说这个模块不能下载,如果遇到节点不能下载程序,怀疑有模块故障的情况,可以用下面方法解决:在NODEBUILD开发系统中,LonWorks目录下有个EEBLANK.NRI,用该程序烧入EPROM,插入节点中运行后,3150就会设成出厂状态。节点故障就会排除。为什么会这样呢?因为3150片内有512字节的EEPROM,该区域主要存放系统重要的数据,如通信参数,如果由于电源或其他外干扰冲掉了该区域,就会造成模块不工作,EEBLANK的作用就是将3150设置成出厂状态。 4. 终端电阻 通常用户不注意增加终端电阻,如果不加终端电阻,有可能造成通信故障,例如,调试时用1米长的下载电缆,如果不加终端电阻,下载程序是就容易出错。终端电阻有自由拓扑和总线2种类型,具体参数见ECHELON公司的《FTT-10A使用手册》,电阻值必须严格按手册上的要求选用。 5. 通信线长度 ECHELON公司的《FTT-10A使用手册》说的总线通信距离最长可以到2700M,但要注意这是在ECHELON公司推荐的通信电缆下测试的,但ECHELON公司推荐的通信电缆价格很高,国内较少人采用,所以就要注意通信距离。有个例子,一客户在楼宇控制中选用LonWorks,用了5类双绞线布了超过3000M的线,实际使用时前后模块能够通信,但和中间模块就无法通信,最后没办法,只好在每隔900M处增加一台路由器才解决通信问题。 6. 电源问题 我们遇到很多模块故障很多都是由电源引起的,选用电源时,不要为了降低成本而选用差的电源,质量差的电源容易引起节点变成无应用、离线等状况,造成节点不运行或运行不可靠。 7. 模块的加工工艺: FTT-10A是DIP封装,焊接后预留管脚很长,必须减短,避免管脚压弯造成短路。模块中要用到PLCC32贴片座,因为PLCC32的管脚是向内贴片,焊接时容易造成虚焊,应特别关注。 8. 电容22U/50V FTT-10A输出端接了2个电解电容,ECHELON公司的《FTT-10A使用手册》推荐使用22U/50V,这主要是隔离直流作用,在安装接线时,容易接入高压,建议用户将电解电容的耐压值提高到100V以上,起到更好的保护。 9. DS1233保护 为保护在芯片上的EEPROM,使得当VDD低于工作电压时不至逻辑混乱,我们采用低电压指示(LVI)芯片保护EEPROM。选用了DS1233贴片设计,在电源电压5V±5%时DS1233强制给出一个复位信号。 10. NODEUTILITY: 这是ECHELON公司出品的LonWorks 节点调试程序,可以查看、修改节点的内存、网络变量、运行状态。对于LonWorks开发人员来说,这个工具是必备的,我们强力推荐,在http://www.loncontrol.com/下有下载。 11. 模板配置 模板配置的配置见附图,这些开关的选项对节点的运行非常重要,选择不对有可能造成节点的故障。下面有个例子。 用户返回一批故障模块,故障模块分析看,是3150CPU内部的EEPROM损坏,这种故障是无法修复的永久性故障,只能更换3150CPU进行修复。判断EEPROM损坏的步骤如下: 11.1 用EEBLANK程序运行,SERVICE灯闪烁后熄灭,为此故障。 11.2 将网关程序装上后在NODEUTILITY监控下,按SERVICE按键,G命令进入该节点,键入MSA,将该节点改为无应用状态,用W命令将数据写入F048到F04A地址中,看看是否写的进数据,如果写不进,说明该地址的EEPROM损坏。 原因:因为用户程序每次上电或复位都要进行自安装工作,而F048到F04A的地址正是自安装要操作的3个地址,在程序编译时,编译模板见下图,编译开关Reboot Configuration中的Always 是打钩的,这个编译开关选中后,固件在上电或复位时自动将缺省的节点地址写入F048到F04A中,网关程序在自安装过程中,发现该地址不是自安装所要的地址,就又将F048到F04A重新写一遍。这样重复写F048到F04A,每次上电或复位都要写2次,根据摩托罗拉和东芝的3150芯片手册,EEPROM的写入次数是10000次,超过写入次数就会造成3150CPU内部EEPROM损坏,。所以,今后在编译程序时编译开关Reboot Configuration中的Always 是不能打钩的, 12. 未公开的资料 在开发过程中经常碰到一些难题不能解决,这时可以借助一些没有公开的函数。 12.1 程序转成非配置状态时正常情况下应用程序是不运行的,如果要它运行,可加入下列语句: #pragma run_unconfigured 12.2 大家知道有个函数是:go_unconfigured(),就是将应用程序转为非配置状态,但如果要将应用程序转为配置状态,就没有相应的函数了,下面的程序就可以将应用程序转为配置状态: extern system void _change_state(int state); #include <nm_ste.h> _change_state (CNFG_ONLINE); 12.3 Neuron C对11个IO脚的操作有相应的函数,但运行时间较慢,为加快运行速度,可直接对IO口对应的映像地址进行读写,见下表: Address Register Name Access type Function 0xFFA0 Input data high Read only Data for IO.8-IO.10 and other stuff 0xFFA1 Input data low Read only Data for IO.0 to IO.7 0xFFA3 Level detect Read only Detect low level on IO.0-IO.7 Address Register Name Access type Function 0xFFA0 Output data high Write only Data for IO.8-IO.10 and other stuff 0xFFA1 Output data low Write only Data for IO.0-IO.7 0xFFA2 I/O direction high Write only Enable output buffers on IO.8-IO.10 0xFFA3 I/O direction low Write only Enable output buffers on IO.0-IO.7 12.3 由于ECHELON公司对于3150的指令系统没有公开,对于CPU的内部运作过程用户缺乏了解,这对于用户深入探讨LonWorks运行机理造成很大困难,希望能够得到ECHELON公司的帮助。

zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2005-09-30 10:42:00
3楼
吴老师不愧是国内lonworks的泰斗。。。佩服。。。。!!!

shanshan

  • 精华:1帖
  • 求助:0帖
  • 帖子:23帖 | 150回
  • 年度积分:0
  • 历史总积分:453
  • 注册:2004年1月12日
发表于:2005-09-30 20:46:00
4楼
可是为什么加入不了那个群呢? 是管理的人不在吗?

吴礼雄

  • 精华:5帖
  • 求助:0帖
  • 帖子:10帖 | 77回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2001年7月22日
发表于:2005-10-01 20:29:00
5楼
可以加入。你再加入试试。

LonWork

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 24回
  • 年度积分:0
  • 历史总积分:74
  • 注册:2005年11月25日
发表于:2005-11-29 13:42:00
6楼
厉害啊,我要像吴老师学习,呵呵!

FUCK TOO

  • 精华:0帖
  • 求助:0帖
  • 帖子:42帖 | 177回
  • 年度积分:4
  • 历史总积分:837
  • 注册:2005年12月11日
发表于:2005-12-13 14:42:00
7楼

LON新手

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 5回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2005年5月19日
发表于:2007-12-25 22:48:00
8楼
看下,也许对我有帮助!

热门招聘
相关主题

官方公众号

智造工程师