[AnalogDevice]/ADuc81x2005. 5. 1. 13:11

[Aduc84x EVM]DAC를 이용한 사인파 출력 테스트

[Aduc84x EVM]DAC를 이용한 사인파 출력 테스트



Aduc841의 DAC출력을 이용하여 사인파 출력 테스를 진행하였다.




사인파 출력 후 오실로스코프로 측정한 결과
Aduc812보드로 진행할 때 보다 속도가 빨라 그런지 아날로그 DAC출력에 대한 성능은 충분히 만족할 정도로 나오고 있다.



사인파 출력 소스코드

#include <stdio.h>

#include <ADuC841.h>

 

sbit LED = 0x0B4;

 

void main (void)

{

                  unsigned code values[64][2]={

                  {0x07, 0xFF},{0x08, 0xC8},{0x09, 0x8E},{0x0A, 0x51},{0x0B, 0x0F},

                  {0x0B, 0xC4},{0x0C, 0x71},{0x0D, 0x12},{0x0D, 0xA7},{0x0E, 0x2E},

                  {0x0E, 0xA5},{0x0F, 0x0D},{0x0F, 0x63},{0x0F, 0xA6},{0x0F, 0xD7},

                  {0x0F, 0xF5},{0x0F, 0xFF},{0x0F, 0xF5},{0x0F, 0xD7},{0x0F, 0xA6},

                  {0x0F, 0x63},{0x0F, 0x0D},{0x0E, 0xA5},{0x0E, 0x2E},{0x0D, 0xA7},

                  {0x0D, 0x12},{0x0C, 0x71},{0x0B, 0xC4},{0x0B, 0x0F},{0x0A, 0x51},

                  {0x09, 0x8E},{0x08, 0xC8},{0x07, 0xFF},{0x07, 0x36},{0x06, 0x70},

                  {0x05, 0xAD},{0x04, 0xEF},{0x04, 0x3A},{0x03, 0x8D},{0x02, 0xEC},

                  {0x02, 0x57},{0x01, 0xD0},{0x01, 0x59},{0x00, 0xF1},{0x00, 0x9B},

                  {0x00, 0x58},{0x00, 0x27},{0x00, 0x09},{0x00, 0x00},{0x00, 0x09},

                  {0x00, 0x27},{0x00, 0x58},{0x00, 0x9B},{0x00, 0xF1},{0x01, 0x59},

                  {0x01, 0xD0},{0x02, 0x57},{0x02, 0xEC},{0x03, 0x8D},{0x04, 0x3A},

                  {0x04, 0xEF},{0x05, 0xAD},{0x06, 0x70},{0x07, 0x36}};

                 

    DACCON = 0x0D;                //DAC0 on 12-bit Asynchronous

                     

    DAC0H = 0x08;                    //DAC0 mid scale

    DAC0L = 0x00;

 

                  while (1)

                  {

                                   int i;

                                   for ( i = 0 ; i < 64; i++)

                                   {

                                                     DAC0H = values[i][0];

                                                     DAC0L = values[i][1];

                                   }

                                    LED ^= 1;

                  }

}

                 

Posted by nexp
TAG 8051, ADUC841

댓글을 달아 주세요

[AnalogDevice]/ADuc81x2005. 4. 30. 07:57

[Aduc841 EVM] 보드 성능 테스트

[Aduc841 EVM] 보드 성능 테스트

P3에 연결된 LED를 Flash하는 프로그램을 작성해 보았는데 예전 Aduc812(8051)에 사용 했던 코드에서 조금 수정했다.
역시 20MIPS의 속도가 장난이 아니다. Delay부분에서 예전 소스의 20배 느리게 했는데 오히려 더 빠른것 같다.

수치적으로 봐도 예전 8051은 1Mips정도 이지만 Aduc841은 20Mips니까...




Aduc841 예제 소스코드

//======================================================================

//

// ADUC8xx EVM Test Program

//

// Author         : nexp76(http://cafe.naver.com/elab)

// Date          : [2003.10.08]

// File            : dio1.c

//

//======================================================================

// Description   

// - PORT Flash Test

//

//======================================================================

#include <stdio.h>

#include "../ADuC841.h"

void Delay(unsigned int MilliSec);

void main(void)

