모토로라 68HC12

Motorola 68HC12
68HC12
디자이너프리스케일 반도체
비트8비트/16비트
디자인CIC
인코딩변수
엔디안니스
레지스터
8
68HC12에서 실행되는 Dragon12-P 마이크로컨트롤러 평가기판

68HC12(약칭 6812 또는 HC12)는 프리스케일 반도체 출신의 마이크로컨트롤러 계열이다.1990년대 중반에 처음 도입된 이 아키텍처는 프리스케일 68HC11의 개선이다.HC11용으로 작성된 프로그램은 대개 몇 가지 추가 지침이 있는 HC12와 호환된다.최초의 68HC12 파생 모델은 최대 버스 속도가 8MHz였고 플래시 메모리 크기는 최대 128KB였다.

68HC12의 건축

68HC11과 마찬가지로, 68HC12에는 두 개의 8비트 축전지 A와 B가 있다(16비트 관련 작동을 허용하도록 A와 B를 계단식으로 배열할 때 단일 16비트 축전지 D로 표시), 두 개의 16비트 레지스터 X와 Y, 16비트 프로그램 카운터, 16비트 스택 포인터 및 8비트 조건 코드 레지스터가 있다.68HC11과 달리 프로세서는 16비트 내부 데이터 경로를 가지고 있다.

68HC12는 적은 수의 68HC11 지침을 6809 프로세서에 더 가까운 새로운 형식으로 추가 및 대체한다.더욱 현저하게 그것은 명령어 인코딩을 훨씬 더 밀도가 높고 인덱싱 기능과 같은 많은 6809를 추가하며, 일부는 훨씬 더 유연하다.최종 결과는 코드 크기가 일반적으로 30% 더 작다는 것이다.[1]

HCS12/MC9S12 파생상품

2000년부터는 최대 25MHz의 버스 속도와 최대 512KB의 플래시 크기를 가진 MC9S12 파생 모델이 출시되면서 제품군이 확대되었다.

MC9S12NE64는 2004년 9월 프리스케일이 "업계 최초의 단일 칩 고속-이더넷 플래시 마이크로컨트롤러"라고 주장하며 도입했다.25MHz HCS12 CPU, 64KB FLASH EEPROM, 8KB RAM, 이더넷 10/100Mbit/s 컨트롤러를 갖추고 있다.

MC9S12X 파생 모델

2004년에 도입된 MC9S12XDP512는 버스 속도가 40MHz이며, XGATE라고 알려진 주변적인 공동 프로세서를 가지고 있어 CPU에서 일부 작업을 오프로드할 수 있다.S12X 파생상품의 CPU에는 성능을 높이기 위한 몇 가지 새로운 지침이 있다.

Freescale은 S12X 제품군을 50 MHz 버스 속도로 더욱 확장하고 메모리 보호 장치(분할 기준)와 에뮬레이트된 EEPROM을 제공하기 위한 하드웨어 체계를 추가하기 위해 2006년 5월에 MC9S12XEP100을 발표했다.

HCS12 제품은 단일 프로세서를 포함하고 있으며, HCS12X는 추가 XGATE 주변 프로세서를 특징으로 한다.

S12X 제품군은 64KB 이상에 대처하기 위한 두 가지 주요 방법을 제공한다.

  • 64KB 로컬 맵의 페이징 메모리 영역: 페이징된 프로그램 데이터의 경우 PPAGE, 페이징된 RAM의 경우 RPAGE, 페이징된 EEPROM/플래시의 경우 EPAGE
  • 글로벌 주소 지정은 8MB 주소 공간에 있는 모든 주소에 대한 액세스를 허용한다.GPAGE는 특수 opcode와 함께 사용된다.(gldaa 등)

엑스게이트

XGATE 공동 프로세서는 16비트 RISC 프로세서로 메인 버스 클럭의 두 배에서 작동한다.인터럽트만 처리해 S12X 코어에서 작업을 오프로드하고 백그라운드 루프는 실행하지 않는다.XGATE의 첫 번째 버전에서는 현재 처리된 인터럽트를 사전 차단하기 위해 우선 순위가 높은 인터럽트를 허용하지 않지만, 9S12XEP100(및 다른 버전)에 수록된 "XGATEV3"에서는 이를 허용한다.S12X는 XGATE 코어에 소프트웨어 인터럽트를 트리거할 수 있으며 그 반대의 경우도 가능하다.S12X와 XGATE 코어가 주변기기에 대한 접근을 동기화할 수 있도록 세마포어 시스템을 구현한다.

일반적으로 XGATE 코드는 장치 시동 시 RAM에 복사된 다음 속도 혜택을 위해 RAM에서 실행된다.XGATE는 페이징이 없는 부분 64KByte 주소 공간을 가지고 있다.레지스터는 주소를 공유하지만 플래시와 RAM은 코어 사이의 다른 주소에 나타난다.(자세한 내용은 데이터시트를 참조하십시오.)

참조

  1. ^ 시빅트로스, 제임스 M. (1996) "M68HC11 코드를 M68HC12 장치로 전송", 모토로라 반도체 애플리케이션 노트 AN1284/D, 모토로라.

외부 링크