基于XC16x的教学仿真平台设计

2022-09-11

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

上一篇:应用型本科财务会计课程教学改革探讨——模块化财务会计课程教学改革下一篇:中国武术对外推广发展的路径探析