一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于DSP實(shí)現(xiàn)USB芯片的固件程序流程和設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用 ? 作者:李強(qiáng),伍堅(jiān),姚冬 ? 2020-07-10 07:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

1、USB芯片CY7C68013介紹

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

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

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

2、硬件設(shè)計(jì)思想

USB數(shù)據(jù)傳輸流程如圖l所示。

基于DSP實(shí)現(xiàn)USB芯片的固件程序流程和設(shè)計(jì)

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

2.1 芯片初始化部分

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

2.2 數(shù)據(jù)傳輸部分

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

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

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

為了滿足與HPI接口讀/寫(xiě)時(shí)序的無(wú)縫連接,此處采用了GPIF傳輸模式。流程如下:

當(dāng)數(shù)據(jù)PC端發(fā)送時(shí),USB收發(fā)機(jī)將收到的信號(hào)發(fā)送給CY7C68013,USB芯片接收到數(shù)據(jù)后先存放在端點(diǎn)寄存器里,等到數(shù)據(jù)放滿數(shù)據(jù)緩存區(qū)時(shí),USB芯片啟動(dòng)GPIF,將數(shù)據(jù)送入DSP。當(dāng)DSP接收到數(shù)據(jù)后會(huì)對(duì)HPIC控制器進(jìn)行設(shè)置,發(fā)送給USB中斷信號(hào),提示收到數(shù)據(jù)包,即完成1次PC→DSP傳輸。

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

3、硬件電路的設(shè)計(jì)與實(shí)現(xiàn)

如前所述,接口電路方面USB為了滿足HPI接口的讀/寫(xiě)時(shí)序采用GPIF方式。

3.1 CY7C68013與HPI接口電路

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

這里需要說(shuō)明的有如下幾點(diǎn):

①HHWIL主要用來(lái)區(qū)分第1個(gè)/第2個(gè)Halfword的傳輸,且僅在半寧傳輸時(shí)出現(xiàn)。由于主機(jī)沒(méi)有數(shù)據(jù)線和地址線復(fù)用的情況,因此在這里將HAS置高電平。

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

HSTROBE=NOT(HDSl XOR HDS2)OR HCS所以HDSl置低電平,HDS2置高電平,利用HCS的信號(hào)變化控制HPI讀/寫(xiě)初始化。

②HCNTL[1:O]主要用來(lái)控制當(dāng)前訪問(wèn)的是HPI的哪個(gè)寄存器。在HP1初始化時(shí)完成HPIC寄存器的控制信息。HPID寄存器主要實(shí)現(xiàn)數(shù)據(jù)傳輸時(shí)數(shù)據(jù)的讀?。瘜?xiě)入。此處沒(méi)有用到HPI的地址操作,因此HPIA作為地址寄存器不需要送入控制信息。

③HD[15:O]對(duì)應(yīng)于PB[7:o]、PD[7:0]接口,由于為半字傳輸方式,因此在這里需要將HD5置低電平,以滿足芯片復(fù)位時(shí)HD5為低電平。

3.2 固件調(diào)試部分

固件程序流程圖如圖3所示。

(1)初始化部分

該部分用來(lái)確定整個(gè)過(guò)程采用的方式,確定端點(diǎn)的傳輸方式、方向和緩存區(qū)的大小,設(shè)置HPI接口的HPIC寄存器以及設(shè)備的枚舉。本設(shè)計(jì)采用的是GPIF傳輸方式,端點(diǎn)選擇的是批量傳輸。采用的端點(diǎn)是EP2和EP6。EP2傳輸方向?yàn)镺UT,緩存區(qū)大小為1024字節(jié);EP6傳輸方向?yàn)镮N,緩存區(qū)大小為l024字節(jié);通過(guò)對(duì)HPIC的操作確定HPI的工作方式以及HPID的數(shù)據(jù)傳輸方式。編寫(xiě)GPIF數(shù)據(jù)中斷函數(shù)和USB設(shè)備描述符。

(2)GPIF波形部分

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

(3)中斷產(chǎn)生時(shí)GPIF數(shù)據(jù)傳輸

在程序中實(shí)現(xiàn)每當(dāng)緩存區(qū)數(shù)據(jù)達(dá)到l024字節(jié)或?yàn)樽詈笠话鼣?shù)據(jù)時(shí),自動(dòng)進(jìn)行數(shù)據(jù)傳輸。下面的程序是EP2將數(shù)據(jù)發(fā)送到DSP端的程序:

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

