[发明专利]用于多硬件平台飞腾服务器的I2C总线的实现方法有效
| 申请号: | 201210095026.X | 申请日: | 2012-03-31 |
| 公开(公告)号: | CN102650975A | 公开(公告)日: | 2012-08-29 |
| 发明(设计)人: | 戴华东;孙立明;邵立松;董攀;张卫华;李振钊;魏彦斌;李真能 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
| 主分类号: | G06F13/20 | 分类号: | G06F13/20 |
| 代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 赵洪;谭武艺 |
| 地址: | 410073 湖南省长沙市砚瓦池正街47*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 硬件 平台 飞腾 服务器 i2c 总线 实现 方法 | ||
技术领域
本发明涉及飞腾服务器的计算机硬件应用平台,特指一种用于多硬件平台飞腾服务器的I2C总线的实现方法。
背景技术
飞腾服务器(FT服务器)是国防科大研制、基于FT1000处理器的服务器计算机平台,其中FT1000处理器是国防科大研制、兼容sparc指令集的通用64位处理器。飞腾服务器目前已经有多种不同的硬件平台,这些不同的硬件平台虽然在硬件设计上有多种不同,但是它们都有一个共同的特点,即都会有一个PCIe交换单元来为系统提供PCIe设备的接入点,目前所有的FT服务器平台都使用下面三种PCIe交换单元中的一种,分别是PEX8664、PEX8648以及PEX8632。因此根据所使用PCIe交换单元的不同,可以把FT服务器平台分成3种:使用PEX8664作为PCIe交换单元的硬件平台、使用PEX8648作为PCIe交换单元的硬件平台以及使用PEX8632作为PCIe交换单元的硬件平台。现有基于FT1000处理器的飞腾服务器中,通过处理器上集成的PCI-Express Unit(PEU: PCIe单元,它实现了PCIe总线中的root complex)从而扩展出了PCIe总线,PCI-Express Unit与PCIe交换单元(PCIe switch)相连,PCIe switch后面则连有PCIe插槽或者具体的PCIe设备。
对于飞腾服务器用GPIO模拟I2C总线的实现而言,目前PCIe交换单元都有片上集成的GPIO,且大多未被使用,所以可以选取其中的两个分别作为I2C总线的SDA线和SCL线。但是,不同的硬件平台采用的PCIe交换单元不同,因此控制GPIO的端口也不相同。如有些平台的PCIe交换单元采用PEX8664实现,有些平台的PCIe交换单元采用PEX8648实现,有些平台的PCIe交换单元采用PEX8632实现。
目前飞腾服务器的基本输入输出系统和加载引导程序在系统启动检测和初始化硬件时把不同平台的PCIe交换单元的PCI内存空间映射到了同一片CPU物理地址空间。但是由于不同的硬件平台之间的采用的PCIe交换单元并不相同,最终导致其I2C总线的实现在软件上也各不相同,具体而言是所述的GPIO驱动程序并不相同,不同的硬件平台之间的I2C总线无法实现通用。飞腾服务器的不同硬件平台的硬件设计上的差异导致了不同平台上I2C总线软件实现上的差异,但是如果不同的飞腾服务器平台使用不同的针对各自硬件平台的实现I2C总线的软件,特别是本发明所要实现的I2C总线功能是要集成到操作系统中的,这将导致在不同的飞腾服务器平台上部署不同的操作系统,这将给飞腾服务器的用户带来不必要的麻烦和使用上的不便,大大降低飞腾服务器的用户体验,不利于飞腾服务器的推广。
发明内容
本发明要解决的技术问题是提供一种能够利用闲置GPIO端口、实施成本低、实现简单、使用方便、兼容性好的用于多硬件平台飞腾服务器的I2C总线的实现方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种用于多硬件平台飞腾服务器的I2C总线的实现方法,其实施步骤如下:
1)在飞腾服务器上PCIe交换单元的片上GPIO端口中指定闲置的两个GPIO端口分别外接上拉电阻并作为I2C总线接口的数据线接口和时钟线接口;
2)在初始化硬件时将PCIe交换单元的PCI内存空间映射为CPU虚拟地址空间;
3)获取PCIe交换单元的类型信息,根据所述PCIe交换单元的类型信息获取所述两个GPIO端口在CPU虚拟地址空间中的映射端口地址;
4)在操作系统中建立并注册用于操作所述两个GPIO端口对应映射端口地址的GPIO驱动程序模块;
5)在使用I2C设备前将设备连接到所述两个GPIO端口;在使用I2C设备时,操作系统中的I2C总线控制器驱动程序产生I2C总线时序的指令,且所述I2C总线时序的指令通过所述GPIO驱动程序模块与连接于所述两个GPIO端口上的I2C设备进行通信。
作为本发明上述技术方案的进一步改进:
所述步骤2)的详细步骤包括:在飞腾服务器启动时首先PCIe交换单元的PCI内存空间映射为CPU物理地址空间,然后将所述CPU物理地址空间映射为CPU虚拟地址空间。
所述GPIO驱动程序模块包括如下子模块:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210095026.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电动车安全充电装置
- 下一篇:卡槽式可更换曝气装置





