Global Sources
電子工程專輯
 
電子工程專輯 > 介面技術
 
 
介面技術  

利用新型PSoC元件進行USB應用設計

上網時間: 2005年12月23日     打印版  Bookmark and Share  字型大小:  

關鍵字:PSoC  USB  CY8C24794  CY8C21x34  電容器感應 

引言:設計工程師很早就熟悉USB技術了,但為現有產品添加USB介面的工作並不是很簡單,會在一定程度上增加新計畫的複雜性,不過現在有辦法在很大程度上避免這樣情況的發生。本文從技術細節角度描述了新款的PSoC及其USB介面,並探討了可用這些元件方便設計有關應用實例。

PSoC系列元件專為取代傳統MCU、系統IC及其相關的多種分離元件而設計。該架構使用戶能夠製作定製的週邊設備配置,滿足各種不同應用的要求。此外,還包含快速的CPU、快閃記憶體程式記憶體、SRAM數據記憶體和可配置的I/O。PSoC CY8C24794是PSoC系列中獨特的一員,因為它包括了功能齊全的全速(12Mbps)USB埠。

PSoC架構(圖1)包括四大部份:PSoC核心、數位系統、類比系統和系統資源(含全速USB埠)。可配置的全局匯流排使元件資源能夠整合在完整的可定製系統中。PSoC CY8C24794元件可具備多達7個I/O埠,連接於全局數位和類比互聯元件,因而能夠存取4個數位時脈和6個類比時脈。

PSoC核心包括24MHz、4MIPS哈佛架構的CISC CPU,具有16KB快閃記憶體,適用於程式儲存,還具有1KB的SRAM,適用於數據儲存,此外還具備2KB的EEPROM,採用快閃記憶體類比。程式快閃記憶體利用64個位元組塊實現四級保護,可實現定製的軟體IP保護。

圖1:PSoC功能結構概覽。

圖2:數位系統模塊。

圖3:類比系統模塊。

圖4:PSoC USB模塊示意圖。

圖6:(a) 相鄰平行板電容器;(b) 具有分流作用的相鄰平行板電容器。

圖7:CY8C21x34的多工匯流排結構。

表1:設備程式程式碼簡單而直接。

PSoC元件包括靈活的內部時脈發生器,含24MHz內部主振盪器(IMO),在工作溫度和電壓範圍內誤差不超過8%。24MHz IMO還可倍增為48MHz,用於數位系統。此外還具備低功耗32kHz的內部低速振盪器(ILO),作為睡眠定時器和看門狗定時器(WDT)。

PSoC GPIO提供到CPU、元件數位和類比資源的連接。每個接腳的驅動模式可從八個選項中進行選擇,這就使外部介面具有極大的靈活度。每個接腳還能生成高級和低級系統中斷,並能自上一次讀之後進行改變。

數位系統(圖2)包括4個數位PsoC模塊。每個模塊都是8位元資源,可單獨使用,也可與其他塊結合使用,形成8位元、16位元、24位元和32位元週邊。數位塊還可透過串列全局匯流排連接至GPIO,將任何訊號路由給任意接腳。匯流排還可實現訊號多工功能,並進行邏輯作業。這種可配置性使設計工作不再受到固定週邊設控制器的限制。

類比系統(圖3)包括6個可配置的模塊,每個模塊都具備運算放大器,可製作複雜的類比訊號流。類比週邊設備非常靈活,經過定製後可支援具體的應用要求。類比塊三個成一列,包括一個連續時間(CT)和兩個開關電容器(SC)塊。

CY8C21x34和CY8C24x94 PSoC元件與其他PSoC元件的不同之處在於,其GPIO接腳可連接於內部類比匯流排。CY8C24x94包含更多功能,可以有選擇地將類比匯流排分為兩部份。就CY8C21x34而言,所有GPIO接腳都啟用後,可實現上述連接。就CY8C24x94而言,埠0到5的所有接腳都啟用後,可連接至類比匯流排。

系統資源為實現完整的系統提供了更多功能。此外,其他資源還包括乘法器、抽樣器、低壓檢測和供電重置功能等。

PSoC USB

PSoC USB系統資源符合USB2.0規格,符合工作在12Mbps速度下的全速元件具備一個上行埠和一個USB地址的規格要求。PSoC USB(圖4)包括一個串列介面引擎(SIE)塊;一個PSoC記憶體仲裁器(PMA)塊;256位元組的專用SRAM;一個具有內部調節器的全速USB收發器以及兩個專用USB接腳。

就系統級而言,全速USB系統資源透過M8C暫存器存取指令介面於PSoC其它部份,並透過兩個USB接腳與外部相連。

SIE支援5個端點,包括一個控制端點(端點0)和4個數據端點(端點1、2、3和4)。控制端點經過配置可支援SETUP、IN和OUT請求。數據端點可分別獨立配置,因而響應中斷、傳輸、同步IN或OUT請求等。

USB串列介面引擎(SIE)使PSoC元件能與USB主機實現全速通訊。SIE可自動完成以下USB處理任務,無需韌體干預,因而簡化了USB流量介面的工作:

  1. 將接收到的編碼數據進行轉換,將匯流排上要傳輸的數據進行格式化。

  2. CRC校驗和生成。忽略那些未通過校驗和驗證的傳送進來的數據包。

  3. 地址檢查。忽略所有地址未指向元件的事務。

  4. 發送適當的ACK/NAK/Stall握手訊號。

  5. 識別標記類型(SETUP、IN、OUT),一旦接收到有效的標記,即設置適當的標記位元。

  6. 識別訊框起始(SOF)並保存訊框的數量。

  7. 透過PSoC記憶體仲裁器向USB SRAM發送數據,或從USB SRAM接收數據。

