外围设备或器件软件仿真的方法及建议

技术分类: 嵌入式系统  微处理器与DSP  | 2007-11-27
来源:单片机及嵌入式系统应用

  1 外围设备或器件软件仿真的必要性

  有一点必须先肯定,软件仿真不能替代硬件仿真。软件仿真只是对硬件的仿真模拟,但是软件仿真仍有必要。目标系统是千变万化的,需要开发者去实现。实现可能需要相当长一段时间,甚至完成后不能随意调试,因此有必要对目标系统进行模拟或仿真,以便开发、检测嵌入式软件。
   
       外围设备软件仿真可以快速建立开发目标的模拟系统。由于各仿真部件是软件,因此只要部件存在,就没有采购、制作电路板的过程。将各部件按规则布置、用软件连接,就构成了目标模拟系统。

  外围设备软件仿真可以使嵌入式的软件设计与硬件设计相对独立。软件设计者可以先在模拟软件上进行功能和逻辑测试,从而减少了对硬件的依赖。

  外围设备仿真软件在一定条件下可以制作为检测硬件功能的工具。如果仿真部件的连接口可以转化为硬件接口,那么就可以在硬件上用软件仿真部件代替被仿真部件运行。

  外围设备软件仿真可以降低开发成本。过去有时为了配合软件开发,需要在硬件开发初期制作一些测试硬件。而现在,硬件开发可以按自己的需要按部就班地进行,只要在必要时与软件设计者沟通就可以了。

 

 外围设备软件仿真可以方便单片机程序的调试,在程序涉及外围设备时不必做任何处理直接运行,仿真软件会自动处理对它的访问。

  2 单片机外围设备或器件的相似性

  经过几个项目的开发,会发现各项目所采用的外围设备或者器件大多相同。只是在功能不同时,才使用不同的外围设备或器件。对于不同的器件或设备,可以发现部件与单片机接口常使用如下几种:I2C、SPI、并口8(16)位、UART。

  因此,对外围设备或器件的仿真部件,在今后的各项目中被采用的可能性很大,制作仿真部件的功夫不会白费。如果将部件特有的接口与部件功能部分分开,两部分再用通用的接口连接(例如将I2C接口单独仿真,然后单独仿真器件的功能部分,再将这两部分用通用接口连接),那么经过这样的设计,由于I2C接口的通用性,I2C接口的仿真使用率会很高,同时各部件由于接口全都一样也便于各部件集成。

  3 外围设备或器件仿真方法及建议

  建议单片机软件调试器预留软件接口。这样其他程序就可以监视单片机的I/O引脚或寄存器,从而使仿真外围设备有了可能。

  将I2C、SPI、并口8(16)位、UART接口封装以Socket形式输出。由于各种单片机的调试器接口不大可能一样,所以单独封装部件接口对应付不同的单片机调试器有好处。以Socket形式输出,可使各部件功能仿真部分高度独立,仿真部件甚至可与其接口和调试器不在同一个计算机内。

  仿真部件的全部接口改为Socket形式。由于关于Socket编程的例程很多,所以不用担心其中的复杂性。经过这样设计后,仿真部件间、仿真部件和调试器间存在复杂的Socket多点连接问题。为了减少复杂的连接须做些修改,可将仿真部件与调试器连接的Socket程序单独制作程序模块,各部件功能仿真部分制作成控件,在需要时放入仿真程序中。仿真软件结构如图1所示。

仿真软件结构

  4 外围软件仿真方法实例

  (1)电路原理

电路原理框图

  图2为电路原理框图。

  AT89S52的编译调试器选择Keil C5l。Keil C5l的调试器有AGSI(Advanced Generic Simulator Interface)的软件接口。

  (2)定义通信协议

  I2C仿真接口和ZLG7290仿真器件问相互动作必须有一个通信协议。通信数据格式定义如表1所列,指令值含义如表2所列。

  (3)I2C接口封装

  根据Keil C5l调试器关于AGSI的说明,将I2C接口封装。从Keil网站下载AGSI例程SPeriDLL,从网上搜索一个Visual C++的点对点的聊天程序。

  将SPeriDLL中不用的控件及相关代码删去(保留也可以),“按键”、“文本框”等控件的使用方法都以例程为准。修改DefineAllWatclhes函数,将监视的51芯片的引脚或存储器的参数修改为:

表格

  Agsi.SetWatchOnSFR(Zlg7290.SDAPort.ZLG7290Write,AGSIWRITE);

  其中:Zlg7290.SDAPort为控制ZLG7290的51芯片的端口;ZLG7290Write为Zlg7290.SDAPort有动作时调用的函数。

  将DefineAllWatches中不必要的代码删除。复制Socket例程,并设置好类及变量。在ZLG7290Write函数体中添加处理I2C和调用Socket发送数据的代码。ZLG7290Write的流程如图3所示。

SPeriiDLL修改后的对话框

1】【2
加载中

对文章的评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销