基于嵌入式多mcu的通信协议转换装置及方法

文档序号:7924266阅读:240来源:国知局
专利名称:基于嵌入式多mcu的通信协议转换装置及方法
技术领域
本发明涉及一种通信协议转换技术,特别是涉及一种基于嵌入式多MCU 的通信协议转换装置及方法。
背景技术
在电力、石油、化工、冶金、钢铁、交通等各个行业,现场信号通过数 据采集系统进行连续采集和处理后,需要通过数据通信网络传送至上位DAS、 DCS等监控系统。由于现场级设备与控制级或监控级的设备对于数据处理和传 输存在诸多不同,因此现场信号传送至上位监控系统的过程中经常需要经过 不同的数据通信网络,通信协议转换装置就必不可少。
随着计算机、电子、自动化、网络与通信等技术的快速发展,网络化、 智能化、数字化的分布式控制系统得到了广泛应用,这就要求对控制系统各 项数据的准确性和可靠性提出了更高的要求。而目前大部分采用的基于单任 务顺序机制的单片机系统不仅处理能力有限,且存在系统实时性、可靠性较 差的问题。近年来,嵌入式技术得到了迅速发展,嵌入式系统能够很好地适 应数据采集与监控系统对功能、可靠性、成本、体积及功耗等方面的严格要 求,以高性能嵌入式微处理器为核心构建新一代数据采集与监测系统的通信 协议转换装置具有重要应用意义。

发明内容
本发明是针对现有通信技术里单片机系统处理能力有限,且存在系统实 时性、可靠性较差的问题,提出了一种基于嵌入式多MCU的通信协议转换装 置及方法,采用嵌入式多MCU及高速双口 RAM数据共享技术,提高了系统的可靠性、实时性,可方便实现嵌入式MCU间的数据交换、数据共享和信息处理。
本发明的技术方案为 一种基于嵌入式多MCU的通信协议转换装置,包
括LCD液晶显示、按键、以太网、RSB485通信接口、 RS232通信接口,还包 括嵌入式从MCU、双口RAM、嵌入式主MCU,其中嵌入式从MCU通过RS232通 信接口或RS485通信接口以Modbus/RTU或ASCII协议实现与工业现场数据的 通讯,嵌入式从MCU将数据放到双口 RAM中,嵌入式主MCU与双口 RAM交换 数据,接收键盘的指令,并负责管理系统参数设置,同时将数据输出到LCD 液晶显示,以及通过以太网通信接口将数据远程传输到上位监控系统。
所述双口 RAM采用具有异步高速双口静态RAM的IDT7134芯片,该芯片 具有两个完全独立的端口,每个端口都有自己的控制线、地址线和数据线, 内部集成了竞争逻辑电路。将所述IDT7134芯片的RAM存储器分为两块,一 块为嵌入式主MCU传给嵌入式从MCU的数据,这一块只允许嵌入式主MCU读 写,嵌入式从MCU只读;另一块为嵌入式从MCU传给嵌入式主MCU的数据, 这一块只允许嵌入式从MCU读写,嵌入式主MCU只读。
一种基于嵌入式多MCU的通信协议转换方法,包括基于嵌入式多MCU的 通信协议转换装置和实时多任务操作系统uC/OS-II,具体方法包括以下步骤
1) 调用OSInit()函数0SInit()函数建立了2个任务空闲任务和统计 任务,其中空闲任务在所有其他任务未就绪时运行,统计任务主要计算CPU 的利用率;
2) 执行InitHardware()函数,完成系统时钟设置和各硬件参数设置,执 行InitPara()函数完成系统全局变量初始化,执行Commlnit ()函数完成UART串口参数的初始化,建立通讯任务;
3) 进入系统uC/0S-I1内核,开始运行多任务;
4) 系统的通讯任务主要完成数据请求和等待接收中断服务子程序的应答 信号量,uC/OS-II内核建立的空闲任务中完成发送请求帧数据的功能;
5) 系统设3个中断服务子程序定时中断、外部0中断和通讯接收中断, 其中定时中断实现延时与超时控制功能,外部0中断发送通讯完成信号量功 能,通讯接收中断负责接收应答帧数据;
6) 每次通讯完成后都重新初始化一次UART串口,可以消除通讯波特率 的累积误差,程序可实现与32个Slave设备通讯,依次发送Slave设备地址 号。
本发明的有益效果在于本发明基于嵌入式多MCU的通信协议转换方法, 实现工业通信网络的中继和协议转换功能,以使设备层的串口设备能轻松连 接到监控层网络。通信协议转换装置采用嵌入式多MCU及高速双口 RAM数据 共享技术,简化电路设计,提高系统的可靠性、实时性,方便实现嵌入式MCU 间的数据交换、数据共享和信息处理。


