MicroTerminale

From ciapini
Revision as of 15:40, 17 May 2013 by Cesco (talk | contribs) (→‎uC)
Jump to navigation Jump to search

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


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: