1 引言
InfineonXC 16芯片是Infineon公司的主导产品之一。Infineon公司作为全球第六大半导体供应商,总部座落于德国慕尼黑,她的前身系西门子半导体部门,主要提供半导体产品与系统解决方案,主要应用于汽车及工业电子通讯产品、有线与无线通讯市场、安全解决方案及内存产品。英飞凌业务遍布全球。芯片代表产品有16位XC16X、32位TRIC、ORE等。
X C 16x是英飞凌16位微控制器的新家族,它采用增强型C166S V2内核架构,与C166相比,XC16x具有更高的集成度、更丰富的片上资源和更强的处理能力,有助于提高系统性能、减小体积和降低成本。XC16x产品类型丰富,根据内存容量、外设资源、引脚数量以及封装形式的不同,划分很多型号,用户可以方便的从中找到适合自己应用的选择。XC16x具有JTAG接口,调试更方便。和C166相同,Keil软件支持XC166产品开发。
2 设计思想
Keil软件本身拥有强大的模拟功能,但是其模拟功能的使用十分复杂,界面设置不够友好,并且用户在使用时要记住繁琐的命令。因此,我们在开发该项目过程中借用了Keil软件中虚拟模块的相关程序,运用VB,VC语言编译一个模拟实验板块,使得用户可以用简单的操作来完成复杂的程序验证过程。
uVision3集成开发环境是Keil Software公司面向C 166开发的开发包,是一个强大的全特性调试器,允许用户在PC机上完全模拟目标程序、指令集,在实际开发中极为广泛。针对教学仿真板的要求,为建立具有良好用户界面的前台虚拟教学实验板与后台keil uVision3环境的实时,高效的连接,本文确定以下软件平台结构:由VC自主编写动态链接库,通过DDE通道与keil uVision3建立联系,获得的数据再与VB编写的用户界面进行实时交换(图1)
采用以上技术方案的优点在于:
a) keil uVision3支持DDE数据交换,数据传输稳定,并且直观利于调试
b) VC编译的程序运行速度快。同时由于keil uVision3的特殊DDE交互约定,VB编写该段代码有困难。
c)关键的DDE数据交换一次性固化在动态链接库中,利于教师或开发者在以后进一步的开发中重复利用,而又不会被开发者改写,可靠性好。
d)用户界面的编写方面,VB的开发速度要高于VC。
3 DDE动态链接库的编写
DDE动态链接库主要功能由以下子函数实现:
StopDDE (void):停止动态链接库与uVision3调试器的DDE连接;
HDDEDATA CALLBACK DdeCallback (WORD wType,WORD wFmt,HCONV hConv,HSZ hszTopic,HSZ hszltem,HDDED ATA hData,DWORD lData1,DWORD 1Data2):通过消息处理机制接受uVision3调试器通过DDE通道返回的信息;
InitDDE (void):初始化动态链接库与uVision3调试器的DDE连接;
SendCommand (const char*pStr,BYTE CmdTyp,int nLen):按照uVision3的约定,创建命令流,并通过DDE通道传送给uVision3;
BSTR GetOut():将通过DDE通道获得的信息返回给主程序。
我们用函数static void SendCommand(const char*pStr,BYTE CmdTyp,int nLen)创建命令流,来实现命令发送功能。
4 程序实例
本文试图利用上述设计理念,完成AMT辅助换档的仿真模块。
AMT辅助换档的基本原理:某电机驱动三维凸轮实现操纵换档杆空间运动,实现1档~5档之间的变换。三维凸轮同轴带一个转角位置传感器,设定一定转角范围为相应档位对应的位置。转角位置传感器传输回的是一个模拟信号,微控制采集这个模拟量,并通过RS232串口接受上位机给出的换档要求,如果位置信号和换档要求不一致。控制器通过P3.8,P3.9口控制电机正向或反向运转,直到传感器返回的信号与换档要求一致。
软件运行界面如图所示,软件流程如下:
1)用户通过仿真板界面输入挡位指令;
2)挡位指令通过DDE通道传送到SCIO口接收缓冲区SOIN;
3)用户编写的Keil C166程序接受到挡位指令,并采样ANO口的模拟量信号值,按照策略控制输出口P3.8,P3.9的状态;
4)仿真板通过DDE查询P3.8,P3.9口的状态,根据状态不同,显示电机运行状态;
5)同时按照电机特性,调整传感器传输回的模拟值,将该值通过DDE传输给AD通道0对应的参数ANO。
5 结语
基于以上设计思想的XC16x教学仿真平台能为教学提供许多方便。首先,程序并不大,老师要发放给学生十分方便。现在大多数学生都有自己的电脑,有这个程序再配合Keil软件,就可以随时在电脑上验证自己的编写的单片机相关程序。基本上解决了在教学中实验硬件不足的问题。其次,老师要想改变实验内容,比如改换端口做实验,可以通过修改面板的程序来实现。相对而言,硬件如果要做相关改动的话就要麻烦多了。第三,使用虚拟面板的话,不会像硬件那样需要接线,省去很多麻烦。而使用真实硬件的话万一接线错误,还可能出现损坏的情况。
综上,本文提出的XC16x教学仿真平台完全可以在单片机教学中推广,有很好的实践意义。
摘要:目前的XC16x微控制器相关的开发设备相对比较昂贵,因此在实际教学过程中,无法给学生配备足够的实验设备。本文中提出利用可视化软件编程模拟仿真器及外围的相关电路,构建基于keil C166环境的虚拟教学实验板。使用该实验板,只要在PC机上就可以形象的完成现有的各项教学内容。
关键词:教学仿真,XC16x,keil,C166
【基于XC16x的教学仿真平台设计】相关文章:
基于仿真模拟平台的土木工程主干专业课程实践教学改革09-12
基于三维仿真的质量管理工程机械设计与制造基础实践教学改革11-13
基于SCORM标准的网络教学平台的设计09-12
基于微信平台的大学英语教学设计与实践09-12