當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀] 本文以CY7C68013和DSP HPI接口為例描述了USB芯片的固件程序流程和設(shè)計思想。通過采用GPIF模擬了HPI接口的讀/寫時序,實現(xiàn)了DSP與USB的無縫連接。

    USB接口(Universal Serial Bus)是一種通用的高速串行接口。它最主要的特點是高速傳輸特性,可以很好地解決海量數(shù)據(jù)在嵌入式系統(tǒng)與PC機之間的互傳問題;同時USB接口還具有熱插拔、速度快(具有3種數(shù)據(jù)傳輸模式,即低速、全速、高速;最快可達480 Mbps)和擴展性好(最多可以連接127個USB設(shè)備)等特點,從而使得USB接口得到了廣泛的應(yīng)用。

1 USB芯片CY7C68013介紹
    CY7C68013屬于Cypress公司的FX2系列產(chǎn)品,是Cypress公司生產(chǎn)的第一款USB2.0芯片。

    CYTC68013是一個帶增強型MCS51內(nèi)核和USB接口的單片機,完全遵從USB2.O協(xié)議,可提供高達480 Mbps的傳輸率;內(nèi)部集成PLL(鎖相環(huán)),最高可使5l內(nèi)核工作在48MHz;對外提供兩個串口,可以方便地與外部通信;片內(nèi)擁有8 KB的RAM,可完全滿足系統(tǒng)每次傳輸數(shù)據(jù)的需要,無需再外接RAM。由于芯片內(nèi)部沒有ROM,一旦USB設(shè)備斷開與PC的連接,程序代碼將無法保存,需要每次在PC機接入USB設(shè)備后,重新下載。另外,CY7C68013支持一種“E2PROM引導(dǎo)方式”,即先將固件下載到片外E2PROM中,當(dāng)每次USB設(shè)備通電后,F(xiàn)X2自動將片外E2PROM中的程序讀入芯片中。

    CY7C68013與外設(shè)有主/從兩種接口方式:可編程接口GPIF和Slave FIFO??删幊探涌贕PIF是主機方式,可以通過軟件編寫讀/寫控制時序,靈活方便,幾乎可以與所有8/16位接口的控制器、存儲器和總線實現(xiàn)無縫連接。Slave FTFO是從機方式,外部控制器可以像對待普通FIFO一樣對芯片內(nèi)的多個緩沖區(qū)進行讀/寫;S1ave FIFO方式也可以靈活配置,以適應(yīng)不同的需要。

2 硬件設(shè)計思想
    USB數(shù)據(jù)傳輸流程如圖l所示。

    工作流程可分為兩個部分:芯片初始化部分和數(shù)據(jù)傳輸部分。

2.1 芯片初始化部分
   
本部分是適用于任何USB傳輸過程中的芯片初始化部分。當(dāng)USB接口接入PC后,首先進行PC的設(shè)備搜索,從USB端獲得設(shè)備的VID/PID,以及USB芯片的工作方式;然后PC機通過得到的VID/PID獲取設(shè)備的驅(qū)動,保證設(shè)備的工作。與此同時,USB芯片上電開始,MCU開始從E2PROM中獲取MCU的工作狀態(tài)、采用的工作模式、數(shù)據(jù)傳輸方式、所用到傳輸方式端點的大小以及傳輸方向,并對接口器件進行相應(yīng)芯片寄存器的初始化。實現(xiàn)內(nèi)容因具體芯片而異,因此確定接口器件后再說明寄存器初始化的方法。

2.2 數(shù)據(jù)傳輸部分
   
不同器件相接實現(xiàn)方式不同,在此以CY7C68013與DSP6416 HPI接口數(shù)據(jù)傳輸實現(xiàn)為例,介紹數(shù)據(jù)傳輸流程。

    首先,簡單地介紹一下DSP611 6 HPI接口。HPI是一個并行端口,通過HPI可以直接訪問DSP的存儲空間,也可以通過DMA/EDMA控制器實現(xiàn)對DSP存儲空間的訪問。HPI口可以提供16/32位的數(shù)據(jù)接口,通過主機或者CPU訪問HPI控制寄存器(HPIC)來確定HPI接口的數(shù)據(jù)帶寬。

    確定了DSPHPI作為USB的接口器件,DSPHPI接口的初始化如下:對于DSP,為了滿足數(shù)據(jù)的正常傳輸,需要對HPIC寄存器進行設(shè)置,即設(shè)置字長,初始化時假設(shè)DSP向主機發(fā)送中斷和Ready信號。因為沒有用到HPT的地址線,因此不需要設(shè)置HPIA寄存器。此時DSP已經(jīng)做好了接收或發(fā)送數(shù)據(jù)的準(zhǔn)備。

    為了滿足與HPI接口讀/寫時序的無縫連接,此處采用了GPIF傳輸模式。流程如下:
    當(dāng)數(shù)據(jù)PC端發(fā)送時,USB收發(fā)機將收到的信號發(fā)送給CY7C68013,USB芯片接收到數(shù)據(jù)后先存放在端點寄存器里,等到數(shù)據(jù)放滿數(shù)據(jù)緩存區(qū)時,USB芯片啟動GPIF,將數(shù)據(jù)送入DSP。當(dāng)DSP接收到數(shù)據(jù)后會對HPIC控制器進行設(shè)置,發(fā)送給USB中斷信號,提示收到數(shù)據(jù)包,即完成1次PC→DSP傳輸。

    當(dāng)數(shù)據(jù)從DSP端發(fā)送時,HPIC寄存器發(fā)送中斷至USB芯片,USB芯片做好接收數(shù)據(jù)的準(zhǔn)備;然后HPI將數(shù)據(jù)送入USB芯片,等數(shù)據(jù)緩存區(qū)放滿l024字節(jié)后,將數(shù)據(jù)通過USB發(fā)送至PC機接收端。

