0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

汽车发动机冷却风扇控制芯片MV05芯片的测试方法研究

牵手一起梦 来源:微计算机信息 作者:胡越黎,闫科,王尧 2020-10-04 17:28 次阅读

1 引言

在微电子行业,芯片封装好后无不例外要进行系统级的验证,以检查芯片功能是否正确。 MV05芯片是本课题组自主设计的一款芯片,本文介绍了一种对该芯片进行测试的方法,上 位机通过芯片内置的一个单独UART 通讯模块向下位机发送指令,再判断芯片执行指令是否 正确,从而确定芯片功能是否符合设计要求。

上位机使用VC++编写控制软件,VC++由于功能强大和应用灵活, 得到Microsoft 系统的 最好支持, 具有图形界面友好、系统资源丰富、操作配置方便、运行速度较快等特点。而串 口通信具有实现简单, 使用灵活方便, 数据传输可靠等优点, 因而用VC++编制串口实时控 制软件十分方便。下位机使用汇编语言编程,汇编语言使用灵活,执行效率高,在芯片测 试方面非常实用。MV05具有8051的所有功能,在其基础上增加了PWM功能,本文只对PWM功能 测试进行介绍。 2 芯片简介 MV05是上海大学微电子研究与开发中心自主研发的一款芯片,完全拥有自主知识产权, 该芯片用于对汽车发动机冷却风扇的控制。此芯片含一个8051系列内核的CPU,它的指令集 与标准8051内核完全兼容。经过重新设计的内核,指令周期变为4个系统时钟周期。相比标 准8051平均效率提高2.5倍。作为标准8051CPU,含有一个8位的CPU内核,8位指令操作代码, 8位操作数,8位数据总线以及16位地址总线。内置两路PWM输出,一个单独的UART通讯模块 , 工作电压3.3V,采用chartered0.35um 2p4m CMOS工艺。

PWM 模块具有自定义输出和动态跟踪外部信号两种功能,通过设置PWMMODE 来选择这两 种功能,而且两路PWM 具有独立和互补的工作模式。当工作在独立模式时,两路PWM 可独立 输出PWM 波。芯片的PWM 功能复用到p1 口上,其中p1.2,p1.3 用于捕获输入,P1.4,P1.5 用于PWM 双通道脉宽调制输出信号。PWM 模块定义的寄存器如下:

PWMMODE: PWM 方式寄存器用于对对PWM 的工作方式进行设置,包括用户自定义模式和捕获外部输入信号模式。

PWMCON: PWM 控制寄存器,用来控制PWM 功能的开启和关闭。

Tcap1CON: 捕获1 控制寄存器,用于设置捕获采样的外部信号周期数

Tcap2CON 捕获2 控制寄存器,用于设置捕获采样的外部信号周期数

UTL0 PWM0输出的周期寄存器低8 位

UTH0 PWM0输出的周期寄存器高8 位

UWL0 PWM0输出的脉宽寄存器低8 位

UWH0 PWM0输出的脉宽寄存器高8 位

UTL1 PWM1输出的周期寄存器低8 位

UTH1 PWM1输出的周期寄存器高8 位

UWL1 PWM1输出的脉宽寄存器低8 位

UWH1 PWM1输出的脉宽寄存器高8 位

UTL0,UTH0 ,UWL0 ,UWH0 ,UTL1,UTH1,UWL1,UWH1 用于用户自定义模式下PWM 波占空比的设置。

3 上下位机通信协议

上下位机进行通信就要约定通信协议。上位机每次向下位机发送数据时首先发送“48 59 4c”3 个数据, 下位机判断接收到的前3 个数据是不是“48 59 4c”,如果是则继续接收后 面的数据,否则丢弃数据。“48,59,4c”后面紧跟的是8bit 数据,下位机接收到该8bit 数 据后进行按位解析,按照约定相应的位进入相应的特殊功能寄存器,下位机配置好特殊功能 寄存器后便会执行相应操作,从而验证芯片功能是否正确。通过该协议可以降低下位机的编 程复杂度,接收一次数据就可以将所需配置的寄存器配置好,从而也提高了通信的效率。PWM 用户自定义模式下的数据包的格式如表1 所示。

PWM 捕获模式下与PWM 用户自定义模式的数据包除了bit4“bit2 三位表示的意义不同 外,其余各位表示的意义相同,捕获模式下 bit4”bit2 用来设置捕获外部信号的周期数: 000:单个周期;001:两个周期;010:4 个周期依次类推周期数成倍增长。

4 上位机软件设计

本文上位机软件使用VC++6.0 开发。使用VC++最重要的就是能够了解控件的属性,熟 练对控件编程。VC++6.0 中的每个控件都有一个ID 号进行标识,每个ID 可以映射成一个变 量或响应函数。VC++6.0 中的类是方法和变量的总和,通过例化该类使用其中的方法和变量, 如本软件中的串口设置对话框:

CSettingDlg setDlg; // 例化

