• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      整合有USB KEY的無線上網(wǎng)卡設(shè)計(jì)※

      2014-08-27 08:34:24嚴(yán)
      關(guān)鍵詞:基帶字節(jié)命令

      嚴(yán) 杰

      (威睿電通(杭州)有限公司,杭州310053)

      引 言

      隨著3G 網(wǎng)絡(luò)的普及,無線上網(wǎng)已經(jīng)得到了很好的發(fā)展。人們借助無線上網(wǎng)卡就能使計(jì)算機(jī)隨時(shí)隨地接入網(wǎng)絡(luò)。USB接口的無線上網(wǎng)卡憑借其插拔方便、安裝簡(jiǎn)單的特性,深受眾多用戶的青睞。但是,在無線網(wǎng)絡(luò)給人們帶來巨大方便的同時(shí),網(wǎng)絡(luò)安全問題也一直是困擾用戶的難題。USB KEY 產(chǎn)品的出現(xiàn)對(duì)現(xiàn)行的網(wǎng)絡(luò)安全體系是一個(gè)極為有力的補(bǔ)充。本文設(shè)計(jì)的一種整合USB KEY的無線上網(wǎng)卡,不僅能提供3G 無線上網(wǎng)功能,而且集成普通USB KEY 的安全保障功能。

      1 系統(tǒng)架構(gòu)

      本設(shè)計(jì)以VIA-Telecom 公司的CBP7.1EVDO(以下簡(jiǎn)稱CBP7.1)無線上網(wǎng)卡開發(fā)平臺(tái)為基礎(chǔ),加入Synochip公司的AS508專用安全芯片作為輔助。系統(tǒng)的總體結(jié)構(gòu)如圖1所示。

      圖1中CBP7.1是一款通信基帶處理器,以ARM968為控制核心,輔以2 個(gè)DSP 核處理調(diào)制解調(diào)功能和音頻編解碼功能,支持CDMA2000 1xRTT 和EVDO 協(xié)議[1]。它作為主控芯片和射頻模塊一起,將完成無線上網(wǎng)卡的基本功能。AS508是針對(duì)普通USB KEY 產(chǎn)品領(lǐng)域推出的32 位處理器,采用Cordis5+RISC內(nèi)核,并內(nèi)嵌SM1加密算法、真隨機(jī)數(shù)發(fā)生器、DES/3DES加密引擎、AES加密引擎、公鑰算法引擎,可以很好地滿足USB KEY 的各種應(yīng)用場(chǎng)合[2]。原始獨(dú)立的參考設(shè)計(jì)中,CBP7.1 和AS508 分別通過各自的USB接口與計(jì)算機(jī)進(jìn)行數(shù)據(jù)傳輸。如果要進(jìn)行將兩者合二為一的設(shè)計(jì),最直觀的做法是增加USB HUB 控制芯片,但這樣無疑會(huì)增加產(chǎn)品的硬件成本。而本設(shè)計(jì)中只使用CBP7.1的USB接口與計(jì)算機(jī)相連,兼顧上網(wǎng)和USB KEY 相關(guān)數(shù)據(jù)傳輸?shù)墓δ埽⒃贑BP7.1 內(nèi)部解析和剝離USB數(shù)據(jù)包,將與安全相關(guān)處理的命令和數(shù)據(jù)通過UART 接口與AS508進(jìn)行交互,在AS508中進(jìn)行處理并反饋結(jié)果。

      圖1 系統(tǒng)結(jié)構(gòu)框圖

      基于CBP7.1的上網(wǎng)卡已是大批量生產(chǎn)的成熟產(chǎn)品,因此上網(wǎng)卡的設(shè)計(jì)實(shí)現(xiàn)部分將不在本文中贅述。接下來的部分將重點(diǎn)闡述CBP7.1與AS508配合實(shí)現(xiàn)USB KEY功能的設(shè)計(jì)。

      2 硬件設(shè)計(jì)

      2.1 電源設(shè)計(jì)

      USB設(shè)備唯一的取電方式來自于計(jì)算機(jī)通過USB總線提供的5V 輸入。鑒于芯片耐壓范圍和功耗效率的因素考慮,需要先用Buck DC-DC芯片將5V 電壓降至系統(tǒng)所需要的合理輸入值(如3.6 V),之后再提供給各個(gè)模塊。無線上網(wǎng)卡部分的供電需要配套的電源管理芯片(PMIC)來完成,它包含一個(gè)DC-DC和多個(gè)LDO,由其決定系統(tǒng)的上電時(shí)序和基帶、射頻子模塊電源電壓及開關(guān)控制邏輯。AS508的供電也可以直接取自于DC-DC降壓后的電源輸出,再由AS508內(nèi)部自帶的LDO 完成其所需的3.3V 和1.8V 的電源轉(zhuǎn)換。

      2.2 時(shí)鐘設(shè)計(jì)

      由于CDMA 通信系統(tǒng)對(duì)頻率穩(wěn)定度的要求,需要選用一款帶溫度補(bǔ)償?shù)膲嚎卣袷幤鳎╒C-TCXO),分別給基帶和射頻提供19.2 MHz的參考時(shí)鐘輸入。為避免基帶芯片中高速信號(hào)帶來的噪聲污染射頻部分,在參考時(shí)鐘信號(hào)進(jìn)入CBP7.1之前增加一級(jí)緩沖器作為隔離。系統(tǒng)工作時(shí)基帶芯片還會(huì)根據(jù)AFC 算法對(duì)振蕩器頻率進(jìn)行微調(diào),以糾正頻率誤差,使它達(dá)到更精確的時(shí)鐘信號(hào)輸入。AS508自帶片上振蕩器,外部只需配一個(gè)12 MHz石英晶振和負(fù)載電容就能提供芯片的時(shí)鐘源,再經(jīng)內(nèi)部PLL 倍頻后可以達(dá)到96 MHz的工作頻率。

      2.3 存儲(chǔ)設(shè)計(jì)

      CBP7.1通過EBIF總線搭配外部32 MB Flash和8 MB 的PSRAM 二合一MCP 存儲(chǔ)芯片,而AS508 內(nèi)嵌10KB ROM,128 KB Flash 和12KB SRAM。針對(duì)本系統(tǒng)的需求,對(duì)存儲(chǔ)器的使用分配如下:首先,代碼區(qū)用于系統(tǒng)代碼的存儲(chǔ)和運(yùn)行,將分別在各自的Flash 和SRAM 中完成;第二,兩個(gè)處理器都擁有自身的文件系統(tǒng),這部分也將包含在各自的Flash存儲(chǔ)空間中;第三,需要預(yù)留一個(gè)虛擬的CDROM 區(qū),存放上網(wǎng)卡所需要的客戶端驅(qū)動(dòng)和應(yīng)用程序,以及USB KEY 的CSP等上層庫(kù)文件和客戶端程序。由于AS508 內(nèi)部Flash空間有限,需要外接一個(gè)SPI接口的NOR Flash來擴(kuò)展存儲(chǔ)空間,用于存放相關(guān)內(nèi)容。本設(shè)計(jì)中可以簡(jiǎn)化存儲(chǔ)方案,將兩者的CD-ROM 區(qū)合并,統(tǒng)一存放在CBP7.1的外部Flash中,從而省去一個(gè)SPI NOR Flash,進(jìn)一步降低了硬件成本和PCB面積。

      2.4 接口設(shè)計(jì)

      CBP7.1包含了豐富的外圍接口資源。與計(jì)算機(jī)的數(shù)據(jù)傳輸使用USB 接口,支持2.0 全速標(biāo)準(zhǔn),可以達(dá)到12 Mbps的數(shù)據(jù)率,擁有6個(gè)輸入和輸出端點(diǎn)。與PMIC 之間通過I2C總線接口通信,最高為400kHz時(shí)鐘頻率,支持76.5kbps~1.288 Mbps數(shù)據(jù)率。SPI接口用于基帶和射頻模塊間的控制信息傳輸,峰值數(shù)據(jù)率可達(dá)1.228 8~19.660 8Mbps。AS508和CBP7.1的數(shù)據(jù)交換則通過UART 接口完成,最高230.4kbps的波特率,兩者分別擁有4字節(jié)和64字節(jié)的輸入/輸出FIFO。

      3 軟件設(shè)計(jì)

      USB KEY 功能軟件設(shè)計(jì)的核心思想是在計(jì)算機(jī)端將無線上網(wǎng)卡識(shí)別成一個(gè)CD-ROM 設(shè)備,并且可以通過標(biāo)準(zhǔn)或自定義的SCSI命令與設(shè)備進(jìn)行通信。整個(gè)系統(tǒng)劃分為兩個(gè)部分:

      ①基帶處理器軟件負(fù)責(zé)與計(jì)算機(jī)的USB通信,虛擬出一個(gè)CD-ROM 設(shè)備,接收并解析數(shù)據(jù)包,區(qū)分CD-ROM標(biāo)準(zhǔn)磁盤命令或是智能卡相關(guān)命令。若是CD-ROM 相關(guān)操作,則在本地處理完成并反饋狀態(tài)和數(shù)據(jù);若是智能卡命令,則通過UART 接口轉(zhuǎn)發(fā)至AS508的COS處理。

      ②COS(Chip Operating System,片上操作系統(tǒng))即安全芯片上運(yùn)行的軟件,主要功能是控制USB KEY 和外界的信息交換,管理內(nèi)部的存儲(chǔ)器并完成各種安全相關(guān)命令的處理。系統(tǒng)軟件整體架構(gòu)如圖2所示,下文將分模塊具體介紹各部分設(shè)計(jì)的要點(diǎn)。

      3.1 基帶處理器軟件

      3.1.1 USB設(shè)備驅(qū)動(dòng)

      USB設(shè)備通信協(xié)議的實(shí)現(xiàn)是一個(gè)中斷處理的過程。驅(qū)動(dòng)程序在USB控制器初始化之后,接收來自主機(jī)的各類中斷消息,包括控制傳輸、數(shù)據(jù)包發(fā)送、數(shù)據(jù)包接收、系統(tǒng)處理和異常處理等請(qǐng)求??刂苽鬏斦?qǐng)求中最重要的部分是在USB設(shè)備枚舉階段完成各種描述符向主機(jī)的上報(bào)。描述符包括設(shè)備描述符、配置描述符和接口描述符等。

      圖2 軟件模塊劃分

      3.1.2 BOT(Bulk_Only Transport)傳輸協(xié)議

      主機(jī)根據(jù)描述符信息在枚舉過程中完成對(duì)設(shè)備的配置后,識(shí)別出為Bulk_Only的Mass Storage設(shè)備,然后即刻進(jìn)入Bulk_Only傳輸方式[3]。

      3.1.3 SCSI命令處理

      CD-ROM 設(shè)備遵從SCSI接口標(biāo)準(zhǔn),它是一種用于計(jì)算機(jī)和智能設(shè)備之間系統(tǒng)級(jí)接口的獨(dú)立處理器標(biāo)準(zhǔn)。SCSI命令用于通知設(shè)備進(jìn)行某些物理操作(如讀/寫指定區(qū)塊),或者返回設(shè)備的某些信息(如類型、容量、廠商信息等),以字節(jié)流的形式通過總線發(fā)送到設(shè)備。這些由字節(jié)流組成的命令稱為CDB(Command Descriptor Blocks,命令描述塊)。為了滿足USB虛擬CD-ROM 使用的Bulk_Only傳輸規(guī)范,需要將SCSI命令封裝在CBW 中的CBWCB字段里。

      本設(shè)計(jì)中SCSI命令分為標(biāo)準(zhǔn)命令和自定義命令兩類。標(biāo)準(zhǔn)命令用于計(jì)算機(jī)端虛擬出的CD-ROM 磁盤相關(guān)操作,如計(jì)算機(jī)端對(duì)存放在CD-ROM 中的設(shè)備驅(qū)動(dòng)程序和應(yīng)用軟件的讀取安裝?;鶐幚砥鬈浖行枰獙?shí)現(xiàn)SCSI標(biāo)準(zhǔn)命令集的部分功能。常用的SCSI命令見表1。

      表1 常用SCSI標(biāo)準(zhǔn)命令

      自定義的SCSI命令用來處理智能卡安全相關(guān)的操作。USB KEY 用到的智能卡命令將封裝在CDB 中。軟件中可通過CDB中的第一個(gè)字節(jié)操作碼字段來區(qū)分標(biāo)準(zhǔn)命令或是自定義命令。當(dāng)識(shí)別到操作碼為非標(biāo)準(zhǔn)命令(例如0x11)時(shí),即改走自定義命令的處理流程。自定義命令包括主機(jī)發(fā)出的輸入和輸出的兩類命令請(qǐng)求,可以通過CDB中的第二個(gè)字節(jié)來區(qū)分。

      3.1.4 UART通信

      自定義的SCSI命令及其后主機(jī)下發(fā)的相關(guān)數(shù)據(jù)將由安全芯片來處理,因此基帶處理器軟件中需要將CDB 中的信息及之后的數(shù)據(jù)重新打包后通過UART 接口發(fā)送至安全芯片,并接收來自安全芯片處理后的響應(yīng)和數(shù)據(jù)。UART收發(fā)雙方約定物理層數(shù)據(jù)幀采用1位起始位、8位數(shù)據(jù)位、1位奇校驗(yàn)位和1位停止位的幀結(jié)構(gòu)。多個(gè)數(shù)據(jù)幀組成的信息包,將按照如下格式進(jìn)行傳輸。

      ?

      其中,SYNC_CHAR是1字節(jié)信息包同步頭,內(nèi)容為0xFE。LENGTH 字段標(biāo)明了后續(xù)MSG_ID 字段與DATA 字段的字節(jié)數(shù)總和,即1+N 個(gè)字節(jié)。MSG_ID 字段區(qū)分之后的DATA 字段的內(nèi)容是主機(jī)發(fā)送的輸入請(qǐng)求、輸出請(qǐng)求或是純數(shù)據(jù)。CHECKSUM 字段為信息包提供了校驗(yàn)功能,除了SYNC_CHAR 字段之外的所有字節(jié)相加應(yīng)為零。

      綜上所述,基帶處理器軟件基于USB Bulk_Only傳輸協(xié)議處理CD-ROM 設(shè)備通信的流程圖如圖3所示。

      3.2 安全芯片軟件

      安全芯片軟件主要由通信管理、命令管理、文件管理和安全管理4個(gè)模塊組成[4]。

      通信管理模塊采用ISO7816-3標(biāo)準(zhǔn)定義的接觸式智能卡T=0(異步半雙工字符傳輸)協(xié)議。主機(jī)發(fā)送由CLA、INS、P1、P2、P3五個(gè)連續(xù)字段組成的命令頭和數(shù)據(jù)完成后,等待智能卡的應(yīng)答。USB KEY接收到5個(gè)命令字節(jié)后,會(huì)向主機(jī)返回兩個(gè)字節(jié)的SW 狀態(tài)字節(jié)和相應(yīng)的數(shù)據(jù)[5]。

      命令管理模塊根據(jù)通信管理模塊數(shù)據(jù)包中解析出的智能卡命令進(jìn)行處理?;久詈蛻?yīng)答狀態(tài)集在ISO7816-4標(biāo)準(zhǔn)中作了規(guī)定?;久罴饕ǘM(jìn)制文件讀寫、記錄文件讀寫、邏輯通道管理、內(nèi)外部認(rèn)證等[6]。實(shí)際應(yīng)用中,USB KEY 可以根據(jù)需求對(duì)智能卡基本命令集進(jìn)行適當(dāng)?shù)臄U(kuò)充。

      文件管理是COS的基礎(chǔ)模塊,它在AS508芯片內(nèi)嵌Flash的特定區(qū)塊中建立FAT 文件系統(tǒng),負(fù)責(zé)組織、管理、維護(hù)USB KEY 內(nèi)存儲(chǔ)的所有數(shù)據(jù),包括對(duì)MF、DF和EF三級(jí)數(shù)據(jù)類型的操作。

      安全管理模塊包含三個(gè)部分:安全狀態(tài)、安全屬性和安全機(jī)制。軟件中定義了無權(quán)限、外部認(rèn)證、用戶登陸和管理員登陸4種安全狀態(tài)以及對(duì)文件的讀、寫、刪除和使用4個(gè)權(quán)限等級(jí)的安全屬性。安全機(jī)制可以認(rèn)為是安全狀態(tài)實(shí)現(xiàn)轉(zhuǎn)移所采用的轉(zhuǎn)移方法和手段,包括:密碼校驗(yàn)、密鑰認(rèn)證、數(shù)據(jù)鑒別及數(shù)據(jù)加密等。

      在AS508原始COS基礎(chǔ)上,本設(shè)計(jì)對(duì)通信管理的部分稍作修改,由USB接口通信改成UART 接口通信的方式。通過UART 接口接收來自基帶處理器重新組包后的智能卡操作相關(guān)的命令和數(shù)據(jù)。UART 數(shù)據(jù)幀和信息包的格式與上節(jié)描述的一致。根據(jù)MSG_ID 字段判斷接下來是否需要進(jìn)行處理或是響應(yīng)操作。若是主機(jī)輸出請(qǐng)求,則接收并解析命令與數(shù)據(jù),進(jìn)入命令管理模塊進(jìn)行處理。若是主機(jī)輸出請(qǐng)求,則調(diào)用命令管理模塊中得到的響應(yīng)信息和數(shù)據(jù),通過UART 接口向基帶處理器發(fā)送。UART通信流程圖如圖4所示。

      圖3 基于BOT的基帶處理器軟件流程圖

      圖4 UART通信流程圖

      結(jié) 語(yǔ)

      本設(shè)計(jì)在CBP7.1EVDO 3G 無線上網(wǎng)卡的平臺(tái)基礎(chǔ)上,利用外部專用安全芯片擴(kuò)展了USB KEY 的功能。產(chǎn)品結(jié)構(gòu)簡(jiǎn)單、功能完備,有效地降低硬件成本的同時(shí)提高了用戶使用的便捷性,具有一定的推廣價(jià)值。

      編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。

      [1]VIA-Telecom.CBP7.1_datasheet[EB/OL].[2012-09].http://www.via-telecom.com/products/products.jsp.

      [2]Synochip.AS508_數(shù)據(jù)手冊(cè)_中文版[EB/OL].[2012-09].http://www.synochip.com/cn/DownloadShow.asp?id=187&ParentID=13.

      [3]USB Implementers Forum.Universal Serial Bus Mass Storage Class Bulk-Only Transport,Revision 1.0,1999.

      [4]劉紅明,周玉潔.無驅(qū)型USB Key COS的研究與設(shè)計(jì)[J].信息安全與通信保密,2009(9):90-91.

      [5]ISO/IEC 7816-3.Identification cards-Integrated circuit cards-Part 3:Cards with contacts-Electrical interface and transmission protocols,2006.

      [6]ISO/IEC 7816-4.Identification cards-Integrated circuit cards-Part 4:Interindustry command for interchange,2006.

      猜你喜歡
      基帶字節(jié)命令
      只聽主人的命令
      No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
      No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
      移防命令下達(dá)后
      簡(jiǎn)談MC7字節(jié)碼
      這是人民的命令
      2014年LTE基帶收益占蜂窩基帶收益50%以上
      AIS基帶信號(hào)的接收與處理
      數(shù)字基帶系統(tǒng)的System View仿真設(shè)計(jì)
      基于FPGA的WSN數(shù)字基帶成形濾波器設(shè)計(jì)
      高雄县| 维西| 博兴县| 上蔡县| 郁南县| 九寨沟县| 文成县| 黑山县| 富宁县| 仁怀市| 大城县| 资中县| 万宁市| 阳西县| 搜索| 鄄城县| 岚皋县| 金塔县| 永寿县| 商南县| 紫阳县| 马尔康县| 漳平市| 射洪县| 台湾省| 巨鹿县| 射阳县| 阿鲁科尔沁旗| 绵竹市| 东兰县| 子洲县| 广水市| 托里县| 龙口市| 兴仁县| 鄢陵县| 芦溪县| 泌阳县| 博白县| 光山县| 昌吉市|