MicroTerminale: Difference between revisions

From ciapini
Jump to navigation Jump to search
No edit summary
No edit summary
 
(48 intermediate revisions by the same user not shown)
Line 1: Line 1:
Un terminale fisico rs232 su pic
Un terminale fisico implementato su microcontrollore.


periferiche:
periferiche:
* display (lcd a caratteri)
* display: lcd a caratteri. controller hd44780, 4 righe x 16 o 20 colonne
* tastiera (ps2? usb?)
* tastiera: usb HID
 
terminal mode:
* vt100 ? sembra che le features corrispondano piu o meno con quel che si puo fare su hd44780
* vt102 ?
* vt220 ?
 
uscita:
UART 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.
 
 
== Tastiera ==
 
http://ww1.microchip.com/downloads/en/AppNotes/01212a.pdf
 
Tastiere compatte
 
* http://www.cartft.com/catalog/il/478 8 cm x 5 cm x 1 cm
* http://usb.brando.com/usb-slim-keyboard-w9716-_p01189c034d015.html  297 x 113 x 16mm
* http://usb.brando.com/usb-slim-keyboard-w8017-_p01186c034d015.html 217 x 116 x 18mm
* http://usb.brando.com/usb-ultra-slim-keyboard_p03020c034d015.html 300 x 152 x 12mm
 
 
=== 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 ====
 
