[adStar EVM] 보드 제작 - DM16MF512

[MCU]/adStar | 2012.12.22 02:00
Posted by nexp

[adStar EVM] 보드 제작 - DM16MF512

 

 

저렴하고 고성능의 32bit MCU인 adStar (DM16MF512) EVM을 M-Type 형태로 제작 했다. adStar의 가장 큰 특징은 16Mbyte의 SDRAM와 TFT-LCD 컨트롤러를  내장하고 있어 저렴한 형태의 LCD제어에 아주 적합하다. 특히 메모리는 사용할 곳이 많을것 같다. adStar 특징 참고.

 

 

 

 

표준화된 핀맵으로 여러 확장보드에 사용 가능할 뿐 아니라 7" TFT LCD전용 확장보드에서 LCD관련 테스트를 해 볼 수 있다.

 

 

뒷면에는 SD Sard소켓을 장착하여 고용량 데이터를 제어할 수 있다.

 

 

표준 핀맵으로 TFT-LCD EVM보드에서 테스트 가능하다.

 

 

 

adStar EVM 핀맵

 

 

 

 

 

 

[ CANTUS EVM ] JTAG 테스트

[MCU]/CANTUS | 2009.11.29 17:09
Posted by nexp
[ CANTUS EVM ] JTAG 테스트



[CANTUS EVM] 조립 후 테스트 진행
일단 여러가지로 열악한 환경속에서 테스트 해 보고 있는 중인데...
Parallel JTAG 연결하고 JTAG ID를 읽어 보았다. JTAG 케이블 빼면 에러가 뜨고 정상 연결하면 무언가 메시가 출력되는 것으로 보아 연결은 문제 없는듯... 하지만 각 파라미터 들의 정확한 의미는 모르겠다. 잘 된건지 이상이 있는것인지? 메뉴얼에도 없는 내용이라...



JTAG관련 설정사항

Port 0의 기능을 보면 Boot Mode , JTAG 선택 기능들이 포함되어 있다. 각 핀들은 기본적으로 High로 유지하며 Low로 설정되면 기능이 Enable된다.

ISP(In System Programming) mode and Debugger mode
다음 핀들에 의해서 ISP, OSI Debugger, JTAG Debugger 모드가 결정된다.
- nISPSEL : Low 일 경우, ISP mode로 부팅된다.
- nOSISEL : Low 일 경우, OSI Debugger mode로 부팅된다.
- nJTAGSEL : Low 일 경우, JTAG Debugger mode로 부팅된다.


nISPSEL(P0.4) : ISP mode select pin

ISP(In System Programming) mode로 선택하기 위한 핀이다.

MEMSIZ(0.5)
Normal boot mode 중 Local Memory인 SRAM_nCS0 영역으로 booting시 Memory의 data bus size를 선택하기 위한 핀이다.

nOSISEL(P0.6)
OSI debugging mode로 선택하기 위한 핀이다.

nJTAGSEL (P0.7)
JTAG debugging mode로 선택하기 위한 핀이다.

BOOTSEL[1:0] (P0.0, P0.1)
Normal boot mode 동작을 선택하기 위한 핀이다.


일단 컴파일 한 예제를 다운로드 해보자.
NOR Flash에 다운로드 중 에러 메시지가 출력된다. "Cannot run debug mode on CANTUS" 이건뭐~
CANTUS를 debug mode로 실행할 수 없다는건지? Debug Mode가 아니라는 것인지...?

CANTUS 하드웨어 설계시 주위사항

[MCU]/CANTUS | 2009.11.22 17:09
Posted by nexp
CANTUS 하드웨어 설계시 주위사항

메모리
CANTUS에서는 Figure 3-1처럼 크게 세 종류의 Memory map이 존재한다. 이는 3가지 방식의 부팅모드가 존재하기 때문이다. 부팅모드의 기본값은 내부 NOR Flash에 의한 부팅동작이다. 나머지 부팅모드는 외부 NAND Flash에 의한 부팅모드와 외부 메모리를 통한 부팅모드이다.




