aql 发表于 2007-5-30 11:20

求助红外接收器与PC机通讯控制鼠标方案

我做了一个红外发射远程遥控器,采用CY8C21434做电容式触摸按键,还有用MMA7330L&nbsp;&nbsp;&nbsp;3D加速度传感器做鼠标信号检测,采用红外管发射数据.但是接收端的驱动处理找不到方案.<br />&nbsp;&nbsp;&nbsp;1:要实现按键功能同时鼠标的功能也要实现.<br />&nbsp;&nbsp;&nbsp;2、接收到的红外数据怎样与PC机通讯<br />&nbsp;请高手帮忙小弟,如果有方案的谢谢传一分给我<br />&nbsp;&nbsp;&nbsp;mail:pangeming@163.com

chunyang 发表于 2007-5-30 11:55

PC端有现成的红外互连标准和外设

可以基于它实现,也可以自己外挂红外接收系统,连接到PS2或USB口上,用MCU将数据转成相应的鼠标通讯格式即可。

AQL 发表于 2007-5-30 15:49

我选择CY8C24794做接收

请问chunyang&nbsp;我选择PSOC芯片CY8C24794做接收MCU,M8C内核,可以实现吗?<br />引言:設計工程師很早就熟悉USB技術了,但為現有產品添加USB介面的工作並不是很簡單,會在一定程度上增加新計畫的複雜性,不過現在有辦法在很大程度上避免這樣情況的發生。本文從技術細節角度描述了新款的PSoC及其USB介面,並探討了可用這些元件方便設計有關應用實例。&nbsp;<br />PSoC系列元件專為取代傳統MCU、系統IC及其相關的多種分離元件而設計。該架構使用戶能夠製作定製的週邊設備配置,滿足各種不同應用的要求。此外,還包含快速的CPU、快閃記憶體程式記憶體、SRAM數據記憶體和可配置的I/O。PSoC&nbsp;CY8C24794是PSoC系列中獨特的一員,因為它包括了功能齊全的全速(12Mbps)USB埠。&nbsp;<br />PSoC架構(圖1)包括四大部份:PSoC核心、數位系統、類比系統和系統資源(含全速USB埠)。可配置的全局匯流排使元件資源能夠整合在完整的可定製系統中。PSoC&nbsp;CY8C24794元件可具備多達7個I/O埠,連接於全局數位和類比互聯元件,因而能夠存取4個數位時脈和6個類比時脈。&nbsp;<br />PSoC核心包括24MHz、4MIPS哈佛架構的CISC&nbsp;CPU,具有16KB快閃記憶體,適用於程式儲存,還具有1KB的SRAM,適用於數據儲存,此外還具備2KB的EEPROM,採用快閃記憶體類比。程式快閃記憶體利用64個位元組塊實現四級保護,可實現定製的軟體IP保護。&nbsp;<br /><br />&nbsp;<br /><br />圖1:PSoC功能結構概覽。<br /><br />&nbsp;<br /><br />圖2:數位系統模塊。<br /><br />&nbsp;<br /><br />圖3:類比系統模塊。<br /><br />&nbsp;<br /><br />圖4:PSoC&nbsp;USB模塊示意圖。<br /><br />&nbsp;<br /><br />圖6:(a)&nbsp;相鄰平行板電容器;(b)&nbsp;具有分流作用的相鄰平行板電容器。<br /><br />&nbsp;<br /><br />圖7:CY8C21x34的多工匯流排結構。<br /><br /><br />&nbsp;<br /><br />表1:設備程式程式碼簡單而直接。<br />PSoC元件包括靈活的內部時脈發生器,含24MHz內部主振盪器(IMO),在工作溫度和電壓範圍內誤差不超過8%。24MHz&nbsp;IMO還可倍增為48MHz,用於數位系統。此外還具備低功耗32kHz的內部低速振盪器(ILO),作為睡眠定時器和看門狗定時器(WDT)。&nbsp;<br />PSoC&nbsp;GPIO提供到CPU、元件數位和類比資源的連接。每個接腳的驅動模式可從八個選項中進行選擇,這就使外部介面具有極大的靈活度。每個接腳還能生成高級和低級系統中斷,並能自上一次讀之後進行改變。&nbsp;<br />數位系統(圖2)包括4個數位PsoC模塊。每個模塊都是8位元資源,可單獨使用,也可與其他塊結合使用,形成8位元、16位元、24位元和32位元週邊。數位塊還可透過串列全局匯流排連接至GPIO,將任何訊號路由給任意接腳。匯流排還可實現訊號多工功能,並進行邏輯作業。這種可配置性使設計工作不再受到固定週邊設控制器的限制。&nbsp;<br />類比系統(圖3)包括6個可配置的模塊,每個模塊都具備運算放大器,可製作複雜的類比訊號流。類比週邊設備非常靈活,經過定製後可支援具體的應用要求。類比塊三個成一列,包括一個連續時間(CT)和兩個開關電容器(SC)塊。&nbsp;<br />CY8C21x34和CY8C24x94&nbsp;PSoC元件與其他PSoC元件的不同之處在於,其GPIO接腳可連接於內部類比匯流排。CY8C24x94包含更多功能,可以有選擇地將類比匯流排分為兩部份。就CY8C21x34而言,所有GPIO接腳都啟用後,可實現上述連接。就CY8C24x94而言,埠0到5的所有接腳都啟用後,可連接至類比匯流排。&nbsp;<br />系統資源為實現完整的系統提供了更多功能。此外,其他資源還包括乘法器、抽樣器、低壓檢測和供電重置功能等。&nbsp;<br />PSoC&nbsp;USB&nbsp;<br />PSoC&nbsp;USB系統資源符合USB2.0規格,符合工作在12Mbps速度下的全速元件具備一個上行埠和一個USB地址的規格要求。PSoC&nbsp;USB(圖4)包括一個串列介面引擎(SIE)塊;一個PSoC記憶體仲裁器(PMA)塊;256位元組的專用SRAM;一個具有內部調節器的全速USB收發器以及兩個專用USB接腳。&nbsp;<br />就系統級而言,全速USB系統資源透過M8C暫存器存取指令介面於PSoC其它部份,並透過兩個USB接腳與外部相連。&nbsp;<br />SIE支援5個端點,包括一個控制端點(端點0)和4個數據端點(端點1、2、3和4)。控制端點經過配置可支援SETUP、IN和OUT請求。數據端點可分別獨立配置,因而響應中斷、傳輸、同步IN或OUT請求等。&nbsp;<br />USB串列介面引擎(SIE)使PSoC元件能與USB主機實現全速通訊。SIE可自動完成以下USB處理任務,無需韌體干預,因而簡化了USB流量介面的工作:&nbsp;<br />1.&nbsp;&nbsp;&nbsp;&nbsp;將接收到的編碼數據進行轉換,將匯流排上要傳輸的數據進行格式化。&nbsp;<br />2.&nbsp;&nbsp;&nbsp;&nbsp;CRC校驗和生成。忽略那些未通過校驗和驗證的傳送進來的數據包。&nbsp;<br />3.&nbsp;&nbsp;&nbsp;&nbsp;地址檢查。忽略所有地址未指向元件的事務。&nbsp;<br />4.&nbsp;&nbsp;&nbsp;&nbsp;發送適當的ACK/NAK/Stall握手訊號。&nbsp;<br />5.&nbsp;&nbsp;&nbsp;&nbsp;識別標記類型(SETUP、IN、OUT),一旦接收到有效的標記,即設置適當的標記位元。&nbsp;<br />6.&nbsp;&nbsp;&nbsp;&nbsp;識別訊框起始(SOF)並保存訊框的數量。&nbsp;<br />7.&nbsp;&nbsp;&nbsp;&nbsp;透過PSoC記憶體仲裁器向USB&nbsp;SRAM發送數據,或從USB&nbsp;SRAM接收數據。&nbsp;<br />處理USB介面的多種不同部份需要韌體發揮作用。SIE在主要USB事件發生後發出中斷,使韌體從事適當的任務,如填充和清空USB&nbsp;SRAM中的USB數據緩衝記憶體,適當啟動PMA通道,透過對USB設備的請求進行解碼來協調設備列舉,並重新開始協調,以及確認和選擇數據開關值等。&nbsp;<br />&nbsp;<br />圖5:USB連接示例。<br />PSoC&nbsp;USB系統資源包含專用的256位元組SRAM,其與PSoC核心中所用的SRAM頁相同,但不能透過M8C記憶體接取指令存取。PSoC&nbsp;USB的專用SRAM只能透過PMA暫存器進行存取。&nbsp;<br />PSoC記憶體判優器(PMA)是PSoC&nbsp;USB專用SRAM與存取SRAM的兩個模塊(M8C與USB&nbsp;SIE)之間的介面。PMA可提供8個通道以傳輸數據。M8C可使用所有的通道暫存器,但4個非控制USB端點分別由PMA通道暫存器的特定集來分配。&nbsp;<br />內部USB收發器與外部USB匯流排相連,根據USB2.0規格收發訊號。在正常的USB作業狀態下,收發器直接與SIE連接,初始化之後無需與用戶互動。&nbsp;<br />與外部USB設備相連接相當簡單,只需添加兩個電阻即可。圖5顯示了具有56接腳MLF&nbsp;PSoC元件的USB連接應用示意圖(CY8C24794)。&nbsp;<br />電容器感應應用&nbsp;<br />&nbsp;<br /><br />圖8:設備(左)與主機(右)程式流程圖。<br />CY8C24794-24LFXI採用了Cypress的CapSense技術,為取代機械開關與控制提供了一種有效的解決方案,轉而採用簡單的觸控式解決方案。PSoC架構使我們能夠方便地將觸控系統與LED驅動器、LCD顯示設備以及其他週邊設備相連接。&nbsp;<br />就其基本形式而言,電容器開關是一對相鄰的平行板,如圖6a所示。儘管存在較小的邊緣至邊緣電容器(edge-to-edge&nbsp;capacitance),但開關佈局的本意是為了最小化平行板之間的電容器。如果將導體置於靠近兩個平行板的位置,如圖6b所示,那麼就會在導體和一個電極之間產生電容器,與此類似,導體和另一個電極之間也會存在電容器。&nbsp;<br />電容器開關組的最常見形式為:一組電容器中每個電容器的一側都接地。這樣,工作電容器只有一側可存取;開關是接地的可變電容器。導體的存在加大了開關接地的電容器。決定開關是否啟動取決於電容器測量是否發生了改變。&nbsp;<br />另一個系列CY8C21x34晶片具備獨特的特性,可實現高效的電容器開關掃描應用設計。相關特性包括:多工多工器陣列較寬,這樣所有測量的通道都能使用相同的比較器和電流源;DAC電流源可調節;此外,比較器和重置開關可實現自動連接。&nbsp;<br />這種驅動與多工設計可繞過現有的GPIO,將所選的接腳連接到內部類比多工匯流排,如圖7所示。電容器充電電流(IDAC,由暫存器DAC_D控制)和重置開關連接至類比多工匯流排,這可降低對接腳數的要求,進而降低待處理的開關數;而且啟動作業時無需外部電阻或電容器。&nbsp;<br />PSoC&nbsp;CapSense解決方案的基本電路與韌體相對簡單,開關工作環境的實體設計則相對較複雜一些。設計電容器感測系統時,主要應考慮三方面的問題:PCB、覆蓋材料以及與PCB和電容器感應無關的其它因素。Cypress編寫了一系列應用手冊,詳細介紹了上述領域的問題,在此不再贅述。&nbsp;<br />實例說明:按鈕與發光管&nbsp;<br />CY8C24794由PSoC&nbsp;Designer軟體、評估板、ICE-Cube電路板上類比器以及微型編程器提供支援,能夠方便地展開新設計實驗。在此僅介紹基本的USB設計,透過該設計實現此作業:按下目標主機PC上的按鈕,使評估板上的發光管發光。&nbsp;<br />不管展開哪種USB設計都要處理兩種程式:主機程式和遠端設備程式。USB不會‘發送’數據,而是準備好數據,由USB主機來收集;主機控制所有通訊功能,而設備只有在主機允許時候才工作。&nbsp;<br />圖8中的流程圖顯示了本例中元件與主機程式的邏輯工作關係:&nbsp;<br />main.c設備程式如列表1所示:USB_Start()調用發起由USB用戶模組庫處理的枚舉序列;一旦枚舉完成,即讓緩衝器接收PC發出的發光報告,再等待設置SOF標記。SOF_ISR每隔1毫秒設置一次標記。&nbsp;<br />設置SOF標記後,將調用scan-buttons(),這是按鈕去抖動例程。如果檢測到某按鈕發生更改,就會向PC發送按鈕報告,然後再檢查發光報告是否在前一個幀中被接收。如果已接收發光報告,程式就會更新本地LED。需要注意的是,對於main()而言,數據被轉移到端點緩衝器中又轉移出去,USB通訊由SIE在後台處理。USB執行時作業就像讀寫端點緩衝器一樣簡單。&nbsp;<br />作者:Jon&nbsp;Pearson&nbsp;<br />

chunyang 发表于 2007-5-30 18:43

这不是什么复杂的任务,应该说任何8位及以上的MCU都能胜任

isbit 发表于 2007-5-31 23:30

HEHE

&nbsp;&nbsp;低速usb设备不算复杂,因芯片带有usb&nbsp;SIE&nbsp;了解usb协议及了解鼠标描述符即可。

xiaoyouzi56 发表于 2014-3-3 11:03

如果说用psoc担当示波器,(显示屏另外加),应该怎么弄?
页: [1]
查看完整版本: 求助红外接收器与PC机通讯控制鼠标方案