DSP TMS 320 F 2812 ROBOTICS LAB http
DSP TMS 320 F 2812 ROBOTICS LAB. http: //cafe. naver. com/roboticslab
Contents 1. DSP 28 x MMR 2. TMS 320 F 2812 GPIO Control 3. GPIO를 이용한 LED 점멸 예제 http: //cafe. naver. com/roboticslab
DSP 28 x MMR v MMR(Memory Mapped Register) n 메모리처럼 조작 가능한 레지스터 http: //cafe. naver. com/roboticslab
DSP 28 x MMR v Internal Register n 레지스터에 번지를 부여하지 않는다. http: //cafe. naver. com/roboticslab
DSP 28 x MMR v AVR(또는 8051) MMR 선언과 조작 #define MCRA #define MCRB #define MCRC n n n (volatile unsigned int *)0 x 7090 /* I/O mux control reg. A */ (volatile unsigned int *)0 x 7092 /* I/O mux control reg. B */ (volatile unsigned int *)0 x 7094 /* I/O mux control reg. C */ 레지스터의 비트 조작이 매우 어렵다. CCS의 기능을 제대로 사용하지 못한다. n 자동 구문 대입 기능(auto-completion) n 비트 단위 관찰 기능 헤더 파일 재활용이 불가능하다. http: //cafe. naver. com/roboticslab
DSP 28 x MMR v 28 x DSP의 MMR 선언과 조작 http: //cafe. naver. com/roboticslab
DSP 28 x MMR v 28 x DSP의 MMR 선언과 조작 http: //cafe. naver. com/roboticslab
DSP 28 x MMR v 28 x DSP의 MMR 선언과 조작 http: //cafe. naver. com/roboticslab
DSP 28 x MMR v 28 x DSP의 MMR 선언과 조작 n n 1단계 Gpio. Mux. Regs. GPAMUX 2단계 Gpio. Mux. Regs. GPAMUX. bit. T 1 PWM_GPIOA 6 = 1; http: //cafe. naver. com/roboticslab
DSP 28 x MMR v 28 x DSP의 MMR 선언과 조작 http: //cafe. naver. com/roboticslab
DSP 28 x MMR v 28 x DSP의 MMR 선언과 조작 n #pragma n 데이터를 원하는 메모리의 영역에 주입하기 위 해서 #pragma, DATA_SECTION 함수를 사 용 예) coeff배열을 L 0영역인 0 x 8400번지에 배치 #pragma DATA_SECTION(coeff, “m_coeff”) Uint coeff[[128] http: //cafe. naver. com/roboticslab
DSP 28 x MMR v 28 x DSP의 MMR 선언과 조작 ☞ GPIO 관련 MMR의 메모리 배치 n 1단계 : MMR선언 extern volatile struct GPIO_MUX_REGS Gpio. Mux. Regs; n 2단계 : 섹션 정의 #pragma DATA_SECTION(Gpio. Mux. Regs, “Gpio. Mux. Regs. File”); n 3단계 : 커맨드 파일 작성 NAME ADDRESS SIZE(x 16) REGISTERDESCRIPTION GPAMUX 0 x 00 70 C 0 1 GPIO A Mux Control Register http: //cafe. naver. com/roboticslab
DSP 28 x MMR v 28 x DSP의 MMR 선언과 조작 ☞ GPIO 관련 MMR의 메모리 배치 n 3단계 : 커맨드 파일 작성 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt Project → Build Option에서 rts 2800_ml. lib를 포함시킴 Project → Add File to Project 를 통해서 포함 시킴 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n 소스코드 n Defaultlsr. c n Pie. Ctrl. c n Pievect. c n Code. Start. Branch. asm n Global. Variable. Defs. c n Gpio. c n Sys. Ctrl. c n 281 x. Gpio. Toggle. c 인터럽트의 설정과 활용 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n DSP 281 x_Code. Start. Branch. asm • . def – 선언용 디렉티브 • . ref – 참고용 디렉티브 • . sect – 섹션 디렉티브 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n 28 x DSP에서 코드가 실행되는 과정 : MC Mode MC 모드 설정 리셋 신호 인가 Boot Loader 실행 > DSP 281 x_Code. Start. Branch. asm 호출 rts 2800_ml. lib 실행 > main( ) 호출 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n rts 2800_ml. lib n Run Time Support Library n 기능 n n 스택 확보 및 스텍 포인터 설정 연산 비트 설정 데이터 초기화 DSP 281 x_Global. Variable. Defs. c n 데이터 섹션 정의 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n DSP 281 x_Sys. Ctrl. c n 기능 n n Watchdog을 무력화(disable) PLLCR 레지스터를 설정, 원하는 시스템 클럭을 생성 주변회로에 공급 클럭 주파수를 설정 주변회로에 클럭 공급 여부를 설정 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n GPIO 회로 구조 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n 281 x 프로세서 모듈의 LED 구성 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n Example_DSP 281 x. Gpio. Toggle. c n GPIO 설정 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n Example_DSP 281 x. Gpio. Toggle. c n Example 1 http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n Example_DSP 281 x. Gpio. Toggle. c n Example 2 • GPx. SET 레지스터 : 이 비트가 1이면 해당 핀의 상태가 Logic High가 됨 이 비트가 0이면, 아무런 영향이 없다. • GPx. CLEAR 레지스터 : 이 비트가 1이면 해당 핀의 상태가 Logic Low가 됨 이 비트가 0이면, 아무런 영향이 없다. http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Example_281 x. Gpio. Toggle. pjt n Example_DSP 281 x. Gpio. Toggle. c n Example 3 • GPx. TOGGLE레지스터 : 이 비트가 1이면 해당 핀의 상태가 반전된다. 이 비트가 0이면, 아무런 영향이 없다. http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Input Qualification n 6개의 포트중 A, B, D, E 포트에는 Input Qualification라는 아주 특별한 회로가 탑재되어 있다. http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Input Qualification http: //cafe. naver. com/roboticslab
TMS 320 F 2812 GPIO Control v Input Qualification n GPx. QUAL 레지스터 http: //cafe. naver. com/roboticslab
Plan 1차 Orientation TMS 320 F 2812 Introduction 2차 Tools Introduction Peripherals Operation GPIO 3차 (5월 8일) CPU/GP Timer Peripherals Operation (5월 14일) Address/Data Bus use to external ADC 4차 (4월 2일) Application Flesh Memory Control Step Motor Drive (5월 21일) IR Sensor Interface http: //cafe. naver. com/roboticslab
www. themegallery. com
- Slides: 36