Power Pins
CANTUS는 여러 종류의 전원 핀들이 있으며, 두 개의 Voltage Regulator (LDO)를 내장하고 있다. 내부 Voltage Regulator는 3.3V 단일 전원으로 시스템을 구성할 수 있게 한다.
파워 공급 핀의 종류는 다음과 같다:
 VDDIN100 pin : Main power domain의 내부 Voltage Regulator에 전원 공급을 위한 핀이다. 전압 범위는 3.0V~3.6V 이다.
 VDDOUT100 pin : Main power domain의 내부 Voltage Regulator에서 출력되는 1.8V 전원 핀이다.
 VDD33 pins : Main power domain의 IO를 위한 전원 핀이다. 3.0V~3.6V의 전원을 공급받는다.
 VDD18 pins : Main Power domain의 내부 Logic에 전원을 공급한다. 1.65V~1.95V을 공급받아야 한다. VDDOUT100 출력에 연결하면 3.3V 단일 전원으로 시스템이 구성될 수 있다.
 AVDD18 pin : PLL에 1.8V 전원을 공급하는 전원 핀이다. VDDOUT100 출력에 연결하면 3.3V 단일 전원으로 시스템이 구성될 수 있다.
 AVDD33 pin : Voice Codec에 3.3V 전원을 공급하는 핀이다.
 VDDIN50 pin : Low power domain의 내부 Voltage Regulator에 전원 공급을 위한 핀이다. 전압 범위는 3.0~3.6V 이다.
 VDDOUT50 pin : Low Power domain의 내부 Voltage Regulator에서 출력되는 1.8V전원 핀이다.
 PVDD33 pins : Low Power domain의 IO를 위한 전원 핀이다. 3.0V~3.6V의 전원을 공급받는다.
 PVDD18 pins : Low Power domain에 있는 내부 Logic에 전원을 공급한다. 1.65V~1.95V을 공급받아야 한다. 이 핀은 VDDOUT50 출력에 연결하면 3.3V 단일 전원으로 시스템이 구성될 수 있다.






JTAG관련 설정사항
Port 0의 기능을 보면 Boot Mode , JTAG 선택 기능들이 포함되어 있다. 각 핀들은 기본적으로 High로 유지하며 Low로 설정되면 기능이 Enable된다.

ISP(In System Programming) mode and Debugger mode
다음 핀들에 의해서 ISP, OSI Debugger, JTAG Debugger 모드가 결정된다.
- nISPSEL : Low 일 경우, ISP mode로 부팅된다.
- nOSISEL : Low 일 경우, OSI Debugger mode로 부팅된다.
- nJTAGSEL : Low 일 경우, JTAG Debugger mode로 부팅된다.


nISPSEL(P0.4) : ISP mode select pin

ISP(In System Programming) mode로 선택하기 위한 핀이다.

MEMSIZ(0.5)
Normal boot mode 중 Local Memory인 SRAM_nCS0 영역으로 booting시 Memory의 data bus size를 선택하기 위한 핀이다.

nOSISEL(P0.6)
OSI debugging mode로 선택하기 위한 핀이다.

nJTAGSEL (P0.7)
JTAG debugging mode로 선택하기 위한 핀이다.

BOOTSEL[1:0] (P0.0, P0.1)
Normal boot mode 동작을 선택하기 위한 핀이다.


클럭
CANTUS는 두 개의 외부 클럭 소스와 내부에 한 개의 PLL이 있다. MOSC는 Main Power 영역에 공급되어 PLL의 입력 클럭이 된다. ROSC는 Low Power 영역에 공급되어 PMU/RTC 블록에 공급 된다. Figure 4-6 은 내부 클럭 구조이다.
XIN으로 인가된 클럭은 MOSC를 거쳐 PLL에 공급되며, 동작 범위는 2MHz ~ 15MHz이다.
RTC_XIN은 ROSC를 거쳐 PMU와 RTC 블록에 공급된다. 동작 주파수는 32.768KHz이다.
PLL는 USB Device를 사용할 경우에는 48MHz 또는 96MHz 로 설정하여 USB Device에 48MHz와 12Mhz 클럭을 공급하고, USB Device를 사용하지 않을 경우에는 96MHz 이하의 어떤 클럭이라도 사용할 수 있다.




