深入剖析Atmel AT43USB370:USB 2.0雙角色處理器的卓越性能與應(yīng)用
在嵌入式設(shè)備的設(shè)計領(lǐng)域,USB連接功能的實現(xiàn)至關(guān)重要。Atmel的AT43USB370作為一款USB 2.0兼容的雙角色、全速主機/功能處理器,為嵌入式設(shè)備的點對點USB連接提供了出色的解決方案。今天,我們就來深入剖析這款處理器的特性、架構(gòu)和應(yīng)用。
文件下載:AT43USB370E-AC.pdf
一、產(chǎn)品特性概覽
1. USB 2.0全速主機/功能處理器
AT43USB370具備實時主機/功能切換能力,內(nèi)部集成了USB和系統(tǒng)接口控制器。它擁有32位通用系統(tǒng)處理器接口并支持DMA,為數(shù)據(jù)傳輸提供高效通道。同時,主機和功能操作分別設(shè)有獨立的TX和RX緩沖區(qū),還支持系統(tǒng)內(nèi)固件升級。
2. 自主USB主機操作
無需系統(tǒng)處理器干預(yù),AT43USB370就能完成設(shè)備枚舉、USB協(xié)議管理、總線帶寬回收和狀態(tài)處理等任務(wù)。它支持控制、批量、中斷和同步傳輸,最多可同時支持7個USB設(shè)備。
3. 全速功能控制器
具有1個雙向控制端點和6個可編程端點(可設(shè)置最大數(shù)據(jù)包大小和端點類型),支持控制、中斷、批量和同步傳輸,非同步端點還具備自動重試功能。
4. 集成USB固件
提供易于使用、符合ANSI C標(biāo)準(zhǔn)的API,方便進(jìn)行USB設(shè)備驅(qū)動開發(fā)。同時,還集成了嵌入式、與操作系統(tǒng)無關(guān)的USB主機棧、嵌入式系統(tǒng)接口控制器驅(qū)動和嵌入式USB集線器驅(qū)動。
5. 其他特性
工作頻率為6 MHz,支持1.8 V和3.3 V供電,采用100引腳LQFP封裝。
二、架構(gòu)與功能詳解
1. 硬件架構(gòu)
AT43USB370采用SRAM版本,利用片上的USB控制器(USBC)和系統(tǒng)接口控制器(SIC)來分擔(dān)系統(tǒng)處理器的USB相關(guān)處理任務(wù)。上電或復(fù)位時,系統(tǒng)處理器通過系統(tǒng)總線接口將相應(yīng)的固件下載到USBC和SIC中。
- USB收發(fā)器:符合通用串行總線2.0版標(biāo)準(zhǔn),能以12 Mbps和1.5 Mbps的速率進(jìn)行串行數(shù)據(jù)的發(fā)送和接收。
- 串行接口引擎(SIE):完全由硬件實現(xiàn),負(fù)責(zé)時鐘和數(shù)據(jù)恢復(fù)、串行/并行轉(zhuǎn)換、NRZI編碼/解碼、CRC計算等功能。
- SIE控制器:作為SIE和USBC之間的接口,負(fù)責(zé)解碼USBC的命令并更新USB事務(wù)結(jié)束后的狀態(tài),同時控制FIFO以進(jìn)行數(shù)據(jù)和控制包的管理。
- USB控制器:專門用于管理USB協(xié)議,其控制和狀態(tài)寄存器映射到數(shù)據(jù)存儲器中,固件決定其工作模式(主機或功能)。
- 系統(tǒng)接口控制器:作為USB控制器和外部系統(tǒng)處理器之間的接口,管理數(shù)據(jù)流向系統(tǒng)處理器的傳輸,并為系統(tǒng)應(yīng)用提供通用的USB設(shè)備驅(qū)動接口。
- FIFO:包含一個數(shù)據(jù)FIFO塊和一個控制FIFO塊。控制FIFO有128字節(jié)的內(nèi)存,用于雙向控制端點;數(shù)據(jù)FIFO有2 Kbytes的內(nèi)存,可動態(tài)配置以支持不同的數(shù)據(jù)端點需求。
2. 控制和狀態(tài)寄存器
用于在操作開始時配置AT43USB370,USBC和SIC與系統(tǒng)處理器接口邏輯共享該寄存器集。默認(rèn)情況下,該塊為啟用32位數(shù)據(jù)總線DMA的主機操作進(jìn)行了預(yù)配置。在功能模式下,可定義端點的數(shù)量和性質(zhì)。
3. 時鐘與復(fù)位
AT43USB370需要一個外部6 MHz晶體為片上PLL提供參考時鐘頻率,PLL為處理器提供所有內(nèi)部時鐘源。復(fù)位信號為低電平有效,復(fù)位時,USBC和SIC初始化,系統(tǒng)處理器接口寄存器恢復(fù)默認(rèn)值。
4. 固件下載機制
通過外部系統(tǒng)處理器對USBC和SIC進(jìn)行系統(tǒng)內(nèi)編程,需要SELECT、PROG、READY和DONE控制信號。編程時,先選擇要編程的控制器,然后通過一系列操作將固件下載到程序存儲器中。
三、系統(tǒng)處理器接口與數(shù)據(jù)傳輸機制
1. 系統(tǒng)處理器接口
AT43USB370通過通用32位系統(tǒng)處理器接口與外部系統(tǒng)處理器連接,系統(tǒng)接口信號包括地址總線、數(shù)據(jù)總線、片選、讀使能和寫使能。片上DMA引擎提供系統(tǒng)處理器和片上USB FIFO塊之間的最大數(shù)據(jù)吞吐量。
2. 數(shù)據(jù)傳輸機制
- 可編程IO(PIO)接口:用于系統(tǒng)處理器對AT43USB370的系統(tǒng)處理器接口寄存器進(jìn)行單或多讀寫操作,需要MORE和INTR_IN信號。
- 直接FIFO接口:系統(tǒng)處理器可通過該接口直接讀寫AT43USB370的片上FIFO,通過在地址總線上寫入0xFF進(jìn)行配置。
- DMA接口:用于AT43USB370內(nèi)部FIFO和系統(tǒng)處理器內(nèi)存之間的數(shù)據(jù)傳輸,AT43USB370通過斷言DREQ_N信號發(fā)起DMA過程,采用塊模式傳輸數(shù)據(jù)。
四、固件架構(gòu)
1. 主機固件
由主機USB控制器驅(qū)動(HUSBCD)和主機系統(tǒng)接口控制器驅(qū)動(HSICD)組成。HUSBCD負(fù)責(zé)自主集線器支持、設(shè)備枚舉、幀管理、事務(wù)調(diào)度、總線回收和狀態(tài)處理等任務(wù);HSICD負(fù)責(zé)數(shù)據(jù)傳輸管理、高級API管理、描述符管理和USB主機系統(tǒng)庫的管理。
2. 功能或設(shè)備固件
包括設(shè)備USB控制器驅(qū)動(DUSBCD)和設(shè)備系統(tǒng)接口控制器驅(qū)動(DSICD)。DUSBCD負(fù)責(zé)設(shè)備配置、FIFO配置、設(shè)備枚舉和標(biāo)準(zhǔn)請求處理、掛起檢測和事務(wù)處理等任務(wù);DSICD負(fù)責(zé)數(shù)據(jù)傳輸管理和高級API管理。
五、電氣特性與封裝信息
1. 電氣特性
AT43USB370的絕對最大額定值包括3.3V電源供應(yīng)范圍為3.0 - 3.6V,工作溫度范圍為0 - 70°C等。同時,文檔還給出了DC和AC電氣特性的詳細(xì)參數(shù)。
2. 封裝信息
采用100引腳LQFP封裝,符合JEDEC參考MS - 026,Variation AED標(biāo)準(zhǔn)。
六、總結(jié)與思考
AT43USB370以其高度集成的USB硬件/固件架構(gòu),隱藏了傳統(tǒng)USB設(shè)計的復(fù)雜性,釋放了系統(tǒng)資源,是資源受限嵌入式環(huán)境中實現(xiàn)點對點USB連接的理想解決方案。在實際應(yīng)用中,電子工程師可以根據(jù)具體需求,合理配置AT43USB370的工作模式、端點參數(shù)等,以實現(xiàn)最佳的性能和功能。同時,對于其數(shù)據(jù)傳輸機制和固件架構(gòu)的深入理解,有助于開發(fā)出高效、穩(wěn)定的USB設(shè)備驅(qū)動和應(yīng)用程序。大家在使用AT43USB370的過程中,是否遇到過一些有趣的問題或挑戰(zhàn)呢?歡迎在評論區(qū)分享交流。
-
嵌入式設(shè)備
+關(guān)注
關(guān)注
0文章
124瀏覽量
17737
發(fā)布評論請先 登錄
深入剖析Atmel AT43USB370:USB 2.0雙角色處理器的卓越性能與應(yīng)用
評論