a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 用4BIT OTP單片機實現USB/PS2 MOUSE的設計

用4BIT OTP單片機實現USB/PS2 MOUSE的設計

作者: 時間:2006-07-05 來源:網絡 收藏
引言:
低速設備的設計發展到現在已經有了相當的成熟度。 各家IC公司都推出了 DEVICE端的解決方案, 一般以8 BIT CPU CORE + SIE為主流構架。 SH69P04是中穎電子(Sinowealth)本著豐富USB產品應用,降低USB IC成本而設計的 單片機, 用以開發USB DEVICE設備。

SH69P04的功能及特點

sh69p04的功能

圖1 
如圖1, SH69P04集成了USB SIE, 支持USB和PS2端口復用。 內建1.5K可控上拉電阻為用戶節約成本, 并能建立和PC穩定的通訊。 專門為設計的I/O端口。 雙CLOCK系統使IC耗電更少, 輕易滿足USB-IF對SUSPEND電流的要求。 8K16 BIT的 ROM, 方便用戶開發。 最大可支持408 的LCD顯示或31個I/O, 滿足用戶的各種應用。 另外還內建Watch Dog, Low Power Detect功能。

1. USB和PS2端口共用

  通過寄存器實現USB端口和PS2端口的切換

 
PS2PU = 1: 如果PS2IS = 1, 則內部PS2專用上拉電阻起作用。當需要使用USB端口時, 只要讓PS2IS = 0即能關閉PS2端口及其上拉電阻。

1.5k歐姆控制

2. 1.5KΩ可控上拉電阻

  如圖2, 有了這個1.5KΩ可控上拉電阻一方面可以節約成本, 另一方面可以實現軟開關, 確保PC認出DEVICE。

  當USB DEVICE和PC相連后由于內部1.5KΩ上拉電阻并未打開, 所以PC不認為有新的設備連接。 在打開上拉電阻前用戶可以放心的完成程序初始化及其它客戶程序, 而不必擔心需要及時響應USB總線上的信號。 這是因為如果沒有可控的上拉電阻而是直接外加, 那么當DEVICE和PC相連后, PC馬上就會知道有新的設備連接, 在一定時間后就會向DEVICE發送信號, 如果DEVICE連續幾次通訊失敗的話, PC就認為該DEVICE出錯而不會再和它通訊。

  另外結合Watch Dog可以進一步確保DEVICE的連接。 用戶可以事先計算一下整個USB初始化過程所需的時間, 并設置Watch Dog。 萬一USB初始化出錯就可以產生Watch Dog Reset, 1.5KΩ上拉就被關閉, 程序重新開始。 PC就會認為DEVICE有了一次插拔動作。程序死鎖也可以用這種方法來解決。

   圖 3
3. 專為設計的I/O端口
如圖3, 原理分析時Q1.1和Q1.3是輸出方波。 實際上由于Photo Transistors是采用光敏三極管, 當光柵轉動時, 光敏三極管受到的光線也是連續變化的, 所以輸出的波形也是連續變化的。 又因為光柵無法完全阻隔光線, 所以會產生一個OFFSET電平。 實際波形如圖4。

電路波形圖

  圖中VIH表示一旦輸入電平高于VIH, 那么MCU就認為是高電平。 VIL表示一旦輸入電平低于VIL, 那么MCU就認為是低電平。 在圖4所示的這種狀態下MCU可以很方便的讀到光柵轉動的情況。 但是由于干擾或者元器件老化等原因造成OFFSET電平發生變化, 使得輸入信號的電平無法和VIH、VIL相交(如圖5), MCU就會認為輸入的信號一直為高或一直為低。

vih、vil 信號對比

  SH69P04為每一個的端口提供三檔下拉電阻(如圖4)來控制OFFSET電平。 通過寄存器來選擇下拉電阻的阻值, 用以解決由于OFFSET電平的變化而引起的錯誤。

  軟件設計

  USB協議雖然很復雜, 但是MOUSE端需要編寫的程序卻十分有限。 用戶很容易就能和PC建立聯系。(Windows端HID驅動程序由操作系統提供)

1. USB/PS2端口的監測

  第一步: 上電, delay 50ms 第二步: 在2ms的時間內監測D-的電平, 如果有4次為高電平, 就是PS2接口。 否則進入第三步第三步: 打開USB上拉電阻, delay500us, 反復監測D+和D-的電平, 直到其中有一個出現高電平。 如果D+是高電平, 則為PS2接口。 如果D-是低電平, 則進入第4步。第四步: 關閉USB上拉電阻, delay 100us。 如果D+/D-都為低電平, 則為USB接口。

  否則就是PS2接口。

2. USB Enumeration過程

  整個過程有點像做測試題。 PC問, MOUSE回答。 其中關鍵是要告訴PC, 自身是一個MOUSE, 支持HID協議。 由于篇幅有限, 就不詳細列出了。

3. 把MOUSE的信息傳給PC

  在Enumeration過程中, MOUSE會告訴PC后續X,Y,Z,按鍵這些信息的格式。 當MOUSE有動作時, 只要按這個格式把數據返回給PC就可以了。 剩下的事情PC端HID驅動程序會去完成。



關鍵詞: MOUSE 4BIT OTP USB

評論


相關推薦

技術專區

關閉