当前位置:首页 > 单片机 > 单片机
[导读]通过一个监控系统的研制,阐述了对一个不熟悉的微机系统进行改造时应遵循的原则及基本方法,介绍了双端口存贮器IDT7132和看门狗WDT的用法。 关键词:监控系统,单片机,双端口存贮器,WDT       制作微机

通过一个监控系统的研制,阐述了对一个不熟悉的微机系统进行改造时应遵循的原则及基本方法,介绍了双端口存贮器IDT7132和看门狗WDT的用法。
    关键词:监控系统,单片机,双端口存贮器,WDT
   
  制作微机监控系统时,若受监控对象本身也是一个微机系统,且又没有电路图、程序等资料时,如何采集对象的内部数据(如CPU状态等),如何修改对象的程序方不至令原系统运行不稳定和崩溃,如何充分利用监控对象的资源,是一个带有普遍性的问题。
  笔者研制的“数字实验监控系统”,其主要功能是采集30台学生实验机状态和过程信息,送往中心主机显示。监控对象是一台型号为DLES的数字电路实验机,这是某公司的产品,除简单的用法说明书外别无其它资料。该机的核心是单片机8031,带6位键盘和数码管显示、并行口8155等,可选择CPU工作方式产生各种实验信号。

1用双端口RAM采集数据
  监控系统的首要任务是获取受控对象的各种状态信息。用IO线取得的只是其外部信息,且当高频时容易遗漏。要取得重要的内部信息,必须设法使监控对象的CPU自动送出信息,即采用双CPU通讯。无论用并行通讯还是串行通讯,都要大幅修改原机程序,且要占用原机CPU很多等待、检测通讯口的时间,很容易破坏原机的固有时序。较好的方法是采用共享存贮器方式,只要在原机程序的适当位置插入一段程序,令其定时将自身的重要信息(例如片内RAM的256字节内容)送到共享存贮器就可以了。
    本系统采用双端口存贮器IDT7132来实现两CPU的通讯。双口存贮器有2套独立的IO电路,可供2个CPU在不同时刻读写各个存贮单元。但同时访问同一存贮单元会产生冲突。IDT7132有一套冲突仲裁电路,使先到一方获得优先权实现读写操作,而向另一方发出一个冲突信号BUSY。
  冲突发生时,访问存贮器失败的一方要将刚失败的一句指令再执行一次,本系统是将BUSY线接到单片机的中断线INT0,电路见图1。但单片机的程序指针PC不能直接被读写,而中断的发生又是随机的,无法掌握其出现的时刻,要重复执行中断前的一句指令殊不容易。为实现这功能,用了一点技巧:因为,中断服务程序执行前,PC值必自动压入堆栈,可在中断服务程序中将该PC值出栈,作减3处理后再入栈,则中断结束出栈的PC值已退回指向到中断前的一句指令了。


 

  原实验机已经使用了5条高位地址线,若要增加2KB容量的IDT7132,将超过8031单片机最大64K存贮空间的限制。为此,利用单片机一条悬空的中断口引脚INT1充当IDT7132的片选控制线,CPU要访问IDT7132就不能仅用常规的MOVX指令,而必须在读写存贮器的前后各增加一条使INT1变低电平然后变高电平的指令,该指令如下:
    CLRINT1MOVXA,@DPTR  SETBINT1
2原系统已用资源的查找
  要改造别人的系统,难点之一是要了解原系统对各种资源的使用情况。单片机的内部读写存贮器RAM只有128字节,而要增改原机程序必须使用这些片内RAM,从而可能造成资源冲突。为了解原系统对片内RAM的使用情况,借用了文字编辑软件的搜索功能。因为单片机对片内RAM的寻址方式只有2种:(1)直接寻址,此时,可将RAM的直接地址作为搜索关键字,调用编辑软件的搜索功能,在原实验机程序中逐个显示该地址出现的地方;(2)以R0和R1为指针的间接寻址,这时,可分别以@R0和@R1为关键字搜索原程序,在出现的地方分析R0和R1的变化情况及范围。
  若以上两方法匀未找到所关注的RAM单元,则可以肯定原系统未使用该资源。若该单元同时又是可位寻址的,而位地址只有直接寻址一种方式,故必须采用上述的第(1)种方式搜索一次,结论也是非常明确的。
3修改和插入程序的方法
  如果监控对象的信号是软件方式产生的(本实验机就是这样),修改、增加程序时在时间开销上要非常小心,否则会导致原机时序出错。以下是两种常用的可行方法:
  (1)在原程序的延时过程中,删除其延时指令,插入执行时间大致同其原延时时间相当的新程序。例如,原实验机为数码管显示而设的延时子程序就被用于将适当个字节的信息传递到双端口存贮器
  (2)在原程序中等待某些事件发生的过程中,插入新程序。例如等待键盘按键时,可以控制程序跳往新的功能模块,执行适当时间后再返回。
4监视定时器WDT的处理
  在大部分微机控制系统中,WDT(看门狗,在6800系列中是COP)都是首选的抗干扰措施之一,其作用是以软件和硬件方式设置一个定时器,定时强制系统复位,以防止程序失控“跑飞”。
  修改旧程序时必须留意查看原系统有无WDT,否则可能导致系统崩溃。若有,则首先要找到WDT的定时时间。硬件WDT的时间值一般是固定的,可查资料得到。例如8096系列是64K个状态周
期。软件WDT要先找到所用的定时器,可循2个途径:(1)芯片自身的定时器。这可以在定时器中断服务程序中查找,例如8051系列的二个定时器的中断服务程序入口地址分别是000BH和0001BH,查看这2段程序可知哪一个是用于WDT的,然后进一步在主程序的初始化设置中查看对该定时器的设置,便可找到定时时间;(2)外围芯片(例如8155)的定时器,要将之用于WDT必须将定时器溢出线接到单片机的某外部中断线上,查看这些外部中断服务程序就可以找到相应的定时器,再查看主程序中对该定时器的设置,也能找到定时值。
  知道了WDT的溢出时间后,就可以在修改或增加的程序中,每隔规定的时间插入一段指令清除定时器以使WDT不对系统复位。例如对8096系统,若不使用乘除指令,可以每执行约4K条指令插入以下2条指令
    MOV0AH,#1EH
  MOV0AH,#E1H
5借用监控对象的资源
  充分利用监控对象的资源,可以降低成本,最主要是可以使学生不必耗费时间多学习一台仪器的使用方法。本监控系统借用了原实验机上的键盘和数码管显示器。
  原实验机以扫描IO口方式扩展6位键盘,每个键盘都赋予了固定的键值和键功能,以及固定的键处理程序段。为了利用原实验机的键盘使其执行新的键功能,又不破坏原来的功能,采用了这样的方法:改写原机的键盘扫描程序段,定义当某2个键(是在原机中没有用到的)同时按下时,就跳出原程序转往一个新编写的程序模块。在该新模块中,所有键功能都可以被任意重新定义,当处理完新按键后再转回原机程序中执行。
  要利用原机的数码管显示器,可以有两种方法:
   (1)编写新的显示程序;(2)利用原程序的显示功能,将要显示的内容嵌入原程序中。因后者能很好地兼容原机程序,不易导致系统出错或崩溃,故选用之。通过研究和测试,知原机的显示机理是将显示数据送缓冲区,由专用显示模块转为八段数码管显示值。但其转换算法非常复杂繁锁。为不占用原机CPU太多时间及不易出错,将所有可能的数据逐个送入缓冲区,测出一张数据同显示式样的对照表,在增加的新程序中,将显示数据查表转换后送缓冲区就可以了。
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