0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

修复基于VMEBus的处理器接口机箱

电子工程师 来源:网络整理 2018-04-07 10:52 次阅读

一位知名的喜剧演员曾经创造了这句流行用语──“我很不喜欢这种感觉!”(I hate it when that happens!!!)。我其实完全能够了解那种感受。每一次当我不得不去破解、调试或改善“别人的设计”(Someone Else's Design;SED)时,我相信自己都说了这句话。

有一天,我的老板给了我一个任务,要我去弄清楚一个基于VMEBus的处理器接口机箱究竟是哪里出错了。由于这是在1990年代那个桌上型电脑独大的“黑暗时代”(Dark Ages),这个接口机箱中有一款摩托罗拉68010微处理器,并采用汇编语言(而非C语言JAVA或HTML)进行编码。我们所做的事就是将两个6RU机架高、以线绕连接且基于7400逻辑电路的客制化接口机箱置入一个5RU高的VMEBus盒中,并使其维持与两个HP1000 Fast Fortran处理器的连接。

这个接口机箱表面平滑:前方的触控面板用于执行处理器的状态显示,并显示从接口所记录到的数据信息等。但这个接口机箱原本面临的问题十分吊诡──想想,你如何能将10磅的东西放在只能装5磅的袋子里?从封装、布线、后面板的连接器电源以及冷却器看来都很正常。但问题是,为了尽量地节省机架空间等,设计者采用了超越其能力所及的汇编语言进行编码。

原来的接口仅建置了‘L’模式。新的VMEBus设计则同时建置‘L’和‘S’模式,使复杂度增加了4倍。在‘L’模式下,每125微秒从144bit的数据框架下提取DF和NV位元,使L模式成功地完成建置。

然而,'S'模式是一种新的编码方式。这种模式则是每四个193位元、125ms提供一个DF和NV位元。测试此模式后发现无法顺利运作。我怀疑问题就出在以汇编语言编码的逻辑电路设置。我后来打了几次电话询问才知道当初的设计者已经离职了,现在已经没人可回答有关他所设计的任何问题。

我只好开始研究汇编语言代码,发现设计者对于所做的一切都进行了完整的建档操作。但有关汇编语言所要解决的最大难题通常都跟“子程序”(subroutine)语言有关。如果你看到布满'JSR'和'RTS'的代码,你可就很难追踪到逻辑建置了。很快地你就会发现,子程序读取操作也需要利用一些CPU周期来执行。而这就是在编写汇编语言时用于进行控制的关键参数。而处理中断服务程序(ISR)就更棘手了,因为只要外部中断一发生,ISR即随时启动执行。

最后我终于发现,大部分用于寻找DF和NV的逻辑是透过ISR内部所执行的,每512微秒执行两次ISR操作。现在我几乎就要解决这个问题了。我找到了Motorola Assembler手册,然后开始增加执行ISR所需的CPU指令周期,接着就发现其中一个ISR无法在下一次中断发生前完成指令操作,因而不断地耗用CPU堆栈中的暂存器,直至存储器耗尽后死机。

实际动手进行修复并不简单。我花了一个多月的时间重新建置ISR,使ISR内部仅执行关键的指令集,并建立了一个可立即储存中间计算值的方式,以便使这些值也可用于ISR外部。

这些修改终于完成且经测试过了,而这款接口机箱在那之后还用了好多年。我自己也对这一点成绩感到相当自豪。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19461

    浏览量

    231413
  • 工程师
    +关注

    关注

    59

    文章

    1573

    浏览量

    68682
收藏 人收藏

    评论

    相关推荐

    VIC6与Motorola 68040接口

    本应用指南展示了如何将Cypress Semiconductor的VIC64 VMEbus控制接口到Motorola工作频率为40MHz的68040微处理器上。attach://21
    发表于 09-23 10:19

    ARM微处理器编程基础和接口实验

    慕课电子科技大学.嵌入式系统.第三章.ARM微处理器编程基础和接口实验.ARM微处理器编程基础实验0 目录3 ARM微处理器编程基础和接口
    发表于 12-14 09:04

    ARM微处理器编程基础和接口实验

    慕课电子科技大学.嵌入式系统.第三章.ARM微处理器编程基础和接口实验.ARM设备接口实验0 目录3 ARM微处理器编程基础和接口实验3.2
    发表于 12-14 08:46

    AD7572A与高速DSP处理器接口设计

    AD7572A与高速DSP处理器接口设计:
    发表于 06-10 09:45 25次下载
    AD7572A与高速DSP<b class='flag-5'>处理器</b>的<b class='flag-5'>接口</b>设计

    设计AD7574 AD转换与微处理器接口(该接口用作存储

    设计AD7574 A D转换与微处理器接口(该接口用作存储映像输入设备) :
    发表于 06-12 14:21 52次下载
    设计AD7574 AD转换<b class='flag-5'>器</b>与微<b class='flag-5'>处理器</b>的<b class='flag-5'>接口</b>(该<b class='flag-5'>接口</b>用作存储

    基于Nios II处理器的USB接口设计

    本文以Nios II 嵌入式软处理器为核心,利用USB 控制芯片CH372,设计了基于Nios II 嵌入式软处理器的USB 通信接口。本文重点介绍了USB 接口的硬件实现方案,分析了
    发表于 08-28 11:34 33次下载

    机箱的前置USB接口

    机箱的前置USB接口              前置USB接口是位于机箱前面板上的U
    发表于 12-26 13:52 1826次阅读

    LonWorks节点中主从处理器之间IC接口设计

    为提高LonWorks总线的控制能力, 设计了以单片机AT89S51为主的处理器、神经元芯片MC143150为从处理器的LonWorks节点, 主处理器和从处理器之间的
    发表于 05-18 16:38 18次下载
    LonWorks节点中主从<b class='flag-5'>处理器</b>之间IC<b class='flag-5'>接口</b>设计

    基于中断方式LON节点处理器SPI接口设计

    为增强LonWorks节点控制能力,采用单片机作为LonWorks节点的主处理器,Neuron芯片作为从处理器; 主从处理器采用SPI通信接口;SPI
    发表于 05-18 16:53 29次下载
    基于中断方式LON节点<b class='flag-5'>处理器</b>SPI<b class='flag-5'>接口</b>设计

    处理器系统接口部件的设计

    :本文给出了一种 处理器 系统接口部件的具体设计方案。该接口部件通过使用Split读和片外Cache来提高处理器的性能。测试结果表明,Split读和片外Cache能够以比较低的代价使
    发表于 06-29 15:59 10次下载
    <b class='flag-5'>处理器</b>系统<b class='flag-5'>接口</b>部件的设计

    嵌入式硬件处理器选型与接口设计

    嵌入式处理器选型与接口设计 主讲:华清远见北京总部周老师。本视频教程主要内容为: 1、2009年嵌入式处理器发展现状与趋势 2、处理器接口
    发表于 12-15 17:18 144次下载
    嵌入式硬件<b class='flag-5'>处理器</b>选型与<b class='flag-5'>接口</b>设计

    嵌入式微处理器模拟接口设计

    嵌入式微处理器模拟接口设计 有需要的朋友下来看看
    发表于 12-29 17:56 2次下载

    基于嵌入式硬件处理器选型与接口设计

    基于嵌入式硬件处理器选型与接口设计
    发表于 10-30 15:15 10次下载
    基于嵌入式硬件<b class='flag-5'>处理器</b>选型与<b class='flag-5'>接口</b>设计

    研华IPC-5120 桌面/壁挂式机箱 MicroATX母板前置 I/O 接口支持2代-9代智能处理器

    IPC-5120桌面/壁挂式机箱MicroATX/ATX母板前置I/O接口精简机箱气流设计,支持LGA775Pentium4处理器,配备特制CPU风扇所有的I/O
    的头像 发表于 06-02 11:38 2056次阅读
    研华IPC-5120 桌面/壁挂式<b class='flag-5'>机箱</b> MicroATX母板前置 I/O <b class='flag-5'>接口</b>支持2代-9代智能<b class='flag-5'>处理器</b>

    拼接处理器:支持多种输入和输出接口

    讯维拼接处理器是一种功能强大的视频会议硬件设备,它集成了多种输入和输出接口,为用户提供了高效、灵活和动态的会议环境。本文将详细介绍讯维拼接处理器的多种输入和输出接口,探讨其在视频会议中
    的头像 发表于 09-05 14:06 950次阅读
    拼接<b class='flag-5'>处理器</b>:支持多种输入和输出<b class='flag-5'>接口</b>