Reset
POREN/P6.4 핀으로 내부 POR의 동작을 결정할 수 있다. POREN 핀을 high level로 유지 하면 내부 POR를 사용하게 된다. POREN/P6.4 핀은 내부에 pull-up 저항이 연결되어 있어 외부 연결이 없을 때는 POR Reset이 활성화 되어있다.




32bit Flash-based EISC Microcontroller CANTUS

AD chpis에서 새로운 칩이 런칭 되었다. 32bit 96MIPS의 속도에 80k SRAM, CORTEX-M3 안부럽다. 거기에 USB, NAND 컨트롤러, SD Card를 위한 SDIO, ADC, PWM, SPI, I2C, UART(4ch) 까지.. 너무 기능이 많다. 너무 많은 페리를 두지 않았나 싶기도 할 정도다.
4Chnnel Ethernet to USRT를 생각하고 있었는데 UART가 4개나 되니 내가 원했던 스펙이다.
가격도 착하다 모 쇼핑몰에서 4000원에 판매하고 있다.
개발환경도 무료로 제공되고 예제도 있으니 테스트 해보는데 문제가 없을것 같다.



특징

High Performance Processor Core

-32bit EISC Core MCU-5-Stage Pipelining
-16 General Purpose Registers-8 Special Purpose Registers
-1 Cycle 32bit Multiplier
-8KBytes I-Cache, 4KBytes D-Cache
-JTAG Debugger
-Up to 96MIPS throughput with 96MHz Clock
-128Kbytes/512Kbytes Internal NOR Flash Memory
-80KBytes Internal SRAM
-External SRAM Interface (supports 4bank, 512KB/bank)
-NAND Flash Interface (supports SLC NAND booting)
-Supports SLC and MLC typeUSB V 1.1 FS Device Compatible-Supports Full-speed Data Rate 12Mbps-5 endpoints
-MP3 software decoder and Hardware IMA-ADPCM


기능
-8 ch. 32bit Timer with 10bit pre-scalerTimer/Counter, PWMCapture, Output Compare
-32bit Watchdog Timer
-8 ch. UART
-1 ch. Master/Slave SPI
-1 ch.Two-wire Serial Interface
-2 ch. GDMA
-14-bit Voice Codec with Analog mux
-48 Port I/O
-4x4 Key Scan

[TG471 EVM] 보드 제작

[MCU]/TG471 | 2008.09.02 06:30
Posted by nexp
[TG471 EVM] 보드 제작

사용자 삽입 이미지

회로도




AD Chips사의 TG471 테스트 보드를 제작했다.



TG471 MCU
TAG ADChips, TG471

TG471 Paralle ISP 관련자료

[MCU]/TG471 | 2008.07.21 20:18
Posted by nexp
TG471 Paralle ISP 관련자료

사용자 메뉴얼




디바이스 드라이버




ISP 소프트웨어




회로도

TAG ADChips, TG471

[Tg471] 회로 설계시 고려 사항

[MCU]/TG471 | 2008.07.02 21:45
Posted by nexp
Tg471 하드웨어 설계시 고려사항

본격적으로 Tg471 PCB를 한번 만들어 볼까...

Tg471 데이터 시트




핀맵


TEST : TEST pin. Default value is pull-down(Typ. 130kΩ).
0 : Normal operation mode 1 : Test mode

nOSC : Clock Source Selection pin. Default value is pull-down(Typ. 130kΩ). RC OSC설정
0 : Embedded RC Oscillator section 1 : XIN section

nRESET : Active low Reset Input. Default value is pull-up(Typ. 120kΩ).

XIN : Crystal input.(1MHz~10MHz) -> USB사용할 경우 6Mhz를 사용하면 된다.

ISPEN
: ISP Mode Selection pin. Default value is pull-down(Typ. 120kΩ).
0 : Normal operation mode 1 : ISP mode

ISP

EDOUT : ISP Data Out
EDIN : ISP Data In
ECLK : ISP Clock In
nECS : ISP Chip Select In

