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