m_nPort = setDlg.m_nPort; //变量传递 将CsettingDlg 中的

m_nTime = setDlg.m_nTime; //变量映射到主控类的变量

m_strSettings = setDlg.m_strSettings;

4.1 串口通信模块设计

在Microsoft Windows 下开发串行通信程序的方法有:(1)利用WindowsAPI通信函 数(2)利用Windows的读写端口函数或开发驱动程序直接对串口进行操作(3)利用第三方 提供的通信类(4)使用串口通信组件。其中第四种方法较简单,只需要对串口进行简单设置。本上位机串口通信程序使用MSComm控件进行开发。

MSComm控件是Microsoft公司提供 的简化Windows下串行接口收发数据的简便方法。MSComm处理数据有两种方法, 查询法和事 件驱动法,本文使用事件驱动法。 串口设置对话框独立于主对话框,通过串口设置按钮弹出,用户可以在串口设置对话框 中进行串口选择,设置波特率、停止位、校验位等参数。软件在主控类中定义了一个全局 变量m_strSendString,上位机要发送的数据赋给该变量,然后通过发送函数发送出去。

4.2 PWM 模块

PWM 模块包括PWM 用户自定义模块和PWM 捕获模块,PWM 捕获模块与PWM 用户自定义模 块在控件使用和编程思想上是一样的,只不过数据包各位代表的意义不同,因此这里只介绍 PWM 用户自定义模块,PWM 捕获模块不再赘述。

PWM 用户自定义模块可以设置芯片PWM 模块的工作周期和PWM 波不同占空比,另外还增 加了ADC 联动功能。增加ADC 联动功能是为了测试下一款芯片功能设计的,此次测试并未用 到。PWM 模块的工作周期选择,PWM 波占空比选择和ADC 联动功能选择用复选框表示,用户 根据自己测试需要,选择不同的选项,最后按“确定”按钮将所选项目封装成数据包,按“启 动PWM”按钮将测试指令发送到下位机,进行测试。

根据通信协议将用户选择测试的项目封装成一个8 位数据包,该数据包存放在一个整型 数组里面,将该8 位数据看作是一个字符的二进制表示,根据每位数据所占的权值取加权和 得到一个10 进制数,最后将该10 进制数转化为一个16 进制数,该16 进制数就是最终要封 装的数据包。为了防止用户误选测试项目,软件中作了一些安全处理,当用户选择同类中的 一个测试项目后其它项目会变为不可选。软件界面如图1 所示。

PWM 用户自定义模式下数据包封装函数代码如下:

void CCommWizardDlg::OnButtonUsrMode()

{ UpdateData(TRUE); //数据更新

CString strtemp;

int s1; //存放数据包数据的数组

unsigned char c1;

// 时钟选择

if(this-》m_Check1) {s1=0;s1=0;}// 单时钟

if(this-》m_Check2) {s1=0;s1=1;}// 双时钟

if(this-》m_Check3) {s1=1;s1=0;}// 四时钟

if(this-》m_Check4) {s1=1;s1=1;}// 12 时钟

//占空比设置

if(this-》m_Check9) {s1=0;s1=0;s1=0;}// 1:1

if(this-》m_Check10) {s1=0;s1=0;s1=1;}// 1:2

if(this-》m_Check11) {s1=0;s1=1;s1=0;}//1:3

if(this-》m_Check12) {s1=0;s1=1;s1=1;}//1:4

if(this-》m_Check13) {s1=1;s1=0;s1=0;}//1:5

if(this-》m_Check14) {s1=1;s1=0;s1=1;}// 1:6

if(this-》m_Check15) {s1=1;s1=1;s1=0;}// 1:7

if(this-》m_Check16) {s1=1;s1=1;s1=1;}// 1:8

//PWM -ADC 控制

if(this-》m_Check5) {s1=0;s1=0;}// 0 主0 控

if(this-》m_Check6) {s1=0;s1=1;}// 0 主1 控

if(this-》m_Check7) {s1=1;s1=0;}// 1 主0 控

if(this-》m_Check8) {s1=1;s1=1;}// 1 主1 控

s1[0]=0; //用户自定义模式选择

c1=s1[0]*128+s1*64+s1*32+s1*16+s1*8+s1*4+s1*2+s1*1 ;

strtemp.Format(“%02X ”,c1); //10 进制转化为16 进制

m_strSendString=(CString)“48 59 4C ” + strtemp ;

}

5 下位机软件

下位机软件包括串口通信模块和PWM 功能配置模块。串口部分使用中断方式接收数据, 当接收到上位机的命令执行中断服务程序转到PWM 功能配置模块,PWM 功能模块对接收到的 数据进行按位解析,根据通信协议将不同的数据位送到不同的寄存器。该方法对其它测试系 统具有借鉴意义。

6 结束语

