맷돌(G.MTDL.A)은 맷돌-C(한국형 C 언어)를 지원하는 초소형 범용 손톱컴퓨터 입니다.

 

기계닉스에서 자체 개발한 64BiT 가상기계형 운영체제VMOS 로 기동되며, 맷돌-C 로 제작한 가상기계를 설치하면 이 VMOS 가 기동시켜줍니다. 맷돌(G.MTDL.A)은 이 VMOS 가 적용된 가장 기본적인 맷돌이며 MCU 자체에 대한 이해 없이도 기본적인 C 언어만 알면 VMOS 가 지원하는 수 많은 API 함수를 호출하는 것만으로도 모든 주변기기를 제어할 수 있습니다.

 

완전히 독립적으로 동작되는 두 개통신포트는 사용자가 마음대로 수신저장소의 크기를 지정할 수 있으며, 수신 이벤트를 발생 시키는 수신개수를 지정 가능하여 묶음통신을 하는데 아주 편리합니다. 총 24 개의 I/O 핀(8비트 포트 3개)을 지원하며 모든 핀은 독립적으로 입/출력 설정이 됩니다.

  

VMOS 는 여러 가상기계를 지원하는데 맷돌(G.MTDL.A)은 SPI(MASTER), I2C(MASTER) 가 가상기계로 되 있으며 24 개의 모든 I/O 핀에 SPI, I2C 포트를 개수에 무관하게 마음대로 생성할 수 있어 SPI, I2C 를 지원하는 수 많은 소형 센서나 EEPROM, FLASH 를 제한 없이 연결하여 사용 가능합니다. 또한 관련 API 지원으로 SPI 나 I2C 에 대한 상세한 지식이 없는 초보자도 쉽게 다룰 수 있습니다.

 

맷돌(G.MTDL.A)은 3.3V, 5V 모두를 지원하며 I/O 포트에는 각각 VCCIO 가 별도 지원되므로 이 VCCIO 에 걸어주는 전압이 I/O 의 입/출력 전압이 되는 구조를 가지고 있습니다. 따라서, 맷돌(G.MTDL.A)의 3.3V, 5V 구동과 관계없이 I/O 포트는 3.3V, 5V 둘 다 혼합사용이 가능합니다. VCCIO 를 사용하지 않는 경우 각각의 핀에 별도의 풀업 저항을 달아주면 핀 단위로 개별적인 입/출력전압을 설정할 수 있게 됩니다.

 

맷돌(G.MTDL.A)에는 G.CO.RS232.XV 를 직접 연결할 수 있는 4핀 통신포트가 내장돼 있어 별도의 통신회로 없이 PCG.CO.RS232.XV 케이블만으로 간단하게 연결할 수 있습니다.

 

맷돌(G.MTDL.A)은 C 언어를 조금 알고 있으나 MCU 는 전혀 모르는 사람들이나 제어기기 쪽은 어느 정도 알고 있으나 C 언어 등 프로그램은 전혀 경험이 없는 사람들을 대상으로 하고 있습니다. 말 그대로 초보자들을 제어의 세계로 인도하기 위하여 창조된 것입니다. 학생이나 기술자 등이 MCU 를 접하기 전에 먼저 접한다면 MCU 를 보다 쉽게 이해하는데 큰 도움이 될 것입니다. 즉, C 언어를 통한 제어와 그 주변기기에 대한 지식을 먼저 맷돌(G.MTDL.A)로 쌓은 다음에는 실제 MCU 의 레지스터 등만 알면 되기 때문입니다.

 

결코 프로그램을 통한 제어의 세계가 전문가들만의 세상이 아니라는 것을 기계닉스 맷돌(G.MTDL.A)로 증명해 보이겠으며 초등학생도 C 언어로 제어를 하는 대한민국을 만들고야 말겠습니다.

     

    

운영체제

기계닉스 자체 개발 64BiT 가상기계형 운영체제 VMOS.

전용 통합개발환경에서 지속적으로 성능향상/재설치 가능.

수학API 지원용일반용 중 사용자가 직접 선택하여 설치 가능.

통신포트, SPI, I2C, I/O 포트, 이벤트제어 등 수많은 API 지원.

향후 멀티태스킹 지원 예정(사용자는 운영체제 재설치만 하면 됨).

메모리

ROM : 14KByte(수학 API 지원 운영체제 사용시)/30KByte(일반 운영체제 사용시).

RAM : 16KByte.

수학 API 를 사용하지 않는 경우는 일반운영체제를 설치하여 보다 많은 ROM 을 확보할 수 있습니다. 향후 운영체제 향상 등으로 메모리 크기는 수정될 수 있습니다.

새로운 운영체제 VMOS(AT45DB041B)를 설치하면 ROM(512K 바이트), RAM(16K 바이트)를 사용 가능합니다(맷돌-통합개발환경에서 설치:회로도 포함:수학 API 자동 포함).

이벤트 지원

운영체제 차원에서 이벤트 발생처리 지원(통신포트 수신이벤트, I/O 핀 이벤트 등).

자체적으로 이벤트 알림문 지원.

