劉衡祁
摘? ?要:近年來(lái),隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,WiFi技術(shù)具有較強(qiáng)的穩(wěn)定性,而且具備數(shù)據(jù)傳輸速度快、功能消耗較低等優(yōu)點(diǎn),目前在無(wú)線通信中已經(jīng)具有十分重要的作用。隨著時(shí)代發(fā)展進(jìn)步,對(duì)WiFi芯片的要求越來(lái)越高,對(duì)研發(fā)者來(lái)說(shuō),快速高效拓展WiFi芯片外部功能是當(dāng)前面臨的主要問(wèn)題。文章提出外部拓展接口,即SDIO接口,可在WiFi芯片架構(gòu)中集成,能夠?yàn)樵撔酒峁┛焖傩畔鬏斀涌冢U述了該芯片總體架構(gòu),分析了SDIO Host仿真模型搭建仿真平臺(tái),能夠完成相應(yīng)的仿真驗(yàn)證,最后通過(guò)芯片測(cè)試表明該SDIO接口不同的子功能,設(shè)計(jì)合理,具有較強(qiáng)的可操作性。
關(guān)鍵詞:WiFi芯片;高速;安全數(shù)字輸入輸出卡;接口;設(shè)計(jì);驗(yàn)證
近年來(lái),隨著深亞微米技術(shù)的發(fā)展,集成電路芯片的功能越來(lái)越豐富,芯片是IC的重要核心原件,一個(gè)系統(tǒng)芯片可集成多種功能模塊,包括CPU儲(chǔ)存器、模擬單元等,該技術(shù)可將原有多芯片實(shí)現(xiàn)的功能集成到同一芯片,提高系統(tǒng)集成度、降低研發(fā)成本、提高芯片應(yīng)用性。在當(dāng)前電子產(chǎn)品逐漸推陳出新的過(guò)程中,為滿足人們對(duì)產(chǎn)品的需求,市場(chǎng)傾向于接口豐富且拓展功能性強(qiáng)的芯片,在芯片中集成多種可通用接口,不僅可快速突破功能要求和成本,同時(shí)也能為芯片升級(jí)、功能拓展提供幫助。目前傳輸接口存在多種樣式,本研究主要以安全數(shù)字輸入輸出卡(Secure Digital Input and Output,SDIO)接口作為WiFi信息高效傳輸接口進(jìn)行闡述。
1? ? WiFi芯片
WiFi芯片架構(gòu)是目前無(wú)線領(lǐng)域傳輸速度較快的產(chǎn)品,筆者研究的WiFi芯片是基于802.11n標(biāo)準(zhǔn)協(xié)議,可實(shí)現(xiàn)320 Mbps的傳輸速度,在芯片架構(gòu)上選擇AMBA總線架構(gòu),具體結(jié)構(gòu)如圖1所示。
該總線是一種多層總線結(jié)構(gòu),可定義多種功能總線,其中,系統(tǒng)總線(Advanced High performance Bus,AHB)可解決高性能的設(shè)計(jì)需求。AHB是外圍總線,實(shí)現(xiàn)高帶寬總線,為低帶寬設(shè)備間提供信息橋梁,具有結(jié)構(gòu)簡(jiǎn)單、功能消耗低等特點(diǎn)。該芯片采用一層外圍總線(Advanced Peripheral Bus,APB)和雙層AHB共同構(gòu)成芯片相互連接的系統(tǒng),其中AHB總線能夠提供高帶寬接口并完成大量數(shù)據(jù)傳輸。在AHB總線互聯(lián)上,該系統(tǒng)包含多個(gè)master同時(shí)在AHB總線中,master數(shù)量不能高于16個(gè)。master傳輸時(shí)可提供HADDR和HWRITE,控制信息系統(tǒng)中包含多個(gè)slave,可實(shí)現(xiàn)master發(fā)出的傳輸信號(hào)響應(yīng),并將結(jié)果返回給master,系統(tǒng)需要包含Arbiter,同時(shí)多個(gè)master申請(qǐng)占用總線時(shí),通過(guò)特殊機(jī)制允許優(yōu)先最高master獲得總線占有權(quán)。此外,每個(gè)AHB互聯(lián)的系統(tǒng)都包含一個(gè)dcoder對(duì)傳輸結(jié)果進(jìn)行編碼,同時(shí)根據(jù)編碼結(jié)果生成slave所需要的信號(hào)。在AHB總線傳輸過(guò)程中,傳輸前AHB master需要向Arbiter發(fā)出信號(hào)請(qǐng)求,如果MACR被允許占用總線后才能夠開(kāi)始信號(hào)傳輸,整個(gè)過(guò)程包括一個(gè)addiss phase和多個(gè)data phase。前者持續(xù)一個(gè)時(shí)鐘周期,所有slave需要在該時(shí)間段內(nèi)進(jìn)行信號(hào)采集,如果在這一時(shí)間段內(nèi)沒(méi)有采集到有效信息,將會(huì)使傳輸信號(hào)失敗,而后者包含多個(gè)時(shí)鐘周期,通過(guò)拉低信號(hào)可插入等待周期,進(jìn)一步延長(zhǎng)數(shù)據(jù)采集周期,為設(shè)備獲得充足的數(shù)據(jù)采集時(shí)間。
2? ? SDIO總線協(xié)議
芯片SDIO接口是基于SD總線協(xié)議逐漸發(fā)展而來(lái)的,這兩種主線在兼容性上主要體現(xiàn)于軟件、機(jī)械信號(hào)等多個(gè)方面,除能夠與SD總線時(shí)間兼容之外,SDIO接口還具有獨(dú)特性。首先,較強(qiáng)的可拓展性,可支持多個(gè)I/O功能模塊,可面向移動(dòng)和固定設(shè)備運(yùn)用;其次,SDIO接口能夠像SDIO Host返回信號(hào)中斷;最后,其工作過(guò)程中電壓較低,信息傳輸速度快,能夠?yàn)橐苿?dòng)設(shè)備提供高效傳輸且功率消耗低的I/O接口,從類(lèi)型上可將SDIO卡分為高速卡、低速卡兩種,高速卡可實(shí)現(xiàn)SPI,SDI和SD4這3種模式運(yùn)行,最高信息傳輸速率可達(dá)到200 Mbps;低速卡可實(shí)現(xiàn)SPI和SDI兩種模式運(yùn)行,傳輸速度相對(duì)較低,傳輸速率僅為400 kbps。在處于不同運(yùn)行模式下,各管腳功能存在差異。從其傳輸持續(xù)上來(lái)看,總線通信是通過(guò)命令響應(yīng)數(shù)據(jù)傳輸進(jìn)一步實(shí)現(xiàn)的總線設(shè)備,可通過(guò)相互兼容的方式使技術(shù)標(biāo)準(zhǔn)傳輸時(shí)序?qū)崿F(xiàn),在傳輸時(shí)期中,SD總線包含兩種基本傳輸,即寫(xiě)數(shù)據(jù)傳輸和讀數(shù)據(jù)傳輸。在基本函數(shù)中,整個(gè)過(guò)程包含的命令響應(yīng)通信具體傳輸時(shí)序如圖2所示。
在該圖中,基本傳輸過(guò)程包含無(wú)響應(yīng)和有響應(yīng)兩種傳輸操作,整個(gè)傳輸時(shí)可借助CMD線實(shí)現(xiàn),不需要通過(guò)數(shù)據(jù)總線DAT參與信息傳輸過(guò)程,在寫(xiě)數(shù)據(jù)傳輸過(guò)程中,該過(guò)程包含命令響應(yīng)數(shù)據(jù)通信,數(shù)據(jù)的傳輸是由SDIO HOST向SDI卡進(jìn)行傳輸,具體傳輸實(shí)際圖如圖3所示。
在該數(shù)據(jù)傳輸中,寫(xiě)數(shù)據(jù)傳輸共包含單數(shù)據(jù)和多數(shù)據(jù)塊字節(jié)傳輸兩種方式,完成每單位數(shù)據(jù)傳輸后,SDIO卡需要對(duì)通訊數(shù)據(jù)進(jìn)行校驗(yàn),結(jié)果會(huì)自動(dòng)返回至SDIO HOST中。在讀數(shù)據(jù)傳輸中,整個(gè)過(guò)程包含命令響應(yīng)數(shù)據(jù)通訊,其傳輸方式為由SDIO卡發(fā)至SDIO HOST中,具體的傳輸時(shí)序如圖4所示。
根據(jù)圖4可知,讀數(shù)據(jù)傳輸是與寫(xiě)數(shù)據(jù)傳輸方式基本一致,每單位數(shù)據(jù)傳輸完成后,需要由SDIO HOST對(duì)通信數(shù)據(jù)進(jìn)行校驗(yàn),并將結(jié)果決定是否保留接收數(shù)據(jù)作為最終的有效數(shù)據(jù)。
3? ? SDIO接口設(shè)計(jì)和實(shí)現(xiàn)
基于上述設(shè)計(jì)需求特點(diǎn),研究SDIO接口硬件結(jié)構(gòu)設(shè)計(jì),如圖5所示。
在該模塊中,SDIO接口結(jié)合不同的功能需求由命令解析、循環(huán)冗余、校驗(yàn)生成、SD接口、AHB接口、數(shù)據(jù)控制等多個(gè)功能構(gòu)成,SD接口和AHB接口是總線接口,在不同時(shí)鐘域下兩個(gè)接口工作,對(duì)設(shè)計(jì)SDIO接口來(lái)說(shuō)是異步的,異步處理模塊對(duì)兩者信息通信實(shí)現(xiàn)一步操作,比如命令解析模塊,該模塊主要實(shí)現(xiàn)采樣CMD線命令,正確進(jìn)行命令參數(shù)信息體系可將對(duì)應(yīng)參數(shù)轉(zhuǎn)為有效信號(hào),進(jìn)而能夠顯示SDIO接口操作,在本設(shè)計(jì)中可以使用有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)實(shí)現(xiàn)命令的接收功能,具體狀態(tài)機(jī)實(shí)現(xiàn)如圖6所示。
在響應(yīng)產(chǎn)生模塊設(shè)計(jì)過(guò)程中,可根據(jù)其他模塊返回的信息正確向主設(shè)備返回卡的操作環(huán)境,檢驗(yàn)結(jié)果卡狀態(tài)信息具體功能,實(shí)現(xiàn)狀態(tài)機(jī)如圖7所示。
通過(guò)圖7可發(fā)現(xiàn),響應(yīng)產(chǎn)生狀態(tài)期主要包含空閑、SD模式、等待、有效數(shù)據(jù)響應(yīng)位、響應(yīng)CRC等工作狀態(tài)。當(dāng)硬件上軟件復(fù)位后,狀態(tài)機(jī)則處于SIDLE狀態(tài)中。在數(shù)據(jù)控制模塊中,當(dāng)SDIO HOST發(fā)起數(shù)據(jù)傳輸命令之后,能夠?qū)ο鄳?yīng)數(shù)據(jù)進(jìn)行緩存、轉(zhuǎn)換以及多路選擇等操作,確保數(shù)據(jù)在傳輸過(guò)程中不會(huì)丟失,并能夠嚴(yán)格按照協(xié)議進(jìn)行持續(xù)傳輸[1]。數(shù)據(jù)控制模塊可實(shí)現(xiàn)讀寫(xiě)操作的一系列流程,為降低模塊設(shè)計(jì)復(fù)雜性,需要合理進(jìn)行數(shù)據(jù)控制,將模塊功能分割為多個(gè)子模塊,實(shí)現(xiàn)所有功能,數(shù)據(jù)控制模塊的結(jié)構(gòu)如圖8所示。
圖8中,方框部分為數(shù)據(jù)控制模塊,該模塊被劃分為字節(jié)計(jì)數(shù)、數(shù)據(jù)接收、發(fā)送、選擇這4個(gè)功能模塊,右側(cè)讀寫(xiě)模塊是對(duì)傳輸數(shù)據(jù)實(shí)現(xiàn)同步操作。
AHB接口模塊,能夠高效處理SDIO接口傳輸?shù)男畔?,同時(shí)將SDIO接口集成到芯片架構(gòu)中,整個(gè)接口模塊,主要由AHB從設(shè)備和主設(shè)備兩種功能模塊構(gòu)成。在同設(shè)備中,整個(gè)設(shè)計(jì)可實(shí)現(xiàn)SDIO接口與CPU的交互,通過(guò)CPU對(duì)SDIO接口寄存器完成讀寫(xiě),同時(shí)SDIO接口可將讀寫(xiě)過(guò)程中斷并返回至相應(yīng)的CPU,并且使CPU實(shí)時(shí)監(jiān)控SDIO接口的數(shù)據(jù)傳輸情況。在芯片設(shè)計(jì)架構(gòu)中,SDIO接口的機(jī)制為0x4000xxxx.,在SDIO接口實(shí)現(xiàn)數(shù)據(jù)傳輸時(shí),需要CPU對(duì)功能寄存器完成正確配置,同時(shí)實(shí)時(shí)檢查狀態(tài)寄存器的運(yùn)行情況,確保數(shù)據(jù)可實(shí)現(xiàn)正常傳輸。對(duì)于AHB主設(shè)備來(lái)說(shuō),該模塊可實(shí)現(xiàn)SDIO接口數(shù)據(jù)協(xié)議轉(zhuǎn)換并完成標(biāo)準(zhǔn)SD總線形式數(shù)據(jù)和標(biāo)準(zhǔn)AHB總線數(shù)據(jù)之間的轉(zhuǎn)換,當(dāng)利用SDIO HOST進(jìn)行大量數(shù)據(jù)傳輸時(shí),采用傳統(tǒng)的輸入指令或者中斷方式來(lái)有效控制信息傳輸過(guò)程,最終會(huì)使CPU被長(zhǎng)時(shí)間占用,導(dǎo)致部分?jǐn)?shù)據(jù)丟失。采用DAM的傳輸方式可以減少CPU所占用的時(shí)間,進(jìn)一步提高信息處理能力,在AHB總線中進(jìn)行SDIO集成設(shè)計(jì)可以使用AHB主設(shè)備傳輸方式,進(jìn)而實(shí)現(xiàn)DMA信號(hào)傳輸。SD總線在傳輸速度上有一定限制,為確保數(shù)據(jù)能夠快速傳輸,該模塊需要支持的Burst,類(lèi)型可以在標(biāo)準(zhǔn)協(xié)議傳輸中進(jìn)行篩選[2]。
4? ? 仿真與驗(yàn)證分析
在整個(gè)驗(yàn)證中,功能仿真式的主要內(nèi)容是分析所設(shè)計(jì)的RTL邏輯性,確保RTL可滿足相應(yīng)的應(yīng)用需求。功能仿真無(wú)需考慮時(shí)序問(wèn)題,且仿真速度快,可通過(guò)所輸出的文件波形快速進(jìn)行結(jié)果分析,為全面檢測(cè)SDIO接口功能和搭建下列測(cè)試平臺(tái)。完成測(cè)試平臺(tái)中不同功能模塊設(shè)計(jì)后,應(yīng)按照相應(yīng)流程進(jìn)行仿真測(cè)試,在具體方針中要求仿真具有高效性,能夠在短時(shí)間內(nèi)進(jìn)行錯(cuò)誤糾正。同時(shí)還需要具備一定完備性,在設(shè)計(jì)中存在錯(cuò)誤要求仿真可達(dá)到功能覆蓋率。通過(guò)測(cè)試,發(fā)現(xiàn)所設(shè)計(jì)的SDIO接口各功能可實(shí)現(xiàn)正常運(yùn)行,且處于SD4運(yùn)行模式下能夠支持的最高時(shí)鐘頻率可達(dá)到70 MHz,最穩(wěn)定的數(shù)據(jù)傳輸效率最大可達(dá)到280 Mbps。
5? ? 結(jié)語(yǔ)
本文主要分析了WiFi芯片架構(gòu),對(duì)系統(tǒng)總線AHB協(xié)議進(jìn)行分析,闡述AHB在Burst傳輸過(guò)程的具體情況,為后續(xù)SDIO接口實(shí)現(xiàn)數(shù)據(jù)批量傳輸?shù)於ɑA(chǔ)。闡述了SDIO總線接口特點(diǎn)功能,根據(jù)協(xié)議需求設(shè)計(jì)相應(yīng)的SDIO接口結(jié)構(gòu),在WiFi芯片上集成SDIO接口并能夠完成相應(yīng)的測(cè)試,最終表明SDIO接口在WiFi芯片上可實(shí)現(xiàn)正常運(yùn)行,最快傳輸率可達(dá)到280 Mbps。
[參考文獻(xiàn)]
[1]劉雨沁,郭元興,劉繼平.基于FPGA的SDIO通信接口的設(shè)計(jì)實(shí)現(xiàn)[J].通信技術(shù),2017(11):248-252.
[2]邰雪鳳.基于WiFi的振動(dòng)信號(hào)采集儀的研究與實(shí)現(xiàn)[D].天津:天津工業(yè)大學(xué),2017.
Abstract:In recent years, with the development of internet technology, WiFi technology has strong stability, fast data transmission speed, low function consumption, etc. The advantages have already played a very important role in wireless communication. With the development of the times, advancements of WiFi chips are increasingly demanding. At present, it is a major problem for developers to quickly and efficiently expand the external functions of WiFi chips. In this paper, an external expansion interface, namely the SDIO interface, can be integrated in the WiFi chip architecture, which can provide a fast information transmission interface for the chip. This study describes the overall architecture of the chip, analyzes the SDIO HOST simulation model to build a simulation platform, and can complete the corresponding simulation verification. Finally, the chip test shows that the SDIO interface has different subfunctions, is reasonable in design, and has strong operability.
Key words:WiFi chip; high speed; secure digital input and output; interface; design; verification