diff options
Diffstat (limited to 'converter/sun_usb/README')
-rw-r--r-- | converter/sun_usb/README | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/converter/sun_usb/README b/converter/sun_usb/README new file mode 100644 index 0000000000..7b4f95ca25 --- /dev/null +++ b/converter/sun_usb/README @@ -0,0 +1,79 @@ +Sun to USB keyboard protocol converter +====================================== +Target MCU is ATMega32u4 but other USB capable AVR will also work. +Supported keyboards: Sun Type 5 Keyboard, CTCSP SHORT TYPE KEYBOARD(CKUB) + +CTCSP SHORT TYPE KEYBOARD: http://imgur.com/a/QIv6p + + + + +Connector +--------- + 8Pin mini DIN + ___ ___ + / |_| \ + / 8 7 6 \ + | 5 4 3 | + \_ 2 1 _/ + \_____/ + (receptacle) + + Wiring: + Pin mini DIN MCU + ---------------------------------- + 1 GND GND + 2 GND GND + 3 5V + 4 RX/TX(Mouse) + 5 RX PD3 + 6 TX PD2 + 7 GND GND + 8 5V VCC + + +Protocol +-------- +Singnal: Asynchronous, Negative logic, 1200baud, No Flow control +Frame format: 1-Start bit, 8-Data bits, No-Parity, 1-Stop bit + + AVR USART engine expects positive logic while Sun keyboard signal is negative. + To use AVR UART engine you need exteral inverter in front of RX and TX pin. + Otherwise you can software serial routine to communicate the keyboard. + +This converter uses software method, you doesn't need any inverter part. + + +Commands From System To Keyboard + 0x01 Reset + Keyboard responds with following byte sequence: + Success: 0xFF 0x04 0x7F + Fail: 0x7E 0x01 0x7F + 0x02 Bell On + 0x03 Bell Off + 0x0A Click On + 0x0B Click Off + 0x0E LED + followed by LED status byte: + bit: 3 2 1 0 + LED: CapsLk ScrLk Compose NumLk + 0x0F Layout + Keyboard responds with 'Layout Response' 0xFE 0xXX + +Commands From Keyboard To System + 0x7F Idle + means no keys pressed. + 0xFE Layout Response + 0xFF Reset Response(followed by 0x04) + +Reference + http://kentie.net/article/sunkbd/page2.htm + http://kentie.net/article/sunkbd/KBD.pdf + + +Build Firmware +-------------- +Just use 'make' + $ cd sun_usb + $ make +Then, load the binary to MCU with your favorite programmer. |