MicroTerminale: Difference between revisions

From ciapini
Jump to navigation Jump to search
No edit summary
 
(17 intermediate revisions by the same user not shown)
Line 2: Line 2:


periferiche:
periferiche:
* display: lcd a caratteri. controller hd44780, 4 righe x 20 colonne
* display: lcd a caratteri. controller hd44780, 4 righe x 16 o 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.
* tastiera: usb HID


terminal mode:
terminal mode:
Line 11: Line 11:


uscita:
uscita:
rs232 con livelli TTL
UART rs232 con livelli TTL


il codice https://github.com/74hc595/Terminalscope/blob/master/terminal.c sembra agevolmente sciacallabile e ben fatto.
il codice https://github.com/74hc595/Terminalscope/blob/master/terminal.c sembra agevolmente sciacallabile e ben fatto.
Line 20: Line 20:


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.
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:
* http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en536935
uC candidati:
* http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en536121




== Tastiera ==
== Tastiera ==
La tastiera puo essere USB (HID), PS/2 o keypad.
=== Tastiera USB ===


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


http://www.cartft.com/catalog/il/478
Tastiere compatte
 
=== Tastiera PS/2 ===


* 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




Line 79: Line 70:


== lcd ==
== 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 grafici
** http://www.ebay.com/itm/1-8-Serial-SPI-Interface-TFT-Color-LCD-Module-Display-128-x-160Dots-/170856821451?pt=LH_DefaultDomain_0&hash=item27c7dc32cb


* LCD a caratteri da 3.3v
* LCD a caratteri da 3.3v
Line 112: Line 96:
|-
|-
|6||||LCD_RS
|6||||LCD_RS
 
|-
|7||||V+
|-
|8||||GND
|}
|}


Line 118: Line 105:


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


Line 195: Line 186:
* http://lcd-linux.sourceforge.net/
* http://lcd-linux.sourceforge.net/
* http://www.byvac.co.uk/downloads/datasheets/BV4308%20DataSheet.pdf
* 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: