CN101141658A - 双口ram中断功能的测试方法 - Google Patents
双口ram中断功能的测试方法 Download PDFInfo
- Publication number
- CN101141658A CN101141658A CNA2007100056647A CN200710005664A CN101141658A CN 101141658 A CN101141658 A CN 101141658A CN A2007100056647 A CNA2007100056647 A CN A2007100056647A CN 200710005664 A CN200710005664 A CN 200710005664A CN 101141658 A CN101141658 A CN 101141658A
- Authority
- CN
- China
- Prior art keywords
- cpu
- test
- interrupt
- email address
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明提供了一种双口RAM的中断功能的测试方法。该方法包括步骤:第一CPU向第二CPU的邮箱写入特定数据,并且第二CPU设置准备接收中断的条件,进入中断处理程序;从中断处理函数中读取第二CPU的邮箱地址数据,并将邮箱地址数据与特定数据进行比较;以及根据比较结果来判断测试是否正常,并恢复到中断以前的状态。由此,实现能够提高覆盖率,方便故障检查和定位,并且该方法不需要复杂的外部环境,可以使用本身单板的应用环境进行测试。
Description
技术领域
本发明涉及电子和通信领域,尤其涉及一种适合于电子和通讯领域设备或单板的测试环节的测试方法。
背景技术
在电子和通讯设备领域中,一般都需要对设备或单板的质量进行控制,尤其是大批量单板和设备在发货之前,由于在生产过程中会引入一些漏焊,虚焊,短路等情况,所以需要对单板和设备进行测试以保证质量。目前在很多单板中都应用了双口RAM芯片,因此,如何保证双口RAM测试的覆盖性,是目前讨论和测试中经常遇到的问题。
双口RAM的工作基本原理是:双口RAM的两个端口处连接的CPU都可以独立访问RAM空间。其中,芯片每个端口的CPU又具有中断功能。如果在芯片的使用中使用到中断功能,则分别为两端的CPU建立一个通讯邮箱。当左边端口CPU向右边邮箱写进数据时,右边端口的中断标志就会置位。而右边端口对该地址邮箱访问后,则会自动清除右边端口中断标志。同样,当右边端口CPU向左边邮箱写进数据时,左边端口的中断标志就会置位。而左边端口对该地址邮箱访问后,则会自动清除左边端口中断标志。
然而,目前没有双口RAM中断功能测试的公开资料及其测试方法。
因此,需要一种双口RAM的中断功能的测试方法。
发明内容
考虑到上述问题而做出本发明,为此,本发明的主要目的在于提供一种简单有效的双口RAM中断功能的测试方法。
根据本发明的实施例,提供了一种双口RAM的中断功能的测试方法。
该方法包括步骤:第一CPU向第二CPU的邮箱写入特定数据,并且第二CPU设置准备接收中断的条件,进入中断处理程序;从中断处理函数中读取第二CPU的邮箱地址数据,并将邮箱地址数据与特定数据进行比较;以及根据比较结果来判断测试是否正常,并恢复到中断以前的状态。
其中,根据比较结果来判断测试是否正常的步骤进一步包括以下步骤:在特定数据与邮箱地址数据一致的情况下,测试正常;以及在特定数据与邮箱地址数据不一致的情况下,测试异常,并进行相应的故障定位。
此外,该方法还包括步骤:在读取第二CPU的邮箱地址数据之后,将第二CPU的邮箱清零。
另外,在第一CPU和第二CPU均具有中断处理功能的情况下,该方法还包括步骤:第二CPU向第一CPU写入特定数据的异或值,并且第一CPU设置准备接收中断的条件;第一CPU将自己邮箱数据读出,并将读出数据和特定数据的异或值进行比较;以及根据比较结果来判断第一CPU中断功能测试是否正常。
根据比较结果来判断第一CPU中断功能测试是否正常的步骤进一步包括以下步骤:在特定数据的异或值与邮箱地址数据一致的情况下,测试正常;以及在特定数据的异或值与邮箱地址数据不一致的情况下,测试异常,并进行相应的故障定位。
此外,关于第一CPU中断功能测试的步骤还包括将第一CPU的邮箱清零。
此外,设置准备接收中断的条件包括将全局变量设置为初始值并且设置超时时间。利用全局变量来判断测试是否正常。
利用全局变量来判断测试是否正常的步骤进一步包括以下步骤:如果特定数据与邮箱地址数据一致或者特定数据的异或值与另一端邮箱地址数据一致,则设置全局变量为正确,以及如果特定数据与邮箱地址数据不一致或者特定数据的异或值与另一端邮箱地址数据不一致,则设置全局变量为失败;以及在超时时间结束之前,完成了对邮箱的检测,则进行判断,否则结束判断。
进行判断的步骤进一步包括以下步骤:如果全局变量值设置为正确,则测试正常;以及如果全局变量值设置为失败,则测试异常,并进行相应的故障定位。
通过本发明的上述技术方案,实现了双口RAM的中断功能,提供了一种简单有效的测试方法,能够提高覆盖率,方便故障检查和定位,并且该方法不需要复杂的外部环境,可以使用本身单板的应用环境进行测试。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是示出根据本发明实施例的用于实现双口RAM中断功能测试方法的流程图;
图2是示出根据本发明第一实施例的双口RAM左边端口CPU中断测试方法的流程图;
图3是示出根据本发明第一实施例的双口RAM右边端口CPU中断测试方法的流程图;
图4A是示出根据本发明第二实施例的双口RAM单板内侧CPU中断测试方法的部分流程图;以及
图4B是示出根据本发明第二实施例的双口RAM单板内侧CPU中断测试方法的部分流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
在本发明实施例中,提供了一种双口RAM中断功能的测试方法。
图1是示出根据本发明实施例的用于实现双口RAM中断功能测试方法的流程图。
参照图1,在步骤S102中,第一CPU向第二CPU的邮箱写入特定数据,并且第二CPU设置准备接收中断的条件,进入中断处理程序。
接着,在步骤S104中,从中断处理函数中读取第二CPU的邮箱地址数据,并将邮箱地址数据与特定数据进行比较。
最后,在步骤S106中,根据比较结果来判断测试是否正常,并恢复到中断以前的状态。
其中,根据比较结果来判断测试是否正常的步骤进一步包括以下步骤:在特定数据与邮箱地址数据一致的情况下,测试正常;以及在特定数据与邮箱地址数据不一致的情况下,测试异常,并进行相应的故障定位。
此外,该方法还包括步骤:在读取第二CPU的邮箱地址数据之后,将第二CPU的邮箱清零。
另外,在第一CPU和第二CPU均具有中断处理功能的情况下,该方法还包括步骤:第二CPU向第一CPU写入特定数据的异或值,并且第一CPU设置准备接收中断的条件;第一CPU将自己邮箱数据读出,并将读出数据和特定数据的异或值进行比较;以及根据比较结果来判断第一CPU中断功能测试是否正常。
根据比较结果来判断第一CPU中断功能测试是否正常的步骤进一步包括以下步骤:在特定数据的异或值与邮箱地址数据一致的情况下,测试正常;以及在特定数据的异或值与邮箱地址数据不一致的情况下,测试异常,并进行相应的故障定位。
此外,关于第一CPU中断功能测试的步骤还包括将第一CPU的邮箱清零。
此外,设置准备接收中断的条件包括将全局变量设置为初始值并且设置超时时间。利用全局变量来判断测试是否正常。
利用全局变量来判断测试是否正常的步骤进一步包括以下步骤:如果特定数据与邮箱地址数据一致或者特定数据的异或值与另一端邮箱地址数据一致,则设置全局变量为正确,以及如果特定数据与邮箱地址数据不一致或者特定数据的异或值与另一端邮箱地址数据不一致,则设置全局变量为失败;以及在超时时间结束之前,完成了对邮箱的检测,则进行判断,否则结束判断。
进行判断的步骤进一步包括以下步骤:如果全局变量值设置为正确,则测试正常;以及如果全局变量值设置为失败,则测试异常,并进行相应的故障定位。
下面将参照附图详细描述本发明的实施例。
第一实施例
参照图2和图3,描述本发明的第一实施例。在第一实施例中,两端的CPU都可以处理中断信号,其中,程序分为左端CPU和右端CPU两个程序,以及两端的CPU测试函数又分别可以分为主处理函数和中断处理函数。
图2是示出根据本发明第一实施例的双口RAM左边端口CPU中断测试方法的流程图。
如图2所示,测试步骤包括:向右边邮箱写入特定数据;初始化全局变量1,给测试结果设置一个初值;设置中断模式所需要的其他控制条件;以及等待中断,进入中断处理程序。
中断处理包括步骤:读取自己邮箱单元的数据;对自己邮箱单元清零,清除上次通信结果;判断读出的数据是否是特定数据的异或值;如果是,则把全局变量设置为0,如果不是,把全局变量设置为1;然后结束中断程序。
接下来,设置超时时间,检测自己邮箱单元是否为0。如果时间超时,还没有检测到自己邮箱单元是否为0,则退出程序,并且返回测试超时;如果检测到邮箱单元为0,则进行下一步骤,读取全局变量的值是否改变。如果全局变量等于1,则测试错误;而如果全局变量等于0,则测试正确。最后,恢复中断模式中的一些控制条件,测试结束。
图3是示出根据本发明第一实施例的双口RAM右边端口CPU中断测试方法的流程图。
如图3所示,测试步骤包括:初始化全局变量2,为测试结果设置一个初值;设置中断模式所需的其他控制条件;等待中断,进入中断处理程序。
中断处理包括步骤:读取自己邮箱单元的数据;对自己邮箱单元清零,清除上次通信结果;判断读出的数据是否是特定数据;如果是,则把全局变量设置为0,如果不是,把全局变量设置为1;CPU向左边邮箱写入特定数据的异或值;然后中断程序结束。
接下来,设置超时时间,检测自己邮箱单元是否为0。如果时间超时,还没有检测到自己邮箱单元是否为0,则退出程序,并且返回测试超时;如果检测到邮箱单元为0,则进行下一步骤;读取全局变量的值是否改变。如果全局变量等于1,则测试错误;而全局变量等于0,则测试正确。最后,恢复中断模式中的一些控制条件,测试结束。
第二实施例
参照图4,描述本发明的第二实施例。在第二实施例中,双口RAM一个端口的CPU没有处理中断信号的能力。其中,假定左边端口CPU没有中断能力,所以对该端口的中断信号不进行测试。因此,程序流程为:左边端口CPU的测试程序只完成向右边邮箱写入特定数据,而右边CPU的测试步骤除了不在中断程序中往另外一端邮箱写数据之外,其他步骤都和第一实施例中右端CPU的测试过程相同。
图4A是示出根据本发明第二实施例的双口RAM单板内侧CPU中断测试方法的部分流程图;以及图4B是示出根据本发明第二实施例的双口RAM单板内侧CPU中断测试方法的部分流程图。
在本实施例中,单板采用CY7C0241,为4K×18bit的双口RAM,数据线宽度为16位。单板上微处理器是386EX。该单板与外部单板互发信号,并且都可以发生中断信号,只要一方往对方的邮箱写数据,对方即可产生中断,中断后读一下邮箱内的内容,即可清除中断请求信号。
此外,由测试平台的一个总线处理环境板完成对双口RAM的中断功能测试。由于总线处理环境板无中断处理能力,所以本测试覆盖到被测板CPU内侧的中断功能。总线测试单板上CPU负责往单板CPU内侧邮箱写入特定的数据0X5555。
参照图4A,被测板CPU中运行的测试主程序的测试步骤如下:设定全局变量g_ucDPRamInt=0x01,默认邮箱通信错误;复位齐偶校验中断信号;设置测试等待时间;读取自己邮箱地址的值是否为0,如果不为0(即,超时),则退出程序,如果为0,则进行到下一步骤;判断全局变量g_ucDPRamInt的值;如果g_ucDPRamInt=1,则返回测试错误,如果g_ucDPRamInt=0,则返回测试正确,测试结束。
参照图4B,被测板CPU中运行的测试中断程序测试步骤如下:设置双口RAM操作的基地址pwRamBaseAddr;读出(pwRamBaseAddr+0x7FE)地址的数据;判断读出的数据是否为0X5555,如果是,则将全局变量设置为0,如果不是,将全局变量设置为1;对自己邮箱单元清零,清除上次通信结果;复位齐偶校验中断信号,中断程序结束。
综上所述,通过本发明的上述技术方案,提出了一种针对双口RAM测试中中断功能的测试检测的测试方法,该方法可以测试覆盖到双口RAM芯片的中断功能、芯片外部中断信号线焊接、以及与CPU通路之间的电路。通过测试可以提高测试的覆盖率,并且方便测试人员进行简单直接的故障定位,在减少返修率,提高发货质量等方面具有优势。此外,该方法不需要复杂的外部环境,可以使用本身单板的应用环境进行测试。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种双口RAM中断功能的测试方法,其特征在于,所述方法包括:
第一CPU向第二CPU的邮箱写入特定数据,并且所述第二CPU设置准备接收中断的条件,进入中断处理程序;
从中断处理函数中读取所述第二CPU的邮箱地址数据,并将所述邮箱地址数据与所述特定数据进行比较;以及
根据比较结果来判断测试是否正常,并恢复到中断以前的状态。
2.根据权利要求1所述的测试方法,其特征在于,所述根据比较结果来判断测试是否正常包括:
在所述特定数据与所述邮箱地址数据一致的情况下,所述测试正常;以及
在所述特定数据与所述邮箱地址数据不一致的情况下,所述测试异常,并进行相应的故障定位。
3.根据权利要求1或2所述的测试方法,其特征在于,还包括:
在读取所述第二CPU的邮箱地址数据之后,将所述第二CPU的邮箱清零。
4.根据权利要求1所述的测试方法,其特征在于,在所述第一CPU和所述第二CPU均具有中断处理功能的情况下,所述方法还包括:
所述第二CPU向所述第一CPU写入所述特定数据的异或值,并且所述第一CPU设置准备接收中断的条件;
所述第一CPU将自己邮箱数据读出,并将读出数据和所述特定数据的异或值进行比较;以及
根据比较结果来判断所述第一CPU的中断测试是否正常。
5.根据权利要求4所述的测试方法,其特征在于,所述根据比较结果来判断所述第一CPU的中断测试是否正常包括:
在所述特定数据的异或值与所述邮箱地址数据一致的情况下,所述测试正常;以及
在所述特定数据的异或值与所述邮箱地址数据不一致的情况下,所述测试异常,并进行相应的故障定位。
6.根据权利要求4或5所述的测试方法,其特征在于,还包括:
将所述第一CPU的邮箱清零。
7.根据权利要求1或4所述的测试方法,其特征在于,所述设置准备接收中断的条件包括将全局变量设置为初始值并且设置超时时间。
8.根据权利要求7所述的测试方法,其特征在于,利用所述全局变量来判断所述测试是否正常。
9.根据权利要求8所述的测试方法,其特征在于,所述利用所述全局变量来判断所述测试是否正常包括:
如果所述特定数据与所述邮箱地址数据一致或者所述特定数据的异或值与所述另一端邮箱地址数据一致,则设置所述全局变量为正确,以及如果所述特定数据与所述邮箱地址数据不一致或者所述特定数据的异或值与所述另一端邮箱地址数据不一致,则设置所述全局变量为失败;以及
在所述超时时间结束之前,完成了对所述邮箱的检测,则进行所述判断,否则结束判断。
10.根据权利要求9所述的测试方法,其特征在于,进行所述判断包括:
如果所述全局变量值设置为正确,则所述测试正常;以及
如果所述全局变量值设置为失败,则所述测试异常,并进行相应的故障定位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100056647A CN101141658A (zh) | 2007-03-08 | 2007-03-08 | 双口ram中断功能的测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100056647A CN101141658A (zh) | 2007-03-08 | 2007-03-08 | 双口ram中断功能的测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101141658A true CN101141658A (zh) | 2008-03-12 |
Family
ID=39193350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100056647A Pending CN101141658A (zh) | 2007-03-08 | 2007-03-08 | 双口ram中断功能的测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101141658A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761054A (zh) * | 2014-01-06 | 2014-04-30 | 丑武胜 | 一种双dpram数据通信系统 |
CN103838899A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 针对硬核mcu的中断控制器的仿真验证系统及方法 |
CN103885844A (zh) * | 2014-03-25 | 2014-06-25 | 卡斯柯信号有限公司 | 基于角色变换的双口ram数据高速安全交互方法及装置 |
WO2014101776A1 (zh) * | 2012-12-25 | 2014-07-03 | 广东瑞洲科技有限公司 | 一种数据传输方法及数据传输系统 |
CN104699620A (zh) * | 2015-04-01 | 2015-06-10 | 山东华芯半导体有限公司 | 一种加速芯片中断控制器验证的系统及方法 |
CN105892347A (zh) * | 2015-01-26 | 2016-08-24 | 北京电子工程总体研究所 | 一种基于仲裁技术的双单片机检测装置及方法 |
CN108228440A (zh) * | 2016-12-13 | 2018-06-29 | 比亚迪股份有限公司 | Cpu程序指针的检测方法和装置 |
-
2007
- 2007-03-08 CN CNA2007100056647A patent/CN101141658A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838899A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 针对硬核mcu的中断控制器的仿真验证系统及方法 |
CN103838899B (zh) * | 2012-11-27 | 2017-12-19 | 上海华虹集成电路有限责任公司 | 针对硬核mcu的中断控制器的仿真验证系统及方法 |
WO2014101776A1 (zh) * | 2012-12-25 | 2014-07-03 | 广东瑞洲科技有限公司 | 一种数据传输方法及数据传输系统 |
CN103761054A (zh) * | 2014-01-06 | 2014-04-30 | 丑武胜 | 一种双dpram数据通信系统 |
CN103885844A (zh) * | 2014-03-25 | 2014-06-25 | 卡斯柯信号有限公司 | 基于角色变换的双口ram数据高速安全交互方法及装置 |
CN105892347A (zh) * | 2015-01-26 | 2016-08-24 | 北京电子工程总体研究所 | 一种基于仲裁技术的双单片机检测装置及方法 |
CN105892347B (zh) * | 2015-01-26 | 2018-10-30 | 北京电子工程总体研究所 | 一种基于仲裁技术的双单片机检测装置及方法 |
CN104699620A (zh) * | 2015-04-01 | 2015-06-10 | 山东华芯半导体有限公司 | 一种加速芯片中断控制器验证的系统及方法 |
WO2016155289A1 (zh) * | 2015-04-01 | 2016-10-06 | 山东华芯半导体有限公司 | 一种加速芯片中断控制器验证的系统及方法 |
CN104699620B (zh) * | 2015-04-01 | 2017-08-25 | 山东华芯半导体有限公司 | 一种加速芯片中断控制器验证的系统及方法 |
CN108228440A (zh) * | 2016-12-13 | 2018-06-29 | 比亚迪股份有限公司 | Cpu程序指针的检测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101141658A (zh) | 双口ram中断功能的测试方法 | |
US20060200257A1 (en) | Microprocessor system for a machine controller in safety-certifiable applications | |
CN104572385A (zh) | 存储器故障检测系统及方法 | |
US20070022333A1 (en) | Testing of interconnects associated with memory cards | |
US7987298B2 (en) | System and method for detecting the status of a universal serial bus port of a mobile phone | |
US7971110B2 (en) | System and method for testing a serial attached small computer system interface | |
JPS6272248A (ja) | デ−タ伝送システムの現用予備切替方法 | |
CN110658400B (zh) | 基于嵌入式的测试方法、微控制器和系统 | |
CN101227263B (zh) | 一种在线故障检测系统、装置及方法 | |
CN101373453A (zh) | 数据传输装置的制造方法、测试方法以及数据传输装置 | |
CN112269120A (zh) | 接口信号回环测试方法、装置、计算机设备和存储介质 | |
CN105446837B (zh) | 检测iic接口器件是否连接的方法、装置以及系统 | |
CN101354667A (zh) | 一种外围组件互连总线级压力测试方法 | |
CN114297134A (zh) | 一种芯片架构及信号完整性测试方法 | |
US10346265B2 (en) | Protocol aware testing engine for high speed link integrity testing | |
JP5941993B2 (ja) | 互いに独立した複数の電子構成部品と中央処理装置との間の接続ラインにおける欠陥を検出する方法および装置 | |
CN106324420B (zh) | 一种显示故障检测方法 | |
CN102750230B (zh) | 一种通用串行总线存储设备的访问控制系统及方法 | |
CN100511172C (zh) | 一种板间透传总线的测试装置及方法 | |
CN116340068A (zh) | 一种服务器、主板及一种服务器的外接设备故障定位方法 | |
CN212112454U (zh) | 一种带有otg端口的车用hub通信检测设备 | |
CN100472667C (zh) | 一种电子磁盘的测试方法 | |
US9742654B1 (en) | Communication interface testing | |
JP2006301784A (ja) | プログラマブルロジックコントローラ | |
US20140380111A1 (en) | Testing system for serial interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080312 |