3 硬件電路的設(shè)計與實現(xiàn)
   
如前所述,接口電路方面USB為了滿足HPI接口的讀/寫時序采用GPIF方式。

3.1 CY7C68013與HPI接口電路

    CY7C68013與HPT接口電路原理圖如圖2所示。

    這里需要說明的有如下幾點:
    ①HHWIL主要用來區(qū)分第1個/第2個Halfword的傳輸,且僅在半寧傳輸時出現(xiàn)。由于主機沒有數(shù)據(jù)線和地址線復(fù)用的情況,因此在這里將HAS置高電平。

    HDSl、HDS2作為數(shù)據(jù)選通信號,主要用于主機尋址HPI周期內(nèi)控制數(shù)據(jù)傳輸,在本次工作中沒有用到,而為了調(diào)試方便,保留了HDSl和HDS2,通過高低電平控制它們的變化。由于HDSl、HDS2和HCS在片內(nèi)是組合為一個低有效的HSTROBE信號,其組成關(guān)系如下:
    HSTROBE=NOT(HDSl XOR HDS2)OR HCS所以HDSl置低電平,HDS2置高電平,利用HCS的信號變化控制HPI讀/寫初始化。

    ②HCNTL[1:O]主要用來控制當(dāng)前訪問的是HPI的哪個寄存器。在HP1初始化時完成HPIC寄存器的控制信息。HPID寄存器主要實現(xiàn)數(shù)據(jù)傳輸時數(shù)據(jù)的讀?。瘜懭搿4颂帥]有用到HPI的地址操作,因此HPIA作為地址寄存器不需要送入控制信息。
    ③HD[15:O]對應(yīng)于PB[7:o]、PD[7:0]接口,由于為半字傳輸方式,因此在這里需要將HD5置低電平,以滿足芯片復(fù)位時HD5為低電平。

3.2 固件調(diào)試部分
   
固件程序流程圖如圖3所示。

(1)初始化部分
    該部分用來確定整個過程采用的方式,確定端點的傳輸方式、方向和緩存區(qū)的大小,設(shè)置HPI接口的HPIC寄存器以及設(shè)備的枚舉。本設(shè)計采用的是GPIF傳輸方式,端點選擇的是批量傳輸。采用的端點是EP2和EP6。EP2傳輸方向為OUT,緩存區(qū)大小為1024字節(jié);EP6傳輸方向為IN,緩存區(qū)大小為l024字節(jié);通過對HPIC的操作確定HPI的工作方式以及HPID的數(shù)據(jù)傳輸方式。編寫GPIF數(shù)據(jù)中斷函數(shù)和USB設(shè)備描述符。

(2)GPIF波形部分

    GPIF波形采用Cypress公司提供的GPIF Designer來實現(xiàn)。GPIF Designer通過簡單形象的界面解決了復(fù)雜程序表示的GPIF時序設(shè)計問題。與DSP HPI接口相符合的讀、寫時序如圖4和圖5所示。

(3)中斷產(chǎn)生時GPIF數(shù)據(jù)傳輸
    在程序中實現(xiàn)每當(dāng)緩存區(qū)數(shù)據(jù)達到l024字節(jié)或為最后一包數(shù)據(jù)時,自動進行數(shù)據(jù)傳輸。下面的程序是EP2將數(shù)據(jù)發(fā)送到DSP端的程序:


EP6將從DSP收到的數(shù)據(jù)傳給主控端的程序如下:


4 總 結(jié)
    本文以CY7C68013和DSP HPI接口為例描述了USB芯片固件程序流程和設(shè)計思想。通過采用GPIF模擬了HPI接口的讀/寫時序,實現(xiàn)了DSP與USB的無縫連接。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