PA[7:0] : internal pull-up resistors. 4mA driver.
PB[7:0] : internal pull-up resistors. 8mA driver.
PC[7:0] : internal pull-up resistors. 4mA driver.
PD[7:0] : internal pull-up resistors. 4mA driver.
PE[2:0] : internal pull-up resistors. 8mA driver.


 
External 메모리
External Static Memory와의 Interface를 위해 nCS, nRD, nWR, 그리고 D[15:0]을 지원하며 항상 4 cycle의 system clock으로 접근한다.
Memory의 Address는 별도로 할당되어 있지 않기 때문에 GPIO를 통하여 생성하여야 한다. 그러나 NAND Flash는 Address가 필요 없기 때문에 CEb, ALE, CLE 를 GPIO를 통하여 생성하면 제어할 수 있다.



클럭 시스템
Tg471의 클럭은 외부 크리스탈, OSC, 내부 RC OSC가 가능하다.



RC OSC기본 설정



ADPCM clock은Sampling 주파수에맞게PLL를선택해야한다.

GPIO
5V Tolerrance가 되므로 5V 장치와의 연결에 별도로 고려 사항은 없는듯 하다.
TG471의 모든 I/O Port 핀들의 초기값은 PIO Input 이다. 또한 PIO의 모든 입력 핀이 내부적으로 Pull-up 되어있어 입력을 unknown으로 받아들이는 사항을 방지하였다.
PA[3:0] Ports의 경우 내부 Flash Download를 할 수 있는 ISP 관련 신호가 연결되어 있기 때문에 ISPEN = “High” 에서 PA[3:0] Ports는 nECS, ECLK, EDIN, EDOUT 신호로 자동으로 전환된다.
 
 
USB Device Feature
USB를사용할경우24MHz만사용해야함
- USB 2.0 Full Speed(12Mbps)
- 5 개의 Endpoint 지원
- 하드웨어적으로 USB 프로토콜 지원
- Suspend와 Resume signaling 지원


Power
메인 전원은 3.3V가 가능하고 2.5V코어 전원은 내부 레귤레이터가 생성한다.
TAG ADChips, TG471
ADchips 사의 저가형 32bit MCU Tg471 세미나 자료 정리

소형에 저렴하며, Data Bus를 지원하여 NAND, TFT LCD를 간단히 제어 할수 있고, ADC, DAC, SPI, I2C, 사운드 코덱등의 다양한 페리를 지원하여 실제 제품적용에 상당히 매리트 있어 보이는 32bit MCU 이다. 기본 적으로 USB MassStorage로 인식해서 펌웨어 업데이트 할 수 있다.