處理USB介面的多種不同部份需要韌體發揮作用。SIE在主要USB事件發生後發出中斷,使韌體從事適當的任務,如填充和清空USB SRAM中的USB數據緩衝記憶體,適當啟動PMA通道,透過對USB設備的請求進行解碼來協調設備列舉,並重新開始協調,以及確認和選擇數據開關值等。

圖5:USB連接示例。

PSoC USB系統資源包含專用的256位元組SRAM,其與PSoC核心中所用的SRAM頁相同,但不能透過M8C記憶體接取指令存取。PSoC USB的專用SRAM只能透過PMA暫存器進行存取。

PSoC記憶體判優器(PMA)是PSoC USB專用SRAM與存取SRAM的兩個模塊(M8C與USB SIE)之間的介面。PMA可提供8個通道以傳輸數據。M8C可使用所有的通道暫存器,但4個非控制USB端點分別由PMA通道暫存器的特定集來分配。

內部USB收發器與外部USB匯流排相連,根據USB2.0規格收發訊號。在正常的USB作業狀態下,收發器直接與SIE連接,初始化之後無需與用戶互動。

與外部USB設備相連接相當簡單,只需添加兩個電阻即可。圖5顯示了具有56接腳MLF PSoC元件的USB連接應用示意圖(CY8C24794)。

電容器感應應用

圖8:設備(左)與主機(右)程式流程圖。

CY8C24794-24LFXI採用了Cypress的CapSense技術,為取代機械開關與控制提供了一種有效的解決方案,轉而採用簡單的觸控式解決方案。PSoC架構使我們能夠方便地將觸控系統與LED驅動器、LCD顯示設備以及其他週邊設備相連接。

就其基本形式而言,電容器開關是一對相鄰的平行板,如圖6a所示。儘管存在較小的邊緣至邊緣電容器(edge-to-edge capacitance),但開關佈局的本意是為了最小化平行板之間的電容器。如果將導體置於靠近兩個平行板的位置,如圖6b所示,那麼就會在導體和一個電極之間產生電容器,與此類似,導體和另一個電極之間也會存在電容器。

電容器開關組的最常見形式為:一組電容器中每個電容器的一側都接地。這樣,工作電容器只有一側可存取;開關是接地的可變電容器。導體的存在加大了開關接地的電容器。決定開關是否啟動取決於電容器測量是否發生了改變。

另一個系列CY8C21x34晶片具備獨特的特性,可實現高效的電容器開關掃描應用設計。相關特性包括:多工多工器陣列較寬,這樣所有測量的通道都能使用相同的比較器和電流源;DAC電流源可調節;此外,比較器和重置開關可實現自動連接。

這種驅動與多工設計可繞過現有的GPIO,將所選的接腳連接到內部類比多工匯流排,如圖7所示。電容器充電電流(IDAC,由暫存器DAC_D控制)和重置開關連接至類比多工匯流排,這可降低對接腳數的要求,進而降低待處理的開關數;而且啟動作業時無需外部電阻或電容器。

PSoC CapSense解決方案的基本電路與韌體相對簡單,開關工作環境的實體設計則相對較複雜一些。設計電容器感測系統時,主要應考慮三方面的問題:PCB、覆蓋材料以及與PCB和電容器感應無關的其它因素。Cypress編寫了一系列應用手冊,詳細介紹了上述領域的問題,在此不再贅述。

實例說明:按鈕與發光管

CY8C24794由PSoC Designer軟體、評估板、ICE-Cube電路板上類比器以及微型編程器提供支援,能夠方便地展開新設計實驗。在此僅介紹基本的USB設計,透過該設計實現此作業:按下目標主機PC上的按鈕,使評估板上的發光管發光。

不管展開哪種USB設計都要處理兩種程式:主機程式和遠端設備程式。USB不會‘發送’數據,而是準備好數據,由USB主機來收集;主機控制所有通訊功能,而設備只有在主機允許時候才工作。

圖8中的流程圖顯示了本例中元件與主機程式的邏輯工作關係:

main.c設備程式如列表1所示:USB_Start()調用發起由USB用戶模組庫處理的枚舉序列;一旦枚舉完成,即讓緩衝器接收PC發出的發光報告,再等待設置SOF標記。SOF_ISR每隔1毫秒設置一次標記。

設置SOF標記後,將調用scan-buttons(),這是按鈕去抖動例程。如果檢測到某按鈕發生更改,就會向PC發送按鈕報告,然後再檢查發光報告是否在前一個幀中被接收。如果已接收發光報告,程式就會更新本地LED。需要注意的是,對於main()而言,數據被轉移到端點緩衝器中又轉移出去,USB通訊由SIE在後台處理。USB執行時作業就像讀寫端點緩衝器一樣簡單。

作者:Jon Pearson

Cypress Semiconductor公司




投票數:   加入我的最愛
我來評論 - 利用新型PSoC元件進行USB應用設計
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首