當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀] 對(duì)于基于DSP平臺(tái)的USB接口設(shè)計(jì),經(jīng)過(guò)綜合考慮了幾種方案之后決定,采用一個(gè)不帶MCU內(nèi)核的USB接口芯片PDIUSBD12(成 本非常低,一片PDIUSBD12的價(jià)格僅為20元),再加上簡(jiǎn)單的外圍電路和時(shí)序調(diào)整電路。 這種芯片僅僅完成USB底層的數(shù)據(jù)鏈路級(jí)交換,并提供給本地微控制器一個(gè)并行的接口,但是它并不完成協(xié)議層的工作。協(xié)議層的工作需要對(duì)微控制器 編程,控制USB接口芯片來(lái)實(shí)現(xiàn)USB協(xié)議。所以,開(kāi)發(fā)難度相對(duì)來(lái)說(shuō)大一些,要做的編程工

作者:湯金寬 吳裕冰 曹丹華
USB接口(Universal Serial Bus)是一種通用的高速串行接口。它最主要的特點(diǎn)是它的高速傳輸特性。USB1.1理論速度極限可以達(dá)到12Mb/s,USB2.0可達(dá)到 480Mb/s。這樣,它可以很好解決大數(shù)據(jù)量的數(shù)據(jù)在嵌入式系統(tǒng)與PC機(jī)之間的互傳問(wèn)題;同時(shí),它支持熱插拔,并且最多同時(shí)支持127個(gè)外設(shè),非常適合嵌入式系統(tǒng)的應(yīng)用。

本次設(shè)計(jì)是在一個(gè)已有的DSP圖像采集嵌入式系統(tǒng)的基礎(chǔ)上,為它配接上一個(gè)USB1.1的接口,以達(dá)到DSP圖像采集系統(tǒng)高速地將圖像數(shù)據(jù)回傳到PC機(jī)中的目的。設(shè)計(jì)的要求主要有:

①在原有平臺(tái)提供的接口基礎(chǔ)上,加入一個(gè)低成本、高速度的USB接口;

②通過(guò)USB接口,實(shí)現(xiàn)PC機(jī)對(duì)DSP圖像采集系統(tǒng)的操作與控制;

③實(shí)現(xiàn)圖像數(shù)據(jù)在DSP攝像系統(tǒng)與PC機(jī)之間高速的雙向傳輸。

基于以上幾點(diǎn)可以看出,本方案最主要的特點(diǎn)是成本低廉且傳輸速度高。

1 硬件方案選擇與設(shè)計(jì)

1.1 方案選擇

對(duì)于基于DSP平臺(tái)的USB接口設(shè)計(jì),經(jīng)過(guò)綜合考慮了幾種方案之后決定,采用一個(gè)不帶MCU內(nèi)核的USB接口芯片PDIUSBD12(成 本非常低,一片PDIUSBD12的價(jià)格僅為20元),再加上簡(jiǎn)單的外圍電路和時(shí)序調(diào)整電路。

這種芯片僅僅完成USB底層的數(shù)據(jù)鏈路級(jí)交換,并提供給本地微控制器一個(gè)并行的接口,但是它并不完成協(xié)議層的工作。協(xié)議層的工作需要對(duì)微控制器 編程,控制USB接口芯片來(lái)實(shí)現(xiàn)USB協(xié)議。所以,開(kāi)發(fā)難度相對(duì)來(lái)說(shuō)大一些,要做的編程工作也多一點(diǎn)。但是這套方案的成本非常低,而且由于直接用DSP作 為微控制器,沒(méi)有原單片機(jī)的瓶頸限制,所以可以實(shí)現(xiàn)很高的數(shù)據(jù)傳輸速率。該系統(tǒng)的原理框圖如圖1所示。


圖1 該系統(tǒng)的原理框圖

由于PDIUSBD12的并行接口時(shí)序較慢,只能達(dá)到2MB/s。這個(gè)速度相對(duì)于DSP來(lái)說(shuō)比較低,而且有些地方不是簡(jiǎn)單地在程序中加入延時(shí)就 可以調(diào)整,所以需要一個(gè)時(shí)序調(diào)整電路來(lái)完成它們之間的配合。