웹세미나가 있어 자료를 간략하게 정리 했다.
자세한 사항은 ADCchip( http://adc.co.kr/ )사에서 확인할 수 있다.
sales1@adc.co.kr


Tg471 데이터 시트






블럭도
Data Bus를 지원하여 NAND, TFT LCD를 간단히 제어 할수 있다. 네트웍 칩도 연결하면 좀더 다양한 어플리케이션이 되지 않을까...
사용자 삽입 이미지



메모리 맵
Tg471의 내부 플래시 메모리는 Nor Flash이고 64k~512k까지 지원한다.
내부램은 8k으로 요즘 추세의 MCU에 비해 다소 부족한 면이 있어 보인다. 물론 어플리케이션에 따라 다르겠지만...(물론 AVR이 4k인것에 비하면 상당히 양호하다.)

그리고 특징적인 사항은 외부 16bit 메모리 Data Bus가 있어 FTF LCD, NAND Flash등의 제어를 좀더 쉽게 하고 빠르게 제어할 수 있어 상당히 마음에 든다. 요즘 출시되는 소형 MCU들은 외부 Data Bus제어 신호를 GPIO로 제어 하다 보니 답답한 점이 많았는데... AVR은 8bit Data Bus만 지원해서 TFT LCD제어에 특히 빠르고 편리할것 같다.




개발환경
코어 자체가 자체 제작이라 개발환경에 있어 상당히 부담이 가는 부분인데... 다행이 Gcc무료 컴파일러 및 통합 개발환경을 제공한다고 하니 나쁘지 않을것 같다. 물론 사용해 봐야 겠지만...

칩 프로그래밍은 ISP나 내부 부트롬의 USB를 통해 내부 Nor Flash나 외부 NAND Flash에 다운로드 가능하다고 한다.




Bootloader
외부SW를 On 상태에서 Reset 할 경우 USB firmware 또는 Mass Storage Firmware실행
키 입력이없이 Reset되면 응용프로그램 실행




USB Firmware
- TG471의 USB Port와 PC의 USB 포트와통신
- Internal Flash, NAND, SPI Flash에 데이터저장
- 응용프로그램업데이트로사용가능




Mass Storage Firmware
- TG471를 PC에서 저장장치로 인식시켜 파일저장
- Nand flash에 FAT 파일시스템으로 파일저장
- FAT 파일을 음성재생


TAG ADChips, TG471
새로운 MCU로 국내(http://adc.co.kr/)에서 개발한 32bit RISC MCU SE3208 코어를 내장한 TG471이 눈에 들어온다.
코어 자체만으로 상당히 생소하고 안정성 차원이나 기술지원면에서 부담이 가는 MCU이긴하다. 하지만 나름 C 통합개발 환경 제공하고, 저렴한가격(AVR 가격정도...)에 USB, Codec, ADC, DAC, 4ch UART, 2ch SPI의 페리 스펙이라면 경쟁력이 있지 않을까...


TG471는 USB 인터페이스가 내장되어 있고, ADPCM 코덱(디코더, 인코더 내장)은 44KHz 이하의 모든 음성 또는 사운드 데이터의 Recording, Playback이 가능하여 보이스 레코딩 또는 효과음, 음성 안내등의 용도로 사용할 수 있다. 4채널 UART를 사용할 수 있는것이 특징적이다.

또한, 내장 노어플래시 메모리를 64KBytes, 128KBytes, 512KBytes 선택적으로 사용할 수 있어 사용자가 원하는 사양에 따라 시스템을 구성할 수 있으며 2채널 SPI인터페이스가 있어 2개의 시리얼플래시의 확장이 가능합니다. 또한 대용량의 메모리가 필요할 경우 낸드플래시가 지원되어 폭넓은 메모리 사용이 가능하다.

LCD가 필요로 하는 시스템에서는 2인치대(128x160해상도)의 TFT-LCD에 하나의 이미지파일을 디스플레이하는 시간에 30ms 이하의 속도를 낼 수 있어 TFT LCD도 쉽게 제어 가능하다.
이 외에 TG471에는 8채널 Timer / PWM / Capture가 내장되어 모터 구동, 배터리 체크, 적외선 리모콘 신호 입력등의 용도로 사용할 수 있고 4채널 10비트 ADC는 센서 또는 아날로그 신호들의 입력으로 사용이 가능하며 1채널 DMA는 빠른 메모리 액세스로 인해 데이터를 효율적으로 출력할 수 있다.


개발환경은 Gcc용 컴파일러 및 IDE환경을 무상 제공하고 있다.
그리고 특이하게 USB 를 이용한 ISP Programmer 또는 PC상에서 이동식디스크로 인식하여 내장 메모리에 프로그램 및 데이터를 다운로드 할 수 있어 개발에 있어 상당히 편리하다고 한다.


사용자 삽입 이미지
TAG ADChips, TG471

블로그 이미지

nexp

카테고리

분류 전체보기 (1560)
[MyProject] (48)
[TI] (75)
[NXP] (51)
[ST_MICRO] (129)
[FreeScale] (31)
[MSP430] (140)
[Microchip] (131)
Cortex-M (36)
[ATMEL] (29)
[AnalogDevice] (22)
[Embedded] (2)
ARM9 (24)
[AVR] (80)
[DSP] (111)
[8051] (21)
[MCU] (50)
[INTERFACE] (213)
[AppBoard] (23)
[ROBOT] (25)
[MODULE] (129)
[SENSOR] (41)
[DATA] (21)
[FPGA] (32)
[EVB] (1)
[Proramming] (38)
[MyLog] (6)
[IDEA] (0)
[Utility] (19)
[Book] (24)
취미생활 (4)
[Link] (2)