CN101645057A - 一种防止cpu局域总线挂死的方法及装置 - Google Patents
一种防止cpu局域总线挂死的方法及装置 Download PDFInfo
- Publication number
- CN101645057A CN101645057A CN200810146207A CN200810146207A CN101645057A CN 101645057 A CN101645057 A CN 101645057A CN 200810146207 A CN200810146207 A CN 200810146207A CN 200810146207 A CN200810146207 A CN 200810146207A CN 101645057 A CN101645057 A CN 101645057A
- Authority
- CN
- China
- Prior art keywords
- slave
- cpu
- signal
- processing unit
- logical processing
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种防止CPU局域总线挂死的方法及装置,上述方法包括:从属设备逻辑处理单元判断从属设备超时未发送TA信号时,构造符合CPU时序的TA信号并发送给CPU。上述装置包括依次相连的CPU、从属设备和从属设备逻辑处理单元,所述从属设备逻辑处理单元,用于判断从属设备超时未发送TA信号时,构造符合CPU时序的TA信号并发送给CPU。本发明适用于使用从属设备提供TA信号的应用,避免CPU局域总线挂死;还可以定位出故障设备,避免故障扩散,提高系统稳定性。
Description
技术领域
本发明涉及计算机通信领域,尤其涉及计算机通信硬件平台中防止CPU局域总线(Local Bus)挂死的方法及装置。
背景技术
计算机通信硬件平台中CPU(主设备)通过微处理器接口访问外围设备(从属设备)时,为了保证主从设备之间正常通讯协调工作,主从设备之间一般有两种传输响应方式:
(1)CPU产生TA信号,以结束与从属设备的读或写操作。CPU通过微处理器接口对从属设备进行读写访问时,由CPU内部寄存器设置一个固定的等待周期,每次读写操作过程中这个固定的等待周期来到时,CPU产生TA信号,结束此次读或写操作。
(2)从属设备产生TA信号。与CPU通过微处理器接口进行通信的从属设备向CPU发送TA信号,通知CPU此次读写操作结束,可以开始下一次读写操作。
在对微处理器接口的通信效率要求较高的应用中,一般都会选择第二种传输响应方式即TA信号由从属设备生成的方式。如图1所示,从属设备逻辑处理单元将各个从属设备发出的TA信号进行逻辑处理,转换为符合CPU读写时序要求的TA信号后发送给CPU。通常情况下,从属设备都会正常输出TA信号,但是当从属设备由于忙于处理内部中断或DMA(直接存储存取方式)调度不及时、或者从属设备发生故障时,会出现CPU在对从属设备一次读写操作访问的最大时间内,从属设备无法输出TA信号的情况。这样就会造成CPU的局域总线挂死,从而造成系统无法正常工作。
发明内容
本发明要解决的技术问题是提供一种防止CPU局域总线挂死的方法及装置,防止由从属设备提供TA信号时,由于从属设备不能按时输出TA信号导致CPU挂死。
为了解决上述问题,本发明提供了一种防止CPU局域总线挂死的方法,包括:从属设备逻辑处理单元判断从属设备超时未发送TA信号时,构造符合CPU时序的TA信号并发送给CPU。
进一步地,所述从属设备逻辑处理单元设置计数器以及计数阈值,在从属设备与CPU开始读写操作时,将计数器清零并开始计数,在计数器到达计数阈值时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号;或者,所述从属设备逻辑处理单元设置定时器以及定时时间,在从属设备与CPU开始读写操作时,启动定时器,在定时器到达定时时间时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号。
进一步地,所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,通过中断通知CPU从属设备处于异常状态。
进一步地,所述从属设备逻辑处理单元设置TA标志位,将所述TA标志位默认为从属设备正常状态,在判断从属设备超时后未发送TA信号后,设置所述TA标志位为从属设备异常状态。
进一步地,所述从属设备逻辑处理单元在计数器未达到阈值时或定时器未达到定时时间时,收到从属设备的TA信号后,将此TA信号转换为符合CPU时序的TA信号发送为CPU,并将TA标志位设置为从属设备正常状态。
进一步地,CPU收到从属设备逻辑处理单元发送的TA信号后,结束与所述从属设备的读写操作,读取TA标志位,如果TA标志位为从属设备正常状态,获知从属设备读写正常,如果TA标志位为从属设备异常状态,获知从属设备读或写异常。
进一步地,CPU读取完所述TA标志位后,将所述TA标志位设置为从属设备正常状态。
为了解决上述问题,本发明还提供了一种防止CPU局域总线挂死的装置,包括依次相连的CPU、从属设备和从属设备逻辑处理单元,所述从属设备逻辑处理单元,用于判断从属设备超时未发送TA信号时,构造符合CPU时序的TA信号并发送给CPU。
进一步地,所述从属设备逻辑处理单元,还包含一计数器单元,用于设置计数器以及计数阈值,在从属设备与CPU开始读或写操作时,将计数器清零并开始计数,在计数器到达计数阈值时未收到从属设备的TA信号,则判断从属设备超时;或者,包含一定时器单元,用于设置定时器以及定时时间,在从属设备与CPU开始读写操作时,启动定时器,在定时器到达定时时间时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号。
进一步地,所述从属设备逻辑处理单元,还包含一标志位设置模块,用于设置TA标志位,在从属设备与CPU读或写操作开始时将所述TA标志位默认为从属设备正常状态,在所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,设置所述TA标志位为从属设备异常状态;所述CPU,用于收到从属设备逻辑处理单元发送的TA信号后,结束与所述从属设备的读写操作,读取TA标志位,如果TA标志位为从属设备正常状态,获知从属设备读写正常;如果TA标志位为从属设备异常状态,获知从属设备读写异常。
进一步地,所述从属设备逻辑处理单元,还包含一中断模块,用于在所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,以中断方式通知CPU从属设备异常。
进一步地,所述从属设备逻辑处理单元为复杂可编程逻辑器件或现场可编程门阵列。
本发明中防止CPU局域总线挂死的方法,适用于使用从属设备提供TA信号的应用,由于从属设备性能要求高时,出现不能及时输出TA信号的情况。在从属设备不能及时输出TA信号结束此次操作时,由从属设备逻辑处理单元构造TA信号结束读写操作,避免CPU局域总线挂死;还可以定位出故障设备,避免故障扩散,提高系统稳定性。
附图说明
图1是现有技术中TA信号产生方法的示意图;
图2是本发明中TA信号产生方法的示意图;
图3是本发明中TA信号的产生方法的流程图。
具体实施方式
本发明中从属设备逻辑处理单元判断从属设备超时未发送TA信号时,构造符合CPU时序的TA信号并发送给CPU,使CPU结束此次读写操作,防止由于从属设备不能按时输出TA信号导致CPU挂死。
如图2所示,本发明中防止CPU局域总线挂死的装置包括依次相连的CPU、从属设备和从属设备逻辑处理单元,
从属设备逻辑处理单元,包含一计数器单元,用于设置计数器以及计数阈值,在从属设备与CPU开始读写操作时,将计数器清零并开始计数,在计数器到达计数阈值时未收到从属设备的TA信号,则判断从属设备超时;计数阈值一般由CPU根据访问从设备的最大读写访问周期设置;或者,包含一定时器单元,用于设置定时器以及定时时间,在从属设备与CPU开始读写操作时,启动定时器,在定时器到达定时时间时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号。
从属设备逻辑处理单元,还包含一标志位设置模块,还用于在从属设备与CPU读或写操作开始时将所述TA标志位默认为从属设备正常状态,在从属设备逻辑处理单元判断从属设备超时后,设置所述TA标志位为从属设备异常状态;或者,包含一中断模块,用于在所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,以中断方式通知CPU从属设备异常。
所述CPU,用于收到从属设备逻辑处理单元发送的TA信号后,结束与所述从属设备的读写操作,读取TA标志位,如果TA标志位为0,获知从属设备读写正常,如果TA标志位为1,获知从属设备读写异常。TA标志位也可使用其他值指示从属设置读写正常或异常,本发明不作限定。从属设备逻辑处理单元由复杂可编程逻辑器件CPLD(ComplexProgrammable Logic Device)或现场可编程门阵列FPGA(Field-ProgrammableGate Array)实现。
如图3所示,本发明中防止CPU局域总线挂死的方法中,从属设备逻辑处理单元设置计数器和TA标志位,TA标志位的从属设备异常状态用1表示,从属设备正常状态用0表示(还可以有其它表示方式),具体包括以下步骤:
步骤301,从属设备逻辑处理单元在系统时钟上升沿时,检测是否有系统复位信号,如果没有复位信号,执行下一步;否则,将计数器置零,将TA标志为0,重新执行步骤301;
步骤302,检测从属设备相应的片选信号是否有效,如果无效,将计数器置零,将TA标志为0,返回步骤301;如果有效,执行下一步;
步骤303,在从属设备与CPU开始读写操作时,将计数器清零并开始计数;
步骤304,判断在计数器未到达计数阈值前是否收到从属设备的TA信号;如果是,转到步骤306,否则,执行下一步;
步骤305,判断从属设备超时,设置TA标志位为1,构造符合CPU时序的TA信号并发送给CPU;执行步骤307;
步骤306;从属设备逻辑处理单元设置TA标志位为0,将收到的TA信号转换为符合CPU时序的TA信号发送为CPU;
步骤307,CPU收到从属设备逻辑处理单元发送的TA信号后,结束与所述从属设备的读写操作,读取TA标志位;如果TA标志位为0,获知从属设备读写正常,如果TA标志位为1,获知从属设备读写异常,进行相应处理,流程结束。
CPU读取完所述TA标志位后,将从属设备逻辑处理单元的TA标志位设置为从属设备正常状态,以便下一次判断。
在另一实施例中,从属设备逻辑处理单元设置定时器以及定时时间,在从属设备与CPU开始读写操作时,启动定时器,在定时器到达定时时间时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号;在定时器未达到定时时间时,收到从属设备的TA信号后,将此TA信号转换为符合CPU时序的TA信号发送为CPU,并将TA标志位设置为从属设备正常状态。
在另一实施例中,从属设备逻辑处理单元在判断从属设备超时未发送TA信号后,通过中断的方式通知CPU从属设备处于异常状态。
上述方法中,从属设备逻辑处理单元在从属设备不能及时输出TA信号时,构造TA信号并发送给CPU以结束读写操作,避免CPU局域总线挂死;从属设备逻辑处理单元通过计数器或定时器判断从属设备否超时,还可以用于定位出从属设备故障设备,避免故障扩散,提高系统稳定性。
本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1、一种防止CPU局域总线挂死的方法,其特征在于,
从属设备逻辑处理单元判断从属设备超时未发送TA信号时,构造符合CPU时序的TA信号并发送给CPU。
2、如权利要求1所述的方法,其特征在于,
所述从属设备逻辑处理单元设置计数器以及计数阈值,在从属设备与CPU开始读写操作时,将计数器清零并开始计数,在计数器到达计数阈值时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号;或者,
所述从属设备逻辑处理单元设置定时器以及定时时间,在从属设备与CPU开始读写操作时,启动定时器,在定时器到达定时时间时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号。
3、如权利要求2所述的方法,其特征在于,
所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,通过中断通知CPU从属设备处于异常状态。
4、如权利要求2所述的方法,其特征在于,
所述从属设备逻辑处理单元设置TA标志位,将所述TA标志位默认为从属设备正常状态,在判断从属设备超时后未发送TA信号后,设置所述TA标志位为从属设备异常状态。
5、如权利要求4所述的方法,其特征在手,
所述从属设备逻辑处理单元在计数器未达到阈值时或定时器未达到定时时间时,收到从属设备的TA信号后,将此TA信号转换为符合CPU时序的TA信号发送为CPU,并将TA标志位设置为从属设备正常状态。
6、如权利要求4或5所述的方法,其特征在于,
CPU收到从属设备逻辑处理单元发送的TA信号后,结束与所述从属设备的读写操作,读取TA标志位,如果TA标志位为从属设备正常状态,获知从属设备读写正常,如果TA标志位为从属设备异常状态,获知从属设备读或写异常。
7、一种防止CPU局域总线挂死的装置,包括依次相连的CPU、从属设备和从属设备逻辑处理单元,其特征在于,
所述从属设备逻辑处理单元,用于判断从属设备超时未发送TA信号时,构造符合CPU时序的TA信号并发送给CPU。
8、如权利要求7所述的装置,其特征在于,
所述从属设备逻辑处理单元,还包含一计数器单元,用于设置计数器以及计数阈值,在从属设备与CPU开始读或写操作时,将计数器清零并开始计数,在计数器到达计数阈值时未收到从属设备的TA信号,则判断从属设备超时;或者,包含一定时器单元,用于设置定时器以及定时时间,在从属设备与CPU开始读写操作时,启动定时器,在定时器到达定时时间时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号。
9、如权利要求7或8所述的装置,其特征在于,
所述从属设备逻辑处理单元,还包含一标志位设置模块,用于设置TA标志位,在从属设备与CPU读或写操作开始时将所述TA标志位默认为从属设备正常状态,在所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,设置所述TA标志位为从属设备异常状态;
所述CPU,用于收到从属设备逻辑处理单元发送的TA信号后,结束与所述从属设备的读写操作,读取TA标志位,如果TA标志位为从属设备正常状态,获知从属设备读写正常;如果TA标志位为从属设备异常状态,获知从属设备读写异常。
10、如权利要求7或8所述的装置,其特征在于,
所述从属设备逻辑处理单元,还包含一中断模块,用于在所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,以中断方式通知CPU从属设备异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101462074A CN101645057B (zh) | 2008-08-06 | 2008-08-06 | 一种防止cpu局域总线挂死的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101462074A CN101645057B (zh) | 2008-08-06 | 2008-08-06 | 一种防止cpu局域总线挂死的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101645057A true CN101645057A (zh) | 2010-02-10 |
CN101645057B CN101645057B (zh) | 2012-07-18 |
Family
ID=41656945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101462074A Expired - Fee Related CN101645057B (zh) | 2008-08-06 | 2008-08-06 | 一种防止cpu局域总线挂死的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101645057B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714909A (zh) * | 2013-12-13 | 2015-06-17 | 重庆重邮信科通信技术有限公司 | 处理总线挂死的装置、方法、总线结构及系统 |
CN109558348A (zh) * | 2018-12-19 | 2019-04-02 | 深圳开立生物医疗科技股份有限公司 | 数据搬移方法、装置及系统 |
CN112491510A (zh) * | 2021-02-08 | 2021-03-12 | 南京神鹏机械设备有限公司 | 一种信号处理方法 |
US11115143B2 (en) | 2019-05-24 | 2021-09-07 | Realtek Semiconductor Corp. | Electronic apparatus with data transceiving mechanism and data transceiving method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05502526A (ja) * | 1989-09-08 | 1993-04-28 | オースペックス システムズ インコーポレイテッド | 擬似同期ハンドシェイキングおよびブロックモードデータ転送を利用したエンハンストvmeバスプロトコル |
EP0718772A1 (en) * | 1994-12-14 | 1996-06-26 | International Business Machines Corporation | Method to improve bus latency and to allow burst transfers of unknown length |
US6052745A (en) * | 1998-06-12 | 2000-04-18 | International Business Machines Corporation | System for asserting burst termination signal and burst complete signal one cycle prior to and during last cycle in fixed length burst transfers |
JP4529063B2 (ja) * | 2001-03-30 | 2010-08-25 | ルネサスエレクトロニクス株式会社 | システムシミュレータ、シミュレーション方法及びシミュレーションプログラム |
CN100511162C (zh) * | 2006-09-29 | 2009-07-08 | 华为技术有限公司 | 一种隔离总线故障的方法、装置与一种单板 |
CN100498723C (zh) * | 2006-12-31 | 2009-06-10 | 华为技术有限公司 | 一种避免总线故障的方法、通信设备及总线监控装置 |
CN101089838A (zh) * | 2007-07-28 | 2007-12-19 | 中兴通讯股份有限公司 | 一种实现i2c读写时序的方法 |
-
2008
- 2008-08-06 CN CN2008101462074A patent/CN101645057B/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714909A (zh) * | 2013-12-13 | 2015-06-17 | 重庆重邮信科通信技术有限公司 | 处理总线挂死的装置、方法、总线结构及系统 |
CN104714909B (zh) * | 2013-12-13 | 2019-01-25 | 锐迪科(重庆)微电子科技有限公司 | 处理总线挂死的装置、方法、总线结构及系统 |
CN109558348A (zh) * | 2018-12-19 | 2019-04-02 | 深圳开立生物医疗科技股份有限公司 | 数据搬移方法、装置及系统 |
US11115143B2 (en) | 2019-05-24 | 2021-09-07 | Realtek Semiconductor Corp. | Electronic apparatus with data transceiving mechanism and data transceiving method |
CN112491510A (zh) * | 2021-02-08 | 2021-03-12 | 南京神鹏机械设备有限公司 | 一种信号处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101645057B (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101399654B (zh) | 一种串行通信方法和装置 | |
JP2678283B2 (ja) | データ通信制御装置 | |
US6874052B1 (en) | Expansion bridge apparatus and method for an I2C bus | |
US7003698B2 (en) | Method and apparatus for transport of debug events between computer system components | |
CN101938260A (zh) | 用于限制伪唤醒的静噪滤波 | |
US8386908B2 (en) | Data transmission methods and universal serial bus host controllers utilizing the same | |
JPS644216B2 (zh) | ||
CN101208682B (zh) | 具有锁存服务请求的从设备 | |
CN101645057B (zh) | 一种防止cpu局域总线挂死的方法及装置 | |
CN104714907B (zh) | 一种pci总线转换为isa和apb总线设计方法 | |
CN111078614B (zh) | 一种基于fpga的功能模块 | |
CN201859389U (zh) | 一种复位管理芯片及复位系统 | |
CN109062850B (zh) | 一种单片机的数据发送和接收方法 | |
CN102063356B (zh) | 一种多中央处理单元cpu心跳检测系统及方法 | |
CN103530215A (zh) | 一种内部集成电路主机的自检方法、装置及主机 | |
CN114730283A (zh) | 以锁步方式操作的监测处理器 | |
CN101276321A (zh) | 可释放时钟线的双线总线主控元件、计算机系统及释放方法 | |
US20180129624A1 (en) | Method and apparatus for handling outstanding interconnect transactions | |
EP4198756B1 (en) | Daisy-chain spi integrated circuit and operation method thereof | |
JP2009169854A (ja) | コンピュータシステム、障害処理方法および障害処理プログラム | |
CN114579392A (zh) | 用于写事务的axi总线监视器 | |
EP0353249A1 (en) | Parallel networking architecture | |
CN102270028B (zh) | 一种基于fpga的龙芯主板自动复位的装置 | |
CN104866640A (zh) | 一种全fifo电路设计方法及其通用验证平台 | |
CN113849355B (zh) | I2c速率自适应调整方法、系统、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120718 Termination date: 20170806 |
|
CF01 | Termination of patent right due to non-payment of annual fee |