1.2 PDIUSBD12芯片

PDIUSBD12芯片是由Philips公司推出的一種USB1.1接口芯片。它可以工作在5V或者3.3V的工作電壓下;具有8位數(shù)據(jù)總線(xiàn),且有完全自治的DMA傳輸操作。它還具有可控制的軟件連接(SoftConnect)功能,可以保證在微控制器可靠完成初始化之后再連接上USB總 線(xiàn)。另外,它還有一個(gè)LED驅(qū)動(dòng)腳,可以外接LED來(lái)監(jiān)測(cè)USB的枚舉過(guò)程和數(shù)據(jù)傳輸過(guò)程。當(dāng)USB接口枚舉完成,并且成功配置以后,LED將會(huì)一直點(diǎn)亮;而在枚舉過(guò)程以及USB數(shù)據(jù)通信過(guò)程中,LED只是有節(jié)奏地閃爍。

PDIUSBD12只占用微控制器的兩個(gè)地址資源。也就是說(shuō),它只有一根地址線(xiàn)。其中一個(gè)地址用來(lái)向芯片中寫(xiě)命令,另外一個(gè)地址用來(lái)向燕片中寫(xiě) 數(shù)據(jù)或者從芯片中讀取數(shù)據(jù)。

PDIUSBD12一共有三組端點(diǎn):端點(diǎn)0完成控制傳輸;端點(diǎn)1可以配置成中斷傳輸;端點(diǎn)2是主要的數(shù)據(jù)傳輸端點(diǎn)。它有64B的緩沖區(qū),如果加上它的雙緩沖機(jī)制,就有128B的緩沖區(qū);它可以配置成批量傳輸模式,或者同步傳輸模式。

總的來(lái)說(shuō),PDIUSBD12是一款性能優(yōu)異,價(jià)格相對(duì)軟低的USB接口芯片。

1.3 時(shí)序芯片

為了降低成本、簡(jiǎn)化電路,本方案不使用DMA傳輸方式,而以TI公司的TMS320C2XX作為微控 制器(使用20MHz晶振)。它的并口速度非常高,遠(yuǎn)遠(yuǎn)高于PDIUSBD12所要求的最高限制2MB/s。此處是硬件設(shè)計(jì)最關(guān)鍵的地方。

經(jīng)過(guò)詳細(xì)的時(shí)序分析發(fā)現(xiàn),大部分問(wèn)題可以通過(guò)在DSP固件設(shè)計(jì)的加入延時(shí),或者設(shè)置DSP的WSGR寄存器來(lái)解決。但是有一個(gè)問(wèn)題,必須在硬件 上加以解決。圖2是DSP(TMS320C2XX)的寫(xiě)時(shí)序。



圖2 DSP(TMS320C2XX)的寫(xiě)時(shí)序

圖2中,參數(shù)th(W-D)是指在WE信號(hào)變高(無(wú)效)以后,所寫(xiě)的數(shù)據(jù)將仍然保持有效的時(shí)間。這個(gè)值最小為3ns,最大為14ns,所以所寫(xiě)的數(shù)據(jù)在 WE信號(hào)無(wú)效以后還會(huì)維持有效,大約3~14ns(實(shí)際的延時(shí)介于這兩個(gè)值之間)。

圖3是PDIUSBD12所要求的寫(xiě)時(shí)序。圖中,參量tWDH是與DSP (TMS320C2XX)參量th(W-D)相對(duì)應(yīng)的另外一個(gè)參量。這個(gè)參量反映了PDIUSBD12要求微控制器在向其中寫(xiě)數(shù)據(jù)時(shí),所寫(xiě)的數(shù)據(jù)在WR信號(hào)無(wú)效之后,要繼續(xù)保持有效的時(shí)間。這個(gè)參量最小值為10ns。也就是說(shuō),PDIUSBD12要求所寫(xiě)的數(shù)據(jù)最少要保持有效10ns(在WR無(wú)效之后)。

圖3 PDIUSBD12所要求的寫(xiě)時(shí)序