{| style="color:green; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"
!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 ==
 
* LCD a caratteri da 3.3v
** 20X4 http://www.newhavendisplay.com/specs/NHD-0420DZ-FL-YBW-3V3.pdf
** 16x4 http://www.newhavendisplay.com/nhd0416b1zfspgybwl33vnonstocked100pc-moq-p-5162.html
 
un fet controlla l'accensione della backlight
 
 
=== Connettore display ===
 
{| style="color:green; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"
!Pin
!Funzione
!Nome
|-
|1||||LCD_DATA1
|-
|2||||LCD_DATA2
|-
|3||||LCD_DATA3
|-
|4||||LCD_DATA4
|-
|5||||LCD_EN
|-
|6||||LCD_RS
|-
|7||||V+
|-
|8||||GND
|}
 
== uC ==
 
PIC24FJ64GB002 http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en536121
 
USB host mode:
* http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en536935
 
 
{|style="color:green; background-color:#ffffdd;" cellpadding="10" cellspacing="0" border="1"
!Pin
!Funzione
!Nome
!porta sul uC
|-
|1|| ||MCLR||
|-
|2||Uart TX|| ||PGED3/AN0/C3INC/VREF+/ASDA1(2)/RP5/PMD7/CTED1/VBUSVLD/VCMPST1/CN2/RA0
|-
|3||Uart Rx|| ||PGEC3/AN1/C3IND/VREF-/ASCL1(2)/RP6/PMD6/CTED2/SESSVLD/VCMPST2/CN3/RA1
|-
|4||Dati Programmazione|| ||PGED1/AN2/C2INB/DPH/RP0/PMD0/CN4/RB0
|-
|5||Clock Programmazione|| ||PGEC1/AN3/C2INA/DMH/RP1/PMD1/CN5/RB1
|-
|6||LCD bit 5|| ||AN4/C1INB/DPLN/SDA2/RP2/PMD2/CN6/RB2
|-
|7||LCD bit 6|| ||AN5/C1INA/DMLN/RTCC/SCL2/RP3/PMWR/CN7/RB3
|-
|8||V-|| ||VSS
|-
|9||Xtal|| ||OSCI/CLKI/C1IND/PMCS1/CN30/RA2
|-
|10||Xtal|| ||OSCO/CLKO/PMA0/CN29/RA3
|-
|11||LCD bit 7|| ||SOSCI/C2IND/RP4/PMBE/CN1/RB4
|-
|12||Cicalino|| ||SOSCO/SCLKI/T1CK/C2INC/PMA1/CN0/RA4
|-
|13||V+|| ||VDD
|-
|14||LCD bit 8|| ||TMS/USBID/CN27/RB5
|-
|15|| || ||VBUS
|-
|16||LCD Enable || ||TDI/RP7/PMD5/INT0/CN23/RB7
|-
|17||LCD RS|| ||TCK/USBOEN/SCL1/RP8/PMD4/CN22/RB8
|-
|18|| || ||TDO/SDA1/RP9/PMD3/RCV/CN21/RB9
|-
|19||VSS (regolatore on)|| ||DISVREG
|-
|20||Cap verso VSS|| ||VCAP/VDDCORE
|-
|21||USB data +|| ||PGED2/D+/VPIO/RP10/CN16/RB10
|-
|22||USB data -|| ||PGEC2/D-/VMIO/RP11/CN15/RB11
|-
|23|| || ||VUSB
|-
|24||Uart RTS|| ||AN11/C1INC/RP13/PMRD/REFO/SESSEND/CN13/RB13
|-
|25||Uart CTS|| ||AN10/C3INB/CVREF/VCPCON/VBUSON/RP14/CN12/RB14
|-
|26||Backlight|| ||AN9/C3INA/VBUSCHG/RP15/VBUSST/CN11/RB15
|-
|27||V-|| ||VSS
|-
|28||V+|| ||VDD
|}
 
----


letture:
letture:
Line 13: Line 183:
* http://www.msarnoff.org/terminalscope/
* http://www.msarnoff.org/terminalscope/
* http://man.he.net/man4/console_codes
* 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
* https://github.com/nottwo/BasicTerm
* http://doc.byvac.com/index.php5?title=Arduino_VT100
* http://www.amcnicoll.com/avr-liberty-dox/vt100_8h.html

Latest revision as of 17:35, 2 December 2013

Un terminale fisico implementato su microcontrollore.

periferiche:

  • display: lcd a caratteri. controller hd44780, 4 righe x 16 o 20 colonne
  • tastiera: usb HID

terminal mode:

  • vt100 ? sembra che le features corrispondano piu o meno con quel che si puo fare su hd44780
  • vt102 ?
  • vt220 ?

uscita: UART 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.


Tastiera

http://ww1.microchip.com/downloads/en/AppNotes/01212a.pdf

Tastiere compatte


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

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
7 V+
8 GND

uC

PIC24FJ64GB002 http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en536121

USB host mode:


Pin Funzione Nome porta sul uC
1 MCLR
2 Uart TX PGED3/AN0/C3INC/VREF+/ASDA1(2)/RP5/PMD7/CTED1/VBUSVLD/VCMPST1/CN2/RA0
3 Uart Rx PGEC3/AN1/C3IND/VREF-/ASCL1(2)/RP6/PMD6/CTED2/SESSVLD/VCMPST2/CN3/RA1
4 Dati Programmazione PGED1/AN2/C2INB/DPH/RP0/PMD0/CN4/RB0
5 Clock Programmazione PGEC1/AN3/C2INA/DMH/RP1/PMD1/CN5/RB1
6 LCD bit 5 AN4/C1INB/DPLN/SDA2/RP2/PMD2/CN6/RB2
7 LCD bit 6 AN5/C1INA/DMLN/RTCC/SCL2/RP3/PMWR/CN7/RB3
8 V- VSS
9 Xtal OSCI/CLKI/C1IND/PMCS1/CN30/RA2
10 Xtal OSCO/CLKO/PMA0/CN29/RA3
11 LCD bit 7 SOSCI/C2IND/RP4/PMBE/CN1/RB4
12 Cicalino SOSCO/SCLKI/T1CK/C2INC/PMA1/CN0/RA4
13 V+ VDD
14 LCD bit 8 TMS/USBID/CN27/RB5
15 VBUS
16 LCD Enable TDI/RP7/PMD5/INT0/CN23/RB7
17 LCD RS TCK/USBOEN/SCL1/RP8/PMD4/CN22/RB8
18 TDO/SDA1/RP9/PMD3/RCV/CN21/RB9
19 VSS (regolatore on) DISVREG
20 Cap verso VSS VCAP/VDDCORE
21 USB data + PGED2/D+/VPIO/RP10/CN16/RB10
22 USB data - PGEC2/D-/VMIO/RP11/CN15/RB11
23 VUSB
24 Uart RTS AN11/C1INC/RP13/PMRD/REFO/SESSEND/CN13/RB13
25 Uart CTS AN10/C3INB/CVREF/VCPCON/VBUSON/RP14/CN12/RB14
26 Backlight AN9/C3INA/VBUSCHG/RP15/VBUSST/CN11/RB15
27 V- VSS
28 V+ VDD

letture: