목차
1. TMS320C6000 DSP 프로세서 = 1
1.1. TMS320C6000 프로세서 종류 = 2
1.2. TMS320C671x 프로세서 구조 = 4
1.2.1. DSP 코어 = 5
1.2.2. 내부 메모리 = 9
1.2.3. 외부 메모리 = 11
1.2.4. 명령 구조 = 11
1.2.5. TMS320C671x 페리페럴 = 12
1.2.5.1 EMIF(External Memory Interface) = 13
1.2.5.2 PLL(Phase Locked Loop) = 19
1.2.5.3 McBSP(Multi Channel Buffered Serial Port) = 21
1.2.5.4 타이머 = 23
1.2.5.5 인터럽트 = 25
1.2.5.6 EDMA(Enhanced Direct Memory Access) 컨트롤러 = 29
1.3 TMS320C6000 디바이스 특징 = 36
2. DSP STAR 하드웨어 = 39
2.1.하드웨어 구성 = 40
2.1.1. 프로세서 모듈 = 41
2.1.2. I/O 보드 = 42
2.1.2.1 음성 코덱 = 43
2.1.2.2 AD 변환기 = 44
2.1.2.3 DA 변환기 = 46
2.1.2.4 SDRAM = 47
2.1.2.5 Flash ROM = 48
2.1.2.6 그래픽 LCD = 48
2.1.2.7 사용자 LED = 51
2.1.2.8 RS232 시리얼 포트 = 52
2.1.2.9 스텝 모터 = 53
2.1.2.10 PWM 포트 = 58
2.1.2.11 DIP 스위치, 푸쉬 버튼 스위치 및 디지털 I/O = 60
2.1.2.12 CPU 버스 확장 포트 = 61
2.1.3. 카메라 모듈 = 61
2.1.4. TFT LCD 비디오 모듈 = 65
2.1.4.1 NTSC/PAL 카메라 입력 = 66
2.1.4.2 TFT LCD 출력 = 67
2.1.4.3 DSP 인터페이스 = 69
2.2. DSP STAR 설치 및 점검 = 72
2.2.1. DSP STAR 보드 설치 = 72
2.2.2. 프로세서 모듈 장착 = 72
2.2.3. 확장 모듈의 장착 = 73
2.2.4. 하드웨어 자체 테스트 = 74
2.2.5. Code Builder 설치 = 79
3. DSP STAR 소프트웨어 환경 = 83
3.1. C6000 C 컴파일러 = 84
3.1.1. 컴파일러/링커 옵션 및 섹션 = 84
3.1.2. C6000 데이터 타입 = 86
3.1.3. 컴파일러 키워드 = 89
3.1.4. C와 어셈블리 혼합코드 = 90
3.2 Code Builder IDE = 91
3.2.1. Code Builder 설치하기 = 91
3.2.2. Code Builder 실행하기 = 92
3.2.3. Code Builder 메뉴 항목과 단축아이콘 = 93
3.3. Code Builder 프로젝트 = 96
3.3.1. 프로젝트 구성 = 96
3.3.1.1 프로젝트 파일 = 96
3.3.1.2 Linker Command 파일 = 97
3.3.1.3 start.asm 파일 = 99
3.3.2. 프로젝트 설정 = 101
3.3.3. 프로젝트 초기화 = 101
3.3.4. 프로젝트 Build = 102
3.3.5. Map 파일 = 105
3.4. Code Builder 디버깅 = 107
3.4.1. 프로그램 로드 = 107
3.4.2. Disassembly View = 108
3.4.3. 심볼 트리 윈도우 = 110
3.4.4. Watch Tap = 110
3.4.5. 프로그램 실행 = 112
3.4.6. Breakpoint 설정 = 112
3.4.7. Console Tap = 113
3.4.8. Memory 관련 기능 = 114
3.4.9. 메모리와 파일 인터페이스 = 116
4. 예제 프로그램 따라하기 = 119
4.1. DSP 프로세서 살펴보기 = 120
4.1.1. 코어 레지스터 보기 = 120
4.1.2. 페리페럴 레지스터 보기 = 121
4.1.3. 메모리 보기 = 122
4.2. 새로운 프로젝트 생성하기 = 126
4.2.1. 프로젝트 생성 및 요소파일 구성 = 127
4.2.2. PLL 설정 함수 = 130
4.3. 하드웨어 제어 = 133
4.3.1. LED 직접 제어 = 134
4.3.2. LED 소프트웨어 제어 = 135
4.3.3. c6000.h 파일 내용 살펴보기 = 136
4.3.4. dsxio.h 파일 내용 살펴보기 = 140
4.3.5. EMIF 설정하기 = 141
4.3.6. 프로젝트 실행하기 = 142
4.4. 실행시간 측정하기 = 143
5. 음성신호 실험 = 145
5.1. 음성 신호의 개요 = 146
5.2. 음성 신호의 입출력 구성 = 146
5.3. 음성코덱 제어 프로그램 = 148
5.3.1. 코덱 초기화 프로그램 = 149
5.3.2. 코덱 입출력 프로그램 = 151
5.3.3. 코덱과 DSP와의 속도 맞추기 = 152
5.3.3.1 Polling 방식으로 코덱 읽기 = 153
5.3.3.2 Polling 방식으로 코덱에 쓰기 = 156
5.3.3.3 Polling 방식으로 코덱 읽기 쓰기 = 156
5.4. 음성 신호의 실시간 에코 재생 = 158
5.5. 음성 신호 녹음 및 반복 재생 = 160
5.6. 정현 신호의 코덱출력 = 165
5.7. 합성정현 신호의 코덱출력 = 167
5.8. 처프 신호 발생 = 171
5.9. 음성 도청방지기 = 173
6. 실시간 처리 프로그래밍 = 177
6.1. 인터럽트 활용 = 178
6.1.1. 인터럽트 제어 로직 = 178
6.1.2. 인터럽트 방식으로 코덱 읽기 = 183
6.1.3. 인터럽트 방식으로 코덱 쓰기 = 184
6.1.4. 인터럽트 방식으로 코덱 읽기 쓰기 = 185
6.2. EDMA 활용 = 187
6.2.1. EDMA 제어로직 = 187
6.2.2. EDMA 방식으로 코덱 읽기 = 191
6.2.3. EDMA 방식으로 코덱 쓰기 = 194
6.2.4. EDMA 방식으로 코덱 읽기 쓰기 = 196
6.3. 여러 가지 기법 혼용 사용 = 197
7. AD/DA 실험 = 201
7.1. AD/DA 제어로직 = 202
7.1.1. 초기화 과정 = 202
7.1.2. 입출력 프로그램 = 204
7.1.3 DSP와 동기 맞추기 = 206
7.2. 아날로그 데이터와 디지털 데이터 = 206
7.3.1 채널 AD/DA Loopback = 209
7.4. 멀티 채널 AD/DA Loopback = 212
7.5. 4채널 Function Generator = 230
8. 일반 신호처리 실험 = 233
8.1. 신호의 시간 영역 해석 = 234
8.1.1. 샘플링 속도 = 234
8.1.2. 양자화 레벨 = 238
8.1.3. 실시간 콘볼루션 적분 = 241
8.2. 신호의 주파수 영역 해석 = 243
8.2.1. 실시간 DFT 계산 = 243
8.2.2. Decimation-in-Frequency(DIF) 기법을 이용한 Radix-2 FFT = 246
8.2.3. Decimation-in-Time(DIT) 기법을 이용한 Radix-2 FFT = 250
8.3. 실시간 디지털 필터링 = 252
8.3.1. 디지털 FIR 필터 = 253
8.3.2. 디지털 IIR 필터 = 259
9. 아날로그 통신 실험 = 267
9.1. 진폭 변조 = 268
9.1.1. DSB_SC 진폭 변조 = 269
9.1.2. DSB_TC 진폭 변조 = 283
9.1.3. AD/DA 채널을 통한 실시간 진폭 변복조 = 293
9.1.3.1 DSB_SC 변복조를 통한 실시간 정현파 전송 = 293
9.1.3.2 DSB_SC 변복조를 통한 실시간 음성신호 전송 = 298
9.1.3.3 음성신호의 DSB_TC 실시간 변복조 (보드내) = 302
9.1.3.4 음성신호의 DSB_TC 실시간 변복조 (보드간) = 305
9.2. 주파수 변조 = 306
9.2.1. 협대역 FM (Narrowband FM) 변조 = 308
9.2.2. 광대역 FM (Wideband FM) 변조 = 310
10. 이산 디지털 변복조 실험 = 323
10.1. 진폭천이 변조(ASK) = 324
10.1.1. ASK 신호의 발생 = 324
10.1.2. ASK 신호의 복조 = 326
10.1.2.1 Coherent 수신기 : 정합필터/상관 수신기 = 326
10.1.2.2 Noncoherent 수신기 = 328
10.2. 주파수천이 변조(FSK) = 335
10.2.1. FSK 신호의 발생 = 335
10.2.2. FSK 신호의 복조 = 336
10.2.2.1 동기식 수신기 : 정합필터/상관 수신기 = 337
10.2.2.2 비동기식 검파기 = 338
10.3 위상천이 변조(PSK) = 348
10.3.1. PSK 신호의 발생 = 348
10.3.2. PSK 신호의 복조 = 350
10.4. 음성신호의 실시간 위상천이 변복조 = 359
10.4.1. 동일한 보드내에서 음성신호 BPSK 변복조 = 359
10.4.2. 보드간 음성신호 BPSK 변복조 = 363
11. 영상 입출력 실험 = 365
11.1. 디지털 영상의 표현 = 366
11.2. 정지영상 입출력 처리 = 375
11.2.1. 영상 획득 = 375
11.2.2. 영상 히스토그램 = 377
11.2.3. 라플라시안 필터 = 378
11.2.4. 미디언 필터 = 381
11.2.5. 초점 제어 = 382
11.3. 동영상 입출력 처리 = 385
11.3.1. TFT LCD의 사용 = 385
11.3.2. NTSC Camera의 사용 = 390
12. 부가 실험 = 395
12.1. C와 어셈블리를 사용한 프로그래밍 = 396
12.1.1. 함수 호출을 위한 레지스터 할당 = 396
12.1.2. 함수 호출 절차 = 397
12.1.3. Dot Product 어셈블리 구현 = 399
12.2. I/O 제어 실험 = 400
12.2.1. LED와 푸쉬 버튼 스위치 실험 = 400
12.2.2. LCD Display 실험 = 401
12.2.3. 스텝 모터 구동 실험 = 406
12.2.4. 타이머 실험 = 408
12.2.5. PWM 포트 활용 = 410
12.2.6. Flash Boot Code 제작 = 411
12.3. 외부 인터페이스 = 422
12.3.1. 사용자 RS232 포트 활용 = 422
12.3.2. MFC를 이용한 RTDX 제작 = 428
12.4. 하드웨어 제작 = 437
12.4.1. User Target Board 제작 = 437
12.4.2. 확장 모듈 장착 = 440
13. 부록 A = 443
A.1 TMS320C671x 레지스터 = 444
A.1.1 EMIF = 444
A.1.2 PLL = 447
A.1.3 McBSP = 449
A.1.4 TIMER = 459
A.1.5 Interrupt = 460
A.1.6 EDMA = 461
A.2 I/O 보드 제어 레지스터 = 463
A.3 TFT LCD 비디오 모듈 제어 레지스터 = 466
A.4 카메라 모듈 제어 레지스터 = 467
A.5 DSP STAR 메모리 맵 = 468
A.6 예제 샘플 프로그램 코드 = 469
A.7 프로세서 모듈 응용 회로 = 482
14. 부록 B = 487
B.1 Static 변수 = 488
B.2 Unsigned와 signed = 490
B.3 나누기와 Shift Right = 495
15. 부록 C = 501
C.1 추가 응용 프로젝트 = 502