由此可以看出,DSP(TMS320C2XX)的寫(xiě)時(shí)序不能可靠地保證滿(mǎn)足 PDIUSBD12的要求,而且這個(gè)問(wèn)題無(wú)法通過(guò)軟件加延時(shí)的方法來(lái)解決,必須通過(guò)硬件來(lái)處理。經(jīng)過(guò)分析對(duì)比,最后決定采用一個(gè)很簡(jiǎn)單但是后來(lái)事實(shí)證明非 常有效的方法來(lái)調(diào)整它們之間的時(shí)序。那就是在DSP(TMS320C2XX)與PDIUSBD12的總線(xiàn)之間加一個(gè)雙向緩沖器-74LS245。這個(gè)芯片 可以在它們的時(shí)序之間引入一個(gè)延時(shí)。雖然這個(gè)延時(shí)并不可靠、但是由于DSP(TMS320C2XX)本身會(huì)在WR無(wú)效后,繼續(xù)保持?jǐn)?shù)據(jù)有效一段時(shí)間(前面 已講過(guò)),這要僅僅需要將延時(shí)適當(dāng)延長(zhǎng)一點(diǎn)就可以了。74LS245所造成的延時(shí)典型值為15ns,最小也為8ns。這樣,加上原來(lái)DSP寫(xiě)時(shí)序的延時(shí), 就可以滿(mǎn)足PDIUSBD12所要求的寫(xiě)時(shí)序了。

另外由于加入74LS245所造成的對(duì)其它接口時(shí)序的影響,可以通過(guò)設(shè)置DSP(TMS320C2XX)的WSGR寄存器來(lái)消除,所以這個(gè)方案 是可行的。(事實(shí)上,后來(lái)制造好的電路也證明了這個(gè)方案是完全可行的)

對(duì)其余時(shí)序上的配合,經(jīng)過(guò)仔細(xì)的計(jì)算與核對(duì)證明,也是完全可行的。在硬件上,哂方案還采用了一片GAL(16V8)來(lái)實(shí)現(xiàn)對(duì)PDIUSBD12 芯片的片選,以及實(shí)現(xiàn)對(duì)它的軟件和手動(dòng)復(fù)位。

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

2.1 固件設(shè)計(jì)

由于采用的是不帶MCU內(nèi)核的USB接口芯片,所以關(guān)于USB1.1協(xié)議規(guī)范的實(shí)現(xiàn)都必須靠DSP(TMS320C2XX)控制 PDIUSBD12芯片來(lái)完成。固件的主要設(shè)計(jì)任務(wù)是:在DSP(TMS320C2XX)的平臺(tái)上編寫(xiě)程序,以完成 USB1.1規(guī)范所要求的標(biāo)準(zhǔn)請(qǐng)求及用戶(hù)根據(jù)產(chǎn)品需要自己定義的請(qǐng)求。
為了不影響程序的執(zhí)行效率,本方案采用中斷方式完成固件的編寫(xiě);同時(shí),為了保證程序的模塊化及良好的可移植性,在設(shè)計(jì)中采用分層結(jié)構(gòu)進(jìn)行固件的 編寫(xiě),如圖4所示。

圖4 中斷方式完成固件的編寫(xiě)

最下層是硬件接口層,完成硬件上PDIUSBD12與DSP(TMS320C2XX)的對(duì)接。主要是DSP(TMS320C2XX)向PDIUSBD12 中寫(xiě)入數(shù)據(jù)或者命令,以及從中讀取數(shù)據(jù)。

中間層主要有兩個(gè)模塊,用來(lái)完成PDIUSBD12的命令接口和中斷處理子程序。命令接口是指按照PDIUSBD12的命令格式,完成DSP對(duì)它的控制。它的基本命令格式是:DSP先向其中的命令地址寫(xiě)入某一條命令,接著從它的數(shù)據(jù)地址寫(xiě)入或者讀出一系列的數(shù)據(jù)。中斷處理子程序是判斷中斷的產(chǎn)生 源,然后跳轉(zhuǎn)到相應(yīng)的處理子程序。這些子程序不做過(guò)多的處理,而僅僅是將命令數(shù)據(jù)讀出然后置標(biāo)志位,或者是將某些數(shù)據(jù)送出。