이벤트 알림문 저장소는 사용자가 크기를 지정할 수 있음.

이벤트 알림문을 다루기 위한 API 제공.

통신포트

2 개의 독립적인 통신포트(USART) 지원(Com0, Com1).

현재는 1시작비트, 1종료비트, 8비트 통신만 지원.

각각 수신 저장소의 크기를 사용자가 마음대로 지정가능.

수신 이벤트 지원(사용자가 이벤트를 발생시킬 수신개수를 임의로 지정가능).

통신포트를 제어하기 위한 API 제공.

입/출력 포트

24 개의 일반 입/출력 을 위한 I/O 핀(8비트 포트 3개 P0, P1, P2).

8비트 포트 단위 VCCIO 지원으로 각각 입/출력 전압을 개별적으로 설정 가능함.

입력 시에는 <High-Z+풀업> 으로 출력 시에는 <Open-Drain+풀업> 으로 구성되어 VCCIO 를 사용하지 않고 각각의 핀을 다른 전압으로 풀업하는 경우 전부 다른 전압으로 입/출력 가능.

P0, P1 포트 16개 핀 외부 핀 이벤트 기능 할당 가능(상승/하강 선택 또는 모두 사용가능. 단, 이 기능은 P0, P1 만 적용됨).

입/출력 포트 제어와 외부 핀 이벤트 기능을 위한 API 제공.

SPI 포트

SPI 가상기계 지원(MASTER 만 지원).

모든 포트 핀에 포트 핀이 허용하는 한 무한정 생성가능.

수시로 동적 생성/삭제 가능함.

SPI 4개 구동 종류 전부 지원(CPHA, CPOL 조합 지원).

MSB 우선, LSB 우선 선택 지원.

바이트 단위, 비트 단위, 자료열 단위 등 여러 입/출력 단위 지원.

74HC595(출력포트 확장), 74HC165(입력포트 확장) 등 포트확장용 IC 지원을 위한 여러 추가 기능 지원(SPI CS 핀을 래치로 변환 사용 가능).

마이크로 와이어나 관련된 3선 통신지원(이 경우는 MOSI/MISO 를 묶어주는 것으로 간단하게 처리)으로 DS1620(온도 측정용 IC)등 마이크로 와이어를 사용하는 주변기기 전부 지원.

SPI 포트 제어를 위한 API 제공.

I2C 포트

I2C 가상기계 지원(MASTER 만 지원).

모든 포트 핀에 포트 핀이 허용하는 한 무한정 생성가능.

수시로 동적 생성/삭제 가능함.

MSB 우선, LSB 우선 선택 지원.

바이트 단위, 비트 단위, 자료열 단위 등 여러 입/출력 단위 지원.

제공되는 API 조합으로 어떠한 I2C 주변기기, EEPROM, FLASH 도 제어가능.

I2C 포트 제어를 위한 API 제공.

타이머

총 8 개의 타이머(10ms 분해능) 를 지원.

각각 모두 독립적으로 동작되고 최소 10ms(0.01초) 분해능.

수시로 동적 생성/삭제 가능함.

타이머 이벤트 지원(8개 모두 각각 이벤트 구분).

타이머를 제어하기 위한 API 제공.

PWM 생성기

총 3 개의 PWM 생성기(12 개 PWM 채널) 지원.

각 4개 채널 지원으로 총 12 개의 독립된 PWM 출력 가능.

분주비/주기/듀티비를 마음대로 설정가능.

수시로 동적 생성/삭제 가능함.

RC 서보 를 직접 제어할수 있음(아주 세밀하게 제어하는 경우).

PWM 을 제어하기 위한 API 제공.

RC 서보 제어기 내장

총 12 개의 RC 서보 를 완전히 동시에 독립적으로 제어할수 있는 서보제어기 내장.

영점조정기능으로 각도(1도단위 정밀 제어)/속도를 12 개 모두 완전 독립적으로 제어가능.

속도는 등속/가감속/가속/감속의 4종류 지원.

서보 포트는 수시로 동적 생성/삭제 가능함.

각 서보 또는 전체 서보의 동작완료를 알려주는 완료이벤트기능 지원.

서보용  PWM 의 주기를 마음대로 조정가능(디지탈/아날로그 서보 모두 대응).

기계닉스 G.M.RC.BASiC 보다 강력한 서보제어기능 지원.

RC 서보를 제어하기 위한 API 제공.

멜로디 생성기

총 3 개의 멜로디 생성기 내장.

1 - 8 옥타브, 12음계 모두 지원.

수시로 동적 생성/삭제 가능함.

멜로디를 제어하기 위한 API 제공.

검증가상기계 내장

검증가상기계 내장.

맷돌-C 내장 전용 통함개발환경에서 개발 시 검증을 지원하기 위하여 VMOS 자체에 검증가상기계가 내장돼 있음.

12 개의 정지점 지원.

행 단위, 함수 단위 검증 기능 지원.

사용 전압

3.3V5V 모두 사용 가능(각각 해당 전원 핀에 전원 공급).

