當前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導讀]介紹如何采用Cypress公司的CY8C:24x94、CY7C64215芯片及USBUART用戶模塊,方便、快速地實現(xiàn)嵌入式系統(tǒng)與PC機之間基于USB接口通信的軟硬件設計與實現(xiàn)方法。該方案使得工程師能夠輕松跨越復雜的USB底層接口協(xié)議,仍然采用簡便的RS232(UART)方式進行上層應用系統(tǒng)設計。

1 概 述
   
RS232(UART)接口是一種簡單、方便和實用的通信接口,用途非常廣泛。在許多嵌入式應用,如智能儀器儀表、電子設備中,均使用RS232與PC機等外部系統(tǒng)進行通信,實現(xiàn)上位機對下位機的控制及數(shù)據(jù)交換等。在系統(tǒng)調(diào)試過程中,通常也是通過RS232,將調(diào)試數(shù)據(jù)發(fā)送到PC上顯示出來。
    但在PC機領域,RS232(COM)串行接口已經(jīng)從最新一生產(chǎn)的計算機,尤其是筆記本電腦中消失了,而串行接口USB成為了標準的配置。這種變化給硬件工程師帶來了不少麻煩。
    目前通常的解決辦法是購置一根“USB to RS232”轉(zhuǎn)換電纜,其基本作用是在USB總線上仿真出一個RS232端口。這種方法的主要優(yōu)點在于:PC應用程序?qū)⒃揢SB口連接當作COM口連接使用,從而可以使工程師輕松跨越復雜的USB低層接口協(xié)議,仍使用原來熟悉的,針對COM口操作的方式編寫程序代碼。
    本文將介紹另外一種與上述方法原理類似的設計實現(xiàn)方案,設備之間的外表連接全部換成了USB標準物理接口和連接電纜,但在PC上仍然使用針對COM口操作的方式編寫程序代碼,保留了原來的風格。該方案是采用Cypress公司PSoC家族中帶USB接口的CY7C64215(或CY8C24x94)芯片實現(xiàn)的。

2 PSoC、PSoC USB和USBUART
2.1 PSOC
    可編程片上系統(tǒng)(Prograromable System on Chip,PSoC),是Cypress公司近幾年推出的一種新型的可編程半導體器件芯片。PSoC由8位微處理器內(nèi)核,多個可編程的模擬模塊和數(shù)字模塊,硬件乘法累加器,以及I2C、Flash、SRAM等周邊外圍資源組成。因此,PSoC除了能實現(xiàn)一般MCU的功能外,還可通過可編程模擬和數(shù)字模塊,靈活地實現(xiàn)嵌入式系統(tǒng)所需的多種模擬與數(shù)字外圍功能。PSoC集三種可編程能力于一體,不僅具有MCU的可編程能力,還包含了部分可編程邏輯運算功能,同時提供了可編程模擬陣列。通過對寄存器的配置或控制,三者之間還可以協(xié)調(diào)工作,是具有真正的混合信號處理能力的可編程片上系統(tǒng)。
    PSoC中的數(shù)字資源(如定時器、PWM、UART等)和模擬資源(如放大器、比較器、濾波器等)是以數(shù)字模塊和模擬模塊的方式給出。不同型號PSoC芯片的差異主要在于其擁有的數(shù)字模塊和模擬模塊的數(shù)量不同。用戶可根據(jù)特定需求來定義這些模塊。
    PSoC的集成開發(fā)環(huán)境PSoC Designer也預先為用戶定義了近百個常用的數(shù)字和模擬資源配置模塊。這些預定義的模塊稱為用戶模塊,如數(shù)字資源有定時器、PWM、UART、SPI、CRC、PRS等,模擬資源有放大器、比較器、濾波器等,ADC則由若干數(shù)字模塊和模擬模塊組合而成。這使得PSoC開發(fā)人員無需通過設置寄存器來構(gòu)建這些周邊設備,只需在PSoC Designer中選擇和放置所需的用戶模塊并進行參數(shù)設定。PSoC Designer不僅能配置用戶模塊,還為用戶創(chuàng)建了低層驅(qū)動函數(shù),并提供使用這些用戶模塊的API函數(shù)供用戶編程時調(diào)用。這種新穎的系統(tǒng)設計方法使工程師可以把主要精力集中在上層系統(tǒng)軟件的設計工作中,極大地方便了整個系統(tǒng)的設計開發(fā)。
