MicroTerminale: Difference between revisions
(→uC) |
(→uC) |
||
Line 137: | Line 137: | ||
|6|| || ||AN4/C1INB/DPLN/SDA2/RP2/PMD2/CN6/RB2 | |6|| || ||AN4/C1INB/DPLN/SDA2/RP2/PMD2/CN6/RB2 | ||
|- | |- | ||
|7|| || || | |7|| || ||AN5/C1INA/DMLN/RTCC/SCL2/RP3/PMWR/CN7/RB3 | ||
|- | |- | ||
|8|| || || | |8|| || ||VSS | ||
|- | |- | ||
|9|| || || | |9|| || ||OSCI/CLKI/C1IND/PMCS1/CN30/RA2 | ||
|- | |- | ||
|10|| || || | |10|| || ||OSCO/CLKO/PMA0/CN29/RA3 | ||
|- | |- | ||
|11|| || || | |11|| || ||SOSCI/C2IND/RP4/PMBE/CN1/RB4 | ||
|- | |- | ||
|12|| || || | |12|| || ||SOSCO/SCLKI/T1CK/C2INC/PMA1/CN0/RA4 | ||
|- | |- | ||
|13|| || || | |13|| || ||VDD | ||
|- | |- | ||
|14|| || || | |14|| || ||TMS/USBID/CN27/RB5 | ||
|- | |- | ||
|15|| || || | |15|| || ||VBUS | ||
|- | |- | ||
|16|| || || | |16|| || ||TDI/RP7/PMD5/INT0/CN23/RB7 | ||
|- | |- | ||
|17|| || || | |17|| || ||TCK/USBOEN/SCL1/RP8/PMD4/CN22/RB8 | ||
|- | |- | ||
|18|| || || | |18|| || ||TDO/SDA1/RP9/PMD3/RCV/CN21/RB9 | ||
|- | |- | ||
|19|| || || | |19|| || ||DISVREG | ||
|- | |- | ||
|20|| || || | |20|| || ||VCAP/VDDCORE | ||
|- | |- | ||
|21|| || || | |21|| || ||PGED2/D+/VPIO/RP10/CN16/RB10 | ||
|- | |- | ||
|22|| || || | |22|| || ||PGEC2/D-/VMIO/RP11/CN15/RB11 | ||
|- | |- | ||
|23|| || || | |23|| || ||VUSB | ||
|- | |- | ||
|24|| || || | |24|| || ||AN11/C1INC/RP13/PMRD/REFO/SESSEND/CN13/RB13 | ||
|- | |- | ||
|25|| || || | |25|| || ||AN10/C3INB/CVREF/VCPCON/VBUSON/RP14/CN12/RB14 | ||
|- | |- | ||
|26|| || || | |26|| || ||AN9/C3INA/VBUSCHG/RP15/VBUSST/CN11/RB15 | ||
|- | |- | ||
|27|| || || | |27|| || ||VSS | ||
|- | |- | ||
|28|| || || | |28|| || ||VDD | ||
|} | |} | ||
Revision as of 15:40, 17 May 2013
Un terminale fisico implementato su microcontrollore.
periferiche:
- display: lcd a caratteri. controller hd44780, 4 righe x 20 colonne
- tastiera: ps2? usb? lo standard del momento e' chiaramente USB. pero e' difficile trovare uC con supporto hardware per USB Host-side a 5v. i livelli TTL a 5v d'altra parte sono comodi coi display normalmente reperibili.
terminal mode:
- vt100 ? sembra che le features corrispondano piu o meno con quel che si puo fare su hd44780
- vt102 ?
- vt220 ?
uscita: rs232 con livelli TTL
il codice https://github.com/74hc595/Terminalscope/blob/master/terminal.c sembra agevolmente sciacallabile e ben fatto.
vanno reimplementate le funzioni lato uart e lato display.
https://github.com/74hc595/Terminalscope/blob/master/video.c
un primo problema e' che i display hd44780 non supportano il testo in negativo. non sembrano esistere controller diffusi che lo permettano. o lo si rende graficamente in un'altro modo o lo si visualizza come testo normale.
USB host mode:
uC candidati:
Tastiera
La tastiera puo essere USB (HID), PS/2 o keypad.
Tastiera USB
http://ww1.microchip.com/downloads/en/AppNotes/01212a.pdf
http://www.cartft.com/catalog/il/478
Tastiera PS/2
keypad
16 tasti: da 0 a 9 e A/su B/giu C/sinistra D/destra E/enter F/exit
- microswitch in matrice di 4x4: costoso, bisogno di bucare box
- touch capacitivo: complesso lato SW, tocco meno confortevole
http://www.microchip.com/stellent/groups/SiteComm_sg/documents/DeviceDoc/en542792.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/39743a.pdf
Connettore keypad
Pin | Funzione | Nome |
---|---|---|
1 | KBD_ROW1 | |
2 | KBD_ROW2 | |
3 | KBD_ROW3 | |
4 | KBD_ROW4 | |
5 | KBD_COL1 | |
6 | KBD_COL2 | |
7 | KBD_COL3 | |
8 | KBD_COL4 |
lcd
per una serie di ragioni sarebbe meglio un GLCD (piu modelli a 3.3, piu compatto, piu economico) ma sembra che nessuno voglia prendersi lo sbattimento di implementare una grafica quindi forse, per ora, si va su un display a caratteri
- LCD a caratteri da 3.3v
un fet controlla l'accensione della backlight
Connettore display
Pin | Funzione | Nome |
---|---|---|
1 | LCD_DATA1 | |
2 | LCD_DATA2 | |
3 | LCD_DATA3 | |
4 | LCD_DATA4 | |
5 | LCD_EN | |
6 | LCD_RS |
uC
PIC24FJ64GB002 http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en536121
Pin | Funzione | Nome | porta sul uC |
---|---|---|---|
1 | MCLR | ||
2 | PGED3/AN0/C3INC/VREF+/ASDA1(2)/RP5/PMD7/CTED1/VBUSVLD/VCMPST1/CN2/RA0 | ||
3 | PGEC3/AN1/C3IND/VREF-/ASCL1(2)/RP6/PMD6/CTED2/SESSVLD/VCMPST2/CN3/RA1 | ||
4 | PGED1/AN2/C2INB/DPH/RP0/PMD0/CN4/RB0 | ||
5 | PGEC1/AN3/C2INA/DMH/RP1/PMD1/CN5/RB1 | ||
6 | AN4/C1INB/DPLN/SDA2/RP2/PMD2/CN6/RB2 | ||
7 | AN5/C1INA/DMLN/RTCC/SCL2/RP3/PMWR/CN7/RB3 | ||
8 | VSS | ||
9 | OSCI/CLKI/C1IND/PMCS1/CN30/RA2 | ||
10 | OSCO/CLKO/PMA0/CN29/RA3 | ||
11 | SOSCI/C2IND/RP4/PMBE/CN1/RB4 | ||
12 | SOSCO/SCLKI/T1CK/C2INC/PMA1/CN0/RA4 | ||
13 | VDD | ||
14 | TMS/USBID/CN27/RB5 | ||
15 | VBUS | ||
16 | TDI/RP7/PMD5/INT0/CN23/RB7 | ||
17 | TCK/USBOEN/SCL1/RP8/PMD4/CN22/RB8 | ||
18 | TDO/SDA1/RP9/PMD3/RCV/CN21/RB9 | ||
19 | DISVREG | ||
20 | VCAP/VDDCORE | ||
21 | PGED2/D+/VPIO/RP10/CN16/RB10 | ||
22 | PGEC2/D-/VMIO/RP11/CN15/RB11 | ||
23 | VUSB | ||
24 | AN11/C1INC/RP13/PMRD/REFO/SESSEND/CN13/RB13 | ||
25 | AN10/C3INB/CVREF/VCPCON/VBUSON/RP14/CN12/RB14 | ||
26 | AN9/C3INA/VBUSCHG/RP15/VBUSST/CN11/RB15 | ||
27 | VSS | ||
28 | VDD |
letture:
- http://www.xfree86.org/current/ctlseqs.html
- http://www.tldp.org/HOWTO/html_single/Text-Terminal-HOWTO/
- http://www.linusakesson.net/programming/tty/index.php
- http://www.catb.org/~esr/terminfo/
- http://pubs.opengroup.org/onlinepubs/007908799/xcurses/terminfo.html#tag_002_001_001
- http://www.msarnoff.org/terminalscope/
- http://man.he.net/man4/console_codes
- http://www.vt100.net/vt_history
- http://lcd-linux.sourceforge.net/
- http://www.byvac.co.uk/downloads/datasheets/BV4308%20DataSheet.pdf