{

        // LED ON

        // Loop forever

        for(;;)

        {

                P3 ^= 0xFF;

                P1 ^= 0xFF;

       

                Delay(300);

        }

}

// Delay routine

#define MILISEC_TICK      (115*20)

void Delay(unsigned int MilliSec)

{

        unsigned int tick;

        while(MilliSec--)

                for (tick = 0; tick <MILISEC_TICK; tick++);

}

Posted by nexp
TAG 8051, ADUC841

댓글을 달아 주세요

[AnalogDevice]/ADuc81x2005. 4. 2. 09:00

[Aduc841 EVM] 보드 제작

[Aduc841 EVM] 보드 제작
ADUC841은 아날로그디바이스사의 8051(8052)코어를 가진 마이크로 컨트롤러다. (ADUC812호환 보드)

Posted by nexp
TAG 8051, ADUC841

댓글을 달아 주세요

[AnalogDevice]/ADuc81x2004. 2. 2. 10:09

ADuC812 MicroConverter

ADuC812 MicroConverter

In a

Digital Storage Scope

 

S Gupta

 

Summary

This article discusses the application of ADuC812 microcontroller from Analog Devices in a digital storage scope (DSS). The operation of analogue to digital converter integral to ADuC812 is discussed in detail. The article contains a complete assembly language listing for implementing the DSS.

 

Analog To Digital Converter

ADuC812 contains a high-speed 12-bit analogue to digital converter (ADC) with a sample & hold, and an 8-channel analogue multiplexer. The conversion rate can be controlled through software but is limited to about 200,000 conversions per second for full resolution. A 2.5 volt low drift voltage reference is integrated on-board. If desired an external voltage reference capable of overdriving the internal reference can be substituted.

 

ADC Conversion Time

The ADC conversion relies on the internal ADC clock. This clock is derived from master clock MCLK, which is the clock signal generated through external Xtal. It is very important to select a proper ADC clock rate and it is recommended to set it between 400 KHz and 3 MHz. Any operation, outside this clock rate may result in a reduced performance. CK1 & CK0 bits in ADCCON1 control register control the ADC clock rate.

 

Table 1  ADC CLOCK RATE

CK1

CK0

MCLK Divider

0

0

1

0

1

2

1

0

4

1

1

8

 

For an ADuC812 fed by 11.0592 MHz xtal, a minimum value of 4 should be used as clock divider. On the other hand, ADuC812 controlled by a 16-MHz xtal will require a clock divider value of 8. The minimum value of external MCLK is dictated by the minimum ADC clock frequency of 400 KHZ. Thus ADuC can be satisfactorily operated by a 400 KHz Xtal with  MCLK divider value of 1. After the analogue signal has been captured by sample & hold, ADC takes next 16 clock cycles (ADC CLK) to complete the conversion

 

The ADC has a typical internal leakage of about 1 ma, with a maximum specified value of 10 ma. This is fairly large, when used to digitize signal from high impedance sources. It may become necessary to use an external voltage buffer, which can shield the high impedance source from the ADC leakage. The maximum source impedances that can be used in each case can be calculated.

 

Voltage reference = 2.5 v

Converter resolution = 12 bit

Converter resolution = 0.61 mv

 

Therefore the maximum source impedance: = 0.61 mv / Leakage Current in ma

·         For 1 ma (typical) leakage current max source impedance = 610 Ohm

·         For 10 ma (maximum) leakage current max source impedance = 61 Ohm

 

Even though, in majority of these devices (ADuC812) the leakage current will be limited to typical value, it is good engineering practice to prepare for the possible worst case scenario. An external op-amp configured as a unity gain buffer will practically eliminate the effect of leakage current. This op-amp should have a low offset voltage & bias current. It should also exhibit a low offset drift with variation in temperature. An added benefit of providing a front-end op-amp is that the acquisition time (in sample and hold circuit) is also slightly reduced. The internal sample and hold circuit carries a capacitive impedance of 20 pF (maximum)

 

Acquisition Time

As long as the source impedance is less than 610 W, or an external buffer amplifier is used, a minimum acquisition time equivalent to one ADC cycle is satisfactory. Otherwise the acquisition time need to be increased to compensate for the internal capacitor leakage current. The main drawback of increased acquisition time is the reduction in converter throughput, along with a reduction in the highest frequency component of input signal. The acquisition time is controlled by (AQ1 & AQ0) bits in ADCCON1 control register.

 

Table 2  ADC Acquisition Time

AQ1

AQ0

ADC CLK Cycles

0

0

1

0

1

2

1

0

4

1

1

8

 

 

 

The ADC has a very flexible mode of operation. It can be operated in a single conversion or continuous conversion mode. The ADC conversion can be controlled by any one of the following:

 

  • Software  (User program)
  • Timer2
  • External Trigger (pin 23)
  • DMA

 

Control registers ADCCON1 and ADCCON2 control the ADC operating mode. Both the registers can be addressed in direct addressing mode of 8051. Register ADCCON2 is bit addressable, while ADCCON1 is not. A third register ADCCON3 contains a single status bit ‘Busy’ (ADCCON3.0) indicating if ADC is busy doing the conversion. This bit is automatically cleared at the end of each conversion and set at the start of conversion. Conversion results are read from two 8-bit registers ADCDATAH and ADCDATAL. Register ADCDATAH contains four MSBits of result, as well as the channel setting for this conversion. The channel setting is located in the upper nibble and the lower nibble contains the four MSBit of 12-bit result.


Table 3 ADC Result Format

ADCDATAH

(Byte Register)

Channel Selection Bits

MS 4 Bits of Result

(B11-B8)

7

6

5

4

3

2

1

0

ADCDATAL

(Byte Register)

Lower 8 Bits of Result

(B7-B0)

7

6

5

4

3

2

1

0

 

 

Software Control

The ADC can be completely controlled through software. It can be set to perform a single conversion on demand or perform continuous conversion on the selected channel. Since the conversion time is very small (5-6 usec), the single conversion mode is normally used for software controlled conversion; e.g, in digital controller. Continuous conversion mode is better suited for use in conjunction with DMA mode.

 

External Trigger Control

An external trigger signal (logic low) applied on pin #23 can be used to trigger the ADC  for either a single conversion or even continuous conversion. This feature certainly adds to the versatility of ADuC812.

 

Timer2 Control

This mode of control is perhaps the most powerful and useful in a number of applications. ADC can be triggered to perform a conversion, every time there is an overflow from Timer2. Timer2 itself is quite versatile and can be set to operate in a 16-bit auto-reload mode. Using a xtal frequency of 12 MHz, a Timer2 tick is equal to 1 usec in duration. Using the entire operating range of Timer2 auto-reload mode, the sampling rates ranging from about 10 usec to over 65 msec can be achieved. In a digital controller and/or digital signal processing applications, the sampling rate needs to be kept to a constant value. In a conventional microcontroller with either an external or an internal ADC, additional processor overhead is needed to implement a precise sampling rate. In ADuC it can be achieved with zero overhead.

 

 

DMA Controlled Conversion

DMA mode of control adds to the versatility of all the above modes of control. This mode of ADC operation allows a large number of ADC conversions results to be stored in external memory.

 

When placed under DMA control mode, very high conversion rates (approx 200,000 conversions/sec) can be achieved. Conversion is not limited to use a single channel and it is possible to perform conversion on all eight channels sequentially, or in any random order. After a conversion is performed the conversion result is automatically stored in external memory (external data space). And all this is carried out without any intervention from 8051 microcontroller core. The microcontroller continues to function, while DMA controlled conversion is taking place. Up to 16M Bytes of external SRAM memory can be addressed. This application is certainly well suited for digital storage scope or solid-state chart recorder application.

 

   

 

DMA conversion relies on three 8-bit pointers DMAL, DMAH, and DMAP to yield 24-bit pointer, which can be used to address 16 MByte of external data memory (SRAM). DMA operation still relies on two 8-bit ports Port0 and Port2 for addressing a 24-bit address space.  Port0 on 8051 microcontroller places the lower order address lines (PA0-PA7) during the first part of external memory access, and this information is latched using an external IC (74HC573). ADuC812 extends this concept to multiplex the upper 8 address lines (A23-A16) with address. lines A15-A8 on Port2  This upper address lines are only necessary, if an external data space greater than 64K is required. In this case, the state of upper address lines can be latched by an external address latch IC.

 

The upper byte of address pointer DMAU is automatically incremented, whenever there is an overflow from DMAH during DMA operation. While reading from external data memory, under user software control, DMAU is automatically incremented upon an overflow from DPH. Thus the entire 16 MByte external data space can be utilized both for storage as well as for reading (from it) without the need for an external memory paging scheme.

 

Before DMA conversion can be initiated, it is necessary to set up the external data memory where the ADC results will be written. This requires

  • Writing the channel # in upper nibble of memory location where high byte of ADC conversion result will be stored
  • Writing a terminating sequence at the end of storage area.

 

The channel number has to be written for every single result of ADC conversion. Two bytes of external (8-bit) memory are required for storing conversion data. The DMA engine in ADuC812 stores the MSByte in lower memory and the LSByte in upper memory. Thus, the lower byte of every word location is written with the ADC channel to be converted. DMA engine uses the channel information provided in external memory to set the ADC multiplexer channels. Thus it is possible to use DMA controlled conversion for:

  • Repeated conversion on one channel
  • Sequential conversion on multiple channels set in order; such as ch 0 to ch 7
  • Sequential conversion on multiple channels set in any random order; such as ch0, ch1, ch0, ch2, ch0, ch3, ch4, ch5, ch6, ch7, ch7, ch6, ch0, ch0 etc.

 

There is absolutely, no limitation on the order, in which the conversion need to be carried out. On practical side, however, the user will always have a certain order in mind.

 

Once, the external memory has been set up with information on the channel to be converted for the desired number of conversions, a terminating sequence needs to be written to external memory. The terminating sequence require that the information about last channel to be converted, is repeated one more time, followed by writing of  value F0h in the next word location. DMA engine does not write the ADC result at the last repeated location, and leaves it unmodified.

 

The following example illustrate the process of setting up external memory for DMA operation.

 

Example 1: Set external memory for DMA controlled ADC conversion. The conversion to stop after the following four measurements. The channel conversion sequence is as follows:

Channel 1, Channel 2, Channel 1, Channel 3

 

Channel 1 is selected by writing 0001 to channel selection bit CS3, CS2, CS1, & CS0 in ADC control register ADCCON2. Similarly, selection bits for channel 2 are 0010 and 0011 for channel 3. This information needs to be written in MSBits of lower byte of each external memory (word) location. It is the location, where high byte of ADC result will be stored. The results are to be stored in external memory starting from 000000H.

 

The following program will set up this conversion sequence. It should be noted that the external memory set up will normally be done using the program loop, but this has been avoided to clearly show the program sequence.

 

MOV   DMAL,#00H

MOV   DMAH,#00H

MOV   DMAL,#00H

MOV   DPTR,#0000H              ; Set DPTR to point to 0000 memory location

 

; Set first external memory location for ADC Ch 1

MOV   A,#10H                                    ; Load channel configuration CS3 CS2 CS1 CS0

MOVX @DPTR,A                   ; Store in XMEM where MSByte of result will be stored

INC      DPTR                          ; Bump up pointer

CLR     A

MOVX @DPTR,A                   ; Store 00 in XMEM LSByte of result (0) will be stored

 

; Set second external memory location for ADC Ch 2

INC      DPTR

MOV   A,#20H                                    ; Channel configuration 0010

MOVX @DPTR,A                   ; XMEM, where MSByte of result (1) will be stored

INC      DPTR                          ; Bump up pointer

CLR     A

MOVX @DPTR,A                   ; XMEM, where LSByte of result (1) will be stored

 

; Set third external memory location for ADC Ch 1

INC      DPTR

MOV   A,#10H                                    ; Channel configuration 0001

MOVX @DPTR,A                   ; XMEM, where MSByte of result (2) will be stored

INC      DPTR                          ; Bump up pointer

CLR     A

MOVX @DPTR,A                   ; XMEM, where LSByte of result (2) will be stored

 

; Set fourth external memory location for ADC Ch 3

INC      DPTR

MOV   A,#30H                                    ; Channel configuration 0011

MOVX @DPTR,A                   ; XMEM, where MSByte of result (2) will be stored

INC      DPTR                          ; Bump up pointer

CLR     A

MOVX @DPTR,A                   ; XMEM, where LSByte of result (2) will be stored

 

; Set terminating sequence

; Repeat the last conversion command. Result from this conversion will not

; be stored.

INC      DPTR

MOV   A,#30H                                    ; Repeat last channel configuration

