Manuale UtenteSommarioCY4672 Reference Design Guide1Contents31. Introduction91.1 Scope91.2 Chapter Overviews91.3 Support91.4 Conventions101.4.1 Definitions101.4.2 Acronyms102. WirelessUSB™ Protocol 2.2132.1 General Overview132.1.1 Radio Channel Management132.1.2 Pseudo Noise Codes132.1.3 Chip Error Correction142.1.4 Automatic Acknowledgment (AutoACK)142.1.5 Network ID142.1.6 Manufacturing ID142.1.7 Channel Selection Algorithm152.2 Protocol Modes152.2.1 Ping Mode (Bridge Only)162.2.2 Idle Mode (HID only)172.2.3 Reconnect Mode (HID only)172.2.4 Button Bind Mode172.2.5 Enhanced KISSBind™182.2.6 Unbind202.2.7 Data Mode202.2.8 Back Channel Data Support202.2.9 Dynamic Data Rate and Dynamic PA222.3 Packet Structures232.3.1 Bind/KISSBind Request Packet (HID)232.3.2 Bind Response Packet (Bridge)242.3.3 Connect Request (HID)242.3.4 Connect Response Packet (Bridge)242.3.5 Ping Packet (Bridge)252.3.6 Data Packet/Back Channel Data Packet (Bridge and HID)252.4 Bind and Reconnect Timing262.5 Signature Byte282.6 Encryption292.6.1 TEA Encryption292.6.1.1 TEA Key Management over WirelessUSB292.6.2 AES Encryption302.6.2.1 AES Key Management312.6.3 Encryption and Power Consumption Trade Off313. Mouse333.1 Introduction333.1.1 Design Features333.2 Hardware Overview333.2.1 RDK Mouse Assembly333.2.2 Hardware Block Diagram353.2.3 Schematics353.2.4 Hardware Considerations363.3 Firmware Architecture363.3.1 ROM/RAM Usage363.3.2 PRoC LP Device Configuration363.3.2.1 Global Configuration383.3.2.1.1 CPU Clock383.3.2.1.2 CPU Clock / N383.3.2.1.3 Timer Clock383.3.2.1.4 Timer Clock /N383.3.2.1.5 FreeRun Timer383.3.2.1.6 FreeRun Timer /N383.3.2.1.7 Capture Edge383.3.2.1.8 8 Bit Capture Prescaler383.3.2.1.9 CLKOUT Source383.3.2.1.10 Low V Detect383.3.2.1.11 V Reset383.3.2.1.12 Watchdog Enable383.3.2.2 SPI Master User Module383.3.2.3 Programmable Interval Timer User Module393.3.2.4 Flash Security393.3.3 Model393.3.4 Common Code403.3.4.1 Generated Library Code403.3.4.1.1 Timer Interrupt Module403.3.4.2 Debounce Module403.3.4.3 SPI Module403.3.4.4 Radio Driver413.3.4.5 Protocol Module413.3.4.6 Flash Module413.3.4.7 Port Module413.3.4.8 Poll Module413.3.4.9 Timer Module413.3.4.10 ISR Module423.3.5 Application Code423.3.5.1 Mouse Module423.3.5.2 Optical Module433.3.5.3 Testmode Module433.3.5.4 Buttons Module443.3.5.5 Mfgtest Module443.3.5.6 Wheel Module443.3.5.7 Battery Module453.3.6 Configuration Options453.3.6.1 MOUSE_REPORT_IN_MS453.3.6.2 MOUSE_ACTIVE_MS453.3.6.3 MOUSE_DISCONNECTED_POLL_MS453.3.6.4 MOUSE_TX_TIMEOUT_MS453.3.6.5 MOUSE_CONNECT_ATTEMPT_TIMES463.3.6.6 PLATFORM_H463.3.6.7 MOUSE_800_NOT_400_CPI463.3.6.8 MOUSE_BATTERY_STATUS463.3.6.9 MOUSE_TEST_MODE463.3.6.10 MFG_TEST_CODE463.3.6.11 MFG_TX_MODES463.3.6.12 MASTER_PROTOCOL463.3.6.13 PAYLOAD_LENGTH463.3.6.14 KISS_BIND473.3.6.15 RSSI_QUALIFY473.3.6.16 AUTO_CONNECT473.3.7 Platform and Architecture Portability473.3.8 Initialization473.3.9 Wireless Protocol Data Payload473.3.9.1 Packet Format 1483.3.9.2 Packet Format 2483.3.9.3 Packet Format 3483.3.10 Interrupt usage and timing483.3.11 Code Performance Analysis493.4 Development Environment493.4.1 Tools493.4.2 Tips and Tricks503.4.2.1 M8C Sleep503.4.2.2 Watchdog Timer503.4.3 Critical Test Points504. Keyboard514.1 Introduction514.1.1 Design Features514.2 Hardware Overview514.2.1 RDK Keyboard Assembly524.2.2 Schematic544.2.3 Keyboard Matrix554.2.4 Hardware Considerations554.3 Firmware Architecture564.3.1 ROM/RAM usage564.3.2 enCoRe II Device Configuration564.3.2.1 Global Configuration584.3.2.2 SPI Master User Module594.3.2.3 Programmable Interval Timer User Module594.3.2.4 Flash Security594.3.3 Model604.3.4 Common Code604.3.4.1 Generated Library Code604.3.4.2 Radio Driver604.3.4.3 Protocol Module614.3.4.4 Flash Module614.3.4.5 ISR Module614.3.4.6 Timer Module614.3.5 Application Code614.3.5.1 Keyboard Module614.3.5.2 Mfgtest Module624.3.5.3 Battery Module624.3.5.4 Test Module624.3.5.5 Encrypt Module634.3.6 Configuration Options634.3.6.1 KEYBOARD_KEEP_ALIVE_TIMEOUT634.3.6.2 KEY_DOWN_DELAY_SAMPLE_PERIOD634.3.6.3 KEYBOARD_DEBOUNCE_COUNT634.3.6.4 KEYBOARD_MULTIMEDIA_SUPPORT634.3.6.5 KEYBOARD_TEST_MODES644.3.6.6 KEYBOARD_TEST_MODE_PERIOD644.3.6.7 PANGRAM_TEST_MODE644.3.6.8 KEYBOARD_BATTERY_VOLTAGE_SUPPORT644.3.6.9 LP_RDK_KEYBOARD_MATRIX644.3.6.10 KEYBOARD_TX_TIMEOUT644.3.6.11 TIMER_CAL644.3.6.12 ENCRYPT_TEA644.3.6.13 ENCRYPT_AES644.3.6.14 MFG_TEST_CODE644.3.6.15 MFG_ENTER_BY_PIN644.3.6.16 MFG_TX_MODES654.3.6.17 MOUSE_EMULATION_MODE654.3.6.18 BACK_CHANNEL_SUPPORT654.3.6.19 MASTER_PROTOCOL654.3.6.20 PAYLOAD_LENGTH654.3.6.21 KISS_BIND654.3.6.22 RSSI_QUALIFY654.3.6.23 PLATFORM_H654.3.7 Platform and Architecture Portability654.3.8 Initialization664.3.9 Wireless Protocol Data Payload664.3.9.1 Keyboard Application Report Formats664.3.9.1.1 Standard 101 Keys Report664.3.9.1.2 Multimedia Keys (Hot keys) Report684.3.9.1.3 Power Keys (Suspend/Sleep) Report684.3.9.1.4 Keep Alive Report694.3.9.1.5 Battery Voltage Level Report694.3.10 Ghost Key Detection704.3.11 Interrupt Usage / Timing704.3.12 Code Performance Analysis714.4 Modifying the Keyboard Matrix or Adding New Keys724.4.1 Modifying the Keyboard Matrix724.4.2 Adding New Keys724.5 Development Environment734.5.1 Tools734.5.2 Tips and Tricks734.5.2.1 M8C Sleep734.5.2.2 Watchdog Timer734.5.3 Critical Test Points745. Bridge755.1 Introduction755.1.1 Design Features755.2 Hardware Overview755.2.1 Bridge Photographs765.2.2 In-System Programming765.2.3 Schematics775.2.4 LED Usage775.3 Firmware Architecture785.3.1 ROM/RAM Usage785.3.2 PRoC LP Device Configuration785.3.2.1 Global Configuration805.3.2.2 SPI Master User Module815.3.2.3 USB Device User Module815.3.2.4 1 Millisecond Interval Timer User Module815.3.2.5 Flash Security815.3.3 Model825.3.4 Common Code825.3.4.1 PSoC Generated Library Code825.3.4.1.1 USB include (USB_1.inc)825.3.4.1.2 USB HID Class Module (USB_1_cls_hid.asm)835.3.4.1.3 1 Millisecond Interval Timer Interrupt Module (MSTIMER.asm)835.3.4.2 Flash835.3.4.3 Timer835.3.4.4 Radio Driver835.3.4.5 Master Protocol835.3.5 Application Code835.3.5.1 Bridge Module835.3.5.1.1 Check the USB Idle Timer835.3.5.1.2 Check the Received Packet845.3.5.1.3 Check the Bind Button845.3.5.1.4 Check the USB Suspend845.3.5.2 USB Module845.3.5.3 Mfgtest Module845.3.5.4 Encrypt Module845.3.6 Configuration Options855.3.6.1 MFG_TEST_CODE855.3.6.2 MFG_TX_MODES855.3.6.3 MFG_ENTER_BY_PIN855.3.6.4 MFG_ENTER_BY_BUTTON855.3.6.5 MFG_ENTER_BY_USBSE1855.3.6.6 ENCRYPT_TEA855.3.6.7 ENCRYPT_AES855.3.6.8 GREEN_LED_ON_TIME855.3.6.9 DOWNKEY_TIME_OUT855.3.6.10 BACK_CHANNEL_SUPPORT865.3.6.11 MASTER_PROTOCOL865.3.6.12 PAYLOAD_LENGTH865.3.6.13 POWER_BIND865.3.6.14 KISS_BIND865.3.6.15 RSSI_QUALIFY865.3.6.16 PROMISCUOUS_MODE865.3.6.17 DAL_ENABLE865.3.7 Platform and Architecture Portability875.3.8 Initialization875.3.9 Wireless Protocol Data Payload875.3.10 Suspend and Remote Wakeup875.3.11 Interrupt Usage/Timing875.3.12 Code Performance Analysis885.4 USB Interface885.4.1 USB Descriptors885.4.1.1 Device/Config Descriptors895.4.1.2 Keyboard HID Report Descriptor895.4.1.3 Mouse/Keyboard HID Report Descriptor905.4.2 Keyboard Report Format935.4.3 Mouse Report Format955.4.4 Battery Level and Link Quality Reports955.4.4.1 Requesting a New Battery Reading965.4.4.2 Obtaining the RadioParams Report965.4.5 Example USB Bus Analyzer (CATC) Traces975.5 Development and Debug Environment1005.5.1 Tools1005.5.2 Tips and Tricks1006. Manufacturing Test Support, MTK1016.1 Introduction1016.2 MTK Block Diagram1016.3 MTK Serial Protocol1016.4 MTK RF Protocol1036.5 MTK DUT Source Code Porting1036.6 Accessing MTK in the DUT1037. Regulatory Testing Results1057.1 Introduction1058. Power Considerations1078.1 RDK Keyboard1078.1.1 Usage Model1078.1.2 Current Measurements1078.1.3 Battery Life Calculations1088.2 RDK Mouse1088.2.1 Usage Model1088.2.2 Current Measurements1098.2.3 Battery Life Calculations1099. Software Guide1119.1 Introduction1119.2 Software Code Modules1119.2.1 USB HID API module1119.2.1.1 CHidDevice Class Methods1129.2.1.2 CHidManager Class Methods1139.2.2 System Tray Module1149.2.2.1 CCySysTray Class Methods1149.2.3 WirelessUSB System Tray Application Module1159.2.3.1 CWirelessUSBTrayApp Class Methods1159.2.3.2 CMainFrame Class Methods1169.2.3.3 CWirelessUSBStatusPropertyPage Class Methods1179.2.3.4 CWirelessUSBStatusPropertySheet Class Methods1179.2.3.5 CHidTrayDevice Class Methods1189.2.3.6 CHidTrayManager Class Methods1189.3 Development Environment118Appendix A. References119Index121Revision History125Dimensioni: 1,83 MBPagine: 126Language: EnglishApri il manuale