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