图1本发明基于嵌入式多MCU的通信协议转换装置的系统结构图2本发明基于嵌入式多MCU的通信协议转换方法主程序流程图3本发明基于嵌入式多MCU的通信协议转换方法通讯任务调度过程图4本发明基于嵌入式多MCU的通信协议转换方法通讯任务程序流程图5本发明基于嵌入式多MCU的通信协议转换方法数据请求程序流程图6本发明基于嵌入式多MCU的通信协议转换方法数据接收中断服务程序流程图。
具体实施例方式
如图1所示,基于嵌入式多MCU的通信协议转换装置包括嵌入式从MCU1、 双口RAM2、 LCD液晶显示3、嵌入式主MCU4、按键5、以太网6、 RSB485通信 接口 7和RS232通信接口 8 。其中嵌入式从MCU1通过RS232通信接口 8或RS485 通信接口 7以Modbus/RTU或ASCII等协议实现与设备层的数据采集1/0模块、 智能仪器仪表等的通讯,得到工业现场测量数据,嵌入式从MCU1将数据放到 双口 RAM2中,嵌入式主MCU4与双口 RAM2交换数据,接收键盘5的指令,并 负责管理系统参数设置,同时将数据输出到LCD液晶显示3,以及通过以太网 6通信接口以Modbus/TCP、 TCP/IP等协议将数据远程传输到上位DAS、 DCS等 监控系统。
本发明采用了高速双口 RAM数据共享技术,双口 RAM2芯片采用IDT7134, 该芯片是异步高速双口静态RAM,具有两个完全独立的端口,每个端口都有自 己的控制线、地址线和数据线,内部集成了竞争逻辑电路。嵌入式MCU对双 口 RAM端口的操作等效于对它的外部RAM进行操作。本发明根据数据传输特 点,对存储器进行分配,在软件上实现仲裁,采用将IDT7134的RAM存储器 分为两块, 一块为嵌入式主MCU传给嵌入式从MCU的数据,这一块只允许嵌 入式主MCU读写,嵌入式从MCU只读;另一块为嵌入式从MCU传给嵌入式主 MCU的数据,这一块只允许嵌入式从MCU读写,嵌入式主MCU只读。这样就解 决了共享数据冲突的问题。此外,通信协议转换装置的地址锁存器采用 74HC373和74HC573,分别用于双口 RAM的左右端口的地址锁存。
如图2所示为本发明的主程序流程图,其软件平台采用源码公开、可移植、可裁剪、可固化的抢占式实时多任务操作系统uc/os-n。采用uc/os-n 实时操作系统内核,简化了应用系统的设计,使整个系统结构简洁,使复杂
的应用程序层次化。在使用uC/OS-II提供的任何功能之前,必须调用OSInit () 函数。OSInit()函数建立了 2个任务空闲任务和统计任务,其中空闲任务 在所有其他任务未就绪时运行,统计任务主要计算CPU的利用率。 InitHardware()函数主要完成系统时钟设置和各硬件参数设置,InitPara() 函数完成系统全局变量初始化,Commlnit ()函数完成UART串口参数的初始化, 建立通讯任务。
如图3所示为本发明的通讯任务调度过程,系统的通讯任务负责处理 Slave的应答帧数据。即完成数据请求和等待接收中断服务子程序的应答信号 量,发送请求帧数据的功能由uC/0S-I1内核建立的空闲任务中完成。系统有 3个中断服务子程序定时中断、外部O中断和通讯接收中断。定时中断实现 延时与超时控制等功能,外部0中断发送通讯完成信号量功能,通讯接收中 断负责接收应答帧数据。通讯调度把发送请求帧数据的功能移到空闲任务, 并把通讯中断服务子程序改为非屏蔽中断,这样可以不受uC/0S-I1内核管理。
但这样通讯中断服务子程序中不能使用内核提供的服务,即不能调用 OSSemPost()函数发送通讯已完成信号量。为了解决这个问题,增加了一个外 部0中断服务子程序,即在通讯中断服务子程序中收到完整应答帧数据后,
触发一次外部o中断(受uc/os-n内核管理),在外部o中断服务子程序中
调用OSSemPost ()函数发送收到应答帧数据信号量。这样既解决了通讯的响应 速度,又提高了实时性和可靠性。
如图4所示为本发明的通讯任务程序流程图,需要注意的是每次通讯后都重新初始化一次UART串口 ,这样可以消除通讯波特率的累积误差。程序可 实现与32个Slave设备通讯,依次发送Slave设备地址号。
通讯任务主要完成数据请求和等待接收中断服务子程序的应答信号量的 功能。数据请求程序流程如图5所示,数据接收中断服务程序流程如图6所
权利要求
1、一种基于嵌入式多MCU的通信协议转换装置,包括LCD液晶显示、按键、以太网、RSB485通信接口、RS232通信接口,其特征在于,还包括嵌入式从MCU、双口RAM、嵌入式主MCU,其中嵌入式从MCU通过RS232通信接口或RS485通信接口以Modbus/RTU或ASCII协议实现与工业现场数据的通讯,嵌入式从MCU将数据放到双口RAM中,嵌入式主MCU与双口RAM交换数据,接收键盘的指令,并负责管理系统参数设置,同时将数据输出到LCD液晶显示,以及通过以太网通信接口将数据远程传输到上位监控系统。
2、 根据权利要求1所述基于嵌入式多MCU的通信协议转换装置,其特征在于, 所述双口 RAM采用具有异步高速双口静态RAM的IDT7134芯片,该芯片具有 两个完全独立的端口,每个端口都有自己的控制线、地址线和数据线,内部 集成了竞争逻辑电路。
3、 根据权利要求2所述基于嵌入式多MCU的通信协议转换装置,其特征在于, 将所述IDT7134芯片的RAM存储器分为两块, 一块为嵌入式主MCU传给嵌入 式从MCU的数据,这一块只允许嵌入式主MCU读写,嵌入式从MCU只读;另 一块为嵌入式从MCU传给嵌入式主MCU的数据,这一块只允许嵌入式从MCU 读写,嵌入式主MCU只读。
4、 一种基于嵌入式多MCU的通信协议转换方法,包括基于嵌入式多MCU的通 信协议转换装置和实时多任务操作系统uC/OS-II,具体方法包括以下步骤1)调用0SInit ()函数OSInit ()函数建立了 2个任务空闲任务和统计任务, 其中空闲任务在所有其他任务未就绪时运行,统计任务主要计算CPU的利用2) 执行InitHardware()函数,完成系统时钟设置和各硬件参数设置,执行 InitPara()函数完成系统全局变量初始化,执行Commlnit ()函数完成UART串 口参数的初始化,建立通讯任务;3) 进入系统uC/0S-I1内核,开始运行多任务;4) 系统的通讯任务主要完成数据请求和等待接收中断服务子程序的应答信号 量,uC/OS-II内核建立的空闲任务中完成发送请求帧数据的功能;5) 系统设3个中断服务子程序定时中断、外部O中断和通讯接收中断,其 中定时中断实现延时与超时控制功能,外部O中断发送通讯完成信号量功能, 通讯接收中断负责接收应答帧数据;6) 每次通讯完成后都重新初始化一次UART串口,可以消除通讯波特率的累 积误差,程序可实现与32个Slave设备通讯,依次发送Slave设备地址号。
全文摘要
本发明涉及一种基于嵌入式多MCU的通信协议转换装置及方法,采用嵌入式多MCU和实时多任务操作系统uC/OS-II。通信协议转换装置以Modbus/RTU或ASCII等协议实现与设备层的数据采集I/O模块的通讯,得到工业现场测量数据,然后采用以太网通信接口以Modbus/TCP、TCP/IP等协议将数据远程传输到上位DAS、DCS等监控系统,实现工业通信网络的中继和协议转换功能,以使设备层的串口设备能轻松连接到监控层网络。采用嵌入式多MCU及高速双口RAM数据共享技术,简化电路设计,提高系统的可靠性、实时性,方便实现嵌入式MCU间的数据交换、数据共享和信息处理。
文档编号H04L12/66GK101420435SQ20081020284
公开日2009年4月29日 申请日期2008年11月18日 优先权日2008年11月18日
发明者飞 夏, 浩 张, 彭道刚, 辉 李, 瓅 杨, 茅大钧, 许龙虎, 郑陆君 申请人:上海电力学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1