!" #$%& ’#单片机实现多处理机互联技术应用
张惠群 刘鲁源 卢学英(天津大学电气与自动化工程学院 天津 )***+,-
摘要 讨论了 .*/0123/单片机系统多微机互联方案4该系统以单片机为主模块4共享存储器5共享 6785总线接口及仲裁器构 成9重点分析了多处理机及总线接口逻辑的实现9
关键词 单片机 公共总线 多机通讯
:;<=>?@AAB;C?D<C@;@E’BF<CG>@?=HH@>IC<JKC;LF=#JCG#@AGB<=>!"#$%&’#
MNOPQRSTUTS VTSVSWSOP VSXSYWTPQ (Z[\]]^]_‘^a[bcd[e^fgb]hebd]i‘ijdiaacdij4kdeildimidnacodbp4kdeildi)***+,4q\die-
rsH<>D?< tNYuYvNwxwyTPvYz{wuuSPT{OvTwP OuwPQ |TPQ}Y{NT~ {wu~SvYz|!O|xT|{S||Yx"tNY|W|vYu T| {wu~w|Yx wy|TPQ}Y{NT~ {wu~SvYzuwxS}Y4 |NOzY#uYuwzTY|4 |NOzY#6784$S|TPvYzyO{YOPx Oz$TvzOvwz" tNY zYO}T%OvTwPwyuS}vT~zw{Y||wzOPx$S|TPvYzyO{Y}wQT{!YzYOPO}W%Yx"
&=’I@>(H )TPQ}Y{NT~{wu~SvYz /wuuwP$S| 6PvYz{wuuSPT{OvTwPwyuS}vT~zw{Y||wz
$ 引 言
对 响 应 速 度 较 高 的 实 时 处 理 系 统4通常采用并行 处 理 技 术4把复杂的功能和计算分解为若干子任务后 分 配 给 多 个 单 片 机 去 完 成4各子任务间的交互作用则 通过多单片机间互联机构的彼此通信来实现9这种并 行 处 理 所 采 用 的 多 处 理 机 结 构 有 公 共 总 线5多端口存 储 器5输 入 输 出 链 接5总 线 窗 口 等 形 式9该 系 统 利 用 .*/0123/单片机构成多处理机系统9
* 系统设计及总线接口逻辑
*"$ 硬件系统
基 于 .*/0123/的多单片机系统4是针对模块级 并 行 结 构 设 计 并 实 现 了 由 四 个 主 模 块 构 成 的 多 主 系 统4如图 0所示4每个模块由单片机系统5数字 6785模 拟 678等模板构成4模块与测控对象间由现场 678总 线连接9本地总线采用 )t+总线标准4各模块通过各 自 的 总 线 接 口 与 公 共 总 线 相 连4模块对公共总线的访 问受总线仲裁逻辑的控制9模块间信息交换通过共享 ,-3 进 行4通 讯 形 式 采 用 预 先 分 配 的 邮 箱4当 模 块 - 数 据 需 送 往 模 块 .时4//0O发出占用公共总线的请
求信号4经仲裁器判断允许后调用 1,6t2原语4数据 写 入 邮 箱 -3.4当模块 .要用到该数据时4//0$发 出 占 用 公 共 总 线 的 请 求 信 号4经仲裁器判断得到允许 后4调 用 ,2-+ 原 语4从 邮 箱 -3 .读 出 数 据4在
图 0 系统框图
1,6t2或 ,2-+原 语 中 通 过 对 标 志 的 判 断4保 证 数 据不被覆盖或重复读取9
*"* 系统总线和总线接口逻辑
多 处 理 机 共 享 存 储 器 互 联 机 构 种 类 繁 多4对 于 .*/0123/多单片机系统4必须考虑其总线控制5总线 通 讯 的 特 殊 性4因此本系统自行设计了相适应的多处 理机总线 .*/0123/.0)4其公共总线结构包含数据 线5地 址 线5读 写 控 制 线5总 线 交 换 信 号 和 /V8/55 ,2)2t 线4读 写 控 制 线 包 括 1,5,+5X,153236+
第 ,6卷第 6期增刊
仪 器 仪 表 学 报
,**)年 .月四 条 信 号 线!"#$#%用于传送单片机与共 享 设 备 之 间的数据!&#"为总线读写信号!’(’)%为访问共享 存 储 器 或 者 设 备 选 择 信 号!低电平表示访问共享存储 器!高电平表示访问共享 )*+口,总线交换信息包括 四 个 模 块 的 总 线 请 求 #(-./ #(-0与 总 线 响 应 123. /1230信 号!总线忙信号4567表示总线被某一主模 块占用!清除信号28(1#表示占用总线的主模块放弃 对公共总线的占有权,
总线接口逻辑用于实现各模块本地总线与公共总 线间隔离和通讯,本系统为四个模块提供了相同接口!
如 图 9所 示,对 应 不 同 模 块!由 短 路 块 选 择 不 同 的 123:与(;控制,
模 块 与 共 享 存 储 器 间 通 讯 采 用 中 断 方 式!第 :个
<:=.!>!9!0?模 块 要 求 访 问 公 共 总 线 时!先 由 软 件 发 送 总 线 请 求#(-:!经 总 线 仲 裁 器 裁 决!总 线 响 应123: 有效@打开地址总线与"#$#%控制门 AB869BB,123: 同时作为模块中断请求信号);C#-!单片机系统响应 外 中 断!发 出 中 断 响 应 信 号);C1!经 D18译码产生 (;信号!打开数据门 AB869BE!总线读写信号&#":有 效!通 讯 开 始, 当 通 讯 完 毕 后!单 片 机 系 统 在 执 行
"#)C(或 #(1% 原 语 时 发 送 清 除 信 号 28(1#!使 该 模 块 放 弃 对 总 线 占 有 权!123:$&#":变 为 无 效!同 时隔离本地总线和公共总线,若各模块分配给公共总 线 的 F3空间<地址为 (...G/HHHHG?!其中公共存 储 器 I9IB的 地 址 空 间 为 (...G/HHHHG@公 共 )*+
口的空间为 HH..G/HHHHG,地址分配由 D18提供 的存储器 )*+选择信号’(’)-:实现,D18还提供了 总线读写信号&#":和数据门控制信号(;,
J 多单片机系统通讯原语的实现
F.2>KI’2多机系统采用共享邮箱的间接通讯方 式!只有两个模块共享一个邮箱时才能通讯!为方便系 统 软 件 设 计 及 提 高 传 输 速 度!把每对模块的共享邮箱 预 先 分 配!使 模 块 之 间 通 过 邮 箱 接 收 信 息,当 四 个 F.2>KI’2模 块 中 的 任 一 模 块 发 送 信 息!其 余 三 个 模 块都接收该消息!为此!系统给出了第 :个接收模块的
#(2()L(原 语 的 条 件!例 如 模 块 .发 送 消 息!模 块 >
接收信息!共享 1M4邮箱
#(2+L(# 6C123
)HH81DM.=> D+C+ (&)C >
H81DM.=>
6(;% <1!’(6616D(?
图 9 总线接口 5;8+23
D+C+ 2+;C);+ >
(&)C>N 5;8+23
"1)C>N D+C+ "1)C>
各模块传输的控制*状态信息实现了分支转移!以 便更灵活地协调各模块间的相互作用,
O 结束语
一个合理$有效的并行处理系统的实现!必须正确 地 解 决 并 行 处 理 的 体 系 结 构$并行处理的算法和体系 结构的关系等问题,本系统中进行任务分配!用四个字 节浮点数实现了实时仿真计算!结果表明!递推六次后 辩识结果与实际模型已非常接近,对运行时间的测试 结 果 为 完 成 一 次 递 推 串 行 计 算 时 间 约 为 BPQ!并行计 算时间约为 >.PQ,对于同步较少$模块性较强的并行 任务!本系统会有更高的效率,
参考文献
> 康 特 DR科 索 %%R实 时 多 微 处 理 机 系 统R<夏 川 江!等 译?R 北京科学出版社!>KK>R
9 孙 涵 芳R)STUV>I位 单 片 机R北 京N北 京 航 空 航 天 大 学 出 版 社!>KKER
B B
0 仪 器 仪 表 学 报 第 9B卷