本文介绍了上海大学微电子研究与开发中心研发的一款汽车发动机冷却风扇控制芯片, 给出一种使用VC++6.0编写上位机软件对其进行测试的方法。本文的创新点是构造数据封装 函数,将用户要测试的项目一次发送给下位机,下位机按位解析数据包,将相应数据位送入 相应寄存器。通过调试证明该方法是完全可行的,提高了测试效率,测试结果达到了预期设 计指标,芯片功能完全正确。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    456

    文章

    50947

    浏览量

    424704
  • 发动机
    +关注

    关注

    33

    文章

    2484

    浏览量

    69433
  • 汽车电子
    +关注

    关注

    3027

    文章

    7980

    浏览量

    167256
收藏 人收藏

    评论

    相关推荐

    CA1261 汽车发动机悬置系统隔振的研究

    CA1261 汽车发动机悬置系统隔振的研究发动机悬置系统能否得到合理匹配对汽车的平顺性有着重要影响。本文对CA1261 载货
    发表于 12-02 12:33

    CA1261汽车发动机悬置系统隔振的研究

    发动机悬置系统能否得到合理匹配对汽车的平顺性有着重要影响。本文对CA1261 载货汽车所装配的BF6M1013ECP 型发动机悬置系统的隔振性能进行了
    发表于 12-28 10:23

    基于CAN总线的汽车发动机智能电子控制研究

    点火提前角控制程序流程图  本文是在对现有系统以及国内外的相关研究最新科研成果的分析和总结的基础上,提出基于CAN总线的汽车发动机智能电子控制
    发表于 09-05 09:51

    汽车发动机升级产品解决汽车发动机燃烧问题。

    `汽车发动机异响最主要是汽车发动机燃烧做功引发的!我的新技术,一种电子加速器可以解决,安装方便,直接对新车旧车发动机点火线圈工作,有几个点火
    发表于 05-30 19:55

    汽车发动机构造与20个汽车发动机维修详细案例

    本文档的主要内容详细介绍的是汽车发动机构造是怎么样的,并分享20个汽车发动机维修详细案例分析
    发表于 04-02 15:21

    汽修冷却液温度传感器信号汽车示波器测量

    发动机冷却液温度传感器又称为水温传感器,其传感器器件一般是安装在发动机缸体、缸盖的水套或者节温器内并伸入水套中。冷却液温度传感器其作用是用于检测发动
    发表于 01-11 10:42

    汽车发动机缸压测试示波器测量

    发动机动力不足是汽车维修中的常见故障,造成这个故障的原因可能是点火系统故障、喷油系统故障、进气故障或者机械方面的故障。机械方面的故障我们很难直接判定,一般都是通过仪器来间接测试,气缸压力的检测就是
    发表于 03-19 18:17

    冷却风扇系统发生故障的原因

    一辆行驶里程约32000km的别克英朗 XT 轿车。车主反映:该车出现冷却风扇始终打开故障。10 款英朗发动机冷却风扇系统原理如图1 所示,
    发表于 09-08 08:01

    汽车发动机冷却风扇智能控制系统的研究

    汽车发动机冷却风扇智能控制系统的研究:摘要:在汽车
    发表于 05-16 21:52 92次下载

    汽车发动机智能冷却系统设计

    电子发烧友为您提供了汽车发动机智能冷却系统设计。本文在对发动机 冷却系统 和CAN总线技术研究
    发表于 07-08 11:48 143次下载
    <b class='flag-5'>汽车</b><b class='flag-5'>发动机</b>智能<b class='flag-5'>冷却</b>系统设计

    基于PROTEUS和LABVIEM的发动机冷却液温度监控系统

    的影响,发动机工作在最佳冷却液温度下,发动机的动力性、排放性、经济性等均能显著地提高。为维持发动机处于最佳的工作状态,需要对冷却
    发表于 11-09 09:49 12次下载
    基于PROTEUS和LABVIEM的<b class='flag-5'>发动机</b><b class='flag-5'>冷却</b>液温度监控系统

    汽车发动机冷却系统保养简介

    制造商们为了保证汽车发动机能够维持在正常的工作温度,在汽车发动机上设有冷却系统。 汽车
    发表于 11-21 17:20 4770次阅读

    发动机冷却系统故障及检修方法

    发动机冷却系统(engine cooling system)指将汽车发动机工作时高温零件所吸收的热量及时带走,使它们保持在正常的温度范围内工作的装置。
    的头像 发表于 06-04 18:55 2.1w次阅读

    示波器测量汽车发动机冷却风扇信号及分析

    汽车发动机冷却风扇是车辆冷却系统的重要组成部分,若风扇出现故障,则会导致
    的头像 发表于 12-27 14:01 1227次阅读
    示波器测量<b class='flag-5'>汽车</b><b class='flag-5'>发动机</b><b class='flag-5'>冷却</b><b class='flag-5'>风扇</b>信号及分析

    发动机冷却风扇的工作原理

    这种控制温度的液力变扭器式冷却风扇,它能根据流过散热器的空气温度变化,对冷却风扇转速进行调节。当温度低时,
    发表于 03-13 11:34 744次阅读