자체에 3.3V 전압변환기(1A 출력) 내장으로 별도의 외부 전압변환기가 불필요함.

어떤 전압을 사용하더라도 일반 I/O 포트는 해당 VCCIO 에 공급된 전압으로 입/출력됨.

3.3V 입력 핀은 맷돌을 5V 로 동작할 때는 내부 전압변환기의 출력 핀으로 사용됨.

기타

모든 제어에 적합하고 한 개의 맷돌로 12개 서보제어까지 자체적으로 모두 수행 가능함(별도의 MCU 불필요).

향후 VMOS 향상과 함께 더 많은 가상기계 및 해당 API 추가 예정.

L298 로 DC 모터 제어(속도제어)하는 기능과 해당 API 추가예정(기존 사용자는 운영체제만 다시 설치하면 됨).

   

   

1

NC(System)

2

nReset

39

3.3V

40

VCCIO-P0

3

NC(System)

4

NC(System)

37

P0.6(Pwm20)

38

P0.7(Pwm21)

5

NC(System)

6

NC(System)

35

P0.4(Pwm10)

36

P0.5(Pwm11)

(출력만 5V)

7

NC(System)

8

NC(System)

33

P0.2

34

P0.3(Pwm01)

9

NC(System)

10

NC(System)

31

P0.0(Pwm12)

(출력만 5V)

32

P0.1(Pwm13)

(출력만 5V)

11

P1.0(Pwm22)

12

P1.1(Pwm23)

29

P2.6

30

P2.7(Pwm00)

13

P1.2(Com1Tx/Pwm02)

14

P1.3(Com1Rx/Pwm03)

27

P2.4

28

P2.5

15

P1.4

16

P1.5

25

P2.2(Com0Rx)

26

P2.3

17

P1.6

18

P1.7

23

P2.0

24

P2.1(Com0Tx)

19

VCCIO-P1

20

GND

21

5V

22

VCCIO-P2

  

2번 핀을 제외한 1-10 번 핀맷돌(G.MTDL.A)의 차기 기능이나 기계닉스 전용기능으로 사용자는 절대 손대서는 안되며 아무것도 연결해서는 안됩니다. 또한, 이 핀들은 전부 3.3V 로만 구동되므로 사용자가 임의로 잘못 연결하는 경우 맷돌(G.MTDL.A)이 파손될 수 있습니다.

 

P0.0, P0.1, P0.5 의 3개 핀은 출력 시에만 5V 동작이 지원되며, 입력 시에는 3.3V 만 사용해야 합니다. 즉, 입력 시 해당포트의 VCCIO 5V 로 설정하는 경우는 이 3개 핀은 입력 동작을 수행하지 않습니다. 이점 주의 바랍니다.

 

만일 P0 포트의 다른 핀을 입/출력으로 사용하는 경우는 해당 포트의 VCCIO 를 사용하지 않고 개별적으로 나머지 핀을 1K 의 저항을 사용하여 5V 로 풀업해주면 됩니다. 이 경우 이 3개 핀맷돌(G.MTDL.A)의 39번 핀에서 나오는 3.3V 에 1K 저항으로 풀업합니다. P0 전체는 그냥 일반 출력으로만 사용하는 경우는 해당 포트의 VCCIO 를 5V 에 연결하면 됩니다. 그러면, P0 포트 전체를 5V 출력으로 동작 시킬 수 있습니다.

 

  

 

맷돌(G.MTDL.A)은 자체적으로 통합개발환경과 통신을 위한 전용 통신포트를 한 개 내장하고 있습니다.

 

이 곳에 기계닉스의 G.CO.RS232.XV 를 PC 의 통신포트와 연결하면 통합개발환경에서 맷돌(G.MTDL.A)과 통신할 수 있습니다.

이 포트는 맷돌(G.MTDL.A)의 운영체제를 설치 하거나, 사용자가 만든 맷돌(G.MTDL.A)용 가상기계를 설치하거나, 검증을 수행하는데 사용됩니다.

 

아래쪽의 좌/우전환 스위치는 맷돌(G.MTDL.A)을 기동시키는 운영체제를 선택하는 기능을 가지며, 왼쪽으로 선택한 뒤 맷돌(G.MTDL.A)을 재기동 하면 기본 적인 기능만 제공되는 복구용 운영체제가 기동되고, 오른쪽으로 선택한 뒤 맷돌(G.MTDL.A)을 재기동 시키면 VMOS 라는 맷돌(G.MTDL.A)의 기본 운영체제가 기동됩니다.

 

대부분의 경우 복구용 운영체제를 선택할 일은 없으나 사용자의 잘못된 조작 등으로 맷돌(G.MTDL.A)의 운영체제 VMOS 가 제대로 기동하지 못하거나 손상된 경우는 복구용 운영체제인 BVM 을 선택하여 확실하게 다시 기본 운영체제를 설치하여 문제를 해결할 수 있습니다. 즉, 복구용 운영체제는 어떤 경우라도 맷돌(G.MTDL.A)과 통합개발환경을 연결시켜 주어 새로운 운영체제를 다시 설치할 수 있게 만들어 줍니다.