最上層是主循環(huán)程序,以及對(duì)于USB1.1標(biāo)準(zhǔn)協(xié)議請(qǐng)求(這些請(qǐng)求主要是在USB1.1協(xié)議規(guī)范的第九章中定義的)和用戶(hù)自定義請(qǐng)求的處理程 序。主循環(huán)的主要工作是檢查標(biāo)志位。如果標(biāo)志位被置位,則調(diào)用處理子程序,判斷是標(biāo)準(zhǔn)請(qǐng)求還是用戶(hù)自定義請(qǐng)求,然后調(diào)用相應(yīng)的處理程序加以處理,完成請(qǐng)求。

這樣分層的好處是:主循環(huán)程序在檢查標(biāo)志位以外的時(shí)間可以進(jìn)行其它工作,提高固件的運(yùn)行效率。

編程過(guò)程中,由于涉及了一些嚴(yán)格的接口時(shí)序配合問(wèn)題,所以,整個(gè)固件的編寫(xiě)工作全部采用DSP(TMS320C2XX)的匯編語(yǔ)言;用的是 CC2000編程開(kāi)發(fā)工具。

2.2 PC機(jī)軟件的設(shè)計(jì)

PC機(jī)的驅(qū)動(dòng)程序由Philips公司提供。然后,用VC++6.0,通過(guò)調(diào)用API函數(shù),編寫(xiě)PC的應(yīng)用程序。這樣即可實(shí)現(xiàn)PC機(jī)對(duì) DSP(TMS320C2XX)攝像系統(tǒng)的攝像控制以及圖像的傳輸。

主要使用的API函數(shù)是DeviceIOControl()、ReadFile()、 WriteFile()。其中DeviceIOControl()用于PC(主機(jī))向DSP圖像采集系統(tǒng)發(fā)送請(qǐng)求;ReadFile()和 WriteFile()分別用于從圖像采集系統(tǒng)中讀出數(shù)據(jù)以及向圖像采集系統(tǒng)中寫(xiě)入數(shù)據(jù)。

在設(shè)計(jì)過(guò)程中必須注意的問(wèn)題是:由于USB接口是主-從方式的接口,它的一切傳輸過(guò)程都必須通過(guò)主機(jī)向外設(shè)發(fā)送請(qǐng)求后才可以開(kāi)始,所以在使用 ReadFile()、WriteFile()讀寫(xiě)數(shù)據(jù)之前,必須先通過(guò) DeviceIOControl()向圖像采集系統(tǒng)發(fā)送請(qǐng)求。

3 結(jié)果及分析

設(shè)計(jì)方案完成后,在最后的測(cè)試當(dāng)中,通過(guò)USB1.1接口,PC機(jī)與DSP系統(tǒng)的通信速率最高達(dá)到了580KB/s(4.6Mb/s)以上。這個(gè)速率指的是有效數(shù)據(jù)傳輸速率,不包括數(shù)據(jù)傳輸聯(lián)絡(luò)的頭信息部分,所以這個(gè)速率還是比較令人滿(mǎn)意的。現(xiàn)在,傳輸一張幅面為352×288像素的黑白圖片(大小為 99KB),耗時(shí)不到1s。如果實(shí)現(xiàn)動(dòng)態(tài)的拍攝及顯示,那么,整個(gè)系統(tǒng)每秒可以拍攝并完成顯示3~4幅不經(jīng)壓縮的幅畫(huà)為352×288像素大小的黑白圖片。

測(cè)試結(jié)果表明,該系統(tǒng)運(yùn)行可靠(已將程序燒寫(xiě)進(jìn)片內(nèi)Flash中),各項(xiàng)性能指標(biāo)都已達(dá)到了最初的設(shè)計(jì)要求,能夠很好地實(shí)現(xiàn)圖像數(shù)據(jù)在PC機(jī)與 DSP之間高速的雙向傳輸。并且,這套USB接口方案只采用了1片PDIUSBD12接口芯片和1片 74LS245,器件成本只有20元左右,這個(gè)成本是比較低的。同時(shí),由于采用了DSP作為控制器,所以它的通信速率可以很高;因此,可以說(shuō)本方案達(dá)到了低成本,高速率的USB1.1接口設(shè)計(jì)要求。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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