2.2 PSoC USB

    PSoC系列中的CY7C64215、CY8C24x94芯片不僅具備上述PSoC的功能和特點,還包括了一個功能完善的全速(12 Mbps)USB端口。PSoC的USB端口資源符合USB2.O規(guī)范,是一個可以工作在12 Mbps速度下的全速器件,具備1個上行端口和1個USB地址的規(guī)范要求。PSoC USB包括1個串行接口引擎(SIE),1個PSoC存儲器仲裁器(PMA),256B的專用SRAM,1個帶有內(nèi)部調(diào)節(jié)器的全速USB收發(fā)器以及2個專用USB引腳。
    USB SIE支持5個端點,包括1個控制端點(端點0)和4個數(shù)據(jù)端點(端點1、2、3和4)??刂贫它c經(jīng)過配置可支持SETUP、IN和OUT請求。數(shù)據(jù)端點可分別獨立配置,從而響應中斷、批傳輸、同步IN或OUT請求等。SIE使PSoC器件能與USB主機實現(xiàn)全速通信,并可自動完成以下USB處理任務,無需固件干預,從而簡化了USB流量接口的工作。
    ①將接收到的編碼數(shù)據(jù)進行轉(zhuǎn)換,將總線上要傳輸?shù)臄?shù)據(jù)格式化。
    ②生成CRC校驗和。忽略那些傳送進來的未通過校驗和驗證的數(shù)據(jù)包。
    ③地址檢查。忽略所有地址未指向器件的事務。
    ④發(fā)送適當?shù)腁CK/NAK/Stall握手信號。
    ⑤識別標記類型(SETUP、IN、OUT),一旦接收到有效的標記,即設置適當?shù)臉擞浳弧?br />    ⑥識別幀起始(S()F)并保存幀的數(shù)量。
    ⑦通過PSoC存儲器仲裁器向USB SRAM發(fā)送數(shù)據(jù),或從USB SRAM接收數(shù)據(jù)。
    PSoC存儲器判優(yōu)器(PMA)是PSoC USB專用SRAM與數(shù)據(jù)SRAM的2個內(nèi)存塊(USB SIE與M8C)之間的接口。PMA可提供8個通道用于傳輸數(shù)據(jù)。M8C可使用所有的通道寄存器,但4個非控制USB端點分別由PMA通道寄存器的特定集來分配。
    PSoC USB系統(tǒng)資源包含專用的256 B SRAM,其與PSoC內(nèi)核中所用的SRAM頁相同,但不能通過M8C存儲器操作指令存取。PSoC USB的專用SRAM只能通過PMA寄存器進行存取。
    內(nèi)部USB收發(fā)器與外部USB總線相連,根據(jù)USB2.O規(guī)范收發(fā)信號。在正常的USB操作狀態(tài)下,收發(fā)器直接與SIE連接,初始化之后無需與用戶互動。
    就系統(tǒng)級而言,PSoC的全速USB系統(tǒng)資源通過M8C寄存器訪問指令進行操作配置,實現(xiàn)與PSoC其他部分的連接,并通過2個USB引腳與外部相連。
2.3 USBUART用戶模塊
    USBUART用戶模塊是PSoC集成開發(fā)環(huán)境PSoCDesigner中專門為用戶使用PSoC USB預先定義的自動配置資源。USBUART實現(xiàn)了USB設備功能,并利用PSoC的1個USB端口來仿真1個COM端口,同時在PSoC器件側(cè)提供了類似于UART的高層API函數(shù)。因此利用該用戶模塊可以方便地替代傳統(tǒng)的基于RS232(UART)接口的通信方案。2種方案的對比如圖1所示。

    USBUART是在PSoC的USB端口基礎上,在USB總線上仿真RS232端口。這種方法的主要優(yōu)點在于,PC的上層應用程序?qū)⒋薝SB設備仍舊看作是1個COM連接,從而使上層操作非常易于實現(xiàn)。這種方法可以使用在從Windows 98SE到Windows XP所有版本的MicrosoftWindows操作系統(tǒng)中的標準COM口驅(qū)動程序——MSC0M控件來編寫的應用程序中。
    USB通信設備類(CDC)規(guī)格定義了許多通信模型,其中包括了1個在USB上實現(xiàn)串行通信仿真的抽象控制模型。Microsoft Windows USB調(diào)制解調(diào)器的驅(qū)動程序usbser.sys符合此規(guī)格。
    在一臺新的USB設備第一次連接到一臺WindowsPC時,Windows將要求用戶提供驅(qū)動程序。Windows2000及以后版本在安裝驅(qū)動程序時需要一個INF文件。Windows沒有為這個usbser.sys驅(qū)動程序提供標準的INF文件。為了安裝能夠在USB上仿真RS232的設備,用戶必須提供一個能夠?qū)⒏郊拥脑O備映射到MicrosoftCDC驅(qū)動程序的INF文件。USBUART用戶模塊會自動生成這個必要的INF文件,建立在工程項目的LIB文件夾內(nèi)供使用。在提供了INF文件后,驅(qū)動程序允許USB1設備仿真成1個USB端口。
    PC上面向COM口終端應用程序中的設置(波特率、數(shù)據(jù)位、奇偶校驗、停止位和流控制)都不會影響數(shù)據(jù)傳輸?shù)男阅?,因為此時的COM口實際是USB設備,使用USB協(xié)議來控制數(shù)據(jù)流。但是,除了流控制以外的COM口終端設置值,在PSoC端可以采用特定的API函數(shù)調(diào)用檢索到,以便在需要時用于真正的RS232設備。

