APP下载

基于瑞萨MCU的三方交互通信实现

2016-10-21朱苗苗牛国锋张明新

常熟理工学院学报 2016年4期
关键词:瑞萨发送数据微控制器

朱苗苗,牛国锋,张明新

(常熟理工学院计算机科学与工程学院,江苏常熟215500)

基于瑞萨MCU的三方交互通信实现

朱苗苗,牛国锋,张明新

(常熟理工学院计算机科学与工程学院,江苏常熟215500)

以三个瑞萨78K0R微控制器为核心,外接功能模块分别采用C语言编程实现不同的功能,然后根据串行通信原理设计搭建了三方之间交互通信环境,通过控制不同的MCU相互收发数据,实现瑞萨微控制器之间可靠稳定的数据传输功能,并通过各自液晶显示终端显示相应MCU之间的收发状态和各功能模块实现情况.该设计实现三方交互通信方式成本低,数据传输灵活、方便、可靠,具有较高的实用性.

瑞萨;微控制器;三方交互;串行通信

目前在通信领域内,虽然无线通信技术已经比较成熟,但串行通信技术在实际生活和研究中都占据着重要地位.串行通信只需要少数几条线就可以在设备间进行信息交换,因此,串行通信非常适用于在低速率、长距离通信.随着计算机及各种微控制器为主导的电子产品的应用,相互之间的通信功能也越来越重要,特别是在人们的生活和生产中,各种微控制器设备之间或者与外设之间经常要进行交互式数据交换和传输,串行通信数据传输是目前微控制器之间交互通信的一种有效手段,特别是多台微控制器之间相互协作通信,通过简单的控制线来实现它们之间的信息交流,各微控制器之间互为主从机,按照通信协议进行数据收发,大大提高了单片机的利用效率和功能,具有较高的实用性.

1 微控制器及串行通信

1.1瑞萨微控制器

微控制器技术的应用,实现了传感器前端信号检测的智能化,促进了电子技术将推动以传感器为前端的电子系统的飞速发展.瑞萨电子在新型微控制器产品中加入了节能理念[1],其中16位低功耗闪存78K0R系列微控制器产品具有低耗电量、智能化节能控制及高效能等特点,其整合多种周边功能,使其依靠单MCU实现低成本、高性能的绿色节能系统,功能强大,具有支持尺寸更小、功耗更低的系统等主要特性[2].

本设计主要以瑞萨78K0R/KG3系列uPD78F1166型号芯片为核心进行设计实现.

1.2串行通信

串行通信是把数据按照字节在一条传输线上逐个按若干位为单位进行传输,传输过程中需要一条传输线和若干控制信号线.对于每一个字节的数据按照一次一位进行传输,双方必须按照制定好的通信约定,通过数据位长短的变化表达固定的信息.串行通信的优点是传输线少,长距离传输成本低[3].

1.2.1串行通信原理

在串行通信技术中,为了通信的正常稳定,要考虑系统的通信速率、时钟频率等因素[4],共同遵守通信协议规则.微控制器与计算机的串口通信也根据约定的协议,即可进行通信完成相应的操作.

1.2.2串行通信方式

串行通信可分为同步串行通信和异步串行通信两种方式.同步串行通信是指通信时要同步建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步[5].异步串行通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程.本设计采用同步串行通信方式收发数据信息.

2 硬件设计

2.1各硬件模块及实现功能

在实现交互通信的过程中,以各自微控制器和不同硬件模块实现不同的功能为基础,进行数据的收发传输.用到的主要硬件模块及功能如下:

(1)LED.LED数码管是多个LED应用最典型的电子元件,本设计采用8位数码管显示时间[6].

(2)液晶显示屏.LCD液晶显示屏作为微控制器显示终端,能够便捷、直观地进行各种数据和图形的显示.设计中采用128*64点阵液晶显示屏对收发数据和各自实现的功能状态进行监测显示.

(3)矩阵键盘.本设计采用4*4矩阵键盘为微控制器提供字母或数字输入、方向控制、通信选择控制以及模块功能控制.

(4)温度传感器.设计使用的是灵敏度较高的LM35温度传感器,用来测量实时的温度值.

(5)可变电压传感器.可变电压传感器测量电压值范围0—5V,通过可调电阻值来调节并测量实时电压值,采集到的模拟电压值经模数转换后输出实际电压值.

(6)步进电机.步进电机根据步控制信号执行离散的角度变化,实现马达的转速和转动方向控制.

2.2硬件设计

系统设计主要采用三个单独的微控制器,外接一些传感器、7段LED、键盘和显示液晶屏等,先各自实现不同的功能,然后相互之间协商通信,将数据或状态发送给其他微控制器,并在终端显示.为了便于区分,3个微控制器分别标记为MCU1、MCU2和MCU3.

