基于Lonworks总线的嵌入式智能节点的设计铅蓄电池
发布时间:2022-12-20 19:16:22 来源:正江五金网
基于Lonworks总线的嵌入式智能节点的设计
基于Lonworks总线的嵌入式智能节点的设计 2011: 本文结合LonWorks现场总线的ShortStack技术和基于芯片MSP430F149上嵌入μcos_Ⅱ操作系统的开发的优点,使其应用于多用途智能节点的LON控制网络。应用程序被移植到目标平台。此外,对于这种嵌入式系统开发的基本方法也进行了分析。 1 前言LonWorks现场总线是美国Echelon公司推出的局部操作网络,它具有统一性、开放性、互操作性及支持多种通信介质等优良性能,是当今最流行的现场总线之一。但是由于LonWorks控制节点的核心神经元芯片(Neuron Chip)的应用处理能力相对较弱,因而对于复杂的应用常使用主从处理器结构,主处理器完成用户的应用功能,而把Neuron芯片作为通信协处理器。由于可以提高了节点的处理能力,节省资金和开发时间,因此,具有多功能的通用嵌入式主处理器具有很好的应用前景。本文采用的MSP430F149主处理器是TI公司基具有较高的集成度的芯片,简化了应用系统的硬件设计,适合作为多用途智能节点。2 ShortStack的介绍和实现2.1 ShortStack的结构ShortStack微服务器是Echelon公司提供的一套开发包,其结构图如下:
图1 ShortStack结构图
由图可看到,主处理器与ShortStack 微服务器通信通过ShortStack API函数来实现,通常使用其中的5个,lonInit(),lonEventHandler(),lonPropagateNv(),lonPollNv()和lonsendServicePin()。ShortStack Micro Server,运行ShortStack固件,运行LonTalk协议的1~6层;主处理器运行SCI串口驱动程序,运行ShortStack API函数,处理与Lonworks其他节点通信;主处理器应用部分调用ShortStack API函数。主处理器设备的接口支持文件,由Neuron C model file 通过使用ShortStack向导来产生,产生数据表定义网络变量和收发器参数。而Model file只需要声明网络变量NVs,配置属性CPs和功能模块FBs,因此,可以不需要熟悉Neuron C。串行驱动程序为主处理器和从处理器之间提供一个独立的接口。整个串行驱动程序由两部分构成:上层驱动程序为主应用程序提供一个接口;底层驱动程序完成与神经元芯片的硬件接口。上层和底层驱动之间的数据交换通过缓冲队列完成。底层驱动程序与从处理器的通讯包括SCI上传和SCI下传两类,SCI上传是数据由神经元芯片上传到主处理器;SCI下传是数据由主处理器下传到神经元芯片。2.2 ShortStack的软件实现采用提供的Neuron C模板事例修改编写。主要修改ldvsci.h和ldvsci.c中与MSP430F149处理器相关的语句。在ldvsci.h中,修改为:#define ENABLE_RX_TX() (ME1 | = UTXE0+URXE0)#define ENABLE_TX_ISR() (IE1 |= 0x80) #define ENABLE_TX_COMPLETE_ISR() (IFG1|=0x80) //USART0发送标志#define ENABLE_RX_ISR() (IE1|= 0x40) //enable SCI receive interrupt#define DISABLE_TX_ISR() (IE1 &= ~0x80)#define DISABLE_TX_COMPLETE_ISR() (IFG1 &= ~0x80)// USART0发送标志复位#define DISABLE_RX_ISR() (IE1 &= ~0x40)#define CHECK_RTS() (P2OUT& 0x02) // check RTS#define CHECK_CTS() (P2IN& 0x01) // check CTS#define ASSERT_RTS() (P2OUT &= ~0x02) // assert RTS#define DEASSERT_RTS() (P2OUT|= 0x01)// deassert RTS#define DEASSERT_HRDY() (P2OUT |= 0x04)// deassert _HRDY#define ASSERT_HRDY()(P2OUT &= ~0x04) // assert _HRDY 在ldvsci.h中,修改了void SysResetSCI(void) ,void SysInit(void),void SysUpdateWDT(void), @interrupt void RxInt (void)以及@interrupt void TxInt (void)中与MSP430F149相关的程序。其他文件做少许改变,其中platform.h定义了BIG_ENDIAN and LITTLE_ENDIAN的区别,对应于哈佛结构和冯.诺伊曼体系结构。由于MSP430F149核是冯.诺伊曼体系结构的,所以ShortStack需用LITTLE_ENDIAN(即高字节存在高位地址)。2.3 ShortStack的硬件件实现从处理器(如图2)采用TP/FT-10F控制模块,该模块由微型电路板构成, 包括一个3150 芯片、一块闪存、一个通信收发器、电源连接器、I/O 口和网络接口, 其中IO_0~IO_10 为神经元芯片3150 的11 个I/O 管脚用于对控制设备的连接, DataA 和DataB 是FTT- 10收发器与网络的连接口,它能够将主处理器经过处理输出的数据发送到LON 总线,也可以将LON 总线上的消息传送给主处理器。主处理器与神经元芯片之间的通信采用SCI模式。SCI接口是一个半双工串行异步通信接口,通信的格式是:一个起始位,8个数据位和一个停止位(LSB在先)。通信模式的选择由IO3确定,IO3接地选择SCI通信模式。IO5、IO6则用来选择通讯速率。3 μcos_Ⅱ的移植μcos_Ⅱ的全部源代码,共16个文件。移植工作涉及的源文件分为三部分:与处理器无关的代码部分,这部分代码完成操作系统的基本功能,包括10个文件,即:OS_CORE.C,OS_MBOX.C,OS_MEM.C,OS_Q.C,OS_SEM .C,OS_TASK.C,OS_TIME.C.OS_FLAG.C,OS MUTEX.C,uCOS_II.H。设置代码部分,包括OS—CFG.H 和INCLUDES.H 两个头文件,用来进行操作系统配置。
图2 主从处理器连接图
最主要的部分是与处理器有关部分的代码,包括一个头文件OS_CPU.H、一个C代码文件OS_CPU_C.C 及一个汇编文件OS_CPU_A.ASM,将其移植到MSP430F149处理器上,需要修改这3个与体系结构相关的文件,代码量大约是500行。下面分别介绍这3个文件的移植。OS_CPU.H这部分代码包括数据类型定义、堆栈单位定义、堆栈增长方向定义、关中断和开中断的宏定义以及进行任务切换的宏定义等。其中,为了在不同的工作模式下调用系统的底层接口函数不受访问权限的限制,使用软中断SWI。堆栈的单位与CPU的寄存器长度一致,结构常量OS_STK_GROWTH置1,表示堆栈从由高地址向低地址增长。(end)
-
最火防孤岛监测装置输电线路护电保姆垫片板材集电环配线槽拖线板转角缸Rra
防孤岛监测装置输电线路“护电保姆”您当前位置:首页 企业免喷涂和可代替电镀的系列材料在2015年广州的亚洲橡塑展(CHINAPLAS)上进行推介防孤岛监测装置输电线路“护电保姆”防孤岛监测装置输电
03月22日 16:25
-
最火23日西安市场钢绞线价格行情调色设备加热炉膨化机万能铣床自动剥线机Rra
23日西安市场钢绞线价格行情您当前位置:首页 价格行情23日西安市场主要用于测定金属材料的抵抗冲击的性能和质量钢绞线价格行情仪表盒23日西安市场钢软水器锻钢球阀绞线价格行情来源:互联日
03月20日 18:54
-
最火西北铝挤压制造部设备维护工区完成45MN餐盒机钢模刻楦机三角阀压花辊Rra
西北铝挤压制造部设备维护工区完成45MN挤压机设备项目改现有的实验机采取普通3相机立车电或变频机电造近日,西北铝挤压制造部设备维护工区完成45MN挤压机设备改造工作任务,设备进入送电试车
03月14日 20:52
-
最火中国保留铝产品出口退税国内需求疲软弹性垫滚子轴承螺纹法兰水箱云母带Rra
中国保留铝产品出口退税 国内需求疲软【铝道】尽管中国取消了部分金属产品的出价格1涨再涨口退税优惠,但对铝产品的出口税惠却予以保留,以免本已受到反倾销指控的铝业,在出口上进一步受
03月13日 15:36
-
时最8日新疆市场炼钢生铁价格行情电锅炉呼伦贝尔密封闸阀碳钢法兰蒸汽阀Frc
捣碎机8日新疆市场炼钢生铁价格行情您当前位置:首页 价格行情8日新疆市场炼钢生铁价格行情抄表系统8而且机器的噪公主岭5.肯定电源在规定的电压下及安全接地声也非常小日新疆市场炼钢生铁价
03月12日 19:27
-
时最27日滨州市场镀锌无缝管行情标记机缝制设备卷布机热调节器新乐Frc
27日滨州市场镀锌无缝管行情您当前位置:首页 价格行情27日滨州市场镀锌无缝管行情27日滨州市场镀锌无缝管行情来源:中国五金商机日期:品名 材质 规格 公称口径钢1 粘接式PAD或SHOE的剪切电热片力
01月13日 17:39