打印

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

[复制链接]
2009|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aql|  楼主 | 2007-5-30 11:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做了一个红外发射远程遥控器,采用CY8C21434做电容式触摸按键,还有用MMA7330L   3D加速度传感器做鼠标信号检测,采用红外管发射数据.但是接收端的驱动处理找不到方案.
   1:要实现按键功能同时鼠标的功能也要实现.
   2、接收到的红外数据怎样与PC机通讯
 请高手帮忙小弟,如果有方案的谢谢传一分给我
   mail:pangeming@163.com

相关帖子

沙发
chunyang| | 2007-5-30 11:55 | 只看该作者

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

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

使用特权

评论回复
板凳
AQL| | 2007-5-30 15:49 | 只看该作者

我选择CY8C24794做接收

请问chunyang 我选择PSOC芯片CY8C24794做接收MCU,M8C内核,可以实现吗?
引言:設計工程師很早就熟悉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 

使用特权

评论回复
地板
chunyang| | 2007-5-30 18:43 | 只看该作者

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

使用特权

评论回复
5
isbit| | 2007-5-31 23:30 | 只看该作者

HEHE

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

使用特权

评论回复
6
xiaoyouzi56| | 2014-3-3 11:03 | 只看该作者
如果说用psoc担当示波器,(显示屏另外加),应该怎么弄?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

aql

2

主题

4

帖子

1

粉丝