From: tmk Date: Thu, 30 Mar 2017 05:24:16 +0000 (+0900) Subject: fc660c: Update README X-Git-Url: https://git.friedersdorff.com/?a=commitdiff_plain;h=fc0fe84a69d4fb9952584558e43c98b2614c3db6;p=max%2Ftmk_keyboard.git fc660c: Update README --- diff --git a/keyboard/fc660c/README.md b/keyboard/fc660c/README.md index 3b46dae9..906396d3 100644 --- a/keyboard/fc660c/README.md +++ b/keyboard/fc660c/README.md @@ -1,46 +1,57 @@ FC660C controller ================= 2017/02/24 +2017/03/25 -Connector ---------- -### Hirose DF14A-20P-1.25H -[datasheet](http://www.mouser.com/ds/2/185/DF14_catalog-939195.pdf) - -### Pinouts -LV07A and LVC138A are 5V-tolerant, the keyboard will work only with 5V power. - - |Controller |Switch |Description |ATmega32u4 - |-----------|--------|------------------------------------------|-------------- - | 1 | 20 | +Z7-LV07A-13-~CapsLED |PB6 - | 2 | 19 | +Z7-LV07A-11-~InsertLED |PB7 - | 3 | 18 | +Z3-LVC138A-4-~G2A Z6-TP1684-5-~EN |PD7 - | 4 | 17 | +Z3-LVC138A-3-A |PD4 - | 5 | 16 | +Z3-LVC138A-3-B |PD5 - | 6 | 15 | +Z3-LVC138A-3-C |PD6 - | 7 | 14 | +Z7-LV07A-3 LV4051A-11-A |PB0 - | 8 | 13 | +Z7-LV07A-1 LV4051A-10-B |PB1 - | 9 | 12 | +Z7-LV07A-5 LV4051A-9-C |PB2 - |10 | 11 | *Z5-LV4051A-6-~EN(Col 8-F) |PB3 - |11 | 10 | *Z4-LV4051A-6-~EN(Col 0-7) |PB4 - |12 | 9 | *Z2-AD5258-4-SDA(I2C) |PD1(TWI) - |13 | 8 | *Z2-AD5258-5-SDL(I2C) |PD0(TWI) - |14 | 7 | *Z6-TP1684-2-KEY(i) |PC6 - |15 | 6 | *Z6-TP1684-4-HYS(o) |PC7 - |16 | 5 | 5V |5V - |17 | 4 | 3.3V |5V - |18 | 3 | GND |GND - |19 | 2 | GND |GND - |20 | 1 | FG |GND +Thread on Geekhack: https://geekhack.org/index.php?topic=88439.0 + + +Firmware +-------- +Just `make` to build firmware. And consult with wiki for further information. + +https://github.com/tmk/tmk_keyboard/wiki + + +Pinouts +------- + + |Switch |Controller | + | board | board |Description |Schematic |ATmega32u4 + |--------|-----------|--------------------------------------|-----------|------------ + | 1 |20 | FG |FG |GND + | 2 |19 | GND |GND |GND + | 3 |18 | GND |GND |GND + | 4 |17 | 3.3V |V33 |3.3V/5V + | 5 |16 | 5V |Vcc |5V + | 6 |15 |*Z6-TP1684-4-HYS(o) |FBSTB |PC7 + | 7 |14 |*Z6-TP1684-2-KEY(i) |OUT |PC6 + | 8 |13 |*Z2-AD5258-5-SCL(I2C) |SCL |PD0(TWI) + | 9 |12 |*Z2-AD5258-4-SDA(I2C) |SDA |PD1(TWI) + |10 |11 |*Z4-LV4051A-6-~EN(Col 0-7) |INH_1 |PB4 + |11 |10 |*Z5-LV4051A-6-~EN(Col 8-F) |INH_2 |PB3 + |12 | 9 |+Z7-LV07A-5 (LV4051A-9-C) |SEL_C |PB2 + |13 | 8 |+Z7-LV07A-1 (LV4051A-10-B) |SEL_B |PB1 + |14 | 7 |+Z7-LV07A-3 (LV4051A-11-A) |SEL_A |PB0 + |15 | 6 |+Z3-LVC138A-3-C |COL4 |PD6 + |16 | 5 |+Z3-LVC138A-2-B |COL3 |PD5 + |17 | 4 |+Z3-LVC138A-1-A |COL2 |PD4 + |18 | 3 |+Z3-LVC138A-4-~G2A Z6-TP1684-5-~EN |COL1 |PD7 + |19 | 2 |+Z7-LV07A-11-~InsertLED |LED1 |PB7 + |20 | 1 |+Z7-LV07A-13-~CapsLED |LED2 |PB6 ``` * 5V intferface + 3.3V interface ``` +- Connector on Switch board: https://i.imgur.com/Zi89xO5.jpg +- Connector on Controller board: https://i.imgur.com/9SZUzYo.jpg + + Key Matrix ---------- -Row5-7 has no key, you can omit scaning those. Topre original controller scans those rows for some reason. +Row5-7 have no key, you can omit scaning on those lines. Topre original controller scans those rows for some reason. | |0 |1 |2 |3 |4 |5 |6 |7 |8 |9 |A |B |C |D |E |F | |----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----| @@ -53,13 +64,77 @@ Row5-7 has no key, you can omit scaning those. Topre original controller scans t | 6| | | | | | | | | | | | | | | | | | 7| | | | | | | | | | | | | | | | | +Logic analyzer pics: +- https://i.imgur.com/9SZUzYo.jpg +- https://i.imgur.com/5FCP1Ay.png + +This code emuluates what original cotnroller does for matrix scan. +- https://github.com/tmk/tmk_keyboard/blob/master/keyboard/fc660c/fc660c.c + + +### Row designation +LV138A(Z3) selects a row line and gives strobe by enabling with ~G2A(18). + + |Row |A/17|B/16|C/15| + |----|----|----|----| + |0 |0 |0 |0 | + |1 |1 |0 |0 | + |2 |0 |1 |0 | + |3 |1 |1 |0 | + |4 |0 |0 |1 | + |5 |1 |0 |1 | + |6 |0 |1 |1 | + |7 |1 |1 |1 | + + +### Column designation +LV4051A(Z4, Z5) select one of 16 column lines to sense capacitance of switches. + + |Col |A/14|B/13|C/12|Z4-EN/10|Z5-EN/11| + |----|----|----|----|--------|--------| + |0 |0 |0 |0 |0 |1 | + |1 |1 |0 |0 |0 |1 | + |2 |0 |1 |0 |0 |1 | + |3 |1 |1 |0 |0 |1 | + |4 |0 |0 |1 |0 |1 | + |5 |1 |0 |1 |0 |1 | + |6 |0 |1 |1 |0 |1 | + |7 |1 |1 |1 |0 |1 | + |8 |0 |0 |0 |1 |0 | + |9 |1 |0 |0 |1 |0 | + |A |0 |1 |0 |1 |0 | + |B |1 |1 |0 |1 |0 | + |C |0 |0 |1 |1 |0 | + |D |1 |0 |1 |1 |0 | + |E |0 |1 |1 |1 |0 | + |F |1 |1 |1 |1 |0 | + + +FCC documents +------------- +https://fccid.io/RPKFC660C + +- schematic: https://fccid.io/pdf.php?id=1888185 +- part list: https://fccid.io/pdf.php?id=1888184 + + +Datasheets +---------- +- Hirose DF14A-20P-1.25H: http://www.mouser.com/ds/2/185/DF14_catalog-939195.pdf +- LV07A: http://www.ti.com/lit/ds/symlink/sn74lv07a.pdf +- LV138A: http://www.ti.com/lit/ds/symlink/sn74lvc138a.pdf +- LV4051A: http://www.ti.com/lit/ds/symlink/sn74lv4051a.pdf +- AD5258: http://www.analog.com/media/en/technical-documentation/data-sheets/AD5258.pdf + + +3.3V power supply +----------------- +LV07A and LVC138A are 5V-tolerant and can be powered with 5V, the keyboard will work only with 5V power supply. +It may not be completely safe to operate LV138A with 5V Vcc, its datasheet says: -Scan ----- -Row: Drive(LVC138A) -Col: Sense(4051) +> Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. Resources --------- -- Pics https://imgur.com/a/4UKkZ +- Pics: https://imgur.com/a/UTR8Z