当前位置:首页 > EDA > 电子设计自动化
[导读]外围设备软件仿真可以方便单片机程序的调试,在程序涉及外围设备时不必做任何处理直接运行,仿真软件会自动处理对它的访问。

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所示。

    在对话框消息函数中处理Socket接收信息的地方添加代码(Socket例程中是在此处处理接收数据的)。按自定义协议将接收到的仿真设备的数据存入相应的缓存,或对I2C器件的输出引脚进行操作。SPeriiDLL修改后的对话框如图4所示。

(4)用VB编制仿真软件
    从www.zlgmcu.com下载ZLG7290的例程和数据手册。选择一个VB(Visual Basic)的点到点的Socket聊天程序进行修改。增加一个“Form”,并在上面添加ZLG7290要用到的8个数码管控件(自制)、64个按钮控件和1个定时器,如图5所示。建立ZLG7290程序模块,自定义一个ZLG7290的数据类型,并用此类型定义数据变量Reg7290用于保存数据。
    修改Socket控件的DataArrival事件的代码。当接收的数据为ZLG7290的地址时,数据交由ZLG7290程序模块处理。数据处理部分根据ZLG7290数据手册和通信协议编写,如果是向某地址写数据,则写到Reg7290的相应位置;如果写到命令地址,则直即执行相应动作程序。

    对按键事件进行处理,根据接键保存相应值到Reg7290的按键寄存器,并通过Socket发出按键数据和按键中断输出引脚动作。
    在定时器事件中调用刷新数码管数据的程序。仿真软件的Socket部分显示窗如图6所示。

(5)仿真
    按照AGSI的说明文件apnt_154.pdf设置Keil C51调试器,调试器打开ZLG7290例程和I2C接口;运行VB下编制的仿真软件;用Socket连接;全速运行ZLG7290例程。数码管显示如图5所示。
    运行时,ZLG7290的例程中不停地向I2C总线查询按键和发送显示数据。在这样的情况下,仿真软件各项仿真功能工作正常,表明这种仿真方法是可行的。

(6)说明

    在实例中只有一种接口,如果接口种类增加,则只需在VB仿真软件端增加Socket控件。如果不想用VB开发仿真软件,那么也可以选择其他语言。


5 结论
   
实践证明,本文的仿真方法是可行的,但需要单片机调试器提供软件接口。如果各种单片机调试器都有接口,那么仿真部件就可以得到充分利用。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