C167CS-32FM drives a TFT display

Application Note, V 2.0, Feb. 2004
AP16018
C167CS-32F M
T F T g r a p h ic d is p l a y
C1 67C S-3 2FM
d r ive n
Micr ocon tro l lers
N e v e r
s t o p
t h i n k i n g .
by
C167CS-32FM
Revision History:
2004-02
V 2.0
Previous Version:
V 1.0
Page
Subjects (major changes since last revision)
All
Updated layout to Infineon Corporate Design, updated revision to 2.0,
Content unchanged!
Controller Area Network (CAN): License of Robert Bosch GmbH
We Listen to Your Comments
Any information within this document that you feel is wrong, unclear or missing at all?
Your feedback will help us to continuously improve the quality of this document.
Please send your proposal (including a reference to this document) to:
[email protected]
AP16018
TFT graphic display driven by C167CS-32FM
Table of Contents
Table of Contents
Page
1
1.1
1.2
General description ....................................................................................... 2
Picture format design flow ............................................................................. 2
Blockdiagramm of the display configuration .................................................. 2
2
2.1
2.2
2.3
2.4
2.5
Hardware description .................................................................................... 2
KITCON connector C167CS Starterkit .......................................................... 2
Connection of the TFT controller card BT 040 .............................................. 2
Description of the Latch between the BT 040 / (SN74LS245N) .................... 2
Hardware description EDTCA07QEF / General specification data................ 2
Hardware description EDTCA07QEF / Pixel arrangement regarding the data
representation ............................................................................................. 2
Hardwaredescription EDTCA07QEF / View description of the display
hardware ..................................................................................................... 2
Hardwaredescription Adresse space and Address range ............................. 2
2.6
2.7
3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
Software ........................................................................................................ 2
Specialities regarding the Start UP file.......................................................... 2
First loop for the two 64 K data blocks in main.c ........................................... 2
Second loop for the two 64 K data blocks realizing the blinking mode in
main.c ......................................................................................................... 2
Generating a one second blinking time in main.c.......................................... 2
Timer 0 initialization routine........................................................................... 2
Timer 0 interrupt routine generating a one second blinking repeat frequency2
Main program ................................................................................................ 2
Locator Setting .............................................................................................. 2
BUSCON 4 Settings ...................................................................................... 2
Monitor Driver Settings.................................................................................. 2
4
4.1
4.2
4.3
4.4
4.5
Miscellaneous ............................................................................................... 2
Pictures of the TFT Driver Module BT 040 (Data Modul) .............................. 2
Picture of the TFT Display EDTCA07QEF (Data Modul)............................... 2
Picture of the Backlighting module CXA – 0256 (Data Module) .................... 2
Picture of the Starterkit C167CS-32FM (Phytec)........................................... 2
Timing calculations / read timing ................................................................... 2
Application Note
3
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
General description
1
General description
1.1
Picture format design flow
Realization of the Hardware and Software connectiong an C167CS-32FM starterkit to
an TFT display with a screen diagonal of 7“ for e.g. dashboard / cluster / multifuncional
terminal as an application example.
This application should show easily, how to realize the access to a TFT display by
using a C167CS-32FM and 8 bit non mux bus with 3 waitstates and asynchronous
ready via BUSCON 4.
A blinking oilcan is to be shown on the display as an alert announcement for the driver
in order to check his ammount of oil regarding the combustion engine.
The oilcan will be designed in COREL DRAW or an another suitable grafic design tool.
Figure 1
Oilcan in Corel Draw
Application Note
4
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
General description
Adapted to the pixel format with PAINT SHOP PRO 6 according the size of the used
display.
Figure 2
Changing the pixel format with Paint Shop Pro
Application Note
5
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
General description
Figure 3
Transformed into a WIN / OS bit map format
Application Note
6
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
General description
Formated finally with ULTRA EDIT into a readable array in a HEADER file for KEIL or
TASKING C166 Compiler.
Figure 4
Formated with Ultra Edit
Application Note
7
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
General description
The output file for a 480 * 234 * 3 dot matrix TFT display contains 128 Kbyte of data,
which are to be split into two arrays of 64 Kbyte each (max. size of a huge const array
is limited to 64 Kbyte).
Figure 5
The output file for a 480*234*3 dot matrix TFT display
Application Note
8
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
General description
Here you can see the a part of data regarding the nozzle of the oil can.
Figure 6
The nozzle of the oil can
Application Note
9
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
General description
1.2
Blockdiagramm of the display configuration
RD
Or Gate
SN
74LS32
WR
CXA-0256
Back lighting
unit
( Data Modul )
RES
V
c
c
Vcc
BIF CS WR RD
4K7
RDY
RDY
RES
18 Bbit Adress
Bus
CS 4
G
C167CS
Starterkit
Figure 7
A
8 Bbit
Data Bus
DIR
B
BT 040
TFT control
unit
( Data Modul )
8 Bit Latch
SN
74LS245
EDTCA07QE
F
TFT display
( Data Modul )
block diagram of the display configuration
Application Note
10
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
2
Hardware description
2.1
KITCON connector C167CS Starterkit
KitCON interface connection – Connector to the BT 040 unit
Table 1
Pindescription C167CS-32FM to BT 040
PIN
Des
BT
040
PIN
Des
BT
040
PIN
Des
BT
040
PIN
Des
BT
040
1
Vcc
34
2
Vcc
34
3
GND
35
4
GND
35
5
D0
1
6
D2
3
7
D4
5
8
D6
7
9
D1
2
10
D3
4
11
D5
6
12
D7
8
A6
15
13
14
15
17
18
19
21
20
A0
9
25
A1
10
29
A8
17
33
A9
18
34
37
A16
25
38
39
40
42
43
44
41
22
16
A2
11
23
A4
13
24
26
A3
12
27
A5
14
28
A7
16
30
A10
19
31
A12
21
32
A14
23
A11
20
35
A13
22
36
A15
24
RES#
27/ NRES
45
RD
*1
46
47
48
49
WR
*1
50
51
52
53
54
55
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Application Note
CS4#
11
*1
56
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
Application Note
12
RDY#
32/ NRDY
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
Connection of a couple of neccessary signals
BIF (BT 040) go to Intel Mode -> Low -> GND via Pull Down resistor 10 KΩ
RES (BT 040) aktive connected -> Low -> GND vis Pull Down resistor 10 KΩ
CS (BT 040) aktive connected -> High -> via Portpin P 2.7 (SW enable TFT, no CS in
origin sense)
LCDCLK (BT 040) already in BT 040 generated, leave unconnected
RDY (BT 040) aktive connected -> Low -> GND via Pull Down resistor 10 KΩ
NRDY (BT 040) via Pull Up resistor 4,7 KΩ against Vcc
Connection CS 4# with RD# and WR# (C167CS-32FM) to RD# and WR# (BT 040)
Figure 8
Connection CS 4# with RD# and WR#
Application Note
13
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
Connecting BT 040 to the PCB adapting unit
Flat cabel has to be adjusted with the right side regarding the dedicated connector,
otherwise short circuits over will be the consequence!
Figure 9
Connecfing BT 040
Note: Please connect the cable conclusive!
Application Note
14
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
2.2
Connection of the TFT controller card BT 040
Table 2
Connection of the controller card
Pin
1
Function
D0
Description
Data bit 0, bi-directional
2
3
D1
D2
Data bit 1, bi-directional
Data bit 2, bi-directional
4
5
D3
D4
Data bit 3, bi-directional
Data bit 4, bi-directional
6
7
D5
D6
Data bit 5, bi-directional
Data bit 6, bi-directional
8
9
D7
A0
Data bit 7, bi-directional
Address bit 0, Input
10
11
A1
A2
Address bit 1, Input
Address bit 2, Input
12
13
A3
A4
Address bit 3, Input
Address bit 4, Input
14
15
A5
A6
Address bit 5, Input
Address bit 6, Input
16
17
A7
A8
Address bit 7, Input
Address bit 8, Input
18
19
A9
A10
Address bit 9, Input
Address bit 10, Input
20
21
A11
A12
Address bit 11, Input
Address bit 12, Input
22
23
A13
A14
Address bit 13, Input
Address bit 14, Input
24
25
A15
A16
Address bit 15, Input
Address bit 16, Input
26
27
RES
NRES
28
29
CS
RD
Application Note
Reset, Input, High-active
Reset; Input, Low-active
Chip Select, Input, Low-active
Read Signal, Input, (see setting Bus-Interface)
15
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
30
WR
31
32
RDY
NRDY
33
34
BIF
VCC
35
36
GND
LCDCLK
2.3
Figure 10
Write Signal, Input, Low-active, (see setting BusInterface)
Ready Signal, Output, High active
Ready Signal, Output, Low active, Open Collector
Bus-Interface, Input, (see setting Bus-Interface)
Power Supply, +5V
Ground
LCD-Clock, Input / Output
Attention: Use only when the oscillator is not equipped!
(see LCD-Clock)
Description of the Latch between the BT 040 / (SN74LS245N)
The Latch between the BT 040 / SN74LS245N
Application Note
16
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
2.4
Hardware description EDTCA07QEF / General specification
data
Table 3
General specification data EDTCA07QEF
Characteristic Item
1. Display technology
Specification
a-Si active-matrix
2. Display mode
1)
3. Module outer dimension
NW (normally white)
170.0 (W) * 106.8 (H) * 8.3(D) mm
4. Effective display area
5. Number of dots
155.52 * 87.28 mm
480 (W) * 3 (RG3) * 234 (H)
6. Color-filter-array
7. Weight
RGB vertical stripe
205 ± 10g
8. Backlight
9. Front surface treatment
CCFL with 3 wave-length spectrum straight type 2
AG coat (Haze ratio 12%) (with WV film)
10. Polarizer protective sheet
11. Appearance
None
There are no remarkable defects
12. Metal frame condition
Not be connected to inner circuit
1)
Detailed dimensions are shown per attached drawing
Application Note
17
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
2.5
Figure 11
Hardware description EDTCA07QEF / Pixel arrangement
regarding the data representation
Pixel arrangement and I/O interface pin assignment
Application Note
18
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
2.6
Figure 12
Hardwaredescription EDTCA07QEF / View description of the
display hardware
Description of the display hardware
Application Note
19
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
2.7
Hardwaredescription Adresse space and Address range
The TFT Display start address should be 10:0000 h, the address range 128 Kbyte.
The BUSCON 4 Register will be used, because it is freely usable on the Starterkit. The
BT 040 should be accessed more or less like a static RAM with asyncronous ready.
The resulting window size is given with RGSZ = 5 (Manual C167CS V2.0 Page 8-21).
ADDRSEL4_RGSZ
SET
5
The remaining number of address lines are A23 to A17.
Table 4
Conversion Hex -> Decimal
1h
0h
0h
0h
0h
0h
0001
0000
0000
0000
0000
0000
A23
A19
A15
A11
A7
A3
Bit field RGSZ
0000
0001
Resulting Window
Size
4 KBytes
8 KBytes
Relevant Bits (R) of Start Addr. (A12
…)
R R R R R R R R R R R R
R R R R R R R R R R R x
0101
128 KBytes
R R R R R R R x
A23 A21 A19 A17
x x
A15
x x
A13
1001
1010
2 MBytes
4 MBytes
R R R x
R R x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
1011
11xx
8 MBytes
Reserved
R x
x
x
x
x
x
x
x
x
Application Note
20
x
x
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Hardware description
So we have to enter the below mentioned value into the RGSAG area.
SFR (FE1EH / CF H)
ADDRSEL4
15
14
13
12
11
10
9
8
7
6
[Reset Value: 0000H]
5
4
3
RGSAD
2
0
0
1
0
0
0
RGSZ
rw
0
1
rw
0
0
0
0
0
0
The entire value inserted into ADDRSEL is 1005h.
The values which are to be inserted into BUSCON 4 you can see below (2 Waitstates
asyncronous ready, bus typ -> 8 bit non mux).
; Bus Configuration Register 4
BUSCON4_ALECTL4
SET
0
BUSCON4_BTYP
SET
0
BUSCON4_BUSACT4
SET
1
BUSCON4_CSREN4
SET
0
BUSCON4_CSWEN4
SET
0
BUSCON4_MCTC
SET
13
BUSCON4_MTTC4
SET
0
BUSCON4_RDYEN4
SET
1
BUSCON4_RWDC4
SET
0
(S- 8-18 Manual V2.0 C167CR)
BUSCON4
Bus Control Register 4
15
14
CSW CSR
EN4 EN4
rw
rw
13
12
11
-
RDY
EN4
-
-
rw
-
Application Note
SFR (FF1A H / 8D H)
10
9
BUS ALE
ACT CTL
4
4
rw
rw
8
7
-
BTYP
-
rw
21
6
[Reset Value: 0000H]
5
4
MTT RWD
C4 C4
rw
rw
3
2
1
0
MCTC
rw
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
3
Software
3.1
Specialities regarding the Start UP file
The PLL factor has to be arranged by implementing a sequence concerning the
RSTCON register.
Figure 13
Application Note
22
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
Figure 14
Application Note
23
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
3.2
First loop for the two 64 K data blocks in main.c
Figure 15
Application Note
24
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
Figure 16
Application Note
25
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
3.3
Second loop for the two 64 K data blocks realizing the blinking
mode in main.c
Figure 17
Application Note
26
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
Figure 18
Application Note
27
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
3.4
Generating a one second blinking time in main.c
Figure 19
Application Note
28
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
3.5
Timer 0 initialization routine
//**********************************************************************
// @Module
CC1
// @Filename
CC1_Int .C
//
//---------------------------------------------------------------------// @Controller
Infineon C167CS-32FM
//
// @Compiler
KEIL C166
//**********************************************************************
// @Capture Compare Channel / Timer 0 initialization
//================================================================
// Timer 0
:
Initialisierung 10 ms Interrupt
// Goal
:
Key active checking
// Date cahange :
21.08.00
// Name
:
Kattw.
//================================================================
//**********************************************************************
//**********************************************************************
// @Project Includes
//**********************************************************************
#include "MAIN.H"
//**********************************************************************
//* definition of the portpin for the testpin 1 KHz P3.8
//**********************************************************************
sbit
sbit
P3_8 = P3^8;
DP3_8 = DP3^8;
// USER CODE END
//**********************************************************************
// @Global Variables
//**********************************************************************
//**********************************************************************
// @Function
void CC1_Initialization(void)
Application Note
29
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
//
//---------------------------------------------------------------------// @Description
This function initializes the CAPCOM 1
//
component.It effects all necessary configurations
//
of the SFR, depending on the selected operating
//
mode. The configuration determines whether the
//
CAPCOM interrupts are to be released, and the
//
priority of the released interrupt.
//
//---------------------------------------------------------------------// @Returnvalue
none
//
//---------------------------------------------------------------------// @Parameters
none
//
//---------------------------------------------------------------------// @Date
02.10.00 20:40:18
//
//**********************************************************************
void CC1_Timer0_Initialization(void)
{
T01CON = 0x0007;
//********************************************************************
//* reloadvalue defined that 1 KHz that Timer 0 interrupt willbe
//* called every 1 ms
//* ---- Timer 0 Configuration ------------//* timer 0 works in timer mode
//* prescaler factor is 1024
//********************************************************************
T0
T1
T0REL
T1REL
=
=
=
=
0xFFF6;
0x0000;
0xFFF6;
0x0000;
//
//
//
//
load
load
load
load
timer
timer
timer
timer
0
1
0
1
register
register
reload register
reload register
//********************************************************************
//* enable timer 0 interrupt
//* timer 0 interrupt priority level(ILVL) = 6
//* timer 0 interrupt group level (GLVL) = 3
//********************************************************************
T0IC = 0x005B;
//********************************************************************
//* P2.0 is used as output for CAPCOM channel 0
Application Note
30
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
//* P2.8 is used as output for CAPCOM channel 8
//* initializes port 2 for the capture/compare channels
//********************************************************************
P2
|= 0x0000;
ODP2 |= 0x0000;
DP2 |= 0x0101;
//
//
//
set port data register
set port open drain control register
set port direction register
//********************************************************************
//* ---- Capture Compare Channel 0 ------------//* compare mode 3: set output pin CC0IO on each match
//* CC0 allocated to timer T0
//********************************************************************
CCM0 = 0x0007;
CC0 = 0x0000;
// load CC0 register
//********************************************************************
//* ---- Capture Compare Channel 8 ------------//* compare mode 1: toggle output pin CC8IO on each match
//* CC8 allocated to timer T0
//********************************************************************
CCM2 = 0x0005;
//********************************************************************
//* Comparevalue of CC8 will realize 50 % duty cycle
//********************************************************************
CC8
= 0xFFFA;
// load CC8 register
//********************************************************************
//* timer 0 is running
//********************************************************************
T01CON |= 0x0040;
//********************************************************************
//* define P3.8 as an output an set portpin to high
//********************************************************************
P3_8
DP3_8
= 1;
= 1;
//
//
set port data register for Test Pin
set port direction register for Test Pin
}
Application Note
31
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
3.6
Timer 0 interrupt routine generating a one second blinking
repeat frequency
//**********************************************************************
// @Function
void Timer 0 Interrupt(void) interrupt T0INT
//
//---------------------------------------------------------------------//**********************************************************************
// @Timer 0 Interrupt routine
//================================================================
// Timer 0
:
Initialisierung 10 ms Interrupt
// Goal
:
Key active checking
// Date cahange :
21.08.00
// Name
:
Kattw.
//================================================================
//**********************************************************************
//**********************************************************************
//* includefiles
//**********************************************************************
#include "MAIN.H"
#include "CC1.H"
//**********************************************************************
//* definition of the portpin for the testpin 1 KHz P3.8
//**********************************************************************
sbit
P3_8
= P3^8;
//**********************************************************************
//* externla data variables
//**********************************************************************
extern unsigned int TimeBase;
//**********************************************************************
//* interrupt routine Timer 0
//**********************************************************************
void Timer_0_Interrupt(void) interrupt T0INT
{
//********************************************************************
//* increment time variable
//********************************************************************
Application Note
32
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
TimeBase++;
// will be used in main
//**********************************************************************
//* toggle P3.8 with an frequency of 1 KHz
//********************************************************************
P3_8 = !P3_8;
// test rectangle 1 KHz
}
Application Note
33
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
3.7
Main program
//**********************************************************************
// @Module
Main
// @Filename
MAIN.C
// @Project
TFT V 1.0
//---------------------------------------------------------------------// @Controller
Infineon C167CS-32FM DA Step
//
// @Compiler
KEIL C166 V2.05
//
// @Description
This file contains the Project initialization
function.
//
//---------------------------------------------------------------------// @Date
29.09.00
//
//**********************************************************************
//**********************************************************************
//*@Note
//*
//*
//* BUSCON 4 will be used for addressing TFT with asynchronous ready,
//* 3 waitstates, 128 KByte Adressraum
//*
//**********************************************************************
//*/
//**********************************************************************
// @Project Includes
//**********************************************************************
#include "MAIN.H"
//**********************************************************************
//* external background picture arrays
//**********************************************************************
extern unsigned char const Array1[118][480];
extern unsigned char const Array2[118][480];
//**********************************************************************
// @Global Variables
//**********************************************************************
Application Note
34
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
unsigned char xhuge TFT_RAM [0x20000];
unsigned char xhuge *pointer_anz;
unsigned char *pointer_bild;
unsigned int
TimeBase = 0;
//**********************************************************************
// @Test Variables
//**********************************************************************
sbit
sbit
P3_8 = P3^8;
DP3_8 = DP3^8;
sbit
sbit
P2_8 = P2^8;
DP2_8 = DP2^8;
sbit
sbit
P2_0 = P2^0;
DP2_0 = DP2^0;
sbit
sbit
P2_1 = P2^1;
DP2_1 = DP2^1;
//**********************************************************************
// @Project initialization
//**********************************************************************
void Project_Init(void)
{
//********************************************************************
// @Timer 0 initialization
//================================================================
// Timer 0
:
Initialisierung 10 ms Interrupt
// Goal
:
Key active checking
// Date cahange :
21.08.00
// Name
:
Kattw.
//================================================================
//********************************************************************
CC1_Timer0_Initialization();
P2_8
DP2_8
= 0;
= 1;
//
//
set port data register
set port data register
//********************************************************************
// @global interrupt enable
//********************************************************************
Application Note
35
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
IEN = 1;
}
//**********************************************************************
// @Function
void main(void)
//
//================================================================
// Timer 0
:
Initialisierung 10 ms Interrupt
// Goal
:
adressing TFT display
// Date cahange :
21.08.00
// Name
:
Kattw.
//================================================================
//**********************************************************************
void main(void)
{
//********************************************************************
//* define variables for the loops
//********************************************************************
int row, coloumn;
Project_Init();
//********************************************************************
//* define the value for several portpins
//*******************************************************************
P2_0
P2_1
= 1;
= 1;
//
//
set port data register
set port data register
//********************************************************************
//* define the value for portdirection of several portpins
//********************************************************************
DP2_0
DP2_1
= 0;
= 1;
//
//
set port data register
set port data register
//********************************************************************
//* define the value for several portpins
//* only siple version of testing without debruise function
//********************************************************************
while (P2_0 == 1)
{
Application Note
// Tastenabfrage P2.0
36
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
P2_1 = 1;
}
P2_1 = 0;
// Taste gedrückt ?
// Taste wurde gedrückt !
//******************************************************************
//* Initialize first 117 Rows of the 7" display
//* Initialize Pointer picture
//******************************************************************
pointer_anz = &TFT_RAM[0];
pointer_bild = &Array2[117][480];
//******************************************************************
//* loop for the first 117 rows
//* reason : C-Compiler allows only HCONST of max. 64 K Byte,
//* so we have to split the 128 K Byte of display data into 2
//* blocksof 64 K Byte each
//******************************************************************
for(row = 117 ; row >= 1 ; row--)
{
for(coloumn = 480 ; coloumn >=1 ; coloumn--)
{
*pointer_anz++ = Array2[row][coloumn];
}
}
//******************************************************************
//* Initialize second 117 Rows of the 7" display
//* Initialize Pointer picture
//******************************************************************
pointer_anz = &TFT_RAM[56160];
pointer_bild = &Array1[117][480];
//******************************************************************
//* loop for the second 117 rows
//* reason : C-Compiler allows only HCONST of max. 64 K Byte,
//* so we have to split the 128 K Byte of display data into 2
//* blocks of 64 K Byte each
//******************************************************************
for(row = 117 ; row >= 1 ; row--)
{
for(coloumn = 480 ; coloumn >= 1 ; coloumn--)
Application Note
37
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
{
*pointer_anz++ = Array1[row][coloumn];
}
}
//******************************************************************
//* loop for the second 117 rows begins here / blinking mode
//******************************************************************
while(1)
{
//****************************************************************
//* wait for one second
//* increment will be done in Timer 0 interrupt routine
//* every 1 ms
//****************************************************************
TimeBase = 0;
while (TimeBase <= 1000);
//****************************************************************
//* Initialize first 117 Rows of the 7" display
//* Initialize Pointer picture
//****************************************************************
pointer_anz = &TFT_RAM[56160];
pointer_bild = &Array1[117][480];
//****************************************************************
//* loop for the last 117 rows refers to blinking mode
//* clear screen part
//*
//****************************************************************
for(row = 117 ; row >= 1 ; row--)
{
for(coloumn = 480 ; coloumn >= 1 ; coloumn--)
{
*pointer_anz++ = '×';
// reserve 'Ô';0x00;
}
}
//****************************************************************
//* wait for one second
Application Note
38
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
//* increment will be done in Timer 0 interrupt routine
//* every 1 ms
//****************************************************************
TimeBase = 0;
while (TimeBase <= 1000);
//****************************************************************
//* Initialize second 117 Rows of the 7" display
//* Initialize Pointer picture
//****************************************************************
pointer_anz = &TFT_RAM[56160];
pointer_bild = &Array1[117][480];
//****************************************************************
//* loop for the last 117 rows refers to blinking mode
//* show oilcan
//****************************************************************
for(row = 117 ; row >= 1 ; row--)
{
for(coloumn = 480 ; coloumn >= 1 ; coloumn--)
{
*pointer_anz++ = Array1[row][coloumn];
}
}
}
while(1);
}
Application Note
39
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
3.8
Figure 20
Locator Setting
Locator Setting
Application Note
40
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
3.9
BUSCON 4 Settings
Figure 21
Application Note
41
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
Figure 22
Application Note
42
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Software
3.10
Figure 23
Monitor Driver Settings
Monitor Driver Settings
Application Note
43
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Miscellaneous
4
Miscellaneous
4.1
Pictures of the TFT Driver Module BT 040 (Data Modul)
This Modul delivers the necesary analogue Supply Voltages.
Figure 24
TFT Driver Module BT 040
Application Note
44
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Miscellaneous
4.2
Picture of the TFT Display EDTCA07QEF (Data Modul)
The picture with the blinking oilcan as an alarm announcement for the car driver. The
oilcan is drawn with Corel Draw, rearranged with Paint Shop Pro and finally confiured
into a sufficient data format by using Ultra Edit. This data are adapted ito two arrays of
64 Kbyte each. A SAK C167CS-32FM transfers the data to the TFT control unit of the
display (BT 040).
Figure 25
The TFT Display EDTCA07QEF
Application Note
45
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Miscellaneous
4.3
Figure 26
4.4
Figure 27
Picture of the Backlighting module CXA – 0256 (Data Module)
Backlighting module CXA - 0256
Picture of the Starterkit C167CS-32FM (Phytec)
Starterkit C167CS-32FM
Application Note
46
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Miscellaneous
4.5
Timing calculations / read timing
Consideration of the BT 040 Read Timings.
Figure 28
READ-Zyklus, Intel-Interface
Note: RES = Low, NRES = High
Table 5
Timing
Description
Symbol
Minimal
Typical
Maximal
Unit
RD
access time
Data
setup time
Data
hold time
Ready
hold time
tRD
150
300
1000
ns
tDS
0
-
-
ns
tDH
0
-
30
ns
tWH
0
-
30
ns
tHW
100
-
-
ns
RD
repeat time
Application Note
47
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Miscellaneous
Length of Read Signal in reading mode
The length of the low-phase of the RD# signal will be controlled inevitablen via the
READY# signal. At the earliest after 160 ns, and not later than 1 us the BT-040
delivers the valid data. From the viewpoint of the C167CS only that time has to be
bypassed by waitstates the BT-040 delivers a valid READY# signal. The first
assessment of the READY# input will be done (non-extended ALE) with the first rising
CLKOUT slope during a bus cycle.
Case 1: previous bus cycle has been no access to the BT-040: RDY or NRDY is stable
at status 'not ready'.
⇒ no WS necessay
Case 2: previous bus cycle has been an access to the BT-040 : RDY or NRDY is
stable again with status 'not ready' max. 30 ns after the last access.
⇒ 1 memory cycle time waitstate or tristate waitstate or extended ALE necessary @
20 MHz/non-mux bus.
As well the 'RD repeat time' will be min. 100 ns, so that in case of two each other
following accesses @ 20 MHz/Non-Mux bus a tristate waitstate or extended ALE is to
be used and R/W delay must not be disabled (bit RWDCx has to stay = 0).
Note: It is to be considered that the data driver of the BT 040 could be active 30
ns after the rising edge of he RD# signal (will be nor problem if R/W delay
is active (t 20/T21)).
Lenght of the write signal in write cycle
The lenght of the low phase of the WR# signal will be controlled inevitable by the
READY# signal. At the earliest after 130 ns an at the latest after 600 ns the BT-040
has taken over the write data. Regarding the consideration of the waitstates which will
be necessary during a write access in a roughly translated the same arguments are
valid as in the read cycle (s.o.).
Which slope is the reference slope?
Reference slope is the CLKOUT; in best case the rising CLKOUT slope corresponds to
the falling ALE slope.
t 37 = 2 TCL + 15, to enshure a secure recognition.
Window length is specified by t 58, t 59.
Application Note
48
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Miscellaneous
Change of the sample point as a function of the number of cycle time
waitstates?
The first relevant sample point will be shifted with n Waitstates (n = 0..7) by precise n *
2TCL.
The lenght of the window in relation to the rising edge of CLKOUT remains unchanged
specified by t 58, t 59.
When ready will be recognized?
Generally valid is: will READY# be recognized as ‚high‘ during the first relevant sample
point, wait states will be implemented as long as RAEDY# will be recognized as ‚low‘.
After that the bus cycle with the next but one falling CLKOUT slope will be stopped.
Is a tristate waitstate to be inserted?
A tristate waitstate is to be inserted on account of read/write repeat time of the BT-040.
Is there any code to be executed out of the internal flash by the SAK C167CS32FM during waiting on the low signal of the ready pin?
Two cases are to be considered:
• Reading operands: C167CS has to wait until valid data are available. Reason: The
µC needs the data for further instruction execution.
• Writing operands: write back of results can be done in parallel to the execution of
further instructions out of the internal flash. The C167CS has to wait if he needs
further operands from te external bus or from XBUS peripherals.
Is a tristate waitstate necesary?
A tristate waitstate will be necessary regarding the read/write repeat time of the BT040 (100 ns).
Further the consideration of the ready timings of the C167CS-32FM data sheet SAK
C167CS-32FM from 3 / 99.
Application Note
49
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Miscellaneous
Figure 29
CLKOUT and READY
And the appropriate times: Time after rising edge clockout = t37 + t 59 = 2 TCL + t 58 = 54
ns.
Application Note
50
V 2.0, 2004-02
AP16018
TFT graphic display driven by C167CS-32FM
Miscellaneous
Table 6
CLKOUT and READY
(Operation Conditions apply)
Parameter
Symbol
Max. CPU
Clock = 25 MHz
min
max
Variable CPU
Clock 1 / 2 TCL = 1
to 25 MHz
min
max
CLKOUT cycle time
t29
CC
40
40
2 TCL
2 TCL
ns
CLKOUT high time
t30
CC
14
-
TCL – 6
-
ns
CLKOUT low time
t31
CC
10
-
TCL – 10
-
ns
CLKOUT rise time
t32
CC
-
4
-
4
ns
CLKOUT fall time
t33
CC
-
4
-
4
ns
CLKOUT rising edge
to ALE falling edge
Synchronous
READY setup time
to CLKOUT
Synchronous
READY hold time
after CLKOUT
t34
CC
0 + IA
10 + IA
0 + IA
10 + IA
ns
t35
SR
14
-
14
-
ns
t36
SR
4
-
4
-
ns
Asynchronous
READY low time
1)
Asynchronous
READY setup time
1)
Asynchronous
READY hold time
2)
Asynchronous
READY hold time
after RD , WR high
(Demultiplexed Bus)
t37
SR
54
-
-
ns
t58
SR
14
-
2 TCL +
t58
14
-
ns
t59
SR
4
-
4
-
ns
t60
SR
0
0 + 2tA
+ tC + tF
0
TCL –
20 +
2tA + tC
2)
+ tF
ns
2)
Unit
1)
These timings are given for test purposes only, in order to assure recognition at a specific clock edge.
2)
Demultiplexed bus is the worst case. For multiplexed bus 2TCL are to be added to the maximum values.
This adds even more time for deactivating READY .
The 2tA and tC refer to the next following bus cycle, tF refers to the current bus cycle.
The maximum limit for t60 must fullfilled if the next following bus cycle is READY controlled.
Application Note
51
V 2.0, 2004-02
http://www.infineon.com
Published by Infineon Technologies AG