3 軟硬件設計
   
實際上應用工程師并不需要了解如此多的關(guān)于USB的底層內(nèi)容和協(xié)議。只要基本掌握和看懂圖1所示的原理,借助PSoC:USB和USBUART,就可以在很短的時間內(nèi)實現(xiàn)基于USB接口的PC與嵌入式系統(tǒng)的連接通信。下面具體介紹該方案的軟硬件設計和實現(xiàn)。
3.1 硬件設計
   
圖2是采用CY7C64215實現(xiàn)該方案的原理圖。

    圖中的CY7C64215是帶有1個全速USB接口的PSoC芯片,左邊的USB—B為USB連接座,其中D+和D一為2個USB信號線,通過2個51 Ω電阻與CY7C64215的2個USB引腳D+和D一連接。整個系統(tǒng)電源是通過USB連接座上的5 V引腳獲取,即由PC機的USB口提供工作電源。需要特別注意的是,電路中使用了1片電壓調(diào)整芯片,將從USB口上輸入的5 V電壓調(diào)整為3.6 V后,再作為CY7C64215的工作電源。這是因為USB協(xié)議中規(guī)定了USB信號線D+和D一的電平為O~3.6 V,CY7C64215采用3.6 V的工作電壓是為了保證USB信號線的電平匹配。如果CY7c64215直接使用5 V電源工作,那么在D+和D一信號線上必須對地增加2個3.6 V穩(wěn)壓二極管,分別將它們鉗位在3.6 V,這樣才能保證PC正確識別該USB設備和USB通信的正常。
    圖中右邊的ISSP為PSoC的編程下載口,PSoC器件支持ISSP在線串行下載,編譯生成的HEX文件可以通過該編程口燒錄到PSoC內(nèi)部的Flash中。圖中的LED是USB工作指示燈,在USB通信過程中會閃爍。
3.2 PSoC軟件系統(tǒng)設計過程
    軟件系統(tǒng)設計過程全部是在PSoC的集成開發(fā)環(huán)境PSoC Designer 5中完成的。首先建立1個新的項目,選擇帶有USB接口的CY7C64215芯片。在芯片中選擇添加USBUART用戶模塊,并為該模塊填寫相應的參數(shù)。表1給出了USBUART的幾個參數(shù)及意義,其中MaxPower僅當選擇設備由USB總線供電時有效。

    在這個示例中,除了選擇必需的USBUART用戶模塊外,還選擇使用了1個LED用戶模塊,該模塊用于控制LED指示USB的工作狀態(tài)。根據(jù)硬件電路,配置該模塊的輸出為CY7C64215的P1_2引腳,用于驅(qū)動LED。
    選擇配置完2個用戶模塊后,就可讓PSoC Designer生成應用程序框架了。在這個過程中,PSoC Designer會自動綜合所有的配置信息,更新和產(chǎn)生所使用用戶模塊的底層匯編語言驅(qū)動代碼和API函數(shù),并同時生成一個C語言的主程序框架。
    接下來就是編寫USBUART設備的上層應用程序代碼了。在PSoC Designer中,打開已經(jīng)生成的main.c主程序,添加如下所示的簡單代碼:


    這段簡單的C代碼功能首先啟動LED和USBUART用戶模塊工作,開放CPU的中斷允許,然后等待USB初始化。USB接口初始化成功(與PC連接成功)后,程序開始循環(huán)查詢和接收PC下發(fā)的數(shù)據(jù),然后將收到的數(shù)據(jù)再回送給PC,同時控制LED的閃爍,從而實現(xiàn)簡單的、可作為USBUART設備性能測試的Echo功能。
    最后編譯整個系統(tǒng)程序,生成HEX文件,通過ISSP下載燒錄到CY7C64215中。整個軟件系統(tǒng)設計過程便告完成。