4、總 結(jié)

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


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    556

    文章

    8158

    瀏覽量

    357662
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52520

    瀏覽量

    441093
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8190

    瀏覽量

    273029
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    采用PDIUSBD12的USB系統(tǒng)固件程序設(shè)計(jì)

    在外圍設(shè)備上很容易實(shí)現(xiàn)更高級(jí)的USB功能。 3PDIUSBD12固件程序的編寫(xiě) USB設(shè)備啟動(dòng)流程
    發(fā)表于 04-27 11:02

    使用 PDIUSBD12的 USB 系統(tǒng)固件程序設(shè)計(jì)

    摘要:在設(shè)計(jì) USB 系統(tǒng)的過(guò)程中,固件程序的編寫(xiě)是非常重要的一個(gè)環(huán)節(jié),它直接影響到開(kāi)發(fā)產(chǎn)品的數(shù)據(jù)傳輸速度。以 Phillips 公司的 USB 控制
    發(fā)表于 04-27 11:40

    采用PDIUSBD12的USB系統(tǒng)固件程序設(shè)計(jì)

    在外圍設(shè)備上很容易實(shí)現(xiàn)更高級(jí)的USB功能。 3PDIUSBD12固件程序的編寫(xiě) USB設(shè)備啟動(dòng)流程
    發(fā)表于 09-30 11:42

    DSPUSB接口芯片固件程序開(kāi)發(fā)

    DSPUSB接口芯片固件程序開(kāi)發(fā)
    發(fā)表于 10-08 15:18

    采用DSP平臺(tái)實(shí)現(xiàn)USB接口設(shè)計(jì)

    采用的是不帶MCU內(nèi)核的USB接口芯片,所以關(guān)于USB1.1協(xié)?規(guī)范的實(shí)現(xiàn)都必須靠DSP(TMS320C2XX)控制PDIUSBD12
    發(fā)表于 06-19 05:00

    DSPUSB 接口芯片固件程序開(kāi)發(fā)

    USB(Un iversal Se rial Bu s)即通用串行總線, 由于其有著設(shè)備自動(dòng)識(shí)別,自動(dòng)安裝驅(qū)動(dòng)程序和配置,支持不同速率的同步和異步傳輸方式,支持熱插拔和即插即用等優(yōu)點(diǎn), 而得到廣泛的
    發(fā)表于 05-18 13:36 ?22次下載

    基于USB接口的固件升級(jí)程序

    為了升級(jí)便攜式設(shè)備的固件,開(kāi)發(fā)一種基于USB接口的固件升級(jí)程序,使得操作方便,快捷。介紹固件文件的生成,搜尋升級(jí)設(shè)備的系統(tǒng)路徑,下載設(shè)備的二
    發(fā)表于 12-29 17:45 ?69次下載

    基于USBDSP的指紋識(shí)別系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)

     摘要:介紹一種以高速的DSP芯片TMS320VC5402為平臺(tái)對(duì)指紋圖像進(jìn)行實(shí)時(shí)處理的指紋識(shí)別系統(tǒng),用USB接口芯片與主機(jī)進(jìn)行通信。介紹了系統(tǒng)的硬件、
    發(fā)表于 03-11 17:39 ?890次閱讀
    基于<b class='flag-5'>USB</b>與<b class='flag-5'>DSP</b>的指紋識(shí)別系統(tǒng)的設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b>

    基于USB接口設(shè)備的固件程序設(shè)計(jì)

    基于USB接口設(shè)備的固件程序設(shè)計(jì) 一、 引言USB是應(yīng)用在PC領(lǐng)域中的新型接口技術(shù),它由三部分組成:具有USB接口的PC系統(tǒng),能夠支持U
    發(fā)表于 01-12 09:09 ?1549次閱讀
    基于<b class='flag-5'>USB</b>接口設(shè)備的<b class='flag-5'>固件</b><b class='flag-5'>程序</b>設(shè)計(jì)

    TMS320F2407A DSP芯片USB接口實(shí)現(xiàn)

    摘要:介紹了TMS320F2407A DSP芯片USB接口的實(shí)現(xiàn),DSP與PC之間的高速通信一直是DS
    發(fā)表于 02-25 16:42 ?144次下載
    TMS320F2407A <b class='flag-5'>DSP</b><b class='flag-5'>芯片</b>的<b class='flag-5'>USB</b>接口<b class='flag-5'>實(shí)現(xiàn)</b>

    基于PDIUSBD12的USB接口固件程序設(shè)計(jì)

    基于PDIUSBD12的USB接口固件程序設(shè)計(jì)。
    發(fā)表于 01-22 14:27 ?39次下載

    基于DSPUSB接口設(shè)計(jì)方案簡(jiǎn)析

    摘要:介紹了一種基于DSPUSB 接口設(shè)計(jì)方案,分別從接口的硬件設(shè)計(jì)、接口操作原理、軟件設(shè)計(jì)流程以及中斷服務(wù)程序設(shè)計(jì)要點(diǎn)等方面進(jìn)行闡述,并利用Cypress 公司提供的
    發(fā)表于 10-21 09:32 ?3次下載
    基于<b class='flag-5'>DSP</b>的<b class='flag-5'>USB</b>接口設(shè)計(jì)方案簡(jiǎn)析

    USB固件程序開(kāi)發(fā)的實(shí)現(xiàn)

    本文實(shí)現(xiàn)USB固件程序的開(kāi)發(fā)。該固件編寫(xiě)采用分層結(jié)構(gòu)簡(jiǎn)潔且易于修改和測(cè)試,既增加了代碼的可讀性,又增加了
    的頭像 發(fā)表于 03-07 13:47 ?8915次閱讀
    <b class='flag-5'>USB</b><b class='flag-5'>固件</b><b class='flag-5'>程序</b>開(kāi)發(fā)的<b class='flag-5'>實(shí)現(xiàn)</b>

    基于DSP芯片PC機(jī)之間的USB接口設(shè)計(jì)

    系統(tǒng)方案采用PC機(jī)作為上位機(jī),負(fù)責(zé)USB總線上檢測(cè)到設(shè)備接入并進(jìn)行枚舉、識(shí)別的過(guò)程,并且可以通過(guò)在PC機(jī)上運(yùn)行應(yīng)用程序來(lái)控制數(shù)據(jù)的傳輸。USB芯片作為
    發(fā)表于 06-19 15:17 ?2575次閱讀
    基于<b class='flag-5'>DSP</b><b class='flag-5'>芯片</b>PC機(jī)之間的<b class='flag-5'>USB</b>接口設(shè)計(jì)

    AN2401_uPSD3400USB固件的應(yīng)用程序

    AN2401_uPSD3400USB固件的應(yīng)用程序
    發(fā)表于 11-21 17:07 ?0次下載
    AN2401_uPSD3400<b class='flag-5'>USB</b><b class='flag-5'>固件</b>的應(yīng)用<b class='flag-5'>程序</b>