《一种从PCI总线扩展LBE总线的设计方法.pdf》由会员分享,可在线阅读,更多相关《一种从PCI总线扩展LBE总线的设计方法.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103678220 A (43)申请公布日 2014.03.26 CN 103678220 A (21)申请号 201310731962.X (22)申请日 2013.12.23 G06F 13/38(2006.01) (71)申请人 中国航空工业集团公司第六三一研 究所 地址 710119 陕西省西安市锦业二路 15 号 (72)发明人 陈颖图 林清 王爱林 曹彦荣 张锐 李阳 蒋欣 石海洋 刘婷婷 (74)专利代理机构 西安智邦专利商标代理有限 公司 61211 代理人 陈广民 (54) 发明名称 一种从 PCI 总线扩展 LBE 总线的设计方法 (57) 摘要 。
2、本发明采用CPLD或FPGA实现PCI总线与LBE 总线之间的传输协议转换, 包括单周期传输以及 DMA 传输, 达到从 PCI 总线扩展 LBE 总线的目的, 并且按照 PCI 总线规范要求对 PCI 总线数据及控 制信号采用三态设计, 避免对 PCI 总线的其它设 备的正常工作造成影响。 (51)Int.Cl. 权利要求书 3 页 说明书 7 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书7页 附图3页 (10)申请公布号 CN 103678220 A CN 103678220 A 1/3 页 2 1. 一种从 PCI 总线扩展 LBE。
3、 总线的方法, 其特征在于 : 在 CPLD 或 FPGA 内部设置状态 机, 利用状态机实现 PCI 总线及 LBE 总线之间的传输协议转换, 转换的具体步骤如下 : 一、 状态机启动并等待 1】 通过 PCI 主设备复位, 启动 FPGA 或 CPLD 内部的状态机 ; 2】 状态机处于空闲状态, 使 LBE 总线设备选择信号、 访问请求信号及总线命令信号均 无效, 且禁止输出 PCI 设备选择信号机目标准备好信号 ; 3】 等待 PCI 主设备发起总线访问 ; 4】 判断总线访问信号是否有效 ; 如果有效, 进入步骤 5】 ; 如果无效, 转入步骤 2】 ; 二、 发起设备访问并送出访问。
4、地址 5】 锁存 PCI 总线地址及 PCI 总线命令, 并保持至下一个 PCI 总线访问信号 ; 6】 判断 PCI 总线初始准备好信号是否有效 ; 如果有效, 进入步骤 7】 , 如果无效, 转入步 骤 2】 ; 7】 将锁存的 PCI 总线地址作为 LBE 总线地址输出, 并输出字节使能 ; 8】 将 LBE 总线地址进行空间划分, 释放 LBE 总线存储器及 IO 片选 ; 9】 使 PCI 主设备选择信号有效且目标准备好信号无效 ; 10】 判断 LBE 总线是读信号还是写命令, 如果是读信号, 进入步骤 11】 , 三、 完成读信号 11】 释放 LBE 总线读信号且使 LBE 总。
5、线周期为读周期、 释放 LBE 总线访问请求信号且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 12】 判断从设备是否准备好, 如果准备好, 进入步骤 13】 ; 如果没准备好, 判断是否总线 超时, 如果总线超时, 进入步骤 13】 ; 如果总线未超时, 转入步骤 12】 ; 13】 读取 LBE 总线数据至 PCI 总线 ; 14】 使 PCI 总线目标准备好信号有效, 判断 PCI 总线初始准备好信号是否有效, 如果有 效, 进入步骤 15】 , 如果无效, 进入步骤 16】 15】 使 LBE 总线地址递增且目标准备好信号无效, 转入步。
6、骤 12】 ; 16】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线访问 请求信号无效, 使 LBE 总线命令信号无效 ; 17】 禁止输出 PCI 目标准备好信号及设备选择信号 ; 使 LBE 总线访问信号无效、 LBE 总 线信号无效、 将 LBE 读信号设置为固定状态 ; 18】 结束总线访问, 返回空闲状态。 2. 根据权利要求 1 所述的从 PCI 总线扩展 LBE 总线的方法, 其特征在于 : 如果步骤 10】 中判断 LBE 总线是写信号, 则按照以下步骤完成写访问 : 四、 完成写访问 19】 释放 LBE 总线写信号且使 LBE 。
7、总线周期为写周期、 释放 LBE 总线访问请求信号且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 20】 判断 LBE 从设备是否准备好, 如果准备好, 进入步骤 21】 ; 如果没准备好, 判断是否 总线超时, 如果总线超时, 进入步骤 21】 ; 如果总线未超时, 转入步骤 20】 ; 21】 发送 PCI 总线数据至 LBE 总线 ; 22】 使 PCI 总线目标准备好信号有效, 判断 PCI 总线初始准备好信号是否有效, 如果有 权 利 要 求 书 CN 103678220 A 2 2/3 页 3 效, 进入步骤 23】 , 如果无效,。
8、 进入步骤 24】 ; 23】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 20】 ; 24】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线访问 请求信号无效, 使 LBE 总线信号无效 ; 25】 禁止输出PCI目标准备好信号、 设备选择信号 ; 使LBE总线访问信号无效、 使LBE总 线信号无效、 将 LBE 写信号设置为固定状态 ; 26】 结束总线访问, 返回空闲状态。 3. 一种从 PCI 总线扩展 LBE 总线的方法, 其特征在于 : 在 CPLD 或 FPGA 内部设置状态 机, 利用状态机实现 PCI 总线及 LBE 。
9、总线之间的传输协议转换, 转换的具体步骤如下 : 一、 状态机启动并等待 1】 通过 PCI 主设备复位, 启动 FPGA 或 CPLD 内部的状态机 ; 2】 状态机处于空闲状态, 使 LBE 总线设备选择信号、 访问请求信号及总线命令信号均 无效, 且使 PCI 设备选择信号机目标准备好均无效 ; 3】 等待 PCI 主设备发起总线访问 ; 4】 判断总线访问信号是否有效 ; 如果有效, 进入步骤 5】 ; 如果无效, 转入步骤 2】 ; 二、 发起设备访问并送出访问地址 5】 锁存 PCI 总线地址及 PCI 总线命令, 并保持至下一个 PCI 总线访问信号 ; 6】 判断 PCI 总线。
10、初始准备好信号是否有效 ; 如果有效, 进入步骤 7】 , 如果无效, 转入步 骤 2】 ; 7】 将锁存的 PCI 总线地址作为 LBE 总线地址输出, 并输出字节使能 ; 8】 将 LBE 总线地址进行空间划分, 释放 LBE 总线存储器及 IO 片选 ; 9】 使 PCI 主设备选择信号有效且目标准备好信号无效 ; 10】 判断 LBE 总线是读信号还是写命令, 如果是读信号, 进入步骤 11】 , 三、 完成读信号 11】 释放 LBE 总线读信号且使 LBE 总线周期为读周期、 释放 LBE 总线访问请求信号且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE。
11、 总线命令信号有效, 12】 判断从设备是否准备好, 如果准备好, 进入步骤 13】 ; 如果没准备好, 判断是否总线 超时, 如果总线超时, 进入步骤 13】 ; 如果总线未超时, 转入步骤 12】 ; 13】 读取 LBE 总线数据至 PCI 总线 ; 14】 使 PCI 总线目标准备好信号有效, 判断 PCI 总线初始准备好信号是否有效, 如果有 效, 进入步骤 15】 , 如果无效, 进入步骤 16】 15】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 12】 ; 16】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线访问 请求。
12、信号无效, 使 LBE 总线命令信号无效 ; 17】 使 PCI 目标准备好信号及设备选择信号均无效 ; 使 LBE 总线访问信号、 LBE 总线信 号均无效、 将 LBE 读信号设置为固定状态 ; 18】 结束总线访问, 返回空闲状态。 4. 根据权利要求 3 所述的从 PCI 总线扩展 LBE 总线的方法, 其特征在于 : 如果步骤 10】 中判断 LBE 总线是写信号, 则按照以下步骤完成写访问 : 权 利 要 求 书 CN 103678220 A 3 3/3 页 4 四、 完成写访问 19】 释放 LBE 总线写信号且使 LBE 总线周期为写周期、 释放 LBE 总线访问请求信号且使 。
13、LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 20】 判断 LBE 从设备是否准备好, 如果准备好, 进入步骤 21】 ; 如果没准备好, 判断是否 总线超时, 如果总线超时, 进入步骤 21】 ; 如果总线未超时, 转入步骤 20】 ; 21】 发送 PCI 总线数据至 LBE 总线 ; 22】 使 PCI 总线目标准备好信号有效, 判断 PCI 总线初始准备好信号是否有效, 如果有 效, 进入步骤 23】 , 如果无效, 进入步骤 24】 ; 23】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 20】 ; 24】 使 PCI 总线。
14、目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线访问 请求信号无效, 使 LBE 总线信号无效 ; 25】 使 PCI 目标准备好信号、 设备选择信号均无效 ; 使 LBE 总线访问信号、 使 LBE 总线 信号均无效、 将 LBE 写信号设置为固定状态 ; 26】 结束总线访问, 返回空闲状态。 权 利 要 求 书 CN 103678220 A 4 1/7 页 5 一种从 PCI 总线扩展 LBE 总线的设计方法 技术领域 0001 本发明是一种从 PCI 总线扩展 LBE 总线的设计方法, 该技术属于嵌入式计算机系 统设计技术领域。 背景技术 0002 PCI是外。
15、围设备互连 (Peripheral Component Interconnect) 的简称, 作为一种通 用的总线接口标准, 它在目前的计算机系统中得到了非常广泛的应用。 0003 LBE(Local Bus Extent局部总线扩展)总线是广泛应用于机载嵌入式计算机系统 的 32 位系统总线, 最高总线速度可达 33MHz, 位宽 32 位, 它包含一个第一主设备, 最多可支 持 8 个设备之间的互联。 0004 目前, LBE 总线已广泛应用于机载嵌入式计算机系统, 但这种计算机系统基本上都 是将 80486 处理器局部总线直接进行了电气信号的扩展, 作为 LBE 总线使用。随着我国机 载。
16、领域快速发展, 以 80486 处理器为 CPU 的核心计算平台已无法满足当前机载嵌入式计算 机系统对性能的要求。越来越多的计算机系统选择了高性能的 PowerPC 处理器作为 CPU。 而 PowerPC 处理器基本上都采用 PCI 总线作为系统内总线, PCI 总线与 LBE 总线在传输协 议上并不兼容, 这样就造成了以 PowerPC 处理器为 CPU 的高性能计算平台无法对机载嵌入 式计算机系统中以 80486 处理器为 CPU 的低性能计算平台进行升级替代。 0005 我国当前正面临对老旧机载计算机设备进行升级替代的现状, 因此, 设计一种从 PCI总线扩展LBE总线的方法对于我国此。
17、类项目的研究具有非常重要的意义, 并且由于LBE 总线在机载嵌入式计算机系统领域的广泛应用, 此设计方法的实用价值能够对此类产品的 市场推广起到很大的推动作用。 发明内容 0006 为了解决以PowerPC处理器为CPU的高性能计算平台无法对机载嵌入式计算机系 统中以 80486 处理器为 CPU 的低性能计算平台进行升级替代的技术问题, 本发明提供一种 从 PCI 总线扩展 LBE 总线的设计方法。 0007 本发明的技术解决方案如下 : 0008 一种从 PCI 总线扩展 LBE 总线的方法, 其特殊之处在于 : 在 CPLD 或 FPGA 内部设置 状态机, 利用状态机实现 PCI 总线。
18、及 LBE 总线之间的传输协议转换, 转换的具体步骤如下 : 0009 一、 状态机启动并等待 0010 1】 通过 PCI 主设备复位, 启动 FPGA 或 CPLD 内部的状态机 ; 0011 2】 状态机处于空闲状态, 使 LBE 总线设备选择信号、 访问请求信号及总线命令信 号均无效, 且禁止输出 PCI 设备选择信号机目标准备好信号 ; 0012 3】 等待 PCI 主设备发起总线访问 ; 0013 4】 判断总线访问信号是否有效 ; 如果有效, 进入步骤 5】 ; 如果无效, 转入步骤 2】 ; 0014 二、 发起设备访问并送出访问地址 说 明 书 CN 103678220 A 。
19、5 2/7 页 6 0015 5】 锁存 PCI 总线地址及 PCI 总线命令, 并保持至下一个 PCI 总线访问信号 ; 0016 6】 判断 PCI 总线初始准备好信号是否有效 ; 如果有效, 进入步骤 7】 , 如果无效, 转 入步骤 2】 ; 0017 7】 将锁存的 PCI 总线地址作为 LBE 总线地址输出, 并输出字节使能 ; 0018 8】 将 LBE 总线地址进行空间划分, 释放 LBE 总线存储器及 IO 片选 ; 0019 9】 使 PCI 主设备选择信号有效且目标准备好信号无效 ; 0020 10】 判断 LBE 总线是读信号还是写命令, 如果是读信号, 进入步骤 11。
20、】 , 0021 三、 完成读信号 0022 11】 释放 LBE 总线读信号且使 LBE 总线周期为读周期、 释放 LBE 总线访问请求信号 且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 0023 12】 判断从设备是否准备好, 如果准备好, 进入步骤 13】 ; 如果没准备好, 判断是否 总线超时, 如果总线超时, 进入步骤 13】 ; 如果总线未超时, 转入步骤 12】 ; 0024 13】 读取 LBE 总线数据至 PCI 总线 ; 0025 14】 使PCI总线目标准备好信号有效, 判断PCI总线初始准备好信号是 否有效, 如 果有。
21、效, 进入步骤 15】 , 如果无效, 进入步骤 16】 0026 15】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 12】 ; 0027 16】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线 访问请求信号无效, 使 LBE 总线命令信号无效 ; 0028 17】 禁止输出PCI目标准备好信号及设备选择信号 ; 使LBE总线访问信号无效、 LBE 总线信号无效、 将 LBE 读信号设置为固定状态 ; 0029 18】 结束总线访问, 返回空闲状态。 0030 如果步骤 10】 中判断 LBE 总线是写信号, 则按照以下步骤完成写访问。
22、 : 0031 四、 完成写访问 0032 19】 释放 LBE 总线写信号且使 LBE 总线周期为写周期、 释放 LBE 总线访问请求信号 且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 0033 20】 判断 LBE 从设备是否准备好, 如果准备好, 进入步骤 21】 ; 如果没准备好, 判断 是否总线超时, 如果总线超时, 进入步骤 21】 ; 如果总线未超时, 转入步骤 20】 ; 0034 21】 发送 PCI 总线数据至 LBE 总线 ; 0035 22】 使 PCI 总线目标准备好信号有效, 判断 PCI 总线初始准备好信号是否有。
23、效, 如 果有效, 进入步骤 23】 , 如果无效, 进入步骤 24】 ; 0036 23】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 20】 ; 0037 24】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线 访问请求信号无效, 使 LBE 总线信号无效 ; 0038 25】 禁止输出 PCI 目标准备好信号、 设备选择信号 ; 使 LBE 总线访问信号无效、 使 LBE 总线信号无效、 将 LBE 写信号设置为固定状态 ; 0039 26】 结束总线访问, 返回空闲状态。 0040 一种从 PCI 总线扩展 LBE 总线的方法,。
24、 其特殊之处在于 : 在 CPLD 或 FPGA 内部设置 状态机, 利用状态机实现 PCI 总线及 LBE 总线之间的传输协议转换, 如果 PCI 总线数据及控 制信号采用两态设计时, 转换的具体步骤如下 : 说 明 书 CN 103678220 A 6 3/7 页 7 0041 一、 状态机启动并等待 0042 1】 通过 PCI 主设备复位, 启动 FPGA 或 CPLD 内部的状态机 ; 0043 2】 状态机处于空闲状态, 使 LBE 总线设备选择信号、 访问请求信号及总线命令信 号均无效, 且使 PCI 设备选择信号机目标准备好均无效 ; 0044 3】 等待 PCI 主设备发起总。
25、线访问 ; 0045 4】 判断总线访问信号是否有效 ; 如果有效, 进入步骤 5】 ; 如果无效, 转入步骤 2】 ; 0046 二、 发起设备访问并送出访问地址 0047 5】 锁存 PCI 总线地址及 PCI 总线命令, 并保持至下一个 PCI 总线访问信号 ; 0048 6】 判断 PCI 总线初始准备好信号是否有效 ; 如果有效, 进入步骤 7】 , 如果无效, 转 入步骤 2】 ; 0049 7】 将锁存的 PCI 总线地址作为 LBE 总线地址输出, 并输出字节使能 ; 0050 8】 将 LBE 总线地址进行空间划分, 释放 LBE 总线存储器及 IO 片选 ; 0051 9】。
26、 使 PCI 主设备选择信号有效且目标准备好信号无效 ; 0052 10】 判断 LBE 总线是读信号还是写命令, 如果是读信号, 进入步骤 11】 , 0053 三、 完成读信号 0054 11】 释放 LBE 总线读信号且使 LBE 总线周期为读周期、 释放 LBE 总线访问请求信号 且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 0055 12】 判断从设备是否准备好, 如果准备好, 进入步骤 13】 ; 如果没准备好, 判断是否 总线超时, 如果总线超时, 进入步骤 13】 ; 如果总线未超时, 转入步骤 12】 ; 0056 13】 。
27、读取 LBE 总线数据至 PCI 总线 ; 0057 14】 使 PCI 总线目标准备好信号有效, 判断 PCI 总线初始准备好信号是否有效, 如 果有效, 进入步骤 15】 , 如果无效, 进入步骤 16】 0058 15】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 12】 ; 0059 16】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线 访问请求信号无效, 使 LBE 总线命令信号无效 ; 0060 17】 使 PCI 目标准备好信号及设备选择信号均无效 ; 使 LBE 总线访问信号、 LBE 总 线信号均无效、 将 LBE 。
28、读信号设置为固定状态 ; 0061 18】 结束总线访问, 返回空闲状态 ; 0062 如果步骤 10】 中判断 LBE 总线是写信号, 则按照以下步骤完成写访问 : 0063 四、 完成写访问 0064 19】 释放 LBE 总线写信号且使 LBE 总线周期为写周期、 释放 LBE 总线访问请求信号 且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 0065 20】 判断 LBE 从设备是否准备好, 如果准备好, 进入步骤 21】 ; 如果没准备好, 判断 是否总线超时, 如果总线超时, 进入步骤 21】 ; 如果总线未超时, 转入步骤 20】。
29、 ; 0066 21】 发送 PCI 总线数据至 LBE 总线 ; 0067 22】 使 PCI 总线目标准备好信号有效, 判断 PCI 总线初始准备好信号是否有效, 如 果有效, 进入步骤 23】 , 如果无效, 进入步骤 24】 ; 0068 23】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 20】 ; 0069 24】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线 说 明 书 CN 103678220 A 7 4/7 页 8 访问请求信号无效, 使 LBE 总线信号无效 ; 0070 25】 使PCI目标准备好信号、 设备选择。
30、信号均无效 ; 使LBE总线访问信号、 使LBE总 线信号均无效、 将 LBE 写信号设置为固定状态 ; 0071 结束总线访问, 返回空闲状态。 0072 本发明与现有技术相比, 优点是 : 0073 1、 本发明采用 CPLD 或 FPGA 实现从 PCI 总线扩展 LBE 总线, 无须增加任何外围扩 展电路, 可节约研发成本, 并且对系统功耗、 尺寸、 重量等重要技术指标不会有明显增加。 0074 2、 本发明具备单周期访问方式及 DMA 访问方式 ; 可以进行单周期传输以及 DMA 传 输, 达到了从 PCI 总线扩展 LBE 总线的目的, 并且在设计中按照 PCI 总线规范要求对 P。
31、CI 总 线数据及控制信号采用三态设计, 避免对 PCI 总线的其它设备的正常工作造成影响。 0075 3、 本发明不会影响 PCI 总线的其它设备正常工作。 0076 4、 本发明实现简单、 工作稳定, 可以被广泛应用。 附图说明 0077 图 1 为 PCI 总线单周期传输时序图 ; 0078 图 2 为 PCI 总线 DMA 传输时序图 ; 0079 图 3 为 LBE 总线传输时序图 ; 0080 图 4PCI 总线扩展 LBE 总线设计流程图。 具体实施方式 0081 本发明仅针对 PCI 总线主设备访问 LBE 总线从设备的情况, 下面以 32 位 /33MHz PCI 总线扩展 。
32、32 位 /33MHz LBE 总线为例, 对本设计方法做进一步详细说明。 0082 1.PCI 总线信号及时序关系 0083 PCI 总线是地址 / 数据复用的总线, 包括以下主要信号 : 0084 AD(31:0) : 32 位地址 / 数据总线 ; 0085 C/BE(3:0) : 命令 / 字节使能信号 ; 0086 FRAME : 总线访问发起信号 ; 0087 DEVSEL : 设备选择信号 ; 0088 IRDY : 初始准备好信号 ; 0089 TRDY : 目标准备好信号。 0090 PCI 总线包括单周期访问及 DMA 访问, 其时序关系见图 1 及图 2。 0091 2.。
33、LBE 总线信号及时序关系 0092 LBE 总线是地址、 数据分开的总线, 包括以下主要信号 : 0093 XA(31:2) : 地址总线 ; 0094 XD(31:0) : 32 位数据总线 ; 0095 XBE(3:0) : 字节使能 , 用于控制 4 个字节的数据 ; 0096 XM/IO : 表示总线周期为存储器访问周期或 IO 访问周期 ; 0097 XD/C : 表示总线周期为数据周期或指令周期 ; 0098 XW/R : 表示总线周期为写周期或读周期 ; 说 明 书 CN 103678220 A 8 5/7 页 9 0099 XSEL : 总线设备选择信号 ; 0100 XCY。
34、C : 访问请求信号, 表示总线周期的地址已有效 ; 0101 XCMD : 总线命令信号, 表示总线周期的数据已有效 ; 0102 XWAIT : 等待信号, 表示从设备未准备好 0103 XBS16 : 16 位设备标识信号。 0104 LBE 总线访问周期时序关系见图 3。 0105 3. 转换方法 0106 本发明在 CPLD 或 FPGA 内部实现从 PCI 总线扩展 LBE 总线的控制, CPLD 或 FPGA 内 部设置状态机, 对总线状态进行监控、 转换, 实现了 PCI 总线至 LBE 总线的透明桥控制。 0107 本发明中 LBE 总线时钟采用与 PCI 总线相同的 33M。
35、Hz 时钟, 对 PCI 周期单周期访 问方式和DMA访问方式均能控制, 下面对本发明的转换方法进行具体描述, 图4为本发明的 流程图。 0108 如果 PCI 总线数据及控制信号采用三态设计时, 转换的具体步骤如下 : 0109 一、 状态机启动并等待 0110 1】 通过 PCI 主设备复位, 启动 FPGA 或 CPLD 内部的状态机 ; 0111 2】 状态机处于空闲状态, 使 LBE 总线设备选择信号、 访问请求信号及总线命令信 号均无效, 且禁止输出 PCI 设备选择信号机目标准备好信号 ; 0112 3】 等待 PCI 主设备发起总线访问 ; 0113 4】 判断总线访问信号是否。
36、有效 ; 如果有效, 进入步骤 5】 ; 如果无效, 转入步骤 2】 ; 0114 二、 发起设备访问并送出访问地址 0115 5】 锁存 PCI 总线地址及 PCI 总线命令, 并保持至下一个 PCI 总线访问信号 ; 0116 6】 判断 PCI 总线初始准备好信号是否有效 ; 如果有效, 进入步骤 7】 , 如果无效, 转 入步骤 2】 ; 0117 7】 将锁存的 PCI 总线地址作为 LBE 总线地址输出, 并输出字节使能 ; 0118 8】 将 LBE 总线地址进行空间划分, 释放 LBE 总线存储器及 IO 片选 ; 0119 9】 使 PCI 主设备选择信号有效且目标准备好信号。
37、无效 ; 0120 10】 判断 LBE 总线是读信号还是写命令, 如果是读信号, 进入步骤 11】 , 0121 三、 完成读信号 0122 11】 释放 LBE 总线读信号且使 LBE 总线周期为读周期、 释放 LBE 总线访问请求信号 且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 0123 12】 判断从设备是否准备好, 如果准备好, 进入步骤 13】 ; 如果没准备好, 判断是否 总线超时, 如果总线超时, 进入步骤 13】 ; 如果总线未超时, 转入步骤 12】 ; 0124 13】 读取 LBE 总线数据至 PCI 总线 ; 01。
38、25 14】 使 PCI 总线目标准备好信号有效, 判断 PCI 总线初始准备好信号是否有效, 如 果有效, 进入步骤 15】 , 如果无效, 进入步骤 16】 0126 15】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 12】 ; 0127 16】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线 访问请求信号无效, 使 LBE 总线命令信号无效 ; 0128 17】 禁止输出PCI目标准备好信号及设备选择信号 ; 使LBE总线访问信号无效、 LBE 说 明 书 CN 103678220 A 9 6/7 页 10 总线信号无效、 将 。
39、LBE 读信号设置为固定状态 ; 0129 18】 结束总线访问, 返回空闲状态。 0130 如果步骤 10】 中判断 LBE 总线是写信号, 则按照以下步骤完成写访问 : 0131 完成写访问 0132 19】 释放 LBE 总线写信号且使 LBE 总线周期为写周期、 释放 LBE 总线访问请求信号 且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 0133 20】 判断 LBE 从设备是否准备好, 如果准备好, 进入步骤 21】 ; 如果没准备好, 判断 是否总线超时, 如果总线超时, 进入步骤 21】 ; 如果总线未超时, 转入步骤 20】。
40、 ; 0134 21】 发送 PCI 总线数据至 LBE 总线 ; 0135 22】 使 PCI 总线目标准备好信号有效, 判断 PCI 总线初始准备好信号是否有效, 如 果有效, 进入步骤 23】 , 如果无效, 进入步骤 24】 ; 0136 23】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 20】 ; 0137 24】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线 访问请求信号无效, 使 LBE 总线信号无效 ; 0138 25】 禁止输出 PCI 目标准备好信号、 设备选择信号 ; 使 LBE 总线访问信号无效、 使 LBE。
41、 总线信号无效、 将 LBE 写信号设置为固定状态 ; 0139 26】 结束总线访问, 返回空闲状态。 0140 如果 PCI 总线数据及控制信号采用两态设计时, 转换的具体步骤如下 : 0141 一、 状态机启动并等待 0142 1】 通过 PCI 主设备复位, 启动 FPGA 或 CPLD 内部的状态机 ; 0143 2】 状态机处于空闲状态, 使 LBE 总线设备选择信号、 访问请求信号及总线命令信 号均无效, 且使 PCI 设备选择信号机目标准备好均无效 ; 0144 3】 等待 PCI 主设备发起总线访问 ; 0145 4】 判断总线访问信号是否有效 ; 如果有效, 进入步骤 5】。
42、 ; 如果无效, 转入步骤 2】 ; 0146 二、 发起设备访问并送出访问地址 0147 5】 锁存 PCI 总线地址及 PCI 总线命令, 并保持至下一个 PCI 总线访问信号 ; 0148 6】 判断 PCI 总线初始准备好信号是否有效 ; 如果有效, 进入步骤 7】 , 如果无效, 转 入步骤 2】 ; 0149 7】 将锁存的 PCI 总线地址作为 LBE 总线地址输出, 并输出字节使能 ; 0150 8】 将 LBE 总线地址进行空间划分, 释放 LBE 总线存储器及 IO 片选 ; 0151 9】 使 PCI 主设备选择信号有效且目标准备好信号无效 ; 0152 10】 判断 L。
43、BE 总线是读信号还是写命令, 如果是读信号, 进入步骤 11】 , 0153 三、 完成读信号 0154 11】 释放 LBE 总线读信号且使 LBE 总线周期为读周期、 释放 LBE 总线访问请求信号 且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 0155 12】 判断从设备是否准备好, 如果准备好, 进入步骤 13】 ; 如果没准备好, 判断是否 总线超时, 如果总线超时, 进入步骤 13】 ; 如果总线未超时, 转入步骤 12】 ; 0156 13】 读取 LBE 总线数据至 PCI 总线 ; 0157 14】 使 PCI 总线目标准。
44、备好信号有效, 判断 PCI 总线初始准备好信号是否有效, 如 说 明 书 CN 103678220 A 10 7/7 页 11 果有效, 进入步骤 15】 , 如果无效, 进入步骤 16】 0158 15】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 12】 ; 0159 16】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线 访问请求信号无效, 使 LBE 总线命令信号无效 ; 0160 17】 使 PCI 目标准备好信号及设备选择信号均无效 ; 使 LBE 总线访问信号、 LBE 总 线信号均无效、 将 LBE 读信号设置为固定状。
45、态 ; 0161 18】 结束总线访问, 返回空闲状态 ; 0162 如果步骤 10】 中判断 LBE 总线是写信号, 则按照以下步骤完成写访问 : 0163 四、 完成写访问 0164 19】 释放 LBE 总线写信号且使 LBE 总线周期为写周期、 释放 LBE 总线访问请求信号 且使 LBE 总线访问请求信号有效、 释放 LBE 总线命令信号且使 LBE 总线命令信号有效, 0165 20】 判断 LBE 从设备是否准备好, 如果准备好, 进入步骤 21】 ; 如果没准备好, 判断 是否总线超时, 如果总线超时, 进入步骤 21】 ; 如果总线未超时, 转入步骤 20】 ; 0166 2。
46、1】 发送 PCI 总线数据至 LBE 总线 ; 0167 22】 使 PCI 总线目标准备好信号有效, 判断 PCI 总线初始准备好信号是否有效, 如 果有效, 进入步骤 23】 , 如果无效, 进入步骤 24】 ; 0168 23】 使 LBE 总线地址递增且目标准备好信号无效, 转入步骤 20】 ; 0169 24】 使 PCI 总线目标准备好信号无效、 使 PCI 总线设备选择信号无效、 使 LBE 总线 访问请求信号无效, 使 LBE 总线信号无效 ; 0170 25】 使PCI目标准备好信号、 设备选择信号均无效 ; 使LBE总线访问信号、 使LBE总 线信号均无效、 将 LBE 写信号设置为固定状态 ; 0171 26】 结束总线访问, 返回空闲状态。 说 明 书 CN 103678220 A 11 1/3 页 12 图 1 图 2 说 明 书 附 图 CN 103678220 A 12 2/3 页 13 图 3 说 明 书 附 图 CN 103678220 A 13 3/3 页 14 图 4 说 明 书 附 图 CN 103678220 A 14 。