1 / 7
文档名称:

两种mcu间的串行通信协议设计.doc

格式:doc   大小:20KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

两种mcu间的串行通信协议设计.doc

上传人:wz_198614 2017/6/19 文件大小:20 KB

下载得到文件列表

两种mcu间的串行通信协议设计.doc

文档介绍

文档介绍:两种 MCU 间的串行通信协议设计时间: 2011-04-12 15:49:12 来源:单片机与嵌入式系统作者:林汉成,胡方明,王群泽,吴圣陶,熊鑫引言 Cortex-M 3是 AR M 公司推出的32 位处理器, 使用了最新一代的 ARMv 7 架构,具有高性能、低功耗和低成本的优点。对那些对功耗与成本敏感、但又要求较高性能的嵌入式应用来说, Correx-M3 无疑是最佳解决方案; 而对成本要求苛刻、运算能力要求不高的设备来说, 嵌入成熟稳定的 805 1 处理器, 已经成为了业内的流行做法。目前, 越来越多的嵌入式系统同时使用了上述两种 MCU ,因此如何使 Cortex-M3 与 8051 之间可以高效地进行信息交互,是实现设计目标的关键。 1 方案设计要进行信息交互, 离不开物理接口。在嵌入式应用中, 目前常用的接口有 UART 、 SPI 和 I2C 等串行接口。 UART 接口只需两根数据线就可以工作, 时序控制简单, 大部分设备都整合了这种接口。而且, 经过电平转换后 UAR T 的 TTL 电平可以转换成 RS232 电平, RS232 接口是计算机标准配置的通信接口,可以通过超级终端查看串口的数据,便于使用 PC 机对线路进行检测分析。因此,本设计采用 UART 接口作为 Cortex-M3 与 C51 之间的通信接口。考虑到各种需求, 本文设计了一种基于 UART 接口的, 用于 Cortex-M 3 和 C51 之间的通信协议,使 Cortex-M3 与 C51 之间可以高效地进行信息交互。当两个 MCU 之间需要进行通信的时候,发送方把原始数据下放给通信协议, 通信协议按照特定格式把数据打包, 通过 UART 接口发送给对方。接收方收到数据时, MCU 运行相应的通信协议, 把数据解包, 就可以得到发送方的原始数据,将其交付给上层程序。体系结构如图 1 所示。如果使用其他串行接口,原理大体相同,只需对硬件作相应改动,即对接口控制模块稍作修改即可投入使用。下面以实际工程中某种多媒体系统为例详细说明。该系统采用了以 Cortex-M3 为内核的 STM32 处理器和嵌入了 C51 核的 MST776 视频处理芯片,使用 UART 接口进行通信。 2 具体实现 硬件设置具体的器件不同, UART 的工作方式也有所区别, 主要表现在波特率、停止位、数据字长度等参数上。当两个器件用 UART 连接时,所有参数必须完全一致,否则通信很容易出错。在此, 要特别注意波特率的设置: 当线路质量好的时候, 波特率可以设置得高点, 以获得较高的传输速率; 线路质量差的时候, 就要减小波特率,以降低误码率。本设计中, STM32 与 MST776 都整合了 UART 接口,只需配置少量电阻;同时,线缆长度不超过 20 cm ,使用环境的电磁干扰小,波特率可以设置为 38 400bps ,甚至更高。另外,考虑到 C51 的处理速度较低,因此波特率不应设置得太高,避免造成 C51 侧数据溢出,进而造成死机。本设计只需使用两根数据线来实现两个 MCU 之间的互连,把 STM3 2 上选定的 UART 接口的 TX 与对端的 UART 接口的 RX 相连,把 RX 与对端的 UART 接口的 TX 相连。 软件设计 数据帧解析