MCU1外接4*4矩阵键盘、8位LED数码管和128*64LCD液晶显示屏,主要实现时间的同时显示,显示格式为XX(时):XX分:XX秒.

MCU2外接4*4矩阵键盘、温度传感器、可变电压传感器和128*64LCD液晶显示屏,通过AD转换模块实现温度和电压的实时测量,并同时显示在LCD液晶显示屏上,显示格式为:VR=X.XX V,TEMP=XX.X C.

MCU3外接步进马达和能够控制马达的按键、128*64LCD液晶显示屏,按键主要实现控制步进马达的正转、反转、转速和停止,LCD显示马达的开关状态、左转或右转状态.

三个微控制器通过串行通信功能接口之间单线闭环连接.MCU1发送信号给MCU2,MCU2接收信号后开始工作,将工作后的数据发送给MCU3,之后MCU3收到MCU2发来的信号后保存MCU2的数据,然后工作记录MCU3的数据,最后将MCU2和MCU3的数据发送给MCU1,MCU1将这两个数据保存,做出相应的工作.

通信中采用三个独立的瑞萨MCU作为核心,硬件各个接口连接示意图如图1所示.

3 软件设计

3.1通信协议设计

在串行通信过程中,数据发送和接收方都是按照一个字节的数据以每次发送单个位数据进行,并遵循一定的通信协议.本设计中设定三方协商通信每帧共12位,格式为:帧首(1bit)+地址位(1bit)+帧长(1bit)+数据(8bit)+校验位(1bit),协议以十六进制表示.通信过程中,在接收端接收到具有标志位(包括帧首、地址、帧长)后的8位就会重构一个字节的数据,保存到相应的位置后,再进行下一个字节数据的收发,直到数据收发完成.

图1 硬件连接示意图

3.2程序设计流程图

实现三个微控制之间的交互通信是通过两两之间的通信来实现的,两个MCU之间的通信实现程序设计流程如图2所示.

图2 两个MCU之间通信实现程序设计流程图

3.3程序设计实现

编译开发环境采用瑞萨专用的CubeSuite集成型开发环境[7]和MINICUBE2仿真器技术.三个核心MCU分别通过具有Flash编程功能的片上调试仿真编译器Minicube2与各自的电脑主机连接.完成所有的设计、编码、评估和验证任务.

在CubeSuite集成型开发环境中,根据MCU对应型号选择78K0R/KG3,芯片组uPD78F1166(100pin),建立新的工程Project,工程建好后按照外接设备功能设计要求进行相应端口配置,C语言编程实现各自的功能及相应的模块功能.然后再编程实现三个MCU之间协商通信,调试完成后进行系统编译生成该工程,并同时通过瑞萨Debug工具——片上调试器将编写好的程序烧写入到相应的MCU芯片自带内存中保存,接通电源即可独立运行.

4 交互通信实现

4.1三方交互通信模型

三个微控制器各自实现各自不同的功能,然后它们之间互为主从机,通过串口控制线连接后,开始相互协作,按照设计好的通信协议实现两两之间的相互通信,最终实现三者间的数据收发和交互通信.

MCU1主要实现时间的同步显示,8位数码管和液晶屏的时间显示格式同步为TIME:XX(时):XX(分):XX(秒).当MCU1时间显示正常开始发送数据给MCU2时,按键控制发送TX-2状态显示ON,MCU2接收端接收到数据后保存并在RX-TIME相应位置显示时间;TX-2状态显示OFF,接收端停止.采用同样方法MCU1发送数据到MCU3,MCU3在终端LCD上显示接收到的数据.

MCU2实现温度和电压的实时测量,并通过AD转换模块将模拟电压信号和温度值转换成标准电压值和摄氏温度值,并同时显示在LCD液晶显示屏上,显示格式为:VR=X.XX V,TEMP=XX.X C.MCU2在自身电压值和温度值测量正常的情况下发送数据给MCU1,当按键控制TX-1位置状态显示ON时,MCU1接收到数据保存,并在显示终端RX-VR和RX-TEMP位置分别显示接收到的电压值和温度;当TX-1状态显示OFF时,发送停止.同样方法MCU2发送数据到MCU3,MCU3在终端LCD上显示接收到的数据.

MCU3主要实现按键控制步进电机的正转、反转、转速和停止,LCD显示电机的开关状态、左转或右转状态,显示格式为MOTER:ON/OFF、L/R.MCU3按键控制步进电机开动状态ON,运转正常的情况下,向MCU1发送状态数据.当按键控制TX-1位置状态显示ON时,电机左转,MCU1接收数据保存数据,并显示电机的状态为L,电机右转时,MCU1接收数据,并显示电机的状态为R;当按键控制TX-1位置状态显示OFF时,停止发送数据.同样方法MCU3发送数据到MCU2,MCU2在终端LCD上显示接收到的电机转动状态.

