輕松駕馭嵌入式USB設(shè)計--USB完全解決方案全新登場
ToolStick開發(fā)平臺
本文引用地址:http://2s4d.com/article/86527.htmToolStick開發(fā)平臺是Silicon Labs公司提供的一個低價位的MCU評估開發(fā)平臺,它可以使MCU所有的引腳都可以引出,不同的MCU做在不同的子卡上,子卡即Daughter卡,開發(fā)不同的MCU即選擇不同的子卡。圖5所示的是一個完整的ToolStick工具,左邊的Base Adapter可以與任何Silicon Labs的MCU進行通信,通過USB Debug接口和PC相連;右邊的是Daughter卡,是MCU產(chǎn)品開發(fā)板,不同的MCU所用Daughter卡不同。Toolstick軟件和安裝方法可以在Silicon Labs公司的網(wǎng)站上找到,包括Silicon Labs的IDE,Keil公司2KB代碼的評估板,C語言編譯器,參考代碼以及應(yīng)用終端軟件等等。
Toolstick開發(fā)平臺將一個完成的開發(fā)系統(tǒng)包括在USBStick里,可以幫助工程師在現(xiàn)場演示如何使用Silicon Labs公司MCU,如何編程仿真和下載程序,Toolstick平臺整個應(yīng)用方法如圖5所示,PC側(cè)IDE通過Base Adapter仿真調(diào)試功能對子卡上的單片機進行在線調(diào)試,同時安裝在PC側(cè)的ToolStick終端軟件可以通過Base Adapter上單片機的UART口、GPIO口跟子卡上的單片機的UART口、GPIO口進行通訊,數(shù)據(jù)的收發(fā)在這個軟件上都可以顯示出來。ToolStick插上PC以后,電源LED點亮,C8051F326執(zhí)行的是USB調(diào)試器和跟USB通信的功能,調(diào)試的時候程序的運行和停止都會在Run,Stop LED顯示出來,SocketConnector是和子卡相連的接口。
圖6是C8051F330子卡的硬件圖。其中包括兩個LED,一個指示MCU的3.3V供電是否正常,另一個接在P1.39上給客戶作實驗用;IDIC輸出側(cè)接電阻,將電流信號轉(zhuǎn)換成電壓,通過轉(zhuǎn)動電位器可以給ADC輸入0-3.3V之間的電壓。C8051F330所有的I/O口都可以引出的,更方便客戶的測試和實驗。
問答選編
問:為任何一個微控制器添加USB口,有沒有最簡單的通 用方案?
答:最簡單的方案就是,使用Silicon Labs公司的CP210x系 列產(chǎn)品,不需要做USB的軟件開發(fā),直接將UART口轉(zhuǎn) 變成USB接口。
問:以往的USB實現(xiàn),往往都是通過加一個芯片,一般都是 支持usb1.1,兼容usb2.0,請問本產(chǎn)品的特點在哪里?
答:Silicon Labs公司的單片機將USB2.0的功能集成到單 片機上,使系統(tǒng)方案更加簡潔、可靠。在手持設(shè)備上使用 的話,單芯片的優(yōu)勢更加明顯。
問:我們設(shè)計的智能設(shè)備用于電力系統(tǒng),原設(shè)計是每相用一 個F310的UART接口,三相的三個接口通過串行總線 接口一個匯總的UART接口(第4個UART),通過第4 個接口對外部通信,請問如果用F340等芯片的USB接 口可以嗎?有沒有更好的方案?
答:通過F340的USB接口可以完成跟外部通信的任務(wù),另 外F340的2個UART口也可以完成2相的通信,還需 要軟件模擬一個UART口。
問: C8051F34x MCU進行A/D轉(zhuǎn)換時,可以實時把轉(zhuǎn)換后 的數(shù)據(jù)傳輸?shù)絇C嗎? 有多長的延遲時間呢?
答:可以。使用中斷,可以快很多。關(guān)于這個問題,還得看你 F34X里的任務(wù)和軟件代碼,還有PC機側(cè)的響應(yīng)時間(中 斷、定時、輪詢、任務(wù)多少)。
問:在應(yīng)用方面,協(xié)議中是不是要同時用到幾種傳輸模式? 控制傳輸是不是必需用到的?
答:對,每種USB的傳輸模式中,都會有控制傳輸。其他的 傳輸類別,可以根據(jù)你的應(yīng)用來選擇。
問:把傳統(tǒng)的USB主控移植到嵌入式裝置中,需要理清的 問題是不是比較多?
答:不會,使用SILICON LABS的USB可以省掉很多麻煩。 在MCU或PC機側(cè),我們都有USBEXPRESS、VCP等等 驅(qū)動程序來支持。實際上與USB接口有關(guān)的東西,你們 的應(yīng)用程序基本上是不會涉及的。
問:采用USB方案實現(xiàn)實時數(shù)據(jù)采集的最高采集信號頻率 能到多少?應(yīng)該如何考慮系統(tǒng)的優(yōu)化和抗干擾問題?
答:這個取決于需要通過USB傳輸有關(guān)信號的信息的頻 率。當(dāng)帶有USB中斷管道時,僅僅1ms發(fā)送一次請求, 這種情況需要考慮到MCU在多個周期內(nèi)取樣一次外部 信號。
我們的USB案例是基于降低端點1USB路徑花費的時 間量而優(yōu)化的,對于其他MCU任務(wù)將會考慮最大時間量。
問:兩個問題,首先是調(diào)試時,有時需要將JTAG或兩線接口 和目標板電氣隔離,能否用光電隔離的辦法(如6N137), 能否提供解決方案?第二,不用KEIL時,不能進行軟仿 真,能否增添此方面的功能?
答:第一個問題,只要隔離是雙向的并且支持高達幾百KHz 的速度,使用隔離器就是安全的。
第二個問題,Keil是為Silicon Labs的MCU提供仿真器 的唯一廠商。我們的MCU具有實時硬件調(diào)試的性能,因 此典型應(yīng)用我們推薦使用在實際硬件上調(diào)試。這樣可以 提供更高精度的仿真,目前沒有計劃增加仿真器支持Sili - con Labs IDE。
問:在使用USB/UART橋接方案的時候,經(jīng)常會出現(xiàn)UART 找不到的問題,請問一般是由哪些原因造成的?
答:如果一個器件操作已經(jīng)打開,則PC無法找到CP210x。 如果一個PC應(yīng)用已經(jīng)打開一個操作,并且器件沒有連 接到PC,但是這個操作也不會被關(guān)閉,器件也不能被檢 測到。PC應(yīng)用時,必須在器件重新連接之前關(guān)閉操作。
問:塊傳輸中的HIGH SPEED能達到53.2Mbyte/sec,這已 經(jīng)接近USB2.0理論上的極限值了,能否實現(xiàn)這個速度的 傳輸?與哪些因素有關(guān)?
答:Silicon Labs的MCU不支持高速,僅僅可以支持USB 全 速(48 MHz時鐘速度)和USB 低速(6 MHz時鐘)。保持 固件路徑小是達到高吞吐率的一個要求,除非是在必要 情況下,數(shù)據(jù)不可以在不同的存儲空間移動。
問:C8051F340芯片功耗怎樣,能用于低功耗手持式便攜儀 器嗎?
答:C8051F340 MCU的功耗量示于數(shù)據(jù)手冊的表3.1(33 頁)。如果器件僅僅用于USB傳輸,可以將其設(shè)置在低 功耗模式,這樣當(dāng)不用USB傳輸時幾乎不需要電流。當(dāng) 與PC相連接時,可以從USB主機獲取電源,如果MCU 用于采集數(shù)據(jù)或其他功能,振蕩器可以配置成低速運行 從而降低功耗。此外為了實現(xiàn)低功耗,還有一個片上低 頻率振蕩器。
問:不同速率的USB設(shè)備互聯(lián),會出現(xiàn)什么問題?常常遇 到USB設(shè)備能檢測到,但是不能識別,是信號完整性的 問題嗎?有沒有很好的解決辦法?
答:首先是USB集線器和USB主機支持連接不同速率的 USB設(shè)備(全速USB或高速USB),而一些USB集線器 僅僅可以在USB全速模式下工作。其次,如果PC可以 檢測到一個設(shè)備,但是不能識別,可能USB描述符或者 信號集成存在問題。推薦先使用USB分析器檢查USB 枚舉結(jié)果,如果枚舉正確,再檢查信號集成。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論