Http://cafe.naver.com/roboticslab.cafe DSP와 TMS320F28x의 이해.

Slides:



Advertisements
Similar presentations
Embedded System 2009 년 11 월 16 일 Embedded Computer1 ● Hardware 와 Software 가 조합되어 특정한 복적을 수행하는 시스템 ● 특정한 기능을 수행하도록 Micro Processor 와 I/O Device 를 내장하며,
Advertisements

Embedded System Hardware와 software가 조합되어 특정한 목적을 수행하는 시스템
Flash SSD 강원대학교 `01 최경집.
컴퓨터와 인터넷.
마이크로 컨트롤러 Microcontroller.
컴퓨터 운영체제의 역사 손용범.
인터럽트 종류 인터럽트 요구시 I/O장치 인식 방법
음향 시스템 사양서 REVERB AND EFFECTS PROCESSOR LEXICON : PCM96 SPECIFICATIONS
DIGITAL RACK MIXER M32C MIDAS NAME MODEL 제조사
Lecture #2 제2장 CPU의 구조와 기능(1).
4장 마이크로프로세서 외부 신호 Slide 1 (of 22).
Signal 자연계에 존재하는 모든 정보전달의 수단 신호의 공학적 표현 물소리, 바람소리, 새소리 짐승소리,불,연기,봉화…
마이크로프로세서(Microprocessor,µP)
임베디드 하드웨어 Lecture #6.
08. 디바이스 드라이버의 읽기와 쓰기 김진홍
램( RAM ) 램의 개념 램 선택법 듀얼채널의 의미.
TMS320F2812의 GPIO의 이해.
DSP와 TMS320F28X의 이해
DSP와 TMS320F28x의 이해.
시스템집적반도체 설계 검증 환경과 기법 Ch 7.
임베디드 시스템.
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
12장. 제어 장치 다루는 내용 CPU속의 제어장치 마이크로 연산 제어장치의 동작.
어셈블리 문법 보강 4월 10일.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
AT MEGA 128 기초와 응용 I 기본적인 구조.
DSP 소개 및 TMS320LF2407A 6th hyaoo.
제10강 중앙처리장치 1.
Error Detection and Correction
DK-128 ADC 실습 아이티즌 기술연구소
부트로더와 Self Programming
LCD 모듈의 특징 LCD 컨트롤러 내장으로 모든 디스플레이 기능을 명령어로 제어 8비트 혹은 4비트로 인터페이스
제 3 장 Memory - SRAM.
ATmega128의 구조 및 TOOL의 이해 Robotics_LAB 발표자 : 유 홍 선.
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
4. LAN의 배선체계 (3장. LAN: Local Area Network)
PSW : PROGRAM STATUS WORD
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
8051기반의 음성 인식 프로세서 설계 Chang-Min Kim and Soo-Young Lee
Microprocessor I/O Port & CLCD Noh Jin-Seok.
Chap 6.Assembler 유건우.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
디 지 털 공 학 한국폴리텍V대학.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
DK-128 FND 실습 아이티즌 기술연구소
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
논리회로 설계 및 실험 5주차.
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
제4강 처리장치 1.
13장 CTC and DMA Slide 1 (of 10).
ARM Development Suite v1.2
UNIT 25 SPI 로봇 SW 교육원 조용수.
ATmega128의 특징 아이티즌 기술연구소
10장. 실현기술 10.1 유한 어장 영향 10.2 디지털 필터의 기본 하드웨어 10.3 하드웨어에 의한 디지털필터 실현
AVR - Chapter 3 황 지 연.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
UNIT 02 Microprocessor 로봇 SW 교육원 조용수.
UNIT 25 SPI 로봇 SW 교육원 조용수.
컴퓨터구조 연습문제 발표 Chapter 3 - 컴퓨터의 기능 및 상호연결의 최상위 관점
셀프 프로그래밍으로 쓰기 셀프 프로그래밍이란? 프린트포트의 ISP 모듈을 사용하지 않음 부트로더에 의한 펌웨어 다운로드
임베디드 하드웨어 Lecture #6.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Lecture 7 7-Segment LED controller using u-controller
Presentation transcript:

http://cafe.naver.com/roboticslab.cafe DSP와 TMS320F28x의 이해

Contents 1. TMS320C2000 2. TMS320F28X CPU 특징 3. TMS320F28X CPU 버스 구조 4. TMS320F28X CPU Memory 구조

DSP (Digital Signal Processor) 다양한 신호 처리 및 고속 연산에 유리하도록 특별이 제작한 프로세서로 하드웨어 적으로 부동소수점(floating point)을 연산하거나 MAC(덧셈과 곱셈을 한 사이클에 수행) 연산기능, 빠른 외부 메모리 인터페이스 등이 특징이다. 영상 처리나 제어기의 동작에 있어 행렬 연산이 많이 필요로 하는 곳에 DSP의 특징을 두드러지게 나타난다.

DSP와 MCU DSP와 MCU DSP MCU 부동 소수점 연산기능 MAC 기능 다양한 부과 회로

TMS320C2000 C5000 계열 C6000 계열 C2000 계열 제어에 최적화된 DSP 다양한 모터 제어에 매우 유용 C24xx의 경우 40MIPS C28xx의 경우 150MIPS 모터 제어용 및 각종 제어기 구현용 빠른 동작 속도에 비해 낮은 전력 소모가 특징 최소 30MIPS ~ 600MIPS 가격 대비 성능이 무척 뛰어남 TI 사에서 제조하는 DSP 중에서 가장 고성능을 지닌 제품군 연산 속도 5000MIPS 내외 네트워크, 디지털 영상 처리에 적합한 구조

TMS320F28xx CPU 특징 TMS320F28xx CPU의 특징 High-Performance Static CMOS Technology 150 MHz(6.67-ns Cycle Time) Low-Power Design (1.8-V Core @135MHz, 1.9-V Core @150MHz, 3.3V I/O) JTAG Boundary Scan Support Advanced Emulation Features Analysis and Breakpoint Functions Real-Time Debug via Hardware JTAG : Joint Test Access Group, 반도체 테스트와 관련한 각종 기준으로 테스트와 에뮬레이션이 용이

TMS320F28xx CPU 특징 TMS320F28xx CPU의 특징 High-Performance 32-Bit CPU(TMS320C28x) 16*16 and 32*32 MAC Operations 16*16 Dual MAC Harvard Bus Architecture Unified Memory Programming Model Atomic Operations Fast Interrupt Response and Processing Code-Efficient (in C/C++ and Assembly) 선형 디지털 신호처리의 핵심 연산인 sum of product를 최고의 효율로 처리한다. 디지털 필터링, 컨볼류션, FFT등등… 변형된 하버드 구조 = C언어와의 효율을 높였다. 단일 메모리…단일 주소 체계를 사용하는 메모리 이를 Unified 메로리, Linear 메모리, 폰 노이만 메모리 등으로 부른다. 인터럽트 처리에 10~11사이클 소모 개별 인터럽트 총 96개

TMS320F28xx CPU 특징 TMS320F28xx CPU의 특징 On-Chip Memory Flash Devices: Up to 128K * 16 Flash (Four 8K * 16 and Six 16K * 16 Sectors) ROM Devices: Up to 128 * 16 ROM 1K * 16 OTP ROM L0 and L1: 2 Blocks of 4K * 16 Each Single Access RAM(SARAM) H0: 1Block of 8K * 16 SARAM M0 and M1: 2 Blocks of 1K * 16 Each SARAM 플래시 메모리 API (application program interface)을 제공 1섹터 이상의 빈 공간이 있다면 동작중에 중요한 데이터등을 빈 섹터에 기록 할 수 있다. SARAM (single access RAM)

TMS320F28xx CPU 특징 TMS320F28xx CPU의 특징 Boot ROM (4K * 16) With Software Boot Modes Standard Math Tables External Interface(2812) Up to 1M Total Memory Programmable Wait States Three Individual Chip Selects Clock and System Control Dynamic PLL Ratio Changes Supported On-Chip Oscillator Watchdog Timer Module PLL 0.5~10배까지 조절이 가능, 최종 클럭은 2분주되어 공급 Watchdog timer = 일종의 안전 장치로 주어진 시간안에 와츠독 타이머를 클리어 시키지 못하면 CPU를 리셋 이외에 32비트 CPU 타이머를 3개 가지고 있다.

TMS320F28X CPU 구조 TMS320F28X CPU 버스 구조 개량된 하버드 구조 프로그램 버스와 데이터 버스가 연결이 되어있다. 하버드 구조 = 어셈블리어에서 최고의 효율 하지만 C언어에서는 비효율적 메모리를 단일 구조를 채택하고 있다. C/C++ 언어의 효율을 극대화 하면서, 명령어 처리 효율을 극대화 한 구조라 볼 수 있다.

TMS320F28x CPU 구조 Atomic 명령어 처리 구조 메모리 맵형 레지스터(Memory Mapped Register : MMR)을 다루는 방식 깨어지지 않는다… DINT 인터럽트 해제… 코드1은 6사이클이 필요하다…비효율적이다. 인터럽트에 의해서 동작의 수행에 방해를 받을 수 있다. 코드2 2사이클

TMS320F28x CPU 구조 TMS320F28x의 내부 구조 그림3에서 보듯이 데이터 어드레스 버스는 총 32비트로 C28X CPU가 관장하는 최대 데이터 메모리는 4G Word에 달한다. 프로그램 어드레스 버스는 22비트로 총 4M Word를 관리할 수 있다. 참고로, 현재 출시된 TMS320C/F281X의 경우, 원가측면과 적용분야특성을 고려해서 최대 128KWord의 내부 플래시 메모리와 18KWord의 내부 램을 탑재하고 있으며, TMS320F2812의 경우 최대 4M Word의 외부 메모리를 탑재할 수 있다. 메모리 크기를 줄임으로써 원가도 줄이고 물리적인 칩 크기도 줄인 것이다.

TMS320F28x CPU 구조 TMS320F28x의 파이프라인 구조 F1, F2 : 명령어 주소, 내용 가져오기 (Fetch) D1 : 명령어 내용 해석하기(Decode) D2 : 오퍼랜드 주소 뽑아 내기 R1 : 오퍼랜드 주소 전달 하기(Read) R2 : 오퍼랜드 읽기 X : 명령어 실행 하기(Execution) W: 결과 저장 하기 (Write) 일반적으로 명령을 처리하기 위해서는 4단계를 걸쳐야 한다.(각각 2사이클) Fetch(명령어 이송) -> Decode(명령어 해석) -> Read(데이터 이송) -> Execution(명령어 실행) 파이프라인 깊어지면 간섭이라는 문제가 생긴다.. 그래서 이를 CPU에서 보호한다.

TMS320F28x CPU 구조 ALU와 MAC 그림 3에서 먼저 상단에 위치한 곱셈기의 구조를 보자. 곱셈기의 결과 담기는 P레지스터는 64비트가 아닌 32비트다. 32비트 곱셈의 결과는 32비트가 아닌 최대 64비트가 된다. 뭔가 이상하다. 그러나, 32비트 곱셈에서 발생한 64비트 결과는 어큐뮬레이터(ACC)와 P 레지스터에 각각 32비트씩 나누어서 저장되고 처리된다. 이러한 구조로 인해, 16비트 곱셈을 동시에 두개 처리가 가능해진다. DMAC이라는 명령어를 사용하면 한 CPU 사이클에 독립된 2개의 16비트 곱셈을 처리할 수 있다. 여기서 한가지 주의할 점은 C/C++ 언어로 프로그래밍 할 때, ANSI C에서 제공하는 수학 함수로는 32비트 곱셈을 못한다는 것이다.  P 레지스터가 32비트이기 때문인데, TI에서 제공하는 Intelligent Q math 함수를 이용하면 64비트 곱셈도 처리가 되고, 정밀한 계산을 신속하게 처리할 수 있게 된다. 대부분의 DSP칩은 반도체 업체에서 제공하는 수학 함수등을 가지고 있다. 이 함수를 사용했을때, 최고의 효율과 정확도를 얻을 수 있음에 주의를 기울여야 한다.

TMS320F28x CPU 구조 TMS320F2812의 메모리 맵

TMS320F28x CPU 구조 TMS320F2812의 메모리 맵 SARAM 영역 : M0/M1/L0/L1/H0 M0와 M1 24계열 코드를 호환시키기 위한 메모리 28x를 C로 구동할 경우, M1 영역은 주로 스택으로 사용 L0와 L1 주로 데이터를 취급하는 용도 Code Security 기능이 적용되어 있다 H0 주로 코드를 다루는 데 사용 24계열과 호환시킬 경우, 프로그램 메모리로 사용 H0 영역에서 코드를 시작하는 부트 모드가 있다

TMS320F28x CPU 구조 TMS320F2812의 메모리 맵 코드나 데이터 저장이 가능한 롬/플래시 영역 OTP FLASH(혹은 ROM) 128K Word 플래시나 ROM메모리의 물리적 특성으로 150MHz로 구동되지는 못한다. Boot ROM 및 BROM 각종 벡터들이 기본적으로 실려있다. 각종 수학 함수표가 내장 되어있다.

TMS320F28x CPU 구조 TMS320F2812의 메모리 맵 MEMORY MAP Register 영역 PF0,PF1,PF2 영역 Peripherals Frame의 약자로 Peripherals 회로를 제어하는 각종 레지스터들이 맵핑된 영역 PF0는 주로 메모리와 CPU내부 제어와 관련된 레지스터 PF1는 CAN관련 레지스터 PF2는 ADC, EV, SPI, SCI, McBSP등등 각종 주변회로용 제어 레지스터

TMS320F28x CPU 구조 TMS320F2812의 메모리 맵 외부 메모리 영역 ZONE 0와 ZONE 1 각각 8K Word 주소가 16비트로 표현이 가능하기에 소형 메모리 모델을 사용할 때 유용 ZONE 2와 ZONE 6 대형 메모리 모델을 사용할 때 유용 ZONE 7 MP mode와 MC mode 사용에 따라 영역이 바뀌게 된다.

TMS320F28x CPU 구조 TMS320F2812의 리셋

www.themegallery.com Thank You !