MOVX @DPTR,A                   ; XMEM location for MSByte of result

INC      DPTR                          ; Bump up pointer

CLR     A

MOVX @DPTR,A                   ; XMEM location for LSByte of result

 

; Write ‘Stop’ command to terminate DMA operation

INC      DPTR 

MOV   A,#0F0H                      ; Stop conversion command

MOVX @DPTR,A                   ; XMEM location for MSByte of result

 

END

 

The external memory contents after this initialization is shown in Table 4.

 

Table 4  Memory Contents After Initialization

Memory Adrs

(Word)

Contents (binary) of Low Address

Contents (binary) of High Address

ADC Conversion Command

000000 H

0001 0000

0000 0000

Convert Ch 1

000002 H

0010 0000

0000 0000

Convert Ch 2

000004 H

0001 0000

0000 0000

Convert Ch 1

000008 H

0011 0000

0000 0000

Convert Ch 3

00000A H

0011 0000

0000 0000

Ch 3 (Dummy)

00000C H

1111 0000

XXXX XXXX

Stop

 

 

Once the external memory has been set up, DMA conversion mode is selected by setting ‘DMA’ bit in ADCCON2 control register (ADCCON2.6). When the ADC scan is complete, as dictated by initial data in external memory, an ADC conversion complete interrupt is generated setting the bit 0 (ADCI) in control register ADCCON2,

 

Digital Storage Scope

 

A very versatile digital storage scope (DSS) can be easily implemented using ADuC812. The following minimum components are needed for a DSS.

 

  • ADuC812 with embedded DSS software
  • Front-end Analogue buffer amplifier
  • SRAM (32Kx8 or 128Kx8)
  • Address latches (74HC573)
  • RS-232 Buffer
  • Voltage regulation circuit.

 

The ADuC812 QuickStart development system from Analog Devices contains all the above essential components. It contains a 32Kx8 SRAM, which is capable of storing 16,382 (16,384 – 2) measurements. This is a fairly large storage capacity and is sufficient for a basic digital storage scope. If, a larger capacity is desired additional SRAM (and associated logic) will need to be added to the development unit.

 

The complete DSS software consist of two parts:

  • Embedded software running on ADuC812
  • Mating software running on PC (or any other dedicated unit)

 

In this article, the discussion is limited to the embedded software needed to control ADuC812 operation.



 

ADuC812 Embedded DSS Software

The ADuC812 is operated in DMA mode, with ADC conversion rate controlled by Timer2. The conversion is limited to use channel 0 at this point. The user can control the sampling interval ranging from 10 usec to 20 msec and can store up to 4096 measurements. A fully commented source listing is provided. The embedded software operation can be summarized as follows:

 

  • Initialize the ADuC812
  • Get user input on the sampling rate
  • Get user input on the number of channels
  • Set up external memory for DMA control
  • Set up DMA control mode
  • Perform conversion
  • Transmit the result to user.

 

All communication from and to ADuC812 is restricted to ASCII. Thus it is possible to even use a dump terminal or a PC running a terminal program to control ADuC812-DSS through keyboard and display the result on the user PC screen. The results are transmitted in groups of 16/line, with each result separated by a blank space.

 

Click here for Asm Source File

 

Happy Digital Scoping

 

In the next issue

The mating PC Software will be discussed.

Posted by nexp

댓글을 달아 주세요

[AnalogDevice]/ADuc81x2003. 11. 13. 11:11

Aduc812 보드 제어 - Ez-Application Board제어 예제 강좌

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값을 입력할 수 있는 커넥터이다.



Connector CN1

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값을 출력하는 커넥터이다.


Connector CN2

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의 데이터, 어드레스버스 및 각 제어포트와 연결된다.

Connector CN3

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

×


Connector CN4

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를 출력하는 커넥터이다.


Connector CN5

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를 출력하는 커넥터이다.


Connector CN6

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을 입출력하는 커넥터이다.


Connector CN7

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 - 디지털 입력 커넥터

Connector 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 - 디지털 출력 커넥터


Connector 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 입출력 커넥터


Connector CN10

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 입출력 커넥터


Connector CN11

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의 인터럽트를 사용가능하게 한다.


Jumper 1-2

Position

function

1-2

RTC IRQ Enable


(12) J2 - BUZZER Enable

Posted by nexp

댓글을 달아 주세요