Aduc812 보드 제어 - Ez-Application Board제어 예제 강좌
Ez-Aduc812(8051) Board를 이용한 EzApplication 제어
Ez-Application Board는 Ez-80196, Ez-Aduc812(8051) CPU를 학습하고 Ez-Mouse를 구동하기 전에 LED, LCD, BUZZER, ADC, DAC, PPI, PTC등 각종 주변 제어 소자들을 이용하여 쉽고 재미있게 마이컴을 학습할 수 있는 Application Board 이다.
Ez-Application Board의 개용와 각 Application의 예제를 통해 마이크로 프로세서(80196, 8051)를 공부해 보자.
보드 개요
1. Ez-80196 CPU Board, Ez-Aduc812(8052) CPU Board 탈착 가능.
2. 포토센서, CdS, 온도센서, 가변저항 및 4채널의 외부 아날로그신호 입력가능.
3. 4채널의 디지털신호 출력 가능.
4. 포토커플러로 아이솔레이트된 8채널 디지털신호 출력가능.
5. 포토커플러로 아이솔레이트된 8채널 디지털신호 입력가능.
6. PPI(8255) 포트 입출력 단자 및 5개의 푸시 스위치와 4개의 딥스위치.
7. LCD Display
8. HSO/HSI 입출력 단자.
9. RTC 제어.
APP BOARD의 구성
전체 구성은 CPU부와 APPLICATION부로 나누어지고. APPLICATION부는 아날로그입력(ADC), 아날로그 출력(DAC), 디지털 출력(DIO_OUT), 디지털 입력( DIO_IN), 8255PPI, 스위치, LCD, BUZZER(Ez-Aduc812), RTC로 구성된다.
CPU부와 APPLICATION부는 분리되며 Ez80196, EzAduc812 CPU Board를 탈착할 수 있다.
Ez-Mouse Application Board
EZ-Aduc812 Board
Ez-Aduc812 Board는 기존의 Ez-Mouse의 Ez-80196 Board의 8051대체용으로 ADC/DAC를 내장하고 8051과 완벽하게 호환되는 Analog Device사의 Aduc812 CPU를 학습할 수 있는 Board이다.
▣ CPU
Aduc812내부 구조는 기존의 8051과 동일하고 내부에 8k(byte)의 플래쉬 메모리와 12bit 8채널의 ADC, 12bit DAC를 내장하고 있는 CPU이다.
▣ Serial Port
- 스테레오 짹 형태의 Serial Line를 연결할 수 있다.
▣ J1, J2
Aduc812내부 플래쉬 메모리를 사용할 경우 J2(EA)핀을 1-2로 하고 J1(PSEN)핀을 1-2로 하면 다운로드 모드가 되며 J1핀을 2-3으로 한후 J2핀을 1-2로 연결하면 내부 플래쉬 메모리가 실행된다.
그리고 J1(PSEN)핀을 2-3으로 하고 J2핀을 2-3으로 하면 외부 메모리(ROM Bios)가 실행된다.
▣ SW2
딥 스위치 SW2은 통신 설정 스위치로 1,2 모두 On일 경우 PC Serial 포트와 통신하고 1번 스위치가 Off이고 2번이 On일 경우 RF 송신모드 이고 1번 스위치가 Off이고 RF수신모드 이다.
SW No. |
On |
Off | |
1 |
Serial Mode |
RF Mode | |
2 |
|
On |
RF송신 Mode |
Off |
RF수신 Mode |
▣ RF BIM Module
- RF송수신 가능한 BIM모듈을 장착 할 수 있는 커넥터로 RF테스트 프로그램을 작성해 볼 수 있다.
그림 - RF송수신 모듈(BIM)
▣ OUT_PORTA, OUT_PORTB
- Aduc821의 포트를 확장하여 2개의 출력 포트를 제공한다.
▣ Memory
Aduc812의 경우 메모리 구조는 EA pin이 Hi일 경우 내부 8Kbyte의 플래쉬 메모리를 사용할 수 있고 EA pin이 Low일 경우 외부 메모리를 사용 할 수 있다.
Ez-Aduc812의 경우 어드레스 번지 0000h-6FFFh 번지까지는 ROM Bios영역이고 7000h-7FFFh 번지까지는 외부 I/O영역이며 8000h-FFFFh까지는 사용자 프로그램 메모리와 데이터 메모리 영역이다. 따라서 사용자가 작성한 프로그램은 8000h번지 이후에 다운로드 하여 실행해 볼 수 있다.
Port I/O Board
▣ LED DOT Board
각 포트 및 입출력 커넥터에 출력되는 데이터 값을 확인하기 위해 LED DOT Board를 이용하면 편리하다.
아래 그림과 같이 커넥터에 탈착할 수 있고 출력된 값을 쉽게 확인할 수 있어 프로그램 하는데 많은 도움이 된다.
▣ SWICH DOT Board
각 포트 및 DIO_IN의 입력 값을 주기 위해 SWITCH DOT Board를 이용하면 편리한데 역시 각 커넥터 단자에 탈착할 수 있다.
SWITCH DOT Board를 이용하면 쉽게 디지털 입력을 할 수 있어 프로그램 하는데 있어 많은 도움이 될 것이다.
Analog Input/Output
▣ 아날로그입력(8 channel ADC)
아날로그 입력은 총8채널까지 입력받을 수 있고 각 ACH단자에 연결되어 있다.
채널0에 광센서, 채널1에 CdS셀, 채널2에 온도센서(LM35), 채널3에 볼륨이 연결되어 있고 CN1커넥터로 나머지 채널4에서 8까지 연결되어 사용자 임의로 다른 AD값을 입력할 수 있다.
▣ 아날로그 출력(DAC)
아날로그 출력은 DAC는 Aduc812 Board내부의 DAC포트로 12bit의 데이터를 DAC하여 출력할 수 있다.
▣ 디지털 출력(DIO_OUT)
디지털 출력은 CN9 커넉터로 포터커플러(PC817)에 의해 아이솔레이션된 8점의 디지털 출력을 할 수 있다. 출력전압레벨은 EXT1입력으로 35V까지 가능하고 디폴트로 12V가 출력되며 그 출력된 상태를 LED로 확인할 수 있다. 주파수는 최대 80kHz까지 허용한다.
▣ 디지털 입력(DIO_IN)
디지털 입력은 CN10 커넥터로 입력되는 디지털 입력을 포터커플러(PC817)로 아이솔레이션 입력받을 수 있다. 디지털 입력역시 디지털출력과 같이 EXT0의 전압레벨(5V-35V)로 입력되는 디지털 입력을 받아들이고 입력된 상태를 LED로 확인할 수 있다.
▣ 8255 PPI 제어
입출력 가능한 디지털 포트를 위해 8255(PPI)가 사용되는데 CN10 커넥터로 포트A, CN11 커넥터로 포트B가 연결되어 있고 포트C로 5개의 푸시스위치 및 딥스위치가 연결되어 있다.
▣ LCD제어
아날로그값, 스위치값, 기타 여러 가지 출력 값을 표시하기 위해 LCD를 이용하여 표시할 수 있다.
▣ IO Port 출력
OUT_PORTA, B는 Ez-Aduc812Board 어드레스7000h, 7100h번지의 74574에 연결된 외부 IO로 8bit의 데이터를 각각 출력해 볼 수 있다.
부저(BUZZER)
부저는 P3.3에 연결되어 있고 점퍼(J2)를 1-2에 연결하면 제어할 수 있다.
RTC(Real Time Clock)
RTC는 실시간으로 시간을 표시하는 DS12C887을 제어할 수 있다. 단 옵션으로 연결하여 사용할 수 있다.
Ez-Aduc182 Memory Map
Ez-Aduc812의 메모리 지도는 아래 그림과 같이 프로그램 영역의 0h - 6FFFh 번지까지는 롬바이오스 영역이고 8000h - EFFFh 번지까지는 사용자 프로그램을 다운로드 할 수 있는 영역이다. 데이터 역역의 7000h - 7FFFh 번지까지는 I/O영역고 8000h-FFFFh번지 까지는 사용자 데이터 영역이 할당 되어 있다.
FFFFh |
|
|
FFFFh |
| |
ROM BIOS 데이터 영역(*) |
|
사용자 데이터 영역(**) | |||
|
|
| |||
F000h |
|
| |||
사용자 프로그램 영역(**) |
|
| |||
|
|
| |||
|
|
| |||
|
|
| |||
|
|
| |||
8000h |
인터럽트 벡터 (사용자 영역) |
|
8000h | ||
ROM BIOS 프로그램 영역 |
|
입출력 영역 | |||
|
|
| |||
|
|
7000h | |||
|
| ||||
|
|
|
정의되지 않음(***) | ||
|
|
| |||
|
|
00FFh |
| ||
|
인터럽트 벡터 (ROM BIOS 영역) |
|
SFR 영역 |
| |
0000h |
|
0000h |
레지스터 영역 |
| |
|
|
| |||
|
프로그램메모리 |
|
|
데이터 메모리 |
주)(*) ROM BIOS에서 사용하는 영역입니다. 사용자 프로그램에서
사용할 경우 비정상적으로 실행될 수 있습니다.
주)(**)프로그램 메모리영역과 데이터 메모리영역이 중첩되어 있습니다.
주)(***)메모리에 할당되지 않은 영역입니다.
Ez-Application Board I/O Map(for Aduc812)
Ez-Aduc812 Board의 I/O영역은 데이터 메모리 영역의 7000h-74FFh번지까지가
Ez-Application Board에 할당되어 있다.
7000h번지, 7100h번지는 74574의 출력에 연결된 8bit 출력 포트A,B가 각각 할당되어 있다.
7200h번지는 디지털 입력이 할당되어 있으며, 7201h번지는 디지털 입력이 할당되어 있다.
7204h-7207h번지는 8255 PPI가 할당되어 있으며 7208h-720Bh번지는 LCD가 연결되어 있다.
7300h-73FFh번지는 RTC가 연결되어 있고 7400h이후에 USER CS가 3단자 할당되어 있다.
그리고 부저는 P2.3에 연결되어 있고 점퍼(J2)를 1-2에 연결하면 제어할 수 있다.
|
|
USER CS | |
7400h | |
RTC | |
7300h | |
| |
LCD | |
7208h | |
8255 PPI | |
| |
7204h | |
DIO OUTPUT | |
7201h | |
DIO INPUT | |
7200h | |
OUT PORTB | |
7100h | |
OUT PORTA | |
7000h | |
|
Ez-Application의 커넥터
(1) CN1 - ADC입력 커넥터
8개의 ADC입력 채널 중 채널4에서 채널7까지 사용자 정의 AD값을 입력할 수 있는 커넥터이다.
Pin # |
Signal | |
ADUC812 |
80C196KC | |
1 |
AVDD, +5V Analog |
AVDD, +5V Analog |
2 |
P1.4/ADC4 |
P0.4/ADC4 |
3 |
P1.5/ADC5 |
P0.5/ADC5 |
4 |
P1.6/ADC6 |
P0.6/ADC6 |
5 |
P1/7ADC7 |
P0/7ADC7 |
6 |
AGND |
AGND |
(2) CN2 - DAC출력 커넥터
Ez-80196의 PWM출려과 Aduc812의 DAC값을 출력하는 커넥터이다.
Pin # |
Signal | |
ADUC812 |
80C196KC | |
1 |
P3.5/T1 |
P2.5/PWM0 |
2 |
DAC0 |
× |
3 |
PA1 |
P1.3/PWM1 |
4 |
DAC1 |
× |
5 |
PA2 |
P1.4/PWM2 |
6 |
AGND |
AGND |
(3) CN3/CN4 - CPU Board 접속 커넥터
CN3, CN4는 Ez-80196 CPU Board와 접속되는 커넥터로 CPU의 데이터, 어드레스버스 및 각 제어포트와 연결된다.
Pin # |
Signal |
Pin # |
Signal | ||
ADU812 |
80C196KC |
ADU812 |
80C196KC | ||
1 |
VCC, +5 Volts |
VCC, +5 Volts |
2 |
GND |
GND |
3 |
VCC, +5 Volts |
VCC, +5 Volts |
4 |
GND |
GND |
5 |
P1.0/ADC0 |
P0.0/ACH0 |
6 |
P1.1/ADC1 |
P0.1/ACH1 |
7 |
P1.2/ADC2 |
P0.2/ACH2 |
8 |
P1.3/ADC3 |
P0.3/ACH3 |
9 |
P1.4/ADC4 |
P0.4/ACH4 |
10 |
P1.5/ADC5 |
P0.5/ACH5 |
11 |
P1.6/ADC6 |
P0.6/ACH6 |
12 |
P1.7/ADC7 |
P0.7/ACH7 |
13 |
AGND |
GND |
14 |
AGND |
AGND |
15 |
PA0 |
P1.0 |
16 |
PA1 |
P1.1 |
17 |
PA2 |
P1.2 |
18 |
PA3 |
P1.3/PWM1 |
19 |
PA4 |
P1.4/PWM2 |
20 |
PA5 |
P1.5/BREQ- |
21 |
PA6 |
P1.6/HLDA- |
22 |
PA7 |
P1.7/HOLD- |
23 |
PB0 |
HSI0 |
24 |
PB1 |
HSI1 |
25 |
PB2 |
HSI2/HSO4 |
26 |
PB3 |
HSI3/HSO5 |
27 |
PB4 |
HSO0 |
28 |
PB5 |
HSO1 |
29 |
PB6 |
HSO2 |
30 |
PB7 |
HSO3 |
31 |
DAC0 |
× |
32 |
DAC1 |
× |
Pin # |
Signal |
Pin # |
Signal | ||
ADU812 |
80C196KC |
ADU812 |
80C196KC | ||
1 |
A/D0 |
A/D0 |
2 |
A/D1 |
A/D1 |
3 |
A/D2 |
A/D2 |
4 |
A/D3 |
A/D3 |
5 |
A/D4 |
A/D4 |
6 |
A/D5 |
A/D5 |
7 |
A/D6 |
A/D6 |
8 |
A/D7 |
A/D7 |
9 |
A0 |
A0 |
10 |
A1 |
A1 |
11 |
A2 |
A2 |
12 |
A3 |
A3 |
13 |
× |
× |
14 |
CLK |
CLK |
15 |
RST |
RST |
16 |
RST- |
RST- |
17 |
RD- |
IOR- |
18 |
WR- |
IOW- |
19 |
CS0- |
CS0- |
20 |
CS1- |
CS1- |
21 |
CS2- |
CS2- |
22 |
ALE |
ALE |
23 |
P3.1/TXD |
P2.0/TXD |
24 |
P3.0/RXD |
P2.1/RXD |
25 |
P3.2/INT0- |
P2.2/EXTINT |
26 |
P3.3/INT1- |
P2.3/T2CLK |
27 |
P3.4/T0 |
P2.4/T2RST |
28 |
P3.5/T1 |
P2.5/PWM0 |
29 |
× |
P2.6/T2UPDN |
30 |
× |
P2.7/T2CAPTURE |
※주의 사항은 Aduc812 CPU보드를 연결할 때에는 반드시 APP Board의 CN3이 CPU Board의 CON4와 결합되고, APP Board의 CN4가 CPU Board의 CON3과 결합되어야 한다. 이때 APP Board의 CN3의 31, 32단자는 CPU보드와 연결되지 말아야 한다.
(4) CN5 - PORT 입출력 커넥터
Ez-80196 Board의 P1입출력과 Ez-Aduc812 Board의 포트A를 출력하는 커넥터이다.
Pin # |
Signal | |
ADUC812 |
80C196KC | |
1 |
VCC, +5 Volts |
VCC, +5 Volts |
2 |
PA0 |
P1.0 |
3 |
PA1 |
P1.1 |
4 |
PA2 |
P1.2 |
5 |
PA3 |
P1.3/PWM0 |
6 |
PA4 |
P1.4/PWM1 |
7 |
PA5 |
P1.5/BREQ- |
8 |
PA6 |
P1.6/HLDA- |
9 |
PA7 |
P1.7/HOLD- |
10 |
GND |
GND |
(5) CN6 - PORT 입출력 커넥터
Ez-80196 Board의 HSI/HSO입출력과 Ez-Aduc812 Board의 포트B를 출력하는 커넥터이다.
Pin # |
Signal | |
ADUC812 |
80C196KC | |
1 |
VCC, +5 Volts |
VCC, +5 Volts |
2 |
PB0 |
HSI0 |
3 |
PB1 |
HSI1 |
4 |
PB2 |
HSI2/HSO4 |
5 |
PB3 |
HSI3/HSO5 |
6 |
PB4 |
HSO0 |
7 |
PB5 |
HSO1 |
8 |
PB6 |
HSO2 |
9 |
PB7 |
HSO3 |
10 |
GND |
GND |
(6) CN7 - 포트 입출력 커넥터
Ez-80196 Board의 P3의 입출력과 Ez-Aduc812 Board의 P3을 입출력하는 커넥터이다.
Pin # |
Signal | |
ADUC812 |
80C196KC | |
1 |
VCC, +5 Volts |
VCC, +5 Volts |
2 |
P3.1/TXD |
P2.0/TXD |
3 |
P3.0/RXD |
P2.1/RXD |
4 |
P3.2/INT0- |
P2.2/EXTINT |
5 |
P3.3/INT1- |
P2.3/T2CLK |
6 |
P3.4/T0 |
P2.4/T2RST |
7 |
P3.5/T1 |
P2.5/PWM0 |
8 |
× |
P2.6/T2UPDN |
9 |
× |
P2.7/T2CAPTURE |
10 |
GND |
GND |
(7) CN8 - 디지털 입력 커넥터
Pin # |
Signal | |
ADUC812 |
80C196KC | |
1 |
VCC, +12 Volts |
VCC, +12 Volts |
2 |
IN0 |
IN0 |
3 |
IN1 |
IN1 |
4 |
IN2 |
IN2 |
5 |
IN3 |
IN3 |
6 |
IN4 |
IN4 |
7 |
IN5 |
IN5 |
8 |
IN6 |
IN6 |
9 |
IN7 |
IN7 |
10 |
GND |
GND |
(8) CN9 - 디지털 출력 커넥터
Pin # |
Signal | |
ADUC812 |
80C196KC | |
1 |
VCC, +12 Volts |
VCC, +12 Volts |
2 |
OUT0 |
OUT0 |
3 |
OUT1 |
OUT1 |
4 |
OUT2 |
OUT2 |
5 |
OUT3 |
OUT3 |
6 |
OUT4 |
OUT4 |
7 |
OUT5 |
OUT5 |
8 |
OUT6 |
OUT6 |
9 |
OUT7 |
OUT7 |
10 |
GND |
GND |
(9) CN10 - PPI PORTA 입출력 커넥터
Pin # |
Signal | |
ADUC812 |
80C196KC | |
1 |
VCC, +5 Volts |
VCC, +5 Volts |
2 |
8255 PA0 |
8255 PA0 |
3 |
8255 PA1 |
8255 PA1 |
4 |
8255 PA2 |
8255 PA2 |
5 |
8255 PA3 |
8255 PA3 |
6 |
8255 PA4 |
8255 PA4 |
7 |
8255 PA5 |
8255 PA5 |
8 |
8255 PA6 |
8255 PA6 |
9 |
8255 PA7 |
8255 PA7 |
10 |
GND |
GND |
(10) CN11 - PPI PORTB 입출력 커넥터
Pin # |
Signal | |
ADU812 |
80C196KC | |
1 |
VCC, +5 Volts |
VCC, +5 Volts |
2 |
8255 PB0 |
8255 PB0 |
3 |
8255 PB1 |
8255 PB1 |
4 |
8255 PB2 |
8255 PB2 |
5 |
8255 PB3 |
8255 PB3 |
6 |
8255 PB4 |
8255 PB4 |
7 |
8255 PB5 |
8255 PB5 |
8 |
8255 PB6 |
8255 PB6 |
9 |
8255 PB7 |
8255 PB7 |
10 |
GND |
GND |
(11) J1 - RTC IRQ Enable
RTC 인터럽터를 EXINT단자(P2.2)와 연결하는 점퍼로 RTC의 인터럽트를 사용가능하게 한다.
Position |
function |
1-2 |
RTC IRQ Enable |
(12) J2 - BUZZER Enable