串行高阶硬盘架构控制器自动初始化方法技术

技术编号:2858106 阅读:216 留言:0更新日期:2012-04-11 18:40
本发明专利技术为一种SATA控制器自动初始化方法,通过该方法可对待测SATA端口作允许/禁止设定。该方法包括以下步骤:输入一个待测SATA端口值于一运行界面上;通过南桥芯片和SATA控制器的制造厂商号/装置号的查表以自动识别所述南桥芯片和SATA控制器;根据识别结果自动更改SATA控制器所在位置的数据以允许所述SATA控制器;自动设定BIOS中偏移地址的数据以完成所述SATA控制器初始化。

【技术实现步骤摘要】

本专利技术涉及一种串行高阶硬盘架构(Serial Advanced TechnologyArchitecture,SATA)控制器初始化方法,特别是一种自动执行的SATA控制器初始化方法。
技术介绍
目前英特尔公司设计的南桥芯片中,内置SATA控制器的有ICH5(ICH,是I/O Contoller Hub的缩写,即南桥)系列(包括ICH5,ICH5R),可支持2个SATA(Serial Advanced Technology Architecture的缩写,即串行高阶硬盘架构)端口;ICH6系列(包括ICH6,ICH6R ICH6M),可支持四个SATA端口,以及未来将推出的ICH7,ICH8等。其中,每种南桥芯片具有一个制造厂商号和一个装置号的信息。这些信息在开机后记录在BIOS(基本输入/输出系统)的某个地址中。现有南桥芯片上SATA控制器初始化方法是按照英特尔公司所提供说明书上的设置步骤手动操作,即在DOS模式下执行“RU.exe”,修改BIOS中的内容。例如手动操作开启ICH6系列SATA控制器功能的步骤为首先在DOS(磁盘操作系统)环境下执行“RU.exe”,按“Alt+T”,选择“ListPCI Device”;选择“Intel Bridge,Dev#=1F,Fun#=00”,然后按回车键,再按“Alt+7”,读位置F0h至F3h的值作为基址,基址+偏移量3418h得出一地址对应ICH6系列SATA控制器的内存位置,键入此地址后按回车,将此内存位置下的所有数据(以二进制表示)的第二位置零;按“Alt+T”,选择“ListPCI Device”,选择“Intel XXXX8086 2652”,按顺序在相应的位置填入如下的值(输入一个值后按回车)(A0h)=18,(A4h)=64,(A0h)=40,(A6h)=22,(92h)=00,(A0h)=1C,(A6h)=04,(92h)=****决定了所允许的端口,如Port 0---01,Port 1---02,Port 2---04,Port 3---08把示波器接在SATA端口的数据线上,示波器就会显示信号的波形图。但是,这样一连串的SATA控制器初始化的手动操作,过程太过复杂费时,而且容易发生人为操作上的错误,给测量人员带来了不便。
技术实现思路
本专利技术的目的在于提供一种SATA控制器自动初始化方法,以对待测SATA端口作允许/禁止设定。为实现本专利技术的目的,本专利技术所采用的初始化方法包括以下步骤输入一个待测SATA端口值于一运行界面上;通过南桥芯片和SATA控制器的制造厂商号/装置号的查表以自动识别所述南桥芯片和SATA控制器;根据识别结果自动更改SATA控制器所在位置的数据以允许所述SATA控制器;自动设定BIOS中偏移地址的数据以完成所述SATA控制器初始化。所述自动设定BIOS中偏移地址的步骤包括初始化所述SATA控制器;禁止所有的SATA端口;进入SATA测试模式;允许待测的SATA端口。本专利技术的有益效果是,该自动初始化方法克服了现有技术复杂费时的不足,能够自动完成待测端口初始化,给产品验证阶段和量产时测量SATA信号带来方便。附图说明图1是本专利技术ICH6系列SATA控制器自动初始化流程图。具体实施方式下面以初始化ICH6 SATA控制器为例,结合ICH6系列SATA端口允许程序流程图,说明本专利技术的具体实施过程。请参阅图1,本专利技术所采用的初始化方法包括以下步骤(1)步骤100,首先判断ICH6系列的南桥芯片是否存在于主板上,若存在,则进入步骤102,若不存在,则结束。本专利技术将ICH6系列所有的南桥芯片建表,首先查找BIOS地址中是否有一个制造厂商号/装置号,与表中ICH6系列的制造厂商号/装置号相同。若存在,表示主板支持该ICH6系列;若不存在,则在界面上显示找不到ICH6系列设备。(2)步骤102,判断SATA控制器是否存在于南桥芯片上,若存在,则进入步骤104,若不存在,则结束。本专利技术将所有的ICH6系列SATA控制器建表,通过查找BIOS地址中是否有一个制造厂商号/装置号,与表中SATA控制器的制造厂商号/装置号相同,若存在,表示南桥支持的是该款SATA控制器;若不存在,则在界面上显示找不到SATA控制器设备。步骤100,步骤102查表形式如下南桥芯片制造厂商号/装置号桌上型电脑ICH6系列 8086/2640笔记本电脑ICH6系列 8086/2641SATA控制器 制造厂商号/装置号ICH6 SATA控制器 8086/2651ICH6R SATA控制器8086/2652ICH6M SATA控制器8086/2653(3)步骤104,设定允许SATA控制器。本专利技术自动读该款南桥芯片在BIOS所分配的第一偏移地址F0h,F1h,F2h,F3h的数值作为第一基址,将第一基址的后三位用000h代替得出第二基址,让第二基址+第二偏移地址3418h得出一地址对应该款SATA控制器的内存位置,将此内存位置下的所有数据(二进制表示)的第二位置零,以允许SATA控制器。(4)步骤106,初始化该款SATA控制器,即对该款SATA控制器在BIOS中的偏移地址A0h,A4h,A0h,A6h设定值,即令(A0h)=18,(A4h)=64,(A0h)=40,(A6h)=22。(5)步骤108,禁止所有的SATA端口,即对偏移地址92h设定值,令(92h)=00。(6)步骤110,进入SATA测试模式,即对A0h,A6h重新设定值,令(A0h)=1C,(A6h)=04。(7)步骤112,允许待测的SATA端口,即对偏移地址92h重新设定值(这个值和用户输入的待测SATA端口值是对应的),然后结束。步骤108和步骤112中,92h设定值实现对SATA端口允许/禁止控制,如下所示设定值端口允许/禁止状态00全部端口禁止01端口0允许02端口1允许04端口2允许08 端口3允许使用本方法初始化ICH6SATA控制器过程是,首先在DOS环境下执行本程序,从键盘上输入与各个端口对应的数值1,2,3,4中的一个,程序就会自动找到ICH6系列南桥芯片,再找到ICH6SATA控制器,程序自动读入ICH6在BIOS所分配的第一偏移地址F0h至F3h的数值作为第一基址,下面是在BIOS中读取的内容偏移地址 数值F0 01F1 C0F2 D1F3 FE第一基址FED1C001h后三位用000h代替,得出第二基址FED1C000h。FED1C000h(第二基址)+3418h(第二偏移地址)=FED1F418hFED1F418h即ICH6SATA控制器对应的内存位置。将该内存位置下所有数据的第二位置零,需转换的数据有(00h)=65h=0110 0101b转换成0110 0001b=61h(02h)=0Fh=0000 1111b转换成0000 1011b=0Bh至此,完成允许SATA控制器。然后,程序再自动执行步骤106至步骤112,完成ICH6 SATA控制器初始化过程。如果要初始化ICH6R SATA控制器或者ICH6M SATA控制器,从流程图来看,比较初始化ICH6 SATA控制器,程序执行内容的差异体现在步骤102至步骤104中。在步骤1本文档来自技高网
...

【技术保护点】
一种串行高阶硬盘架构控制器自动初始化方法,包括以下步骤:输入一个待测SATA端口值于一运行界面上;通过南桥芯片和SATA控制器的制造厂商号/装置号的查表以自动识别所述南桥芯片和SATA控制器;根据识别结果自动更改SA TA控制器所在位置的数据以允许所述SATA控制器;自动设定BIOS中偏移地址的数据以完成所述SATA控制器初始化。

【技术特征摘要】

【专利技术属性】
技术研发人员:王柏昌林鸿年陈维沅王太诚
申请(专利权)人:鸿富锦精密工业深圳有限公司鸿海精密工业股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1