一種智能終端設(shè)備以及其對usb接口狀態(tài)進(jìn)行控制的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能終端通訊領(lǐng)域,尤其涉及一種智能終端設(shè)備以及其對USB接口狀態(tài)進(jìn)行控制的方法。
【背景技術(shù)】
[0002]在智能終端使用過程中,基于信息安全考慮,對USB接入設(shè)備的訪問狀態(tài)進(jìn)行控制是必要的。比如,在一些辦公環(huán)境中的計(jì)算機(jī)需要防止文件被非法拷貝,同時(shí)工作人員會經(jīng)常使用USB接口給自己的手持設(shè)備充電,因此如果通過修改系統(tǒng)配置參數(shù)來實(shí)現(xiàn)對USB接入設(shè)備的控制是不安全的,但是去掉USB接口也不便于用戶的使用。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的旨在至少解決上述技術(shù)缺陷之一,提供一種智能終端設(shè)備以及其對USB接口狀態(tài)進(jìn)行控制的方法。
[0004]本發(fā)明提供一種對USB接口狀態(tài)進(jìn)行控制的方法,所述方法包括以下步驟: 加載控制驅(qū)動,并對CPU的寄存器進(jìn)行設(shè)置以使所述CPU進(jìn)入擴(kuò)展模式;
設(shè)置CPU的控制寄存器以選擇邏輯設(shè)備,并將邏輯設(shè)備的端口設(shè)置為GP1端口 ;
設(shè)置所述CPU的控制寄存器以將GP1端口設(shè)置為輸出狀態(tài);
根據(jù)預(yù)設(shè)的配置文件控制所述GP1端口的電平信號以控制USB接口是否進(jìn)入識別狀
??τ O
從上述方法的方案可以看出,通過將邏輯設(shè)備的端口設(shè)置為GP1端口并將將GP1端口設(shè)置為輸出狀態(tài),從而控制USB接口是否進(jìn)入識別狀態(tài),不需要修改系統(tǒng)的配置參數(shù),不需要更改USB的硬件設(shè)備,即可以直接操作硬件以實(shí)現(xiàn),不易被破解,又保證了數(shù)據(jù)通過USB拷貝不受影響,方案簡單且易于實(shí)現(xiàn)。
[0005]本發(fā)明提供還一種智能終端設(shè)備,所述設(shè)備包括CPU控制模塊,USB芯片控制模塊和USB接P ;
所述CPU控制模塊,用于:
加載控制驅(qū)動,并對CPU的寄存器進(jìn)行設(shè)置以使所述CPU進(jìn)入擴(kuò)展模式;
當(dāng)所述CPU處于擴(kuò)展模式時(shí),設(shè)置CPU的控制寄存器以選擇邏輯設(shè)備,并將邏輯設(shè)備的端口設(shè)置為GP1端口 ;
當(dāng)邏輯設(shè)備的端口為GP1端口時(shí),設(shè)置所述CPU的控制寄存器以將所述GP1端口設(shè)置為輸出狀態(tài);
當(dāng)所述GP1端口處于輸出狀態(tài)時(shí),根據(jù)預(yù)設(shè)的配置文件控制所述GP1端口的電平信號并將所述GP1端口的電平信號輸出至USB芯片控制模塊;
所述USB芯片控制模塊,用于根據(jù)CPU控制模塊輸出的所述GP1端口的電平信號,控制USB接口是否進(jìn)入識別狀態(tài)。
[0006]從上述設(shè)備的方案可以看出,通過將邏輯設(shè)備的端口設(shè)置為GP1端口并將將GP1端口設(shè)置為輸出狀態(tài),從而控制USB接口是否進(jìn)入識別狀態(tài),不需要修改系統(tǒng)的配置參數(shù),不需要更改USB的硬件設(shè)備,即可以直接操作硬件以實(shí)現(xiàn),不易被破解,又保證了數(shù)據(jù)通過USB拷貝不受影響,方案簡單且易于實(shí)現(xiàn)。
【附圖說明】
[0007]圖1為本發(fā)明USB接口狀態(tài)進(jìn)行控制的方法第一種實(shí)施例的流程圖;
圖2為本發(fā)明USB接口狀態(tài)進(jìn)行控制的方法第二種實(shí)施例的流程圖;
圖3為本發(fā)明USB接口狀態(tài)進(jìn)行控制的方法第三種實(shí)施例的流程圖;
圖4為本發(fā)明USB接口狀態(tài)進(jìn)行控制的方法第四種實(shí)施例的流程圖;
圖5為本發(fā)明USB接口狀態(tài)進(jìn)行控制的方法第五種實(shí)施例的流程圖;
圖6為本發(fā)明智能終端設(shè)備一種實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0008]為了使本發(fā)明所解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0009]本發(fā)明提供一種實(shí)施例對USB接口狀態(tài)進(jìn)行控制的方法,如圖1所示,所述方法包括以下步驟:
步驟S01,加載控制驅(qū)動,并對CPU的寄存器進(jìn)行設(shè)置以使所述CPU進(jìn)入擴(kuò)展模式; 步驟S02,設(shè)置CPU的控制寄存器以選擇邏輯設(shè)備,并將邏輯設(shè)備的端口設(shè)置為GP1端
P ;
步驟S03,設(shè)置所述CPU的控制寄存器以將GP1端口設(shè)置為輸出狀態(tài);
步驟S04,根據(jù)預(yù)設(shè)的配置文件控制所述GP1端口的電平信號以控制USB接口是否進(jìn)入識別狀態(tài)。
[0010]從上述方法的方案可以看出,通過將邏輯設(shè)備的端口設(shè)置為GP1端口并將將GP1端口設(shè)置為輸出狀態(tài),從而控制USB接口是否進(jìn)入識別狀態(tài),不需要修改系統(tǒng)的配置參數(shù),不需要更改USB的硬件設(shè)備,即可以直接操作硬件以實(shí)現(xiàn),不易被破解,又保證了數(shù)據(jù)通過USB拷貝不受影響,方案簡單且易于實(shí)現(xiàn)。
[0011]在具體實(shí)施中,如圖2所示,所述步驟SOl具體包括以下步驟:
步驟S011,加載1控制驅(qū)動,并調(diào)用初始化函數(shù);
步驟S012,根據(jù)所述初始化函數(shù)和預(yù)設(shè)的第一控制指令對CPU的寄存器進(jìn)行兩次設(shè)置,以使所述CPU進(jìn)入擴(kuò)展模式。
[0012]在步驟SOll中,由于操作系統(tǒng)可以是Windows、Linux等,當(dāng)操作系統(tǒng)為Windows時(shí),加載1控制驅(qū)動Win132.dll,使用函數(shù)InitializeWin1初始化,也就是說初始化動態(tài)庫Win1和驅(qū)動程序,調(diào)用初始化函數(shù)InitializeWinlo O,當(dāng)操作系統(tǒng)為Linux時(shí),使用函數(shù)setuid(O),1pl (3),開啟操作端口模式,使用宏定義outb為SetPortVal。
[0013]在步驟S012中,CPU的寄存器為CPU的擴(kuò)展功能使能寄存器,也就是說,通過SetPortVal函數(shù)給CPU的擴(kuò)展功能使能寄存器設(shè)置兩次0x87,以使所述CPU進(jìn)入擴(kuò)展模式。
[0014]在具體實(shí)施中,如圖3所示,所述步驟S02具體包括以下步驟:
步驟S021,根據(jù)所述初始化函數(shù)和預(yù)設(shè)的第二控制指令對CPU的第一控制寄存器進(jìn)行設(shè)置以及根據(jù)所述初始化函數(shù)和預(yù)設(shè)的第三控制指令對CPU的第二控制寄存器進(jìn)行設(shè)置,以選擇所述邏輯設(shè)備;
步驟S022,根據(jù)所述初始化函數(shù)和預(yù)設(shè)的第四控制指令對所述第一控制寄存器進(jìn)行設(shè)置以確定第二控制寄存器的地址;
步驟S023,根據(jù)所述初始化函數(shù)和預(yù)設(shè)的第五控制指令對所述第二控制寄存器地址對應(yīng)的位數(shù)進(jìn)行設(shè)置,以將邏輯設(shè)備的端口設(shè)置為GP1端口。
[0015]在步驟S021中,所述邏輯設(shè)備可以是USB接口,可以是超級1的端口,也是與CPU連接的其他邏輯設(shè)備,第一控制寄存器是CPU的擴(kuò)展功能索引寄存器,第二控制寄存器是CPU的擴(kuò)展功能數(shù)據(jù)寄存器。具體的,通過SetPortVal函數(shù)向CPU的擴(kuò)展功能索引寄存器發(fā)0x07,然后向CPU擴(kuò)展功能數(shù)據(jù)寄存器發(fā)送0x09,選中對應(yīng)的邏輯設(shè)備。
[0016]在步驟S022中,通過SetPortVal函數(shù)給CPU的擴(kuò)展功能索引寄存器發(fā)0x2C以確定操作的寄存器的地址。
[0017]在步驟S023中,通過SetPortVal函數(shù)將擴(kuò)展功能數(shù)據(jù)寄存器(EFDR)的后5位設(shè)置為1,以選中邏輯設(shè)備的端口 GP1030-GP1037為GP1模式。其中選中邏輯設(shè)備的端口GP1030-GP1037為GP1模式,也就是將邏輯設(shè)備的端口設(shè)置為GP1端口。
[0018]在具體實(shí)施中,如圖4所示,所述步驟S03具體包括以下步驟:
步驟S031,根據(jù)所述初始化函數(shù)和預(yù)設(shè)的第六控制指令對所述第一控制寄存器進(jìn)行設(shè)置以確定第二控制寄存器的地址;
步驟S032,根據(jù)所述初始化函數(shù)和預(yù)設(shè)的第七控制指令對所述第二控制寄存器進(jìn)行設(shè)置以激活GP1端口 ;
步驟S033,根據(jù)所述初始化函數(shù)和預(yù)設(shè)的第八控制指令對所述第一控制寄存器進(jìn)行設(shè)置以確定第二控制寄存器的地址;
步驟S034,根據(jù)所述初始化函數(shù)和預(yù)設(shè)的第九控制指令對所述第二控制寄存器進(jìn)行設(shè)置以將GP1端口設(shè)置為輸出狀態(tài)。
[0019]在步驟S031中,通過SetPortVal函數(shù)給CPU的擴(kuò)展功能索引寄存器發(fā)0x30以確定操作的寄存器的地址。
[0020]步驟S032中,通過SetPortVal函數(shù)給CPU的擴(kuò)展功能數(shù)據(jù)寄存器發(fā)0x02以激活GP1030,由于是需要使用其中一個(gè)端口,就可以實(shí)現(xiàn)對USB接口的控制,因此只需要激活一個(gè)端口 GP1030。
[0021]步驟S033中,通過SetPortVal函數(shù)給CPU的擴(kuò)展功能索引寄存器發(fā)OxR)以確定操作的控制寄存器的地址;
步驟S034中,通過SetPortVal函數(shù)給CPU的擴(kuò)展功能數(shù)據(jù)寄存器發(fā)0x0以設(shè)置端口GP1030-GP1037為輸出端口,即將GP1端口設(shè)置為輸出狀態(tài)。
[0022]在具體實(shí)施中,如圖5所示,所述步驟S04具體包括以下步驟:
步驟S041,根據(jù)預(yù)設(shè)的配置文件生成第一設(shè)置指令和第二設(shè)置指令;
步驟S042,根據(jù)所述初始化函數(shù)和所述第一設(shè)置指令對所述第一控制寄存器進(jìn)行設(shè)置以確定第二控制寄存器的地址; 步驟S043,根據(jù)所述初始化函數(shù)和第二設(shè)置指令對所述第二控制寄存器地址對應(yīng)的位數(shù)進(jìn)行設(shè)置以控制所述GP1端口的電平信號。
[0023]在步驟S041中,所述第二設(shè)置指令為控制指令,根據(jù)用戶的需求,輸出不同的指令。
[0024]在步驟S042中,通過SetPortVal函數(shù)給CPU的擴(kuò)展功能索引寄存器發(fā)OxFl以確定操作的寄存器的地址。
[0025]在步驟S043中,通過SetPortVal函數(shù)設(shè)置CPU的擴(kuò)展功能數(shù)據(jù)寄存器的第二位為O或者I以控制所述GP1端口的電平信號,從而控制USB接口的訪問狀態(tài),也就是說,根據(jù)用戶的需求,對預(yù)設(shè)的配置文件進(jìn)行相適應(yīng)的修改,從而生成第一設(shè)置指令和第二設(shè)置指令,根據(jù)第二設(shè)置指令控制所述GP1端口的電平信號,從而控制USB接口的訪問狀態(tài)。當(dāng)用戶需要使用USB接口時(shí),修改預(yù)設(shè)的配置文件,那么生成的第二設(shè)置指令控制所述GP1端口的電平信號為高電平,從而控制USB接口的訪問狀態(tài)為可識別狀態(tài),當(dāng)用戶不需要使用USB接口時(shí),修改預(yù)設(shè)的配置文件,那么生成的第二設(shè)置指令控制所述GP1端口的電平信號為低電平,從而控制USB接口的訪問狀態(tài)為可不識別狀態(tài),那么這樣就可以保護(hù)系統(tǒng)中的文件不被非法竊取。
[0026]在具體實(shí)施中,本發(fā)明還提供一種實(shí)施例的智能終端設(shè)備,如圖6所示,所述設(shè)備包括CPU控制模塊1,USB芯片控制模塊2和USB接口 3 ;