4.2终端显示界面

MCU1、MCU2、MCU3三个微控制器对应连接的LCD终端显示界面如图3所示.每个显示界面中,首先显示本MCU实现的对应功能,其次,方框内显示接收到其它MCU发送来的对应数据信息,最后是对其他MCU的发送状态及选择.

图3 三个微控制器对应的LCD显示界面

4.3控制通信实现

在通信前,三个串行接口的波特率都设置为9600 bps,分别将编写好的程序烧写到每个连接相应模块的MCU中,然后进行相应操作来实现通信.通信过程中,每个微控制器连接的4*4矩阵键盘根据需要都设定好了相关的输入和控制功能.上电后,MCU1首先通过设定键和数字键,设定一个时间并开始运行,打开发送键开始发送数据,然后在MCU2或MCU3接收端通过键盘左右移动键选定MCU1,并打开数据接收,这时就能接收到发送过来的时间值,经过比对,没有时间延迟.经过同样实验,MCU1和MCU3接收到MCU2发送的电压值和温度值,由于传输距离较短,没有产生明显误差;MCU1和MCU2接收到MCU3发送的马达转动信息也都正常有效.

实验证明,瑞萨微控制器之间的三方交互通信稳定可靠,为单片机之间的相互协作通信和应用奠定了良好的基础.

5 结语

本文介绍了多个微控制器相互之间通信的方法,以三个独立的瑞萨MCU为核心,分别外接各种传感器、输入设备和显示终端,实现各自不同的功能.然后各单片机之间互为主从机,通过串口控制线实现两两之间的交互通信,最终实现三者之间相互传输接收数据和相互协商通信,并通过显示终端对各控制器的收发数据信息和控制器的收发状态进行直观显示,大大提高了单片机的利用效率和功能.

[1]牛国锋.基于瑞萨MCU的温度预警系统设计与实现[D].上海:华东理工大学,2013:1-5.

[2]付强生.基于瑞萨电子78KK0/Ix2系列MCU的智能照明设计[N].电子报,2011-11-27.

[3]吕瑞云.基于单片机的串行通信研究[J].电子世界,2012(13):76-77.

[4]张建华;刘玉玲;吴允志.基于单片机串行通信的LED点阵显示系统的设计与实现:以16×32LED点阵显示器为例[J].数字技术与应用,2013(5).

[5]徐小涛.基于MCS-51单片机的串行通信实现[J].计算机与网络,2010(19):51-54.

[6]程晨.Arduino电子设计实战指南:零基础篇[M].北京:机械工业出版社,2013:77-78.

[7]瑞萨科技公司.适用于微控制器的CubeSuite+集成型开发环境[J].电子制作,2011(7):5.

The Three-way Interaction Communication Based on Renesas MCU

ZHU Miaomiao,NIU Guofeng,ZHANG Mingxin
(School of Computerscience and Engineering,Changshu Institute of Technology,Changshu 215500,China)

Taking three microcontrollers of Renesas 78KOR as the core,external function modules use C language programming to achieve different functions.Then based on the principle ofserial communication design,a tripartite interaction between communication environments isset up.By controlling the different MCU tosend and receive data mutually,a reliable andstable data transmission function between Renesas controllers is realized,and through their respective LCD terminals,the receiving andsendingstate is displayed between MCU and each function module.The design of the three-way interaction communication has a low cost,a flexible,convenient and reliable data transmission and a higher practicability as well.

Renesas;MCU;three-way interaction;serial communication

TP368.1

A

1008-2794(2015)04-0089-04

2016-04-10

国家自然科学基金项目“基于视觉感兴趣区域的协同图像检索研究”(61173130)

牛国锋,实验师,硕士,研究方向:嵌入式系统应用,无线传感网技术,E-mail:ngf912@sina.com.

猜你喜欢

瑞萨发送数据微控制器
瑞萨电子推出升级版R-Car V3H,提升深度学习性能满足包括驾乘人员监控系统的最新NCAP要求
瑞萨电子推出RXv3 CPU核,大幅提升新的32位RX MCU系列产品性能
一种车载自组织网络的媒体接入控制协议
带标记方式的CRDSA++协议性能分析*
物联网技术在微控制器实验教学中的应用
瑞萨在CES 2017上展示具有R-CarH3系统级芯片的全自主汽车
使用IPSec安全传输数据
基于主控同步的CAN总线多点实时数据采集技术
Atmel针对新一代物联网应用发布全新32位微控制器
最新STM32设计工具增加对混合信号微控制器的支持