3.3 USBUART的連接與測試
    使用l根普通的USB延長連接線,將CY7C64215的USB口連接到PC機的USB口上,PC顯示發(fā)現(xiàn)新的USB設備,并提示安裝驅(qū)動。USBUART設備的驅(qū)動程序是PSoC Designer自動生成的,保存在工程文件目錄的L1B子目錄下,文件名為USBUART_XP_Vista.inf(或US—BUART.inf)。用戶只要按照提示的要求,選擇這個USB設備文件就可以安裝USBUART的驅(qū)動了。打開PC機的硬件配置,會發(fā)現(xiàn)PC的硬件設備中多了1個COM口。
    接下來的測試是在PC機上打開串口調(diào)試工具(如超級終端),連接到該COM口,然后手動發(fā)送1個任意字符。CY7C64215控制的LED則開始閃爍,在超級終端上也同時收到由USBUART回送的該字符。
    更進一步的測試是,將超級終端的波特率設置成115 200 bps,每隔1 ms自動發(fā)送1個字符。此時CY7C64215控制的LED全亮(由于閃爍間隔時間太短),超級終端也會連續(xù)收到字符。通過對比在超級終端中發(fā)送和接收到的字符個數(shù)是否相同,可以驗證是否丟失數(shù)據(jù)。


4 總 結(jié)

    RS232是單個設備接入計算機時最常采用的一種方式,由于其通信規(guī)程協(xié)議比較簡單,很多傳統(tǒng)的儀器設備和嵌入式系統(tǒng)都采用了這種通信方式。將USB轉(zhuǎn)UART技術(shù)應用于嵌入式系統(tǒng)與.PC機之間的數(shù)據(jù)通信,在計算機上產(chǎn)生1個虛擬的COM口,用戶只需像使用通用串行口一樣使用USB口即可。這樣不僅能使嵌入式系統(tǒng)具備USB通信的諸多優(yōu)點,簡化了USB編程,同時還可以利用USB對嵌入式系統(tǒng)提供5 V的電源(500 mA以下)。而PSoC USB和USBUART則提供了非常方便和快捷的實現(xiàn)方法,并具備以下幾個特點。
    該方案使得工程師能夠繞過復雜的USB底層接口和協(xié)議,采用簡便的RS232(UART)方式進行上層系統(tǒng)設計,繼承了傳統(tǒng)方案的優(yōu)點,不會給設計人員帶來困難。同采用配置1根“USB to RS232”轉(zhuǎn)換電纜的方案相比,USBUART的硬件設計和結(jié)構(gòu)更為簡單,物理接口占用的空間也大大減小。在電路上不僅省掉了UART與RS232的電平轉(zhuǎn)換環(huán)節(jié)(MAX232),還可以使一些小型、微型的嵌入式系統(tǒng)直接采用由PC機的USB口供電的工作方式,進一步省掉了電源系統(tǒng),有效降低了整個系統(tǒng)的硬件成本。
    USBUART本身還提供了20多個應用編程接口(API)子程序,它們作為該用戶模塊的一部分,使設計人員只需要在更高層次上與USBUART模塊打交道。而且CY7C64215、CY8C24x94除了具備USB端口外,還含有多個可編程配置的數(shù)字和模擬模塊、32 KB的Flash、1 KB的SRAM、2個8×8的乘法器、1個32位加法器、超過56個可編程的I/O(CY8C24x94)等強大的資源。僅僅1片芯片,不但可以實現(xiàn)基于USB的通信,還可以同時完成各種不同的模擬和數(shù)字,以及模數(shù)混合的應用(如CapSense、CY8C24x94)。
    本方案非常適合在設計新的產(chǎn)品和系統(tǒng)時采用,作者已經(jīng)成功地將其融入到多個新設計的系統(tǒng)和產(chǎn)品中使用。

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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