106
Welcome to easyDSP for real-time debugging of Texas Instrument DSP easyDSP는 Texas Instrument 사 DSP와 PC간의 Real-Time 통신 프로그램입니다. TI DSP가 자체적으로 제공하는 통신포트와 PC와의 통신을 통하여 DSP 동작 중 Online으로 DSP프로그램의 변수, 메모리, 레지스 터 등을 관찰 및 변경할 수 있습니다. 또한 DSP의 시리얼 부팅 기능을 통하여 고가의 디버거없이 DSP관련 시스템 개발을 수행할 수 있으며, 플래쉬 롬에 DSP 프로그램을 라이팅할 수 있습니다. easyDSP 내부의 포토커플러를 이용하여 PC와 DSP보드 사이를 절연시켜 고신뢰성이 보장됩니다. 또한 멀티 운영을 지원하여, 한 개의 PC에서 여러 개의 easyDSP를 사용하여 여러 개의 DSP보 드를 제어하는 것이 가능합니다. 지원하는 DSP는 TMS320C3x (x=1,2,3) TMS320LF240xA (x=1,2,3,6,7) TMS320F280x (x=1,2,6,8,9,15,16,44), TMS320F281x (x=0,1,2) TMS320F2823x (x=2,4,5), TMS320F2833x (x=2,4,5) TMS320F2802x(x=0,1,2,3,4,5,6,7), TMS320F2803x(x=0,1,2,3,4,5), TMS320C2834x (x=1,2,3,4,5,6) TMS320C671x (x=1,2,3) (2x, 3x, 6x용 Pod는 별도임) 지원하는 OS는 Windows 7, Vista, XP, 2000, Me, 98 국내외 유수의 업체 및 대학 기관에 납품되어 품질을 인정 받고 있습니다. 국내 대학(서울대, 강원대, 부산대, 제주대, 경북대, 영남대, 전북대, 명지대, 건국대, KAIST, 광운대, 목표해양대, 국민대 등) 국내 기업(삼성전자, 삼성테크윈, LS산전, 현대중공업, 현대엘리베이터, 페어차일드 반도체, LG OTIS, 로템, 다사테크, 플라스포, 그린파워, 전력품질기술, 한국 전기연구원, 한국기계연구원, 이화전기, 인텍, ADT, 인피니언반도체, LS파워세미텍, 메트로닉스, 두산인프라코어, 한라공조, 효성중공업, 전자부품연구원, 유니콘, 유니슨, 아우시스템 등) 국외 대학 : Virginia Tech(FEEC@ECE) 국외 기업: Yaskawa(일본, 미국), General Motors(미국) easyDSP easyDSP easyDSP easyDSP는 어떠한 보장도 없이 제공됩니다 는 어떠한 보장도 없이 제공됩니다 는 어떠한 보장도 없이 제공됩니다 는 어떠한 보장도 없이 제공됩니다. . . . 제작자가 미리 언급 및 경고하지 않은 경우에도 제작자가 미리 언급 및 경고하지 않은 경우에도 제작자가 미리 언급 및 경고하지 않은 경우에도 제작자가 미리 언급 및 경고하지 않은 경우에도, , , , 어떠한 종류의 손해 어떠한 종류의 손해 어떠한 종류의 손해 어떠한 종류의 손해(직접 직접 직접 직접 적, , , , 간접적 간접적 간접적 간접적, , , , 우연적 우연적 우연적 우연적, , , , 필연적 필연적 필연적 필연적, , , , 경제적 경제적 경제적 경제적, , , , 정신적 정신적 정신적 정신적, , , , 신체적 신체적 신체적 신체적)도 보상되지 않습니다 도 보상되지 않습니다 도 보상되지 않습니다 도 보상되지 않습니다. . . . 본 프로그램으로 인한 손해는 전적으로 사 본 프로그램으로 인한 손해는 전적으로 사 본 프로그램으로 인한 손해는 전적으로 사 본 프로그램으로 인한 손해는 전적으로 사 용자의 책임이므로 신중히 사용하시기 바랍니다 용자의 책임이므로 신중히 사용하시기 바랍니다 용자의 책임이므로 신중히 사용하시기 바랍니다 용자의 책임이므로 신중히 사용하시기 바랍니다. 기타 자세한 사항은 www.easydsp.com 을 방문하시거나 [email protected] 으로 문의 바랍니다. 감사합니다. Welcome to easyDSP ! 'easyDSP' is a powerful graphical user interface (GUI) for the maintaining, configuring and trouble-shooting of embedded software with strict real- time requirements. The tool automatically extracts the symbol information from the files generated by the cross- Page 1 of 106

EasyDSP Kor

  • Upload
    wonshik

  • View
    317

  • Download
    4

Embed Size (px)

Citation preview

Page 1: EasyDSP Kor

Welcome to easyDSP  for real-time debugging of Texas Instrument DSP

easyDSP는 Texas Instrument사 DSP와 PC간의 Real-Time 통신 프로그램입니다. TI DSP가 자체적으로 제공하는 통신포트와 PC와의 통신을 통하여 DSP 동작 중 Online으로 DSP프로그램의 변수, 메모리, 레지스터 등을 관찰 및 변경할 수 있습니다. 또한 DSP의 시리얼 부팅 기능을 통하여 고가의 디버거없이 DSP관련 시스템 개발을 수행할 수 있으며, 플래쉬 롬에 DSP 프로그램을 라이팅할 수 있습니다. easyDSP 내부의 포토커플러를 이용하여 PC와 DSP보드 사이를 절연시켜 고신뢰성이 보장됩니다. 또한 멀티 운영을 지원하여, 한 개의 PC에서 여러 개의 easyDSP를 사용하여 여러 개의 DSP보드를 제어하는 것이 가능합니다.

지원하는 DSP는 TMS320C3x (x=1,2,3) TMS320LF240xA (x=1,2,3,6,7) TMS320F280x (x=1,2,6,8,9,15,16,44), TMS320F281x (x=0,1,2) TMS320F2823x (x=2,4,5), TMS320F2833x (x=2,4,5) TMS320F2802x(x=0,1,2,3,4,5,6,7), TMS320F2803x(x=0,1,2,3,4,5), TMS320C2834x (x=1,2,3,4,5,6) TMS320C671x (x=1,2,3) (2x, 3x, 6x용 Pod는 별도임) 지원하는 OS는 Windows 7, Vista, XP, 2000, Me, 98

국내외 유수의 업체 및 대학 기관에 납품되어 품질을 인정 받고 있습니다. 국내 대학(서울대, 강원대, 부산대, 제주대, 경북대, 영남대, 전북대, 명지대, 건국대, KAIST, 광운대, 목표해양대, 국민대 등) 국내 기업(삼성전자, 삼성테크윈, LS산전, 현대중공업, 현대엘리베이터, 페어차일드 반도체, LG OTIS, 로템, 다사테크, 플라스포, 그린파워, 전력품질기술, 한국 전기연구원, 한국기계연구원, 이화전기, 인텍, ADT, 인피니언반도체, LS파워세미텍, 메트로닉스, 두산인프라코어, 한라공조, 효성중공업, 전자부품연구원, 유니콘, 유니슨, 아우시스템 등) 국외 대학 : Virginia Tech(FEEC@ECE) 국외 기업: Yaskawa(일본, 미국), General Motors(미국)

eas yDSPeas yDSPeas yDSPeas yDSP는 어떠한 보장도 없이 제공됩니다는 어떠한 보장도 없이 제공됩니다는 어떠한 보장도 없이 제공됩니다는 어떠한 보장도 없이 제공됩니다. . . . 제작자가 미리 언급 및 경고하지 않은 경우에도제작자가 미리 언급 및 경고하지 않은 경우에도제작자가 미리 언급 및 경고하지 않은 경우에도제작자가 미리 언급 및 경고하지 않은 경우에도, , , , 어떠한 종류의 손해어떠한 종류의 손해어떠한 종류의 손해어떠한 종류의 손해((((직접직접직접직접적적적적, , , , 간접적간접적간접적간접적, , , , 우연적우연적우연적우연적, , , , 필연적필연적필연적필연적, , , , 경제적경제적경제적경제적, , , , 정신적정신적정신적정신적, , , , 신체적신체적신체적신체적))))도 보상되지 않습니다도 보상되지 않습니다도 보상되지 않습니다도 보상되지 않습니다. . . . 본 프로그램으로 인한 손해는 전적으로 사본 프로그램으로 인한 손해는 전적으로 사본 프로그램으로 인한 손해는 전적으로 사본 프로그램으로 인한 손해는 전적으로 사용자의 책임이므로 신중히 사용하시기 바랍니다용자의 책임이므로 신중히 사용하시기 바랍니다용자의 책임이므로 신중히 사용하시기 바랍니다용자의 책임이므로 신중히 사용하시기 바랍니다....

기타 자세한 사항은 www.easydsp.com을 방문하시거나 [email protected]으로 문의 바랍니다. 감사합니다.

Welcome to easyDSP!

'easyDSP' is a powerful graphical user interface (GUI) for the maintaining, configuring and trouble-shooting of embedded software with strict real-time requirements. The tool automatically extracts the symbol information from the files generated by the cross-

Page 1 of 106

Page 2: EasyDSP Kor

compiler and presents the user with windows for the viewing, editing, logging and graphing of those symbols, in real-time, while the target software is executing. easyDSP communicates with the target DSP over a serial communication link, typically SCI, I2C or SPI. On the target, only a small "remote agent" needs to be called periodically in the background task. Since the remote agent runs on spare processor cycles, it does not interfere with the interrupt driven part of the software. This makes the tool ideal for interfacing with power electronics control software, where the control tasks need to be executed uninterruptedly and with minimal latency. The fact that easyDSP does not depend on JTAG for communicating with the target makes the tool operate reliably in environments with strong EMI and/or high-voltage isolation requirements.

easyDSP is designed for the real-time communication between Texas Instrument DSP(Digital Signal Processor) and an IBM PC or compatible running Windows 9x, Me, 2000, Xp, Vista and 7.

Supported DSP : TMS320F2833x, TMS320F2823x, TMS320F2802x, TMS320F2803x, TMS320C2834x, TMS320F281x, TMS320F280x, TMS320LF240x, TMS320C3x, TMS320C671x series

easyDSP is not freeware. But it is provided "AS IS" without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. In no event shall easyDSP be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if easyDSP has been advised of the possibility of such damage. It is the user’s responsibility to check for future updates to the easyDSP and to use the latest version.

For more information, visit www.easydsp.com or mail to [email protected].

Thank you.

Page 2 of 106

Page 3: EasyDSP Kor

easyDSP easyDSP easyDSP easyDSP 제품 종류제품 종류제품 종류제품 종류

하기의 각 '종류'마다 Pod가 다르므로, 개별 구매하셔야 합니다.

그림1 그림2

Pod 종류

Pod 외양

지원 DSP

통신채널기타

PC측 DSP측

종류1 TMS320C3x 프린터포트 SPI▪ 종류2로 대체됨으로써 판매 단종. 단 기술적 지원은 계속함.

종류2 그림1 TMS320C3x USB SPI

종류3 그림1

TMS320LF240xA, TMS320F280xx, TMS320F281x, TMS320F2823x, TMS320F2833x, TMS320F2802x, TMS320F2803x, TMS320C2834x

USB SCI▪ 28x의 경우, 외부 RS232-Bluetooth 변환기를 사용할 경우 Bluetooth 무선으로 사용가능

종류4 그림2

TMS320LF240xA, TMS320F280xx, TMS320F281x, TMS320F2823x, TMS320F2833x, TMS320F2802x, TMS320F2803x, TMS320C2834x

USB SCI▪ Optic cable (HFBF1414Z/HFBF2412Z) 채용으로 안정적인 장거리 신호전송 구현. 전송거리 : 200미터 안에서 주문형식으로

종류5 그림1TMS320F2823x, TMS320F2833x, TMS320C2834x

USB I2C

▪ 외부메모리(XINTF)를 사용하는 2823x, 2333x, 2834x의 경우 SCI-A를 통한 통신이 불가능하므로 I2C를 권장합니다. ▪ 약 128K word 용량을 초과하는 프로그램의 경우, I2C통신으로 시리얼 부팅이 불가능하므로 플래쉬롬을 사용하여 부팅하여 주십시오.

종류6 그림1 TMS320C671x USB SCI

Page 3 of 106

Page 4: EasyDSP Kor

업업업업데이트 이력데이트 이력데이트 이력데이트 이력

ver 7.4ver 7.4ver 7.4ver 7.4 5/20105/20105/20105/2010

all▪ 영어 도움말 추가 (단축키 F1 할당)

▪ Windows 7용 드라이버 파일 제공

28x

▪ Delfino series TMS320C2834x (x=1,2,3,4,5,6)의 외부 플래시 롬 지원 (ATMEL사의 SPI 타입 플래시 AT25DF021(2M bit), AT25DF041(4M bit), AT26DF081(8M bit), AT25DF321(32M bit) 지원 가능) 단 SCI통신 경우 easy2834x_sci_v7.4.c 사용 필수임. 단 I2C통신 경우 easy2834x_i2c_v7.4.c, RingBuff2_2834x.c 사용 필수임. ▪ piccolo 시리즈 TMS320F28030, TMS320F28031 지원 ▪ piccolo 시리즈 TMS320F28020, TMS320F28021 지원 ▪ 버그 수정 : delfino 시리즈 선택시 I2C 통신이 선정되지 않던 버그 delfino 시리즈 시리얼 부팅 오류

6x ▪ 버그 수정 : 플래쉬롬 루틴 버그 수정 (flashrom_v7.4.c 사용 권장)

ve r 7.3ver 7.3ver 7.3ver 7.3 8/20098/20098/20098/2009

28x

▪ I2C 통신을 사용하는 easyDSP pod 출시 (TMS320F2833x, 2823x, 2834x 용으로 특히 XINTF 사용할 경우에 용이) 주의사항 : I2C사용하여 플래쉬롬 라이팅시 새로운 flashAPI wrapper program사용해야 함 ▪ 2833x, 2823x 외부램 사용시 SCI 시리얼 부팅 지원 중단 ( I2C Pod 사용으로 대체 ) ▪ piccolo series TMS320F2802x(x=2,3,4,5,6,7) 지원 ▪ piccolo series TMS320F2803x(x=2,3,4,5) 지원 ▪ Delfino series TMS320C2834x (x=1,2,3,4,5,6) 지원

all ▪ RESET핀 신호유지 기간 변경. 시리얼 부팅시에는 500msec, 메뉴 리셋시에는 250msec.

ver 7.2ver 7.2ver 7.2ver 7.2 5/20095/20095/20095/2009

28x ▪ v7.1에서, 281x/280x 부팅이 안되던 버그수정 (v7.1만의 버그)

3x▪ 프로젝트설정에서 C33이 아닌, VC33으로 이름 변경 ▪ AT29LV040 플래쉬롬 대화상자에 'Use fast communication speed (only for USB pod)' 옵션 추가로 USB pod의 플래쉬롬 처리 속도 향상

ver 7.1ver 7.1ver 7.1ver 7.1 1/20091/20091/20091/2009

all

▪ 프로젝트 설정시 Communication Port로 기존의 'USB Port', 'Parallel Port' 대신 DSP측의 통신포트를 기준으로 'SCI', 'SPI' 등으로 변경함 ▪ 프로젝트에서 DSP종류 변경시 해당 DSP에 맞게 Register window 갱신 ▪ Time and Date Stamp 표시기능 버그 수정 ▪ 'DSP'메뉴> 'ReLoad COFF'메뉴 삭제 ▪ Command 윈도우의 MMI 기능 삭제

2x

▪ long double 지원 및 SCI 시리얼부팅의 'Verify' 속도 향상 (단, 최신 버전의 easy280x_sci_v7.1.c 또는 easy281x_sci_v7.1.c 또는 easy283x_sci_v7.1.c 을 사용할 경우에만) ▪ 시리얼 부팅파일을 사용자가 설정할 수 없게 함 (easyDSP가 자동 생성하는 것만 사용 가능) ▪ 283x/282x TMS버전의 플래쉬롬 관련 지원 (단, flashAPI wrapper program 변경 필수) ▪ 283x/282x에서 XINTF 사용하는 경우에도 SCI 시리얼 부팅 지원 (단 XA19, ZCS6 사용 불가) ▪ 28044 플래쉬롬 관련 지원 ▪ 시리얼 부팅 직후 실행되는 주소를 기존의 c_int00에서 사용자가 설정한 주소(c_int00 또는 다른 주소)로 변경

6x

▪ DSP측 통신 프로그램 수정 (이전 프로그램은 v7.1 다음 버전부터는 지원하지 않을 예정이니, DSP측 프로그램을 본 버전으로 신속히 교체 부탁드립니다) ▪ flash rom verify할 때 속도 향상 (단, easy6x_uart_v7.1.c 사용할 경우에만) ▪ 기존 v7.0의 easy6x_uart_var.c 파일은 더 이상 사용 안 함 ▪ 롬 라이팅에 사용되는 파일을 사용자가 설정할 수 없게 함

3x

▪ 다중 패러랠 포트 존재시 포드 인식이 불가했던 버그 수정 (V7.0만의 버그임) ▪ 시리얼 부팅파일을 사용자가 설정할 수 없게 함 (easyDSP가 자동 생성하는 것만 사용가능) ▪ AT29LV040 플래쉬롬 라이팅시 'skip checking'기능 추가

ver 7.0ver 7.0ver 7.0ver 7.0 7/20087/20087/20087/2008

업그레이드

Firmware Firmware Firmware Firmware 수정 수정 수정 수정 ((((기존 기존 기존 기존 Pod Pod Pod Pod 경우경우경우경우, , , , 펌웨어를 업그레이드해야 펌웨어를 업그레이드해야 펌웨어를 업그레이드해야 펌웨어를 업그레이드해야 ve r 7.0 ver 7.0 ver 7.0 ver 7.0 이후 버젼 사용 이후 버젼 사용 이후 버젼 사용 이후 버젼 사용 가능함가능함가능함가능함)))) Windows Vista지원 (별도 드라이버 인스톨 작업 필요) TMS320C67xx 지원 TMS320F283x 지원 TMS320F282x 지원 Time and Date Stamp 표시기능

Page 4 of 106

Page 5: EasyDSP Kor

'Tools > Linking with File' 메뉴 삭제 > MemGraph의 Save기능으로 대체됨

ver 6.2ver 6.2ver 6.2ver 6.2 5/20085/20085/20085/2008

업그레이드

3x의 경우, 부팅속도 조절 기능 추가 Command Window 5개까지 지원 (기존은 2개까지) Watch Window 10개까지 지원 (기존은 4개까지)

버그 수정 easyDSP 3x-USB의 경우, 0xFFFFFF번지를 매 통신시 억세스하는 오류

ver 6.1ver 6.1ver 6.1ver 6.1 11/200611/200611/200611/2006

업그레이드

TMS320F28015, TMS320F28016, TMS320F28044 지원

버그 수정 240x 내부 플래쉬롬 쓰기시 빈번한 'Wrong Echo' 에러 발생 오류

ver 6.0ver 6.0ver 6.0ver 6.0 11/200611/200611/200611/2006

업그레이드

TMS320LF240x 지원 MemGraph창 지원 <수식>Qx 형식 쓰기 지원 F2801, F2802 60MHz 버전 flash 지원 F2809 flash 지원 각종 윈도우의 Focusing 개선 Plot창의 왼쪽 모서리에서 그래프 끊김 현상 개선

버그 수정winNT에서는 도스창을 열지 못하던 오류 Plot윈도우에서 범위 표시에 대한 오류 Register창에서 F2802, F2809 관련 표시 오류

ver 5.6ver 5.6ver 5.6ver 5.6 7/20067/20067/20067/2006

업그레이드

프로젝트를 위한 Save as 메뉴 추가 TMS320C3x 시리즈에도 bit field 읽기 지원 (쓰기는 지원하지 않음) 신형 3x USB pod지원

ver 5.5ver 5.5ver 5.5ver 5.5 4/20064/20064/20064/2006

업그레이드

TMS320F280x 지원 Watch윈도우 및 Plot윈도우의 환경 Save 및 Load 기능

버그 수정3x USB버전에서 통신 Protocol이 저장되지 않는 버그 28x에서 시리얼 부팅 및 플래쉬 롬 굽기 전후에 환경설정이 저장이 안되던 오류

ver 5.0ver 5.0ver 5.0ver 5.0 1/20061/20061/20061/2006

업그레이드

TMS320F281x 지원 bit filed 읽기 지원 (쓰기는 지원 안됨) Qx 형식 지원

버그 수정

포인터형 변수가 dimension설정이 되는 오류 평가판에서는 TMS320C3X DSP에 'USB port'로도 설정되는 오류 프로젝트 셋팅후 변경사항이 없을 경우에도 Coff 및 각종 윈도우를 초기화하는 오류 Plot윈도우 Puase시킨 후 Text저장하면 Plot윈도우가 다시 Resume되는 오류

ve r 4.0ver 4.0ver 4.0ver 4.0 9/20059/20059/20059/2005

업그레이드

TMS320C3X USB 인터페이스 지원 멀티 동작 지원 (한대의 PC에 여러 대의 easyDSP 작동 가능) Plot윈도우 기능 개선 (저장 갯수/샘플링 타임 설정, 텍스트 파일로 데이타 저장) 멀티 Watch 윈도우 기능 (최대 4개) 프로젝트 파일(*.ezd)의 디렉토리를 옮길 때도 지원 DSP 프로그램(easy31.obj, easy32.obj, easy33.obj)을 업데이트함. 파일명은 easy31v4.obj/easy32v4.obj/easy33v4.obj로 변경.

버그 수정'Tools>Linking with File' 메뉴의 기능 오류 'unsigned char'형 변수의 최상위 비트가 1일 때, -로 표시 AT29LV040A 플래쉬 롬 지원 오류

ve r 3.3 6/2005ver 3.3 6/2005ver 3.3 6/2005ver 3.3 6/2005

업그레이드

'long double'형 변수 읽기 지원 (쓰기는 지원 안 함) 윈도우즈 Xp에서 병렬포트를 억세스하기 위해 UserPort.sys 추가 연속 통신 실패시 클럭 동기화 실시 easyDSP-3x parallel 평가판 릴리즈 (변수 개수 100개로 제한됨) 한글 도움말

버그 수정 윈도우즈 2000에서 계산기 수행시 실패

ver 3.2 3/2004ver 3.2 3/2004ver 3.2 3/2004ver 3.2 3/2004

업그레이드

메시지박스에 윈도우 이름을 표시 Array 윈도우 배경색을 하얀색으로 윈도우즈 2000을 위해, MSVCP60.dll 추가

버그 수정무효한 변수를 지울 때 오류 (plot, array, tree 윈도우) register 윈도우에서 쓸 때, 새 값을 읽어서 피드백 하지 않음

ver 3.11ver 3.11ver 3.11ver 3.11 10/200310/200310/200310/2003 버그 수정 watch 윈도우 버그 수정 ( ver 3.1에서만의 버그 )

ve r 3.1 08/2003ver 3.1 08/2003ver 3.1 08/2003ver 3.1 08/2003

업그레이드

단축키 Alt+S = 시리얼 부팅 단축키 Alt+F = 플래쉬롬 라이팅

버그 수정TMS320C32 롬부팅 실패 다중 파일 선택 ( 시리얼 부팅파일 선택시, 플래쉬 롬 파일 선택시)

ve r 3.0 04/2003ver 3.0 04/2003ver 3.0 04/2003ver 3.0 04/2003

업그레이드

모토롤라 MPC5xx 지원

Page 5 of 106

Page 6: EasyDSP Kor

버그 수정포인터변수 표시 오류 트리, 어레이 윈도우에서 엔터키를 누르지 않아도 변수 쓰기가 수행됨

ver 2.8ver 2.8ver 2.8ver 2.8 01/200301/200301/200301/2003

업그레이드

프로그램 내부 구조 변경 플래쉬 롬 SST39VF040 지원

ver . 2.72 ver . 2.72 ver . 2.72 ver . 2.72 12/200212/200212/200212/2002

업그레이드

통신 상태 표시 개선 커맨드 윈도우에 대해 멀티 윈도우를 지원 (최대 2개까지) ezd 확장자 연결 폐지 메모리 윈도우에 비트마스크 지원 플래쉬롬 쓰기시에 skip-checking when writing flashrom 기능 지원

ver . 2.71ver . 2.71ver . 2.71ver . 2.71 05/200205/200205/200205/2002

업그레이드

easy3x.obj 정리 (더미 변수 삭제)

버그 수정헬프 파일 열기 오류 프로젝트 설정에서 탭을 옮길시 오류

ver . 2.7ver . 2.7ver . 2.7ver . 2.7 04/200204/200204/200204/2002

업그레이드

플래쉬롬을 구울 파일을 선택 가능하도록 플랫 툴바 지원 플롯 윈도우 속도 개선 레지스트리 키 변경 바이너리 변수표시 모드 제거 변수형에 따른 값 범위 체크 영어 헬프 파일 보이는 변수만 업데이트 하기 (트리/어레이 윈도우)

버그 수정커맨드 윈도우에서 변수를 읽을 때 오류 많은 변수를 읽을 때 무한 루프에 빠짐 멀티 병렬 포트를 가진 PC에서의 오류 수정

ver . 2.6ver . 2.6ver . 2.6ver . 2.6 01/200201/200201/200201/2002

업그레이드

빠른 PC를 위한 느린 부팅 기능 연속 통신 실패시 통신 중지 기능 플래쉬롬 대화상자 개선

ver . 2.5ver . 2.5ver . 2.5ver . 2.5 11/200111/200111/200111/2001

업그레이드

윈도우즈 2000 지원

버그 수정 TMS320C32에 관련된 몇몇 버그 수정

ver . 2.1ver . 2.1ver . 2.1ver . 2.1 9/20019/20019/20019/2001

업그레이드

내부 구조 개선. 외부사항 변경 없음

ver . 2.0ver . 2.0ver . 2.0ver . 2.0 8/20018/20018/20018/2001

업그레이드

지원하는 플래쉬롬 확장

ver . 1.11ver . 1.11ver . 1.11ver . 1.11 5/20005/20005/20005/2000

업그레이드

MMI 기능 지원

ver . 1.1ver . 1.1ver . 1.1ver . 1.1 9/2000 9/2000 9/2000 9/2000

업그레이드

TMS320C33 지원 커맨드 윈도우에서 'skip' 명령 지원

ver . 1.0 ver . 1.0 ver . 1.0 ver . 1.0 8/19998/19998/19998/1999

업그레이드

첫 릴리즈

Page 6 of 106

Page 7: EasyDSP Kor

2x2x2x2x용 용 용 용 PodPodPodPod구성구성구성구성

* * * * easyDSPeasyDSPeasyDSPeasyDSP----2x Pod 2x Pod 2x Pod 2x Pod 연결법연결법연결법연결법

easyDSP-2x Pod의 신호선의 구성은 다음과 같습니다. DSP측 SCI를 이용하는 Pod 및 I2C를 이용하는 Pod에 따라 다릅니다. /Boot 신호는 시리얼부팅을 위한 리셋시에 /Reset신호와 같이 활성화되어, DSP가 부트모드를 SCI 또는 I2C모드로 선택할 수 있게 합니다. 반면에 easyDSP 의 'DSP'메뉴의 'Reset DSP'를 선택하여 DSP에 리셋을 거는 경우에는, /Reset신호만이 활성화됩니다.

주1) Open collector type 주2) No connection 핀에는 아무런 연결도 하시면 안됩니다. 주3) Vcc로 5V사용이 가능하나 권장하지는 않습니다.

* * * * 노이즈 대책노이즈 대책노이즈 대책노이즈 대책

고압/고전류의 스위칭소자가 장착된 전력전자 기기를 DSP로 제어하다 보면, 스위칭 노이즈 때문에 easyDSP의 통신이 원활하지 않을 수 있습니다. 이 때는 페라이트 비드( 추천제품 : TDK사의 ZCAT2035-0930A-M-K )를 이용하여 USB케이블을 감아줍니다. 한번 감아서 개선이 없으면 여러번 감습니다. 될 때까지!!! 아래 그림을 참조하세요.

Pin 번호 SCI 통신하는 Pod I2C 통신하는 Pod

1 RX SCL (주1)

2 GND GND

3 TX SDA (주1)

4 VCC(3.3V) VCC(3.3V)

5 /Boot (주1) /Boot (주1)

6 No connection No connection

7 No connection /Boot (주1)

8 No connection No connection

9 /Reset (주1) /Reset (주1)

10 GND GND

Page 7 of 106

Page 8: EasyDSP Kor

TMS320F28xx TMS320F28xx TMS320F28xx TMS320F28xx 프로그래밍 프로그래밍 프로그래밍 프로그래밍

* * * * SCI SCI SCI SCI 인터럽트 처리 루틴인터럽트 처리 루틴인터럽트 처리 루틴인터럽트 처리 루틴

easyDSP는 DSP의 SCI 통신 또는 I2C통신을 사용하여 PC와 DSP간의 통신을 구현합니다. 따라서 사용자의 DSP 프로그램은 easyDSP가 제공하는 SCI 또는 I2C 인터럽트 처리 루틴(Interrupt Service Routine, 이하 ISR)을 포함하여야 합니다. 관련된 파일은 아래와 같습니다.

easy2802x_sci_v7.3.c : TMS320F2802x용 SCI 초기화 함수(名:easyDSP_SCI_Init) 및 SCI ISR 함수 (名 : easy_RXINT_ISR, easy_TRXINT_ISR) easy2802x_sci_v7.3.h : 상기 파일의 헤더 파일

easy2803x_sci_v7.3.c : TMS320F2803x용 SCI 초기화 함수(名:easyDSP_SCI_Init) 및 SCI ISR 함수 (名 : easy_RXINT_ISR, easy_TRXINT_ISR) easy2803x_sci_v7.3.h : 상기 파일의 헤더 파일

easy2834x_sci_v7.4.c : TMS320C2834x용 SCI 초기화 함수(名:easyDSP_SCI_Init) 및 SCI ISR 함수 (名 : easy_RXINT_ISR, easy_TRXINT_ISR) easy2834x_sci_v7.4.h : 상기 파일의 헤더 파일

easy2834x_i2c_v7.4.c : TMS320C2834x용 I2C 초기화 함수(名:easyDSP_28x_I2C_Init) 및 I2C ISR 함수 (名 : easy_28x_I2CINT1A_ISR) easy2834x_i2c_v7.4.h : 상기 파일의 헤더 파일

easy2833x_i2c_v7.3.c : TMS320F2823x/2833x용 I2C 초기화 함수(名:easyDSP_28x_I2C_Init) 및 I2C ISR 함수 (名 : easy_28x_I2CINT1A_ISR) easy2833x_i2c_v7.3.h : 상기 파일의 헤더 파일 easy2833x_sci_v7.1.c : TMS320F2823x/2833x용 SCI 초기화 함수(名:easyDSP_SCI_Init) 및 SCI ISR 함수 (名 : easy_RXINT_ISR, easy_TRXINT_ISR) easy2833x_sci_v7.1.h : 상기 파일의 헤더 파일 easy281x_sci_v7.1.c : TMS320F281x용 SCI 초기화 함수(名:easyDSP_SCI_Init) 및 SCI ISR 함수 (名 : easy_RXINT_ISR, easy_TRXINT_ISR) easy281x_sci_v7.1.h : 상기 파일의 헤더 파일 easy280x_sci_v7.1.c : TMS320F280x용 SCI 초기화 함수(名:easyDSP_SCI_Init) 및 SCI ISR 함수 (名 : easy_RXINT_ISR, easy_TRXINT_ISR) easy280x_sci_v7.1.h : 상기 파일의 헤더 파일 easy2804x_sci_v7.1.c : TMS320F28044용 SCI 초기화 함수(名:easyDSP_SCI_Init) 및 SCI ISR 함수 (名 : easy_RXINT_ISR, easy_TRXINT_ISR) easy2804x_sci_v7.1.h : 상기 파일의 헤더 파일 RingBuff.c : SCI ISR함수에서 사용하는 링버퍼 소스파일 (I2C 사용시에는 필요 없음) RingBuff.h : 헤더파일

RingBuff2_2833x.c : 2823x/2833x 경우, I2C ISR함수에서 사용하는 링버퍼 소스파일 (SCI 사용시에는 필요 없음) RingBuff2_2833x.h : 상기 파일의 헤더파일

RingBuff2_2834x.c : 2834x 경우, I2C ISR함수에서 사용하는 링버퍼 소스파일 (SCI 사용시에는 필요 없음) RingBuff2_2834x.h : 상기 파일의 헤더파일

SCI 또는 I2C 초기화 함수(名:easyDSP_SCI_Init) 중 일부는 해당 DSP 종류에 따라 TI에서 제공하는 "C2834x C/C++ Header Files and Peripheral Examples, SPRC876" 또는 "C2833x/2823x C/C++ Header Files and Peripheral Examples, SPRC530" 또는 "2802x C/C++ Header Files and Peripheral Examples, SPRC832" 또는 "2803x C/C++ Header Files and Peripheral Examples, SPRC892" 또는 "C281x C/C++ Header Files and Peripheral Examples, SPRC097" 또는 "C280x C/C++ Header Files and Peripheral Examples, SPRC191" 또는 "C2804x C/C++ Header Files and Peripheral Examples, SPRC324" 을 사용하고 있습니다. 따라서 관련되는 헤더파일도 include시켜 주어야 합니다.

Page 8 of 106

Page 9: EasyDSP Kor

또한 easyDSP가 통신에 사용하는 모든 변수의 이름은 ezDSP_*와 같은 식의 첨자가 추가되어 있습니다. easyDSP 사용중 ezDSP_ 로 시작되는 변수 값은 함부로 변경하지 마세요.

사용자의 보드 환경에 맞춰서사용자의 보드 환경에 맞춰서사용자의 보드 환경에 맞춰서사용자의 보드 환경에 맞춰서, , , , 상기 상기 상기 상기 eas y28x.ceas y28x.ceas y28x.ceas y28x.c의 앞 부분 몇몇 상수를 직접 변경하시기 바랍니다의 앞 부분 몇몇 상수를 직접 변경하시기 바랍니다의 앞 부분 몇몇 상수를 직접 변경하시기 바랍니다의 앞 부분 몇몇 상수를 직접 변경하시기 바랍니다. . . . SCI SCI SCI SCI 통신의 경우라면 하기 통신의 경우라면 하기 통신의 경우라면 하기 통신의 경우라면 하기 3333개의 상수를 변경 하십시오개의 상수를 변경 하십시오개의 상수를 변경 하십시오개의 상수를 변경 하십시오.... #define CPU_CLK 150000000L #define LSP_CLK (CPU_CLK/4) #define BAUDRATE 115200L I2C I2C I2C I2C 통신의 경우라면 하기 통신의 경우라면 하기 통신의 경우라면 하기 통신의 경우라면 하기 1111개의 상수를 변경 하십시오개의 상수를 변경 하십시오개의 상수를 변경 하십시오개의 상수를 변경 하십시오.... #define CPU_CLK 150000000L

* * * * DSPDSPDSPDSP의 인터럽트 셋팅의 인터럽트 셋팅의 인터럽트 셋팅의 인터럽트 셋팅

DSP프로그램중 초기부분에 DSP의 인터럽트(특히 시리얼 인터럽트 부분)를 easyDSP와 통신할 수 있도록 설정해주어야 합니다. 아래에 사용 예제가 있습니다. 우선 사용자가 원하는 인터럽트를 설정합니다. 그 후에 easyDSP_SCI_Init()를 호출합니다. easyDSP_SCI_Init()에서는 1) SCI 관련 레지스터를 easyDSP용도에 맞게 설정 2) SCI 인터럽트를 사용할 수 있도록 관련 레지스터를 설정 합니다.

/ / SCI 통신통신통신통신 사용시사용시사용시사용시 헤더헤더헤더헤더 파일파일파일파일

#i ncl ude " easy281x_sci _v7. 1. h"

mai n( voi d) {

. . /*-------------------------*/ /* 사용자의 I nt er r upt 설정 */ /*-------------------------*/ 어쩌구 저쩌구

/ / / / / / / / 사용자의사용자의사용자의사용자의 인터럽트인터럽트인터럽트인터럽트 관련관련관련관련 설정설정설정설정 이후이후이후이후 호출해야만호출해야만호출해야만호출해야만 함함함함

eas y DSP_ SCI _ I n i t ( ) ;eas y DSP_ SCI _ I n i t ( ) ;eas y DSP_ SCI _ I n i t ( ) ;eas y DSP_ SCI _ I n i t ( ) ;

. . }

/ / I 2C 통신통신통신통신 사용시사용시사용시사용시 헤더헤더헤더헤더 파일파일파일파일

####i ncl ude " easy2833x_ i 2c_v7. 3. h"i ncl ude " easy2833x_ i 2c_v7. 3. h"i ncl ude " easy2833x_ i 2c_v7. 3. h"i ncl ude " easy2833x_ i 2c_v7. 3. h"

mai n( voi d) {

. . /*-------------------------*/ /* 사용자의 I nt er r upt 설정 */ /*-------------------------*/ 어쩌구 저쩌구

/ / / / / / / / 사용자의사용자의사용자의사용자의 인터럽트인터럽트인터럽트인터럽트 관련관련관련관련 설정설정설정설정 이후이후이후이후 호출해야만호출해야만호출해야만호출해야만 함함함함

eas y DSP_ 28x _ I 2C_ I n i t ( ) ;eas y DSP_ 28x _ I 2C_ I n i t ( ) ;eas y DSP_ 28x _ I 2C_ I n i t ( ) ;eas y DSP_ 28x _ I 2C_ I n i t ( ) ;

Page 9 of 106

Page 10: EasyDSP Kor

* * * * 컴파일컴파일컴파일컴파일

easyDSP는 COFF형식으로 표현된 obj파일만을 지원합니다. 코드 컴포져 스튜디오 (CCS) v2.2에서는 -g 옵션을 사용하여 COFF형식으로 obj파일을 생성합니다. 그런데, CCS v3.1 및 이후 버전에서는 -g옵션을 사용하면, easyDSP에서 모든 변수의 형식을 integer타입으로 표현하게 됩니다. 따라서 CCS v3.1 및 이후 버전에서는 모든 소스파일(*.c)을 --------s ymdebug:coffs ymdebug:coffs ymdebug:coffs ymdebug:coff 옵션 또는 ----gtgtgtgt옵션하에 컴파일해야 합니다. 마찬가지로, CCS v3.1 및 이후 버전에서 command line 프로그램으로 batch 파일로 작성하여 개발하시는 분들은 make 파일의 컴파일 옵션에서 -gt 또는 --symdebug:coff라고 입력하시길 바랍니다. 만약, 상기 옵션으로 컴파일되지 않으면, easyDSP는 모든 사용자 변수를 interger형식으로 인식하게 됩니다.

* * * * 외부 외부 외부 외부 flash rom flash rom flash rom flash rom 설정 설정 설정 설정 ((((2834x 2834x 2834x 2834x 계열계열계열계열))))

2834x의 경우에는 내부 플래쉬 롬이 없으므로, 외부 플래쉬 롬을 지원합니다. 현재 지원되는 플래쉬 롬은 ATMEL사의 SPI 통신용 플래쉬 롬으로 AT25DF021(2M bit), AT25DF041(4M bit), AT26DF081(8M bit), AT25DF321(32M bit)의 총 4종입니다. 이를 위한 DSP의 SPI-A 포트 설정이 필요하며, 아래의 파일에 함수로 정의되어 있습니다. 따라서 간단히 이 함수를 호출하시면 됩니다. easy2834x_spi_flash.c : TMS320C2834x용 SPI-A 포트 초기화 함수 (名:easyDSP_SPI_Flashrom_Init) 정의 easy2834x_spi_flash.h : 상기 파일의 헤더 파일

사용자의 보드 환경에 맞춰서, easy2834x_spi_flash.c의 앞 부분 2개의 상수값(CPU_CLK , LSP_CLK )를 직접 변경하시기 바랍니다. 예를 들어, #define CPU_CLK 300000000L #define LSP_CLK (CPU_CLK/4)

이상의 준비로 DSP 프로그래밍에서 고려할 모든 문제가 언급되었습니다. ^^;

. . }

#i ncl ude " easy2834x_sci _v7. 4. h" // SCI 통신 사용시 헤더 파일

#i ncl ude " easy2834x_spi _f l ash. h"

mai n( voi d) {

. /*-------------------------*/ /* 사용자의 I nt er r upt 설정 */ /*-------------------------*/ 어쩌구 저쩌구

/ / 사용자의 인터럽트 관련 설정 이후 호출해야만 함

easyDSP_SCI _ I ni t ( ) ;

// 외부외부외부외부 플래쉬롬플래쉬롬플래쉬롬플래쉬롬 사용을사용을사용을사용을 위한위한위한위한 SPISPISPISPI ----A A A A 포트포트포트포트 설정설정설정설정

eas y DSP_ SPI _ Fl as hr om_ I n i t ( ) ;eas y DSP_ SPI _ Fl as hr om_ I n i t ( ) ;eas y DSP_ SPI _ Fl as hr om_ I n i t ( ) ;eas y DSP_ SPI _ Fl as hr om_ I n i t ( ) ;

. . }

Page 10 of 106

Page 11: EasyDSP Kor

TMS320F2823x/2833x TMS320F2823x/2833x TMS320F2823x/2833x TMS320F2823x/2833x 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정

TMS320F2823x/2833x는 리셋시 4개 포트의 전위상태에 따라 동작모드를 결정합니다.

easyDSP에서 SCI통신 Pod의 경우에는 Flash-ROM 실행 모드와 SCI 부트만을 사용하므로 3개의 핀(GPIO87, 86, 85)의 상태는 고정하고 1개의 핀(GPIO84) 상태만 변경 사용하여 동작 모드를 결정합니다. 마찬가지로 I2C통신 Pod의 경우에는 Flash-ROM 실행 모드와 I2C 부트만을 사용하므로 2개의 핀(GPIO87, 86)의 상태는 고정하고 2개의 핀(GPIO 85,84) 상태만 변경 사용하여 동작 모드를 결정합니다. 따라서 하기 그림과 같은 결선을 권장합니다.

(SCI통신 Pod의 경우, 결선법)

MODEGPIO87 XA15

GPIO86 XA14

GPIO85 XA13

GPIO84 XA12

MODE

F 1 1 1 1 Jump to Flash

E 1 1 1 0 SCI-A boot

D 1 1 0 1 SPI-A boot

C 1 1 0 0 I2C-A boot

B 1 0 1 1 eCAN-A boot

A 1 0 1 0 McBSP-A boot

9 1 0 0 1 Jump to XINTF x16

8 1 0 0 0 Jump to XINTF x32

7 0 1 1 1 Jump to OTP

6 0 1 1 0 Parallel GPIO I/O boot

5 0 1 0 1 Parallel XINTF boot

4 0 1 0 0 Jump to SARAM

3 0 0 1 1 Branch to check boot mode

2 0 0 1 0 Branch to Flash, skip ADC calibration

1 0 0 0 1 Branch to SARAM, skip ADC calibration

0 0 0 0 0 Branch to SCI, skip ADC calibration

Page 11 of 106

Page 12: EasyDSP Kor

(I2C 통신 Pod의 경우, 결선법)

- easyDSP cable이 연결되는 5x2 header의 전원핀(#4)은 3.3V 연결 - TX, RX 선은 DSP의 해당 핀으로 직접 연결 - SCL, SDA 선은 DSP의 해당핀으로 직접 연결 - /BOOT 핀은 2k오옴 저항을 통해 GPIO84 (또는 GPIO85) 에 연결 - /Reset 핀은 DSP에 리셋을 줄 수 있도록 적절히 연결 (/Reset핀의 Low상태 유지 기간은 약 250msec) - 각 신호선에 풀업 저항을 설치할 시에 그 값이 수 KOhm이상이 되어야 함 (easyDSP pod내부에 100 Ohm 직렬저항이 있기 때문) - /BOOT 및 /RESET은 easyDSP Pod에서 Open collector로 되어 있음.(자세한 사항은 '2x용 Pod구성' 항목 참조) - SCL, SDA 는 easyDSP Pod에서 Open collector로 되어 있음.(자세한 사항은 '2x용 Pod구성' 항목 참조) 사용자의 DSP보드에서 이 4개의 신호를 사용할 때, 별도의 풀업 또는 풀다운 처리를 할 경우 주의를 요합니다. 또한 리셋핀 사용시, 여러 원하지 않는 상황에 의해, 의도되지 않은 리셋이 발생될 수 있습니다. 이를 방지하기 위해 적절한 필터를 사용하는 등의 주의를 기울여 주십시오.

I2C I2C I2C I2C 통신을 사용할 경우의 주의사항 통신을 사용할 경우의 주의사항 통신을 사용할 경우의 주의사항 통신을 사용할 경우의 주의사항 ::::

오실레이터의 클럭 주파수가 오실레이터의 클럭 주파수가 오실레이터의 클럭 주파수가 오실레이터의 클럭 주파수가 28-48MHz 사이의 값이어야 합니다사이의 값이어야 합니다사이의 값이어야 합니다사이의 값이어야 합니다. 그렇지 않을 경우그렇지 않을 경우그렇지 않을 경우그렇지 않을 경우, I2C를 이용한 부팅이 오동작할 수 있를 이용한 부팅이 오동작할 수 있를 이용한 부팅이 오동작할 수 있를 이용한 부팅이 오동작할 수 있

습니다습니다습니다습니다.

Page 12 of 106

Page 13: EasyDSP Kor

TMS320C2834x TMS320C2834x TMS320C2834x TMS320C2834x 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정

TMS320C2834x는 리셋시 4개 포트의 전위상태에 따라 부트 동작모드를 결정합니다.

SCI통신을 지원하는 easyDSP Pod의 경우에는 모드 E번을 사용하여 시리얼 부팅하게 되며, I2C통신을 지원하는 easyDSP Pod의 경우에는 모드 C 또는 모드 2를 사용하여 시리얼 부팅하게 됩니다. 한편, 시리얼 부팅시에는 easyDSP pod의 /Boot 신호 및 /Reset신호가 동시에 활성화되며, 사용자메뉴(DSP메뉴>Reset DSP메뉴)에 의한 리셋시에는 /Reset신호만 활성화되므로, 경우에 따라 하기와 같이 결선하여 주십시요.

(SCI통신 Pod의 경우의 결선법 : 시리얼부팅은 SCI-A boot모드 사용. 리셋시에는 SPI-A 부팅사용)

MODEGPIO87 XA15   

GPIO86 XA14

GPIO85 XA13

GPIO84 XA12

MODE

F 1 1 1 1 TI t est only

E 1 1 1 0 SCI-A boot

D 1 1 0 1 SPI-A boot

C 1 1 0 0I2C-A boot T iming 1 Oscillat or frequency = 28Mhz - 48Mhz

B 1 0 1 1 eCAN-A boot T iming 1

A 1 0 1 0 McBSP-A boot

9 1 0 0 1 Jump to XINTF x16

8 1 0 0 0 TI Test Only

7 0 1 1 1 eCAN-A boot T iming 2

6 0 1 1 0 Parallel GPIO I/O boot

5 0 1 0 1 Parallel XINTF boot

4 0 1 0 0 Jump to SARAM

3 0 0 1 1 Branch t o check boot mode

2 0 0 1 0I2C-A boot T iming 2 Oscillat or frequency = 14Mhz - 24Mhz

1 0 0 0 1 Reserved

0 0 0 0 0 TI Test Only

Page 13 of 106

Page 14: EasyDSP Kor

(I2C통신 Pod이고 오실레이터 주파수가 28Mhz - 48Mhz 사이인 경우의 결선법 : 시리얼부팅은 I2C-A boot Timing 1 사용. 리셋시에는 SPI-A 부팅사용)

(I2C통신 Pod이고 오실레이터 주파수가 14Mhz - 24Mhz 사이인 경우의 결선법) 시리얼부팅은 I2C-A boot Timing 2 사용. 리셋시에는 SPI-A 부팅사용)

기타 주의사항은 아래와 같습니다. - easyDSP cable이 연결되는 5x2 header의 전원핀(#4)은 3.3V 연결 - TX, RX 선은 DSP의 해당 핀으로 직접 연결 - SCL, SDA 선은 DSP의 해당핀으로 직접 연결 - /BOOT 핀은 2k오옴 저항을 통해 연결 - /Reset 핀은 DSP에 리셋을 줄 수 있도록 적절히 연결 (/Reset핀의 Low상태 유지 기간은 약 250msec) - 각 신호선에 풀업 저항을 설치할 시에 그 값이 수 KOhm이상이 되어야 함 (easyDSP pod내부에 100 Ohm 직렬저항이 있기 때문) - /BOOT 및 /RESET은 easyDSP Pod에서 Open collector로 되어 있음.(자세한 사항은 '2x용 Pod구성' 항목 참조) - SCL, SDA 는 easyDSP Pod에서 Open collector로 되어 있음.(자세한 사항은 '2x용 Pod구성' 항목 참조) - 노이즈에 의한 리셋을 방지하기 위해, 리셋 회로부에 적절한 필터 사용을 권장함.

주의사항 주의사항 주의사항 주의사항 !!!!!!!! easyDSP의 'DSP'메뉴의 'Reset DSP'를 선택하여 DSP에 리셋을 거는 경우에는, /Reset신호만이 활성화됩니다. 이때에는 /Boot신호는 비활성화됩니다. 따라서 상기와 같이 결선한 후, 'DSP'메뉴의 'Reset DSP'를 선택하여 리셋을 걸면, DSP는 모드 D(SPI-A boot)로 진입하게 됩니다. 따라서 따라서 따라서 따라서 """"SP ISP ISP ISP I----A"A"A"A"모드로 부팅이 준비되어 있지 않을 경우에는 모드로 부팅이 준비되어 있지 않을 경우에는 모드로 부팅이 준비되어 있지 않을 경우에는 모드로 부팅이 준비되어 있지 않을 경우에는 ''''DSP 'DSP'DSP'DSP'메뉴의 메뉴의 메뉴의 메뉴의 ''''Res et DSP'Res et DSP'Res et DSP'Res et DSP'를 사용를 사용를 사용를 사용하여 하여 하여 하여 DSPDSPDSPDSP를 리셋시키지 마십시요를 리셋시키지 마십시요를 리셋시키지 마십시요를 리셋시키지 마십시요....

Page 14 of 106

Page 15: EasyDSP Kor

TMS320F2802x/2803x TMS320F2802x/2803x TMS320F2802x/2803x TMS320F2802x/2803x 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정

TMS320F2802x/2803x는 리셋시 3개 포트의 전위상태에 따라 다음 표와 같이 부트동작모드를 결정합니다.

easyDSP는 SCI 부트모드 및 GetMode부트모드(Flash-ROM 실행 모드)만을 사용하므로, 에뮬레이터를 연결하지 않은 경우에는 (즉 /TRST = 0), GPIO34핀의 상태는 1로 고정하고 GPIO37핀의 상태만 변경하여 동작 모드를 결정합니다. 따라서 하기 그림과 같은 결선을 권장합니다. 단, 에뮬레이터를 연결한 경우에는 부트 모드가 하기 결선과 관계없이 특정 주소의 메모리값에 의존됩니다. 이에 대해서는 TI의 자료를 참조하십시요.

- easyDSP cable이 연결되는 5x2 header의 전원핀(#4)은 3.3V 연결 - TX, RX 선은 DSP의 해당 핀으로 직접 연결 - /BOOT 핀은 2k오옴 저항을 통해 GPIO37에 연결 - /Reset 핀은 DSP에 리셋을 줄 수 있도록 적절히 연결 (/Reset핀의 Low상태 유지 기간은 약 250msec) - 각 신호선에 풀업 저항을 설치할 시에 그 값이 수 KOhm이상이 되어야 함 (easyDSP pod내부에 100 Ohm 직렬저항이 있기 때문) - /BOOT 및 /RESET은 easyDSP Pod에서 Open collector로 되어 있음.(자세한 사항은 '2x용 Pod구성' 항목 참조) 사용자의 DSP보드에서 이 4개의 신호를 사용할 때, 별도의 풀업 또는 풀다운 처리를 할 경우 주의를 요합니다. 또한 리셋핀 사용시, 여러 원하지 않는 상황에 의해, 의도되지 않은 리셋이 발생될 수 있습니다. 이를 방지하기 위해 적절한 필터를 사용하는 등의 주의를 기울여 주십시오.

MODEGPIO37 TDO

GPIO34 CMP2OUT

/TRST MODE

Mode EMU X X 1 Emulation Boot

Mode 0 0 0 0 Parallel I/O

Mode 1 0 1 0 SCI

Mode 2 1 0 0 Wait

Mode 3 1 1 0 GetMode

Page 15 of 106

Page 16: EasyDSP Kor

TMS320F281x TMS320F281x TMS320F281x TMS320F281x 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정

TMS320F281x는 리셋시 4개 포트의 전위상태에 따라 동작모드를 결정합니다.

easyDSP는 Flash-ROM 실행 모드와 SCI 부트만을 사용하므로 3개의 핀(MDXA, SPISTEA, SPICLK)의 상태는 고정하고 1개의 핀(SCITXDA) 상태만 변경 사용하여 동작 모드를 결정합니다. 따라서 하기 그림과 같은 결선을 권장합니다.

- easyDSP cable이 연결되는 5x2 header의 전원핀(#4)은 3.3V 연결 - TX, RX 선은 DSP의 해당 핀으로 직접 연결 - /BOOT 핀은 2k오옴 저항을 통해 SCITXDA에 연결 - /Reset 핀은 DSP에 리셋을 줄 수 있도록 적절히 연결 (/Reset핀의 Low상태 유지 기간은 약 250msec) - 각 신호선에 풀업 저항을 설치할 시에 그 값이 수 KOhm이상이 되어야함 (easyDSP pod내부에 100Ohm 직렬저항이 있기 때문) - /BOOT 및 /RESET은 easyDSP 에서 Open collector로 되어 있음.(자세한 사항은 '2x용 Pod구성' 항목 참조) - TX에 풀업 저항을 달 경우, /BOOT에 직렬 연결된 2K오옴 저항과의 분압에 의해서 SCI부트가 수행되지 않을 수 있음.

사용자의 DSP보드에서 이 4개의 신호를 사용할 때, 별도의 풀업 또는 풀다운 처리를 할 경우 주의를 요합니다. 또한 리셋핀 사용시, 여러 원하지 않는 상황에 의해, 의도되지 않은 리셋이 발생될 수 있습니다. 이를 방지하기 위해 적절한 필터를 사용하는 등의 주의를 기울여 주십시오.

GPIOF4(SCITXDA)

GPIOF12(MDXA)

GPIOF3(SPISTEA)

GPIOF2(SPICLK)

모 드

1 x x x FLASH(0x3F7FF6) FLASH(0x3F7FF6) FLASH(0x3F7FF6) FLASH(0x3F7FF6) 실행실행실행실행

0 1 x x SPI 부트 실행

0 0 1 1 SCI SCI SCI SCI 부트부트부트부트((((SCISCISCISCI----A) A) A) A) 실행실행실행실행

0 0 1 0 H0 SARAM(0x3F8000) 실행

0 0 0 1 OTP (0x3D7800) 실행

Page 16 of 106

Page 17: EasyDSP Kor

TMS320F280x TMS320F280x TMS320F280x TMS320F280x 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정

TMS320F280x는 리셋시 3개 포트의 전위상태에 따라 동작모드를 결정합니다.

easyDSP는 Flash-ROM 실행 모드와 SCI-A 부트만을 사용하므로 2개의 핀(GPIO18, GPIO29)의 상태는 고정하고 1개의 핀(GPIO34) 상태만 변경하여 동작 모드를 결정합니다. 따라서 하기 그림과 같은 결선을 권장합니다.

- easyDSP cable이 연결되는 5x2 header의 전원핀(#4)은 3.3V로 연결 - TX, RX 선은 DSP의 해당 핀으로 직접 연결 - /BOOT 핀은 2k오옴 저항을 통해 GPIO34에 연결 - /Reset 핀은 DSP에 리셋을 줄 수 있도록 적절히 연결 (/Reset핀의 Low상태 유지 기간은 약 250msec) - 각 신호선에 풀업 저항을 설치할 시에 그 값이 수 KOhm이상이 되어야함 (easyDSP pod내부에 100Ohm 직렬저항이 있기 때문) - /BOOT 및 /RESET은 easyDSP 에서 Open collector로 되어 있음. (자세한 사항은 '2x용 Pod구성' 항목 참조) - GPIO34핀에 풀업 저항을 달 경우, /BOOT에 직렬 연결된 2K오옴 저항과의 분압에 의해서 SCI부트가 수행되지 않을 수 있음.

사용자의 DSP보드에서 이 4개의 신호를 사용할 때, 별도의 풀업 또는 풀다운 처리를 할 경우 주의를 요합니다. 또한 리셋핀 사용시, 여러 원하지 않는 상황에 의해, 의도되지 않은 리셋이 발생될 수 있습니다. 이를 방지하기 위해 적절한 필터를 사용하는 등의 주의를 기울여 주십시오.

GPIO18 SPICLKA SCITXB

GPIO29 SCITXDA

GPIO34

Jump to Flash 0x3F 7FF6 1 1 1

Call SCI-A boot loader 1 1 0

Call SPI-A boot loader 1 0 1

Call I2C-A boot loader 1 0 0

Call eCAN-A boot loader 0 1 1

Jump to M0 SARAM 0x00 0000 0 1 0

Jump to OPT 0 0 1

Parallel GPIO Loader 0 0 0

Page 17 of 106

Page 18: EasyDSP Kor

TMS320LF240x TMS320LF240x TMS320LF240x TMS320LF240x 프로그래밍프로그래밍프로그래밍프로그래밍

* * * * SCI SCI SCI SCI 인터럽트 처리 루틴인터럽트 처리 루틴인터럽트 처리 루틴인터럽트 처리 루틴

easyDSP는 DSP의 SCI 통신을 사용하여 PC와 DSP간의 통신을 구현합니다. 따라서 사용자의 DSP 프로그램은 easyDSP가 제공하는 SCI 인터럽트 처리 루틴(Interrupt Service Routine, 이하 ISR)을 포함하여야 합니다. 관련된 파일은 아래와 같습니다.

easy240x.c : TMS320LF240x용 SCI 초기화 함수(名:easyDSP_SCI_Init) 및 SCI ISR 함수 (名 : easy_RXINT_ISR, easy_TRXINT_ISR) easy240x.h : easy240x.c의 헤더파일 RingBuff.c : SCI ISR함수에서 사용하는 링버퍼 소스파일 RingBuff.h : 헤더파일

또한 easyDSP가 통신에 사용하는 모든 변수의 이름은 ezDSP_*와 같은 식의 첨자가 추가되어 있습니다. easyDSP 사용 도중 ezDSP_ 로 시작되는 변수 값은 함부로 변경하지 마세요.

사용자의 보드 환경에 맞춰서사용자의 보드 환경에 맞춰서사용자의 보드 환경에 맞춰서사용자의 보드 환경에 맞춰서, , , , eas y240x.ceas y240x.ceas y240x.ceas y240x.c에서 하기 상수에서 하기 상수에서 하기 상수에서 하기 상수((((CPU_CLK, BAUDRATE)CPU_CLK, BAUDRATE)CPU_CLK, BAUDRATE)CPU_CLK, BAUDRATE)를 변경 하십시오를 변경 하십시오를 변경 하십시오를 변경 하십시오.... ####define CPU_CLK 40e6define CPU_CLK 40e6define CPU_CLK 40e6define CPU_CLK 40e6 #define BAUDRATE 115200#define BAUDRATE 115200#define BAUDRATE 115200#define BAUDRATE 115200

* * * * DSPDSPDSPDSP의 인터럽트 셋팅의 인터럽트 셋팅의 인터럽트 셋팅의 인터럽트 셋팅

DSP프로그램중 초기부분에 DSP의 인터럽트(특히 시리얼 인터럽트 부분)를 easyDSP와 통신할 수 있도록 설정해주어야 합니다. 아래에 사용 예제가 있습니다. 우선 사용자가 원하는 인터럽트를 설정합니다. 그 후에 easyDSP_SCI_Init()를 호출합니다. easyDSP_SCI_Init()에서는 1) SCI 관련 레지스터를 easyDSP용도에 맞게 설정 2) SCI 인터럽트를 사용할 수 있도록 관련 레지스터를 설정 합니다. easy240x.c를 보시면 기본적으로 SCI통신을 low priority로 설정(즉, INT5로 설정하고 있습니다) 자세한 사항은 제공되는 easy240x.c를 참조하세요.

#i ncl ude " easy240x. h"

mai n( voi d) {

. . . /*-------------------------*/ /* 사용자의 I nt er r upt 설정 */ /*-------------------------*/ 어쩌구 저쩌구

이러쿵 저러쿵

/ / 사용자의사용자의사용자의사용자의 인터럽트인터럽트인터럽트인터럽트 관련관련관련관련 설정설정설정설정 후후후후 호출해야만호출해야만호출해야만호출해야만 함함함함

eas y DSP_ SCI _ I n i t ( ) ;eas y DSP_ SCI _ I n i t ( ) ;eas y DSP_ SCI _ I n i t ( ) ;eas y DSP_ SCI _ I n i t ( ) ;

. . . . }

Page 18 of 106

Page 19: EasyDSP Kor

* * * * 컴파일컴파일컴파일컴파일

모든 소스파일(*.c)은 -g 옵션하에 컴파일되야 합니다. -g 옵션은 symbolic debugging을 가능케 하고, 링킹(linking)후 COFF파일이 심벌 정보를 가지게 합니다.

* * * * ISRISRISRISR설정설정설정설정

인터럽트 벡터를 설정해야 하며, SCI관련 해당 ISR를 설정해야 합니다. 아래 예제를 참조하세요.

- 인터럽트 벡터 설정 asm 파일 (INT1, INT5만 설정하는 경우)

- ISR루틴 설정 (INT1, INT5의 SCI관련만 설정하는 경우)

.title "Boot Routine" .global _c_int0, _INT1_ISR, _Phantom, _INT5_ISR ;===================================================================== ; Interrupt Vector ;===================================================================== .sect "vector" RESET B _c_int0 int1 B _INT1_ISR int2 B _Phantom int3 B _Phantom int4 B _Phantom int5 B _INT5_ISR int6 B _Phantom Rsv_int1 B _Phantom SW_int1 B _Phantom ; 0x10-11 SW_int2 B _Phantom ; 0x12-13 SW_int3 B _Phantom ; 0x14-15 SW_int4 B _Phantom ; 0x16-17 SW_int5 B _Phantom ; 0x18-19 SW_int6 B _Phantom ; 0x1a-1b SW_int7 B _Phantom ; 0x1c-1d SW_int8 B _Phantom ; 0x1e-1f SW_int9 B _Phantom ; 0x20-21 TRAP_int B _Phantom NMI_int B _Phantom Rsv_int2 B _Phantom SW_int10 B _Phantom ; 0x28-29 SW_int11 B _Phantom ; 0x2a-2b SW_int12 B _Phantom ; 0x2c-2d SW_int13 B _Phantom ; 0x2e-2f SW_int14 B _Phantom ; 0x30-31 SW_int15 B _Phantom ; 0x32-33 SW_int16 B _Phantom ; 0x34-35 SW_int17 B _Phantom ; 0x36-37 SW_int18 B _Phantom ; 0x38-39 SW_int19 B _Phantom ; 0x3a-3b SW_int20 B _Phantom ; 0x3c-3d SW_int21 B _Phantom ; 0x3e-3f

.end

interrupt void Phantom() { wPhantomPIV = PIVR; } interrupt void INT1_ISR() { WORD wPIV; wPIV = PIVR; if(wPIV == 0x06) easy_RXINT_ISR(); // 우선순위 상위일 경우 else if(wPIV == 0x07) easy_TXINT_ISR(); // 우선순위 상위일 경우 // INTM clear // Notice!! Interrupt is re-enabled after taking the value of PIVR // Otherwise, the PIVR could be changed by the upper prioty interrupt. asm(" CLRC INTM "); } interrupt void INT5_ISR() { WORD wPIV, wIMR, wTemp; // IMR save & modify

Page 19 of 106

Page 20: EasyDSP Kor

// IMR save & modify wIMR = IMR; IMR = 0xF; // only INT1,2,3,4 enabled wPIV = PIVR; // INTM clear // Notice!! Interrupt is re-enabled after taking the value of PIVR // Otherwise, the PIVR could be changed by the upper prioty interrupt. asm(" CLRC INTM "); if(wPIV == 0x06) easy_RXINT_ISR(); // 우선순위 하위일 경우(easyDSP의 기본설정) else if(wPIV == 0x07) easy_TXINT_ISR(); // 우선순위 하위일 경우(easyDSP의 기본설정) // IMR restore IMR = wIMR; }

Page 20 of 106

Page 21: EasyDSP Kor

TMS320LF240x TMS320LF240x TMS320LF240x TMS320LF240x 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정

- TMS320LF2407/LF2407A의 경우에는 마이크로 컨트롤러 모드로 동작해야 시리얼 부팅이 가능합니다. 시리얼 부팅을 원하시면 MP/MC 핀을 LOW상태로 하여 주십시오. - 시리얼 부팅을 하기 위해서는, 리셋시 BOOT EN/XF pin을 저항을 통해 Low상태로 유지해야 합니다. - LF240xA 의 경우, 리셋시 SCITXD핀의 상태를 구분하여, 시리얼 부팅시 PLL=2 또는 PLL=4를 선택할 수 있습니다. LF240x의 경우에는 PLL=4가 자동 선택됩니다. - easyDSP는 SCI 부팅만을 지원하므로, 리셋시 IOPC2핀의 상태는 Low를 유지해야 합니다.

따라서 하기 그림과 같은 결선을 권장합니다.

- easyDSP cable이 연결되는 5x2 header의 전원핀(#4)은 3.3V 연결 - TX, RX 선은 DSP의 해당 핀으로 직접 연결 - /BOOT 핀은 2k오옴 저항을 통해 DSP의 BOOT EN/XF pin에 연결 - /Reset 핀은 DSP에 리셋을 줄 수 있도록 적절히 연결 (/Reset핀의 Low상태 유지 기간은 약 250msec) - 각 신호선에 풀업 저항을 설치할 시에 그 값이 수 KOhm이상이 되어야함 (easyDSP pod내부에 100Ohm 직렬저항이 있기 때문) - LF240xA 의 경우, PLL=2로 동작시에는 TX선을 2kOhm으로 풀다운 - /BOOT 및 /RESET은 easyDSP 에서 Open collector로 되어 있음. (자세한 사항은 '2x용 Pod구성' 항목 참조) - -BOOT EN/XF핀에 풀업 저항을 달 경우, /BOOT에 직렬 연결된 2K오옴 저항과의 분압에 의해서 SCI부트가 수행되지 않을 수 있음.

사용자의 DSP보드에서 이 4개의 신호를 사용할 때, 별도의 풀업 또는 풀다운 처리를 할 경우 주의를 요합니다. 또한 리셋핀 사용시, 여러 원하지 않는 상황에 의해, 의도되지 않은 리셋이 발생될 수 있습니다. 이를 방지하기 위해 적절한 필터를 사용하는 등의 주의를 기울여 주십시오.

Page 21 of 106

Page 22: EasyDSP Kor

2x 2x 2x 2x 사용시 주의 사항 사용시 주의 사항 사용시 주의 사항 사용시 주의 사항

* * * * XDS100XDS100XDS100XDS100을 같이 사용할 때는을 같이 사용할 때는을 같이 사용할 때는을 같이 사용할 때는

TI사의 에뮬레이터 XDS100v1을 CCS v3.3에서 사용하실 경우, easyDSP와 같이 사용할 수 없습니다. 이는, CCS v3.3에서 XDS100v1를 사용할 경우, FTDI사의 USB 제어 칩을 다중으로 지원하지 않기 때문입니다. XDS100v1(또는 XDS100v2)를 CCS v4 이후 버전에서 사용하실 경우에는easyDSP와 같이 사용될 수 있습니다.

* * * * I2C I2C I2C I2C 통신 포드를 사용할 시리얼 부팅 용량이 제한됩니다통신 포드를 사용할 시리얼 부팅 용량이 제한됩니다통신 포드를 사용할 시리얼 부팅 용량이 제한됩니다통신 포드를 사용할 시리얼 부팅 용량이 제한됩니다....

약 128K word 용량을 벗어나는 프로그램의 경우, I2C통신으로 시리얼 부팅이 불가능합니다. 이 경우 플래쉬 롬을 사용하여 부팅하여 주십시오.

* * * * 적당한 통신 속도 적당한 통신 속도 적당한 통신 속도 적당한 통신 속도 ((((BPS)BPS)BPS)BPS)는는는는????

사용자 보드에 따라 적절히 선택을 하여야 합니다. 물론 통신BPS가 높을 수록 빠른 통신이 이루어질 것으로 기대됩니다만, 선결되어야 할 조건이 있습니다. easyDSP가 일련의 데이타들을 특정BPS로 DSP에 전송할 시에, DSP는 이 일련의 데이타들을 원활히 받아드릴 수 있어야 합니다. 만약 115200BPS로 일련의 데이타를 easyDSP가 DSP보드에 보낼 시에, 한 바이트가 전송되는 시간은 약 86usec(1/115200bps*10bit) 입니다. 86usec마다 SCI rx port에 데이타가 전송될 때, DSP에서 해당 인터럽트 루틴이 원활히 수행되어야 합니다. 만약 프로그램의 다른 루틴을 수행하느라 86usec마다 SCI rx 인터럽트 루틴이 원활히 수행되지 못한다면, 결국 통신이 실패하게 됩니다. 이러한 통신 실패가 매우 심할 경우, 결국 모든 통신이 실패되고 easyDSP상의 모든 데이타값이 0이 되버립니다.

* '* '* '* 'bit field' bit field' bit field' bit field' 타입의 타입의 타입의 타입의 ''''쓰기쓰기쓰기쓰기''''는 지원되지 않습니다는 지원되지 않습니다는 지원되지 않습니다는 지원되지 않습니다....

구조체의 일종인 bit field 형식의 변수에 대하여 '쓰기'는 지원되지 않습니다. 읽기는 지원됩니다.

* * * * 64646464비트 정수형인 비트 정수형인 비트 정수형인 비트 정수형인 long long long long long long long long 타입은 지원되지 않습니다타입은 지원되지 않습니다타입은 지원되지 않습니다타입은 지원되지 않습니다....

easyDSP는 long(32비트)과 long long(64비트)간의 구분을 하지 못하고, long long 변수 사용시 32비트로 취급합니다. 따라서 long long형 변수의 읽기 쓰기 모두에 있어서 오류가 발생하게 됩니다.

* * * * easyDSP easyDSP easyDSP easyDSP 통신 도중에 통신 도중에 통신 도중에 통신 도중에 DSPDSPDSPDSP보드를 리셋시키면보드를 리셋시키면보드를 리셋시키면보드를 리셋시키면????

부팅모드가 플래쉬롬으로 되어 있다면 문제가 없습니다만, 부팅모드가 SCI부팅으로 되어 있다면 DSP가 폭주할 위험이 있습니다. 왜냐하면, 보드가 리셋될 시 DSP가 SCI 부팅모드로 진입되고, 이때 easyDSP가 통신을 위하여 내보내는 신호를 DSP는 SCI부팅을 위한 데이타로 인식하게 됩니다. 따라서 엉뚱한 값으로 DSP가 부팅되며 이후의 동작은 보장될 수 없습니다.

* * * * 리셋단자리셋단자리셋단자리셋단자((((easyDSP pod #9easyDSP pod #9easyDSP pod #9easyDSP pod #9번핀번핀번핀번핀))))의 사용시 각별한 주의를 요합니다의 사용시 각별한 주의를 요합니다의 사용시 각별한 주의를 요합니다의 사용시 각별한 주의를 요합니다

비록 easyDSP가 /Reset핀을 통해 리셋을 지원합니다만, 부적절한 상황(시스템 동작 중에 easyDSP pod를 연결하거나 연결된 pod를 뺄 때 순간적인 리셋단자의 신호 불안, 노이즈 유입 등)에서 DSP를 의도되지 않은 리셋모드로 진입시킬 수 있습니다. 이러한 순간적인 리셋단자의 전위 불안을 방지하기 위해서, 사용자의 DSP보드상에서 DSP의 리셋단자에 충분한 필터를 장착하는 것이 필요합니다. 이러한 필터가 장착되는 상황을 고려하여, easyDSP pod의 리셋단자는 리셋시 약 500ms동안 Low상태를 유지합니다.

Page 22 of 106

Page 23: EasyDSP Kor

3x3x3x3x용 용 용 용 PodPodPodPod구성 구성 구성 구성

* * * * easyDSPeasyDSPeasyDSPeasyDSP----3x Pod 3x Pod 3x Pod 3x Pod 연결법연결법연결법연결법

easyDSP-3x pod의 신호선의 구성은 다음과 같습니다.

주의1) Reserved pin인 7번 핀에의 전기적 연결은 시스템의 파손을 초래할 수 있으니 아무 연결도 하지 마십시요! 주의2)#4번 핀은 TMS320C31/32의 경우 5V, TMS320VC33의 경우 3.3V입니다. 주의3) 다음 핀들은 easyDSP 버퍼 보드 안에서 서로 연결되어 있습니다. (#1 = #6, #5 = #8, #2 = #10) 안정적인 통신을 위해서는, 사용자의 DSP보드 내에서도 다음의 신호를 DSP에서 최단거리로 서로 연결해주세요. 즉, CLKR0는 CLRX0에 연결. FSR0는 FRX0에 연결.

* * * * 버퍼 보드의 내부 구성버퍼 보드의 내부 구성버퍼 보드의 내부 구성버퍼 보드의 내부 구성

직렬저항 100오옴이 있으므로, DSP보드내에서 해당 신호들을 풀업할 때, 풀업 저항값을 수KOhm이상 사용하셔야 합니다.

Pin 번호 TMS320C3x의 해당 Pin

1 CLKR0

2 GND

3 DX0

4 VCC(5V or 3.3V)

5 FSR0

6 CLKX0

7 Reserved ( No connection)

8 FSX0

9 DR0

10 GND

Page 23 of 106

Page 24: EasyDSP Kor

* * * * 노이즈 대책노이즈 대책노이즈 대책노이즈 대책

고압/고전류의 스위칭소자가 장착된 전력전자 기기를 DSP로 제어하다 보면, 스위칭 노이즈 때문에 easyDSP의 통신이 원활하지 않을 수 있습니다. 이 때는 페라이트 비드( 추천제품 : TDK사의 ZCAT2035-0930A-M-K )를 이용하여 USB케이블을 감아줍니다. 한번 감아서 개선이 없으면 여러번 감습니다. 될 때까지!!! 아래 그림을 참조하세요.

Page 24 of 106

Page 25: EasyDSP Kor

TMS320C3x TMS320C3x TMS320C3x TMS320C3x 프로그래밍 프로그래밍 프로그래밍 프로그래밍

* * * * 시리얼 인터럽트 처리 루틴시리얼 인터럽트 처리 루틴시리얼 인터럽트 처리 루틴시리얼 인터럽트 처리 루틴

easyDSP는 DSP의 시리얼 통신을 사용하여 PC와 DSP간의 통신을 구현합니다. 따라서 DSP 프로그램은 easyDSP가 제공하는 시리얼 인터럽트 처리 루틴(Interrupt Service Routine, 이하 ISR)을 포함하여야 합니다. ISR은 DSP의 종류에 따라 각각 easy31v4.obj, easy32v4.obj, easy33v4.obj의 파일로 제공되며 그 헤더 파일은 easy3x.h입니다. easy3x.h에서 알 수 있듯이 ISR의 이름은 c_int99입니다. 따라서 당신의 프로그램은 이 루틴을 사용하여 인터럽트를 처리하지 말아야 합니다. 또한 easyDSP가 사용하는 모든 변수는 *_easyDSP와 같은 식의 첨자가 추가되어 있습니다. easyDSP사용중 *_easyDSP의 변수값은 함부로 변경하지 말아야 합니다.

* * * * CompilingCompilingCompilingCompiling

모든 소스파일(*.c)은 -g 옵션하에 컴파일되야 합니다. -g 옵션은 symbolic debugging을 가능케 하고, 링킹(linking)후 COFF파일이 심벌 정보를 가지게 합니다.

* * * * LinkingLinkingLinkingLinking

링킹시에 가장 주의해야 할 점은 "easy3xv4.obj"의 'text' section을 다른 obj 모듈의 것보다 맨 앞에 (위치할 주소번지가 제일 작음) 위치토록 해야 한다는 것입니다.

아래에 일반적인 링커 커맨드파일의 예를 듭니다. 예제1에서는 text 섹션을 obj모듈별로 구분하지 않았습니다(SECTIONS 참조). 이 경우 링킹시 사용될 obj파일의 리스트에서 easy3xv4.obj를 맨앞에 위치시켜야 합니다. 그외 부분은 일반적인 사용법과 동일합니다. 예제2에서는 text 섹션을 obj모듈별로 구분한 경우입니다(SECTIONS 참조). 'SECTIONS'문단내에서 '.text'를 맨앞에 위치시켜 주세요. 그리고 '.text' 섹션안에서 'easy3xv4.obj'를 맨 앞에 위치시켜 주세요.

맵파일에서 text section의 제일 첫 부분에 easy3xv4.obj가 위치하는지 체크할 수 있습니다.

주의) object 파일들의 리스트를 '-l rts30.lib'보다 먼저 위치시켜 주세요.

예 1) text 섹션을 obj 모듈별로 구분하지 않았을 경우

/ *********************************/ /* TMS320C31 Linker Command File */ /*********************************/   /***************************/ /* Specify the Input Files */ /***************************/ easy31v4.obj MAIN.OBJ ADDR.OBJ /* easy3xv4.obj을 맨 앞에 위치 */   /**************************/ /* Specify Linker Options */ /**************************/ -stack 0feh -o test.OUT -m test.MAP -c -l rts30.lib /* easy31v4.obj보다 뒤에 위치 */   /************************************/ /* Specify the Memory Configuration */ /************************************/ MEMORY

Page 25 of 106

Page 26: EasyDSP Kor

예 2) text 섹션을 obj모듈별로 구분한 경우

{ RAM0 : origin = 809802h length = 0feh RAM1 : origin = 809900h length = 6C1h SRAM0 : origin = 80A000h length = 6000h SRAM1 : origin = 810000h length = 10000h SRAM2 : origin = 820000h length = 0A000h } /*******************************/ /* Specify the Output Sections */ /*******************************/ SECTIONS { .text : { } > SRAM1 /* obj 모듈에 따른 구분없음 */ .stack : { } > RAM0 .cinit : { } > SRAM1 .data : { } > RAM1 .bss : { } > RAM1 .const : { } > RAM1 }   /***********************/ /* End of Command File */ /***********************/

/ *********************************/ /* TMS320C31 Linker Command File */ /*********************************/   /***************************/ /* Specify the Input Files */ /***************************/ easy31v4.obj MAIN.OBJ ADDR.OBJ /* easy3xv4.obj의 위치는 중요하지 않음 */   /**************************/ /* Specify Linker Options */ /**************************/ -stack 0feh -o test.OUT -m test.MAP -c -l rts30.lib   /************************************/ /* Specify the Memory Configuration */ /************************************/ MEMORY { RAM0 : origin = 809802h length = 0feh RAM1 : origin = 809900h length = 6C1h SRAM0 : origin = 80A000h length = 6000h SRAM1 : origin = 810000h length = 10000h

Page 26 of 106

Page 27: EasyDSP Kor

만약 "easy3xv4.obj"의 'text' section이 제일 처음에 위치하지 않게 되면, 부팅시 다음과 같은 경고메시지가 뜨게 됩니다. 이 경우, 시리얼 부팅의 안정성을 보장할 수 없습니다.

* * * * DSPDSPDSPDSP의 인터럽트 셋팅의 인터럽트 셋팅의 인터럽트 셋팅의 인터럽트 셋팅

DSP프로그램중 초기부분에 DSP의 인터럽트(특히 시리얼 인터럽트 부분)를 easyDSP와 통신할 수 있도록 변경해주어야 합니다. 아래에 사용예제가 있습니다. 우선 사용자가 원하는 인터럽트를 설정합니다. 그 후에 dsp_serial_init(int)를 호출합니다. dsp_serial_init(int)에서는 인터럽트를 사용할 수 있도록 ST 레지스터를 설정해주고 사용자가 설정한 인터럽트 및 easyDSP용 시리얼 인터럽트를 사용할 수 있도록 IE 레지스터를 재설정합니다. 본 함수의 인자로는 사용하는 DSP의 종류에 따라 TMS320C31의 경우 31, TMS320C32의 경우 32, TMS320C33의 경우 33입니다.

SRAM2 : origin = 820000h length = 0A000h } /*******************************/ /* Specify the Output Sections */ /*******************************/ SECTIONS { .text : { easy31v4.obj(.text) main.obj(.text) } > SRAM1 /* easy3xv4.obj 를 맨 앞에. . . */ .stack : { } > RAM0 .cinit : { } > SRAM1 .data : { } > RAM1 .bss : { } > RAM1 .const : { } > RAM1 }   /***********************/ /* End of Command File */ /***********************/

#i ncl ude " easy3x. h"

mai n( voi d) {

. . . /*-------------------------*/ /* 사용자의 I nt er r upt 설정 */ /*-------------------------*/ asm(" OR 2000h,ST "); // 인터럽트 가능

asm( " LDI 0, I F " ) ; asm(" LDI 0,IE ");

Page 27 of 106

Page 28: EasyDSP Kor

이상의 준비로 DSP 프로그래밍에서 고려할 모든 문제가 언급되었습니다. ^^;

// 사용자의사용자의사용자의사용자의 인터럽트인터럽트인터럽트인터럽트 관련관련관련관련 설정후설정후설정후설정후 호출해야만호출해야만호출해야만호출해야만 함함함함

ds p_ s er i a l _ i n i t ( 31) ; / / TMS320C31ds p_ s er i a l _ i n i t ( 31) ; / / TMS320C31ds p_ s er i a l _ i n i t ( 31) ; / / TMS320C31ds p_ s er i a l _ i n i t ( 31) ; / / TMS320C31의의의의 경우경우경우경우

. . . . }

Page 28 of 106

Page 29: EasyDSP Kor

TMS320C3X TMS320C3X TMS320C3X TMS320C3X 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정

easyDSP의 기능은 크게 아래와 같이 두 가지로 나뉠 수 있습니다. 1.시리얼 부팅 기능 2.온라인 변수 감시 및 변경 기능 각각의 기능을 구현하기 위한 하드웨어적인 설정 조건을 다음에 기술합니다.

* * * * 시리얼 부팅을 위한 조건시리얼 부팅을 위한 조건시리얼 부팅을 위한 조건시리얼 부팅을 위한 조건

TMS320C3x DSP가 시리얼 부팅하기 위해서는, 리셋시 아래의 두 가지 조건이 만족되어야 합니다. 1. MCBL/MP Pin = High 2. INT3 Pin = Low 즉, DSP는 마이크로 컨트롤러 모드이며, 초기 리셋시 부팅 모드를 결정하는 인터럽트 입력단자들(INT0, INT1, INT2, INT3 pin) 중에서 오직 INT3 핀만이 로우(low)상태를 유지해야 합니다. 만약 인터럽트 3를 부팅 이외의 다른 용도로 사용하지 않는다면, INT3 pin을 항상 low로 고정해서 사용해도 됩니다. 자세한 사항은 TI사의 유저 메뉴얼을 참조하세요.

* * * * 통신을 위한 조건통신을 위한 조건통신을 위한 조건통신을 위한 조건

PC와의 통신은 DSP의 시리얼 포트를 통하여 이루어지므로 시리얼 포트 관련 단자들을 PC의 병렬 포트에 연결해주어야 합니다. 자세한 결선 방법은 본 도움말의 'Usage'항목의 'Cable connection'을 참조하세요. 또한 DSP의 시리얼 포트 관련 핀을 모두 10k오옴 저항으로 풀업 시켜 주십시요.

정식판의 경우 제공되는 easyDSP의 버퍼보드 내에서 DSP의 (CLKR0, CLRX0), (FSR0, FSX0)를 서로 short시켜 주고 있습니다. 따라서 TMS320C3x의 시리얼 포트를 단지 easyDSP 통신목적으로만 사용한다면, 아래 예제2와 같이 결선할 수 있습니다.

easyDSP사용시 시리얼 부팅모드로 DSP를 부팅시키고 기타의 경우 롬부팅 모드로 DSP를 부팅시키고자 한다면, easyDSP포트의 2개의 GND핀 중 하나를 사용하여 easyDSP 사용여부를 체크할 수 있습니다. 즉, 하나의 GND핀은 그라운드 연결에, 다른 하나의 GND핀은 DSP보드에 INT3단자에 연결합니다. 이 경우, easyDSP사용시 easyDSP 보드 내부적으로 2-10번 핀이 연결되어 있으므로 자동적으로 시리얼 부팅이 선택될 수 있습니다. 예 3)의 경우를 참조하세요.

주의 주의 주의 주의 ) ) ) ) 5V 5V 5V 5V 계열의 계열의 계열의 계열의 DSPDSPDSPDSP의 경우 아래 회로에서 의 경우 아래 회로에서 의 경우 아래 회로에서 의 경우 아래 회로에서 Vcc=5V, 3.3V Vcc=5V, 3.3V Vcc=5V, 3.3V Vcc=5V, 3.3V 계열의 계열의 계열의 계열의 DSPDSPDSPDSP의 경우 아래 회로의 경우 아래 회로의 경우 아래 회로의 경우 아래 회로에서 에서 에서 에서 Vcc=3.3VVcc=3.3VVcc=3.3VVcc=3.3V입니다입니다입니다입니다....

예 1) TMS320C3x의 시리얼 포트를 일반적인 목적으로도 사용할 경우

예 2) TMS320C3x의 시리얼 포트를 easyDSP전용으로만 사용할 경우

Page 29 of 106

Page 30: EasyDSP Kor

예 3) easyDSP 사용시 시리얼 부팅 모드로 TMS320C3x 부팅

* * * * 노이즈 내구성 강화 노이즈 내구성 강화 노이즈 내구성 강화 노이즈 내구성 강화 ((((PCPCPCPC의 병렬포트로 통신할 시의 병렬포트로 통신할 시의 병렬포트로 통신할 시의 병렬포트로 통신할 시))))

대부분의 사용자는 아래와 같이 easyDSP 보드를 PC측에 장착하고 긴 케이블(2m내)로 DSP보드와 연결합니다. 만약 DSP의 응용분야가 고전압/고전류를 스위칭하는 경우라면 스위칭시 발생된 노이즈가 케이블에 인가되어 통신이 방해를 받을 수 있습니다.

이 경우, 아래와 같이, easyDSP 보드를 최대한 DSP보드에 가깝게 연결하면 노이즈에 강해집니다.

Page 30 of 106

Page 31: EasyDSP Kor

3x 3x 3x 3x 사용시 주의 사항 사용시 주의 사항 사용시 주의 사항 사용시 주의 사항

* * * * XDS100XDS100XDS100XDS100을 같이 사용할 때는을 같이 사용할 때는을 같이 사용할 때는을 같이 사용할 때는

TI사의 에뮬레이터 XDS100v1을 CCS v3.3에서 사용하실 경우, easyDSP와 같이 사용할 수 없습니다. 이는, CCS v3.3에서 XDS100v1를 사용할 경우, FTDI사의 USB 제어 칩을 다중으로 지원하지 않기 때문입니다. XDS100v1(또는 XDS100v2)를 CCS v4 이후 버전에서 사용하실 경우에는easyDSP와 같이 사용될 수 있습니다.

* * * * easyDSP easyDSP easyDSP easyDSP 통신 도중에 통신 도중에 통신 도중에 통신 도중에 DSPDSPDSPDSP보드를 리셋시키면보드를 리셋시키면보드를 리셋시키면보드를 리셋시키면????

easyDSP 통신 도중 DSP보드를 리셋하면 DSP가 폭주할 수 있습니다. 왜냐하면, 만약 보드가 리셋될 시 DSP가 시리얼 부팅모드로 진입된다면, 이때 easyDSP가 통신을 위하여 내보내는 신호를 DSP는 시리얼부팅을 위한 데이타로 인식하게 됩니다. 따라서 엉뚱한 값으로 DSP가 부팅되며 이후의 동작은 보장될 수 없습니다. 즉 DSP가 폭주하게 됩니다. DSPDSPDSPDSP의 폭주는 전체 시스템에 치의 폭주는 전체 시스템에 치의 폭주는 전체 시스템에 치의 폭주는 전체 시스템에 치명적인 파괴를 가져올 수 있습니다명적인 파괴를 가져올 수 있습니다명적인 파괴를 가져올 수 있습니다명적인 파괴를 가져올 수 있습니다.... 따라서 가장 안전한 방법은 DSP를 리셋하기 전에 easyDSP의 통신을 금지하는 것입니다. 즉, 각종 통신을 위한 윈도우를 모두 닫거나, 'DSP'메뉴의 'Pause Communication' 실행 하십시오.

* '* '* '* 'long double' long double' long double' long double' 타입의 타입의 타입의 타입의 ''''쓰기쓰기쓰기쓰기''''는 지원되지 않습니다는 지원되지 않습니다는 지원되지 않습니다는 지원되지 않습니다....

easyDSP에서 사용하는 3x DSP간 통신 크기는 32비트입니다. 따라서 40비트 float 형식인 long double은 '쓰기'를 지원하지 않습니다. 참고로 읽기는 지원됩니다.

* * * * easyDSPeasyDSPeasyDSPeasyDSP----3x3x3x3x를 를 를 를 PC PC PC PC 병렬포트로 사용하는 도중에병렬포트로 사용하는 도중에병렬포트로 사용하는 도중에병렬포트로 사용하는 도중에, , , , 병렬포트를 이용하는 다른 프로그램을 사용하병렬포트를 이용하는 다른 프로그램을 사용하병렬포트를 이용하는 다른 프로그램을 사용하병렬포트를 이용하는 다른 프로그램을 사용하고 싶다면고 싶다면고 싶다면고 싶다면????

easyDSP-3x 사용 도중 통신을 잠시 멈추어 놓고 ( 'DSP'메뉴의 'Pause Communication' 실행) easyDSP 보드를 PC의 병렬 포트에서 제거한 후, 병렬 포트를 사용하는 다른 작업을 하실 수 있습니다. 즉, 프린터 출력하기 또는 병렬포트를 사용하는 롬라이터, ByteBlaster를 이용한 EPLD 프로그래밍 등이 이에 포함됩니다. 이후, 다시 easyDSP 보드를 병렬 포트에 삽입한 후, 통신을 다시 시작하실 수 있습니다('DSP'메뉴의 'Resume Communication' 실행). 하지만, 이때 이전의 다른 프로그램이 병렬 포트의 상태를 변경할 수 있기 때문에 다시 시작된 easyDSP 통신이 이루어지지 않을 수도 있습니다. 따라서 다른 프로그램을 사용해야만 할 경우에는 일단 easyDSP를 종료하시고, 이후 다시 실행하여 사용해 주십시오.

Page 31 of 106

Page 32: EasyDSP Kor

6x6x6x6x용 용 용 용 PodPodPodPod구성 구성 구성 구성

* * * * easyDSPeasyDSPeasyDSPeasyDSP----6x Pod 6x Pod 6x Pod 6x Pod 연결법연결법연결법연결법

easyDSP-6x Pod의 신호선의 구성은 다음과 같습니다.

주1) /Reset pin은 Open collector type 주2) No connection pins(#6,7,8)에는 아무런 연결도 하시면 안됩니다. 주3) Vcc로 5V사용이 가능하나 권장하지는 않습니다.

* * * * 노이즈 대책노이즈 대책노이즈 대책노이즈 대책

고압/고전류의 스위칭소자가 장착된 전력전자 기기를 DSP로 제어하다 보면, 스위칭 노이즈 때문에 easyDSP의 통신이 원활하지 않을 수 있습니다. 이 때는 페라이트 비드( 추천제품 : TDK사의 ZCAT2035-0930A-M-K )를 이용하여 USB케이블을 감아줍니다. 한번 감아서 개선이 없으면 여러번 감습니다. 될 때까지!!! 아래 그림을 참조하세요.

버퍼 보드의 Pin 번호 이름

1 RX

2 GND

3 TX

4 VCC(3.3V)

5 Reserved

6 No connection

7 No connection

8 No connection

9 /Reset (주1)

10 GND

Page 32 of 106

Page 33: EasyDSP Kor

TMS320C6x TMS320C6x TMS320C6x TMS320C6x 프로그래밍 프로그래밍 프로그래밍 프로그래밍

* * * * RS232 RS232 RS232 RS232 처리 루틴처리 루틴처리 루틴처리 루틴

easyDSP는 RS232통신을 사용하여 PC와 6x DSP간 통신을 구현합니다. 따라서 사용자의 DSP 프로그램은 easyDSP가 제공하는 RS232 처리 루틴을 포함하여야 합니다. 관련된 파일은 아래와 같습니다.

easy6x_uart_v7.1.c : 통신 루틴 ((((TL16C752BTL16C752BTL16C752BTL16C752B로 인터럽트를 사용할 경우임로 인터럽트를 사용할 경우임로 인터럽트를 사용할 경우임로 인터럽트를 사용할 경우임)))) easy6x_uart_v7.1.h : easy6x_uart_v7.1.c의 헤더파일 Flashrom_v7.4.c : 플래쉬롬 루틴 ((((AM29LV160DAM29LV160DAM29LV160DAM29LV160D일 경우일 경우일 경우일 경우)))) Flashrom_v7.4.h : Flashrom_v7.4.c의 헤더파일 RingBuff.c : 링버퍼 소스파일 RingBuff.h : RingBuff.c의 헤더파일

easyDSP가 통신에 사용하는 모든 변수의 이름은 ezDSP_*와 같은 식의 첨자가 추가되어 있습니다. easyDSP 사용중 ezDSP_ 로 시작되는 변수 값은 함부로 변경하지 마세요. 또한 다른 RS232칩을 사용하거나, 다른 플래쉬롬을 사용할 경우, 주어진 소스를 적당히 고쳐야 합니다.

* * * * easy6x_uart_init() easy6x_uart_init() easy6x_uart_init() easy6x_uart_init() 호출호출호출호출

main()에 적절한 부분에 easy6x_uart_init()를 호출해줍니다. easy6x_uart_init()에서는 RS232칩 관련 레지스터를 easyDSP용도에 맞게 설정하여 줍니다.

* DSP* DSP* DSP* DSP의 인터럽트 셋팅의 인터럽트 셋팅의 인터럽트 셋팅의 인터럽트 셋팅

RS232통신을 인터럽트로 사용시에 인터럽트 벡터 설정 등의 DSP프로그램의 해당 부분을 적절히 수정해주어야 합니다.

* * * * 컴파일컴파일컴파일컴파일

easyDSP는 COFF형식으로 표현된 obj파일만을 지원합니다. 코드 컴포져 스튜디오 (CCS) v2.2에서는 -g 옵션을 사용하여 COFF

#i ncl ude " easy6x_uar t _v7. 1. h"

mai n( voi d) {

. . . /*-------------------------*/ /* 사용자의 설정 ( I nt er r upt 등등) */ /*-------------------------*/ 어쩌구 저쩌구

이러쿵 저러쿵

/ / easy6x_uart_Init();

. . . . }

Page 33 of 106

Page 34: EasyDSP Kor

형식으로 obj파일을 생성합니다. 그런데, CCS v3.1 및 이후 버전에서는 -g옵션을 사용하면, easyDSP에서 모든 변수의 형식을 integer타입으로 표현하게 됩니다. 따라서 CCS v3.1 및 이후 버전에서는 모든 소스파일(*.c)을 --------s ymdebug:coffs ymdebug:coffs ymdebug:coffs ymdebug:coff 옵션 또는 ----gtgtgtgt옵션하에 컴파일해야 합니다. 마찬가지로, CCS v3.1 및 이후 버전에서 command line 프로그램으로 batch 파일로 작성하여 개발하시는 분들은 make 파일의 컴파일 옵션에서 -gt 또는 --symdebug:coff라고 입력하시길 바랍니다.

이상의 준비로 DSP 프로그래밍에서 고려할 모든 문제가 언급되었습니다. ^^;

Page 34 of 106

Page 35: EasyDSP Kor

TMS320C6x TMS320C6x TMS320C6x TMS320C6x 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정 보드의 하드웨어 설정

6x 시리즈를 위한 easyDSP는 단지 RS232 통신만을 지원할 뿐입니다. 6x 고유의 특별한 통신 모드를 지원하지 않으므로, 사용자는 RS232통신을 위한 별도의 하드웨어를 꾸며야 합니다.

Page 35 of 106

Page 36: EasyDSP Kor

6x 6x 6x 6x 사용시 주의 사항 사용시 주의 사항 사용시 주의 사항 사용시 주의 사항

* * * * XDS100XDS100XDS100XDS100을 같이 사용할 때는을 같이 사용할 때는을 같이 사용할 때는을 같이 사용할 때는

TI사의 에뮬레이터 XDS100v1을 CCS v3.3에서 사용하실 경우, easyDSP와 같이 사용할 수 없습니다. 이는, CCS v3.3에서 XDS100v1를 사용할 경우, FTDI사의 USB 제어 칩을 다중으로 지원하지 않기 때문입니다. XDS100v1(또는 XDS100v2)를 CCS v4 이후 버전에서 사용하실 경우에는easyDSP와 같이 사용될 수 있습니다.

* * * * 적당한 통신 속도 적당한 통신 속도 적당한 통신 속도 적당한 통신 속도 ((((BPS)BPS)BPS)BPS)는는는는????

사용자 보드에 따라 적절히 선택을 하여야 합니다. 물론 통신BPS가 높을 수록 빠른 통신이 이루어질 것으로 기대됩니다만, 선결되어야 할 조건이 있습니다. easyDSP가 일련의 데이타들을 특정BPS로 DSP에 전송할 시에, DSP는 이 일련의 데이타들을 원활히 받아드릴 수 있어야 합니다. 만약 115200BPS로 일련의 데이타를 easyDSP가 DSP보드에 보낼 시에, 한 바이트가 전송되는 시간은 약 86usec(1/115200bps*10bit) 입니다. 86usec마다 SCI rx port에 데이타가 전송될 때, DSP에서 해당 인터럽트 루틴이 원활히 수행되어야 합니다. 만약 프로그램의 다른 루틴을 수행하느라 86usec마다 SCI rx 인터럽트 루틴이 원활히 수행되지 못한다면, 결국 통신이 실패하게 됩니다. 이러한 통신 실패가 매우 심할 경우, 결국 모든 통신이 실패되고 easyDSP상의 모든 데이타값이 0이 되버립니다.

* * * * 리셋단자리셋단자리셋단자리셋단자((((easyDSP pod #9easyDSP pod #9easyDSP pod #9easyDSP pod #9번핀번핀번핀번핀))))의 사용시 각별한 주의를 요합니다의 사용시 각별한 주의를 요합니다의 사용시 각별한 주의를 요합니다의 사용시 각별한 주의를 요합니다

비록 easyDSP가 /Reset핀을 통해 리셋을 지원합니다만, 부적절한 상황(시스템 동작 중에 easyDSP pod를 연결하거나 연결된 pod를 뺄 때 순간적인 리셋단자의 신호 불안, 노이즈 유입 등)에서 DSP를 의도되지 않은 리셋모드로 진입시킬 수 있습니다. 이러한 순간적인 리셋단자의 전위 불안을 방지하기 위해서, 사용자의 DSP보드상에서 DSP의 리셋단자에 충분한 필터를 장착하는 것이 필요합니다. 이러한 필터가 장착되는 상황을 고려하여, easyDSP pod의 리셋단자는 리셋시 약 500ms동안 Low상태를 유지합니다.

* '* '* '* 'bit field' bit field' bit field' bit field' 타입의 타입의 타입의 타입의 ''''쓰기쓰기쓰기쓰기''''는 지원되지 않습니다는 지원되지 않습니다는 지원되지 않습니다는 지원되지 않습니다....

구조체의 일종인 bit field 형식의 변수에 대하여 '쓰기'는 지원되지 않습니다. 읽기는 지원됩니다.

Page 36 of 106

Page 37: EasyDSP Kor

Project Project Project Project 메뉴 메뉴 메뉴 메뉴 ((((2x 2x 2x 2x 계열계열계열계열))))

easyDSP는 프로젝트로 파일을 관리합니다. 프로젝트 메뉴의 부속 메뉴의 해당 기능은 다음과 같습니다. New 메뉴 : 새로운 프로젝트 생성 Open 메뉴 : 기존 프로젝트 열기 Set & Save 메뉴: 현재 프로젝트의 환경을 설정 Close 메뉴 : 현재 프로젝트를 닫는다 Delete메뉴 : 프로젝트에 관련된 파일을 지운다

New New New New 메뉴메뉴메뉴메뉴::::

New메뉴 실행 후 다음과 같이 프로젝트 파일이름을 설정하는 대화상자가 나타납니다. 사용할 DSP 프로그램이 위치한 폴더를 찾은 후 프로젝트 파일 이름을 설정 하십시요. 프로젝트 파일의 기본 확장자는 "ezd"입니다.

프로젝트 파일 이름을 선정한 후, 다음과 같은 속성시트를 통하여 프로젝트를 설정합니다.

Page 37 of 106

Page 38: EasyDSP Kor

속성 시트는 'Basic', 'Hardware', 'Miscellaneous'의 속성 페이지로 구성되어 있습니다.

Basic'속성 페이지는 프로젝트의 기본 정보를 설정하는 가장 중요한 속성 페이지입니다. 먼저 DSP프로그램의 링크 출력 파일인 COFF파일(확장명 out)을 선정합니다. 또한 DSP 종류 및 통신 채널을 설정합니다.

Hardware'속성 페이지에서는 통신을 위한 각종 하드웨어의 성질을 설정합니다. SCI통신 선택시에는 아래와 같으며,

I2C선택시에는 아래와 같습니다.

Page 38 of 106

Page 39: EasyDSP Kor

'Protocol' : 사용자 선택이 불가능합니다. 'Baud rate' : SCI 통신에 사용되는 보드레이트를 설정합니다. 이 값은 DSP의 SCI 통신 루틴의 보드레이트와 동일해야 합니다. 즉, easy28xx.c 또는 easy240x.c에서 상수로 정의된 'BAUDRATE' 상수와 동일한 값이어야 합니다. 'Use Bluetooth' 옵션을 사용할 시에는 'Baud rate'는 38400bps만이 사용 가능합니다. 'Use Bluetooth' : SCI 통신 경우 설정 가능하며, 외부에 블루투스-시리얼 변환기를 장착하여 사용할 경우 설정합니다. 'Wait-more time' :SCI 통신시 DSP의 반응을 기다리는 추가 시간입니다. 원래 easyDSP는 설정된 보드레이트에 따라 적절한 시간 동안 DSP로부터의 반응을 기다립니다. 만약 사용자의 DSP 프로그램의 수행시간이 길 경우, easyDSP와의 통신을 위한 SCI 인터럽트 루틴의 호출이 지연될 수 있습니다. 이 경우, easyDSP가 기다리는 시간을 늘려줘야 적절히 통신이 수행될 것입니다. 블루투스를 사용할 경우에는 200msec - 300msec 값을 설정하시고, 블루투스를 사용하지 않을 경우에는 최대 30msec까지 설정 가능하며 보통 1msec를 권장합니다. 'Pause time' : I2C통신시 DSP의 반응을 기다리는 추가 시간입니다. 1000usec를 권장합니다. 'Oscillator clock frequency' : 사용자 보드의 오실레이터 클럭 주파수입니다. I2C 통신의 경우 부팅시 필요한 정보입니다. 주의 ) SCI의 경우 Wait-more time 이전에 데이타가 전송되면 바로 처리됩니다. 하지만 I2C의 경우에는 무조건 Pause time을 기다린 후 데이타가 전송됩니다. 따라서 I2C의 경우 Pause time에 큰 값을 적으면 통신이 느려지게 되오니 가급적 작은 값을 사용하시기 바랍니다.

'Miscellaneous'속성 페이지에서는 기타 설정을 선정합니다. 'Seek ...' 기능은 커맨드윈도우에서 사용자가 변수명을 타이핑할 때 easyDSP가 적절한 변수명을 자동으로 생성해주는 기능이며, 'Display...' 기능은 문자형으로 선언된 변수의 내용을 문자로 보여주는 기능이며, 'Stop...'기능은 일정횟수이상 통신 실패시 easyDSP가 자동적으로 통신을 중단하는 기능입니다. 'Stop...'의 기능의 사용 용도는 다음과 같습니다. 만약 easyDSP를 사용하여 통신하고 있던 도중에 DSP가 리셋 상태가 되어 시리얼 부팅모드로 진입하게 된다면, easyDSP의 통신을 위한 값으로 DSP가 부팅되게 되며 이는 DSP의 폭주를 유발할 수 있습니다. 이 경우 전체 시스템에 폭주를 가져와서 손해를 끼칠 수 있는 것입니다. 본 기능을 사용하면 통신 실패시 ( 즉, DSP가 리셋됨 ) 통신을 즉각적으로 중지함으로써 DSP의 잘못된 시리얼부팅을 최대한 방지합니다.

Page 39 of 106

Page 40: EasyDSP Kor

Open Open Open Open 메뉴메뉴메뉴메뉴::::

기존의 프로젝트를 엽니다.

Set & Save Set & Save Set & Save Set & Save 메뉴 메뉴 메뉴 메뉴 ::::

현재 프로젝트의 성질을 선정합니다. 사용방법은 'New'메뉴와 동일합니다.

Close Close Close Close 메뉴메뉴메뉴메뉴::::

현재의 프로젝트를 닫습니다.

Delete Delete Delete Delete 메뉴 메뉴 메뉴 메뉴 ::::

easyDSP는 프로젝트 환경 저장을 위해 몇 가지 파일들을 프로젝트 작업 디렉토리 안에 생성합니다. 이들은 다음과 같습니다. *.ezd : 프로젝트 환경 저장 *.var : 변수 정보 저장 *.cfg : 기타 정보 저장 이들 파일은 변경시 이전내용을 *.ez~, *.va~, *.cf~의 변경된 확장자로 저장합니다.

선택한 프로젝트에 관련된 easyDSP 관련 파일(*.ezd, *.var, *.cfg 등등)을 모두 지웁니다.

Page 40 of 106

Page 41: EasyDSP Kor

Project Project Project Project 메뉴 메뉴 메뉴 메뉴 ((((3x 3x 3x 3x 계열계열계열계열))))

easyDSP는 프로젝트로 파일을 관리합니다. 프로젝트 메뉴의 부속 메뉴의 해당 기능은 다음과 같습니다. New 메뉴 : 새로운 프로젝트 생성 Open 메뉴 : 기존 프로젝트 열기 Set & Save 메뉴: 현재 프로젝트의 환경을 설정 Close 메뉴 : 현재 프로젝트를 닫는다 Delete메뉴 : 프로젝트에 관련된 파일을 지운다

New New New New 메뉴메뉴메뉴메뉴::::

New메뉴 실행 후 다음과 같이 프로젝트 파일이름을 설정하는 대화상자가 나타납니다. 사용할 DSP 프로그램이 위치한 폴더를 찾은 후 프로젝트 파일 이름을 설정 하십시요. 프로젝트 파일의 기본 확장자는 "ezd"입니다.

프로젝트 파일 이름을 선정한 후, 다음과 같은 속성시트를 통하여 프로젝트를 설정합니다.

Page 41 of 106

Page 42: EasyDSP Kor

속성 시트는 'Basic', 'Hardware', 'Booting', 'Miscellaneous'의 속성 페이지로 구성되어 있습니다.

Basic'속성 페이지는 프로젝트의 기본 정보를 설정하는 가장 중요한 속성 페이지입니다. 먼저 DSP프로그램의 링크 출력 파일인 COFF파일(확장명 out)을 선정합니다. 또한 DSP 종류 및 통신 채널을 설정합니다.

Hardware'속성 페이지에서는 통신을 위한 각종 하드웨어의 성질을 설정합니다.

'DSP reset'란에서는 DSP보드를 리셋시킬 방식을 설정합니다. 'SW Reset'이란, 기설정된 번지에 기설정된 값을 씀으로써 DSP에 리셋을 인가하는 방식입니다. 이 경우, DSP보드에서 이 방식의 리셋을 하드웨어적으로 별도로 지원해주어야 합니다. 'SW Reset'이 설정되어 있을 경우 easyDSP는 부팅 전에 DSP보드를 자동적으로 리셋합니다. easyDSP-3x에서는 DSP의 직접적인 리셋 방식은 지원하지 않습니다(위험하므로).

이전의 'Basic'속성 페이지에서 선택된 통신 채널에 따라서 'Hardware' 페이지의 활성상태가 변경됩니다.

우선 병렬포트를 선택했을 경우에는우선 병렬포트를 선택했을 경우에는우선 병렬포트를 선택했을 경우에는우선 병렬포트를 선택했을 경우에는, , , , 아래와 같습니다아래와 같습니다아래와 같습니다아래와 같습니다....

'PC setting'에서는 사용자 PC의 속도를 설정합니다.' 'PC Speed'의 숫자가 높을 수록 빠른 PC를 의미합니다. 'easyDSP'는 자동으로 당신의 PC속도를 검사하여 적절한 값으로 미리 설정해 놓습니다. 만약 PC가 너무 빠르다면 이 값을 수동으로 낮추어 easyDSP를 실행할 수 있습니다. 'Communication Config'에서 'Clock Width'와 'Pause Time'을 설정합니다. 'Clock Width'란 DSP와의 직렬 통신을 위한 클럭의 반주기를 표시합니다. 이 값을 키울수록 통신이 느리게 동작됩니다만 보통 0으로 셋팅하여 쓰시기 바랍니다. 'Pause Time'이란 DSP와의 32bit통신 각각의 사이에 삽입되는 일종의 통신 중지 시간입니다. 이 시간이 필요한 이유는 DSP가 전송된 32bit 데이타를 처리할 시간(즉, 시리얼 ISR이 수행될 시간)이 필요하기 때문입니다. 만약 DSP가 다른 동작을 하기 위해 통신

Page 42 of 106

Page 43: EasyDSP Kor

루틴(easy3x.obj)에 할당할 시간 리소스가 부족하다면 이 값을 키우셔야 합니다. 그렇지 않을 경우, DSP의 처리 시간보다 빨리 PC는 통신을 시도하며..결국 통신이 제대로 이루어지지 않을 것이기 때문입니다.

다음으로 다음으로 다음으로 다음으로 USBUSBUSBUSB포트를 선택했을 경우에는포트를 선택했을 경우에는포트를 선택했을 경우에는포트를 선택했을 경우에는, , , , 아래와 같습니다아래와 같습니다아래와 같습니다아래와 같습니다....

'USB Port'항에서 'Protocol'를 선택합니다. 'Fast' , 'Normal', 'Slow'의 3개가 있으며 각 의미는 하기와 같습니다.

'Fast' Protocol : 가장 빠른 통신 속도. 권장 방식권장 방식권장 방식권장 방식. . . . DSPDSPDSPDSP측 프로그램에서 측 프로그램에서 측 프로그램에서 측 프로그램에서 eas y3xV4.obj eas y3xV4.obj eas y3xV4.obj eas y3xV4.obj 를 사용해야만 지원됨를 사용해야만 지원됨를 사용해야만 지원됨를 사용해야만 지원됨. 단점으로는 변수 값 읽을 때 통신 실패 여부를 판단 못함. 'Normal' Protocol : 보통 통신 속도. 기존 DSP측 프로그램 easy3x.obj와도 호환됨. 'Slow' Protocol : 느린 통신 속도. 기존 DSP측 프로그램 easy3x.obj와도 호환됨.

우선적으로 'Fast' 프로토콜을 권장합니다. 물론 기존 사용하시던 easy3x.obj를 easy3xV4.obj로 변경하셔야 합니다.

'Booting'속성 페이지에서는 DSP를 롬 부팅하기 위한 프로그램을 DSP보드상의 플래쉬 롬에 라이트하기 위한 설정값입니다. 물론

Page 43 of 106

Page 44: EasyDSP Kor

DSP보드내에 플래쉬롬이 존재할 경우에 한합니다. 지원되는 플래쉬롬으로는 AM29F010, AM29F040, AM29LV160DB, AM29LV160DT, AT29LV040A, SST39VF040이 있습니다. 또한 사용자가 신청할 경우 사용자가 원하시는 플래쉬롬에 대한 지원도 약속 드립니다. 'Flash ROM' 콤보 박스 내에서 플래쉬 롬 타입을 설정 한 후, 플래쉬롬이 DSP보드내에서 설정된 어드레스를 'Start Address'란에 적습니다. 그리고 롬부팅이 시작되는 번지를 'Boot Address'란에서 선택합니다. 주의사항 : 플래쉬롬이 'AT29LV040'일 경우, 플래쉬롬이 문제없이 라이팅되기 위해서는 DSP 프로그램의 다른 부분이 easyDSP와의 통신을 간섭하지 말아야 합니다. 이는 AT29LV040의 라이팅 조건에 따른 것이며, 자세한 것은 해당 데이타시트를 참조하십시요. 또한 DSP의 종류에 따라 롬부팅(또는 시리얼부팅)시 사용될 각종 STRB 레지스터의 값을 오른편에 적습니다.

'Miscellaneous'속성 페이지에서는 기타 설정을 선정합니다. 'Seek ...' 기능은 커맨드윈도우에서 사용자가 변수명을 타이핑할 때 easyDSP가 적절한 변수명을 자동으로 생성해주는 기능이며, 'Display...' 기능은 문자형으로 선언된 변수의 내용을 문자로 보여주는 기능이며, 'Stop...'기능은 일정횟수이상 통신 실패시 easyDSP가 자동적으로 통신을 중단하는 기능입니다. 'Stop...'의 기능의 사용 용도는 다음과 같습니다. 만약 easyDSP를 사용하여 통신하고 있던 도중에 DSP가 리셋 상태가 되어 시리얼 부팅모드로 진입하게 된다면, easyDSP의 통신을 위한 값으로 DSP가 부팅되게 되며 이는 DSP의 폭주를 유발할 수 있습니다. 이 경우 전체 시스템에 폭주를 가져와서 손해를 끼칠 수 있는 것입니다. 본 기능을 사용하면 통신 실패시 ( 즉, DSP가 리셋됨 ) 통신을 즉각적으로 중지함으로써 DSP의 잘못된 시리얼부팅을 최대한 방지합니다.

Open Open Open Open 메뉴메뉴메뉴메뉴::::

기존의 프로젝트를 엽니다.

Set & Save Set & Save Set & Save Set & Save 메뉴 메뉴 메뉴 메뉴 ::::

현재 프로젝트의 성질을 선정합니다. 사용방법은 'New'메뉴와 동일합니다.

Close Close Close Close 메뉴메뉴메뉴메뉴::::

현재의 프로젝트를 닫습니다.

Delete Delete Delete Delete 메뉴 메뉴 메뉴 메뉴 ::::

Page 44 of 106

Page 45: EasyDSP Kor

easyDSP는 프로젝트 환경 저장을 위해 몇 가지 파일들을 프로젝트 작업 디렉토리 안에 생성합니다. 이들은 다음과 같습니다. *.ezd : 프로젝트 환경 저장 *.var : 변수 정보 저장 *.cfg : 기타 정보 저장 이들 파일은 변경시 이전내용을 *.ez~, *.va~, *.cf~의 변경된 확장자로 저장합니다.

선택한 프로젝트에 관련된 easyDSP 관련 파일(*.ezd, *.var, *.cfg 등등)을 모두 지웁니다.

Page 45 of 106

Page 46: EasyDSP Kor

Project Project Project Project 메뉴 메뉴 메뉴 메뉴 ((((6x 6x 6x 6x 계열계열계열계열))))

easyDSP는 프로젝트로 파일을 관리합니다. 프로젝트 메뉴의 부속 메뉴의 해당 기능은 다음과 같습니다. New 메뉴 : 새로운 프로젝트 생성 Open 메뉴 : 기존 프로젝트 열기 Set & Save 메뉴: 현재 프로젝트의 환경을 설정 Close 메뉴 : 현재 프로젝트를 닫는다 Delete메뉴 : 프로젝트에 관련된 파일을 지운다

New New New New 메뉴메뉴메뉴메뉴::::

New메뉴 실행 후 다음과 같이 프로젝트 파일이름을 설정하는 대화상자가 나타납니다. 사용할 DSP 프로그램이 위치한 폴더를 찾은 후 프로젝트 파일 이름을 설정 하십시요. 프로젝트 파일의 기본 확장자는 "ezd"입니다.

프로젝트 파일 이름을 선정한 후, 다음과 같은 속성시트를 통하여 프로젝트를 설정합니다.

Page 46 of 106

Page 47: EasyDSP Kor

속성 시트는 'Basic', 'Hardware', 'Miscellaneous'의 속성 페이지로 구성되어 있습니다.

Basic'속성 페이지는 프로젝트의 기본 정보를 설정하는 가장 중요한 속성 페이지입니다. 먼저 DSP프로그램의 링크 출력 파일인 COFF파일(확장명 out)을 선정합니다. 또한 DSP 종류 및 통신 채널을 설정합니다.

Hardware'속성 페이지에서는 통신을 위한 각종 하드웨어의 성질을 설정합니다.

'Protocol'에서는 현재 'Normal'밖에는 선택이 되지 않습니다. 'Baud rate'에서 RS232 통신에 사용되는 보드레이트를 설정합니다. 이 값은 DSP보드상의 RS232 통신채널의 속도와 동일해야 합니다. 'Wait-more time'이란 통신시 DSP의 반응을 기다리는 추가 시간입니다. 원래 easyDSP는 설정된 보드레이트에 따라 적절한 시간 동안 DSP로부터의 반응을 기다립니다. 만약 사용자의 DSP 프로그램의 수행시간이 길 경우, easyDSP와의 통신을 위한 SCI 인터럽트 루틴의 호출이 지연될 수 있습니다. 이 경우, easyDSP가 기다리는 시간을 늘려줘야 적절히 통신이 수행될 것입니다. 보통 1000 usec 이상을 권장합니다.

'Miscellaneous'속성 페이지에서는 기타 설정을 선정합니다. 'Seek ...' 기능은 커맨드윈도우에서 사용자가 변수명을 타이핑할 때 easyDSP가 적절한 변수명을 자동으로 생성해주는 기능이며, 'Display...' 기능은 문자형으로 선언된 변수의 내용을 문자로 보여주는 기능이며, 'Stop...'기능은 일정횟수이상 통신 실패시 easyDSP가 자동적으로 통신을 중단하는 기능입니다. 'Stop...'의 기능의 사용 용도는 다음과 같습니다. 만약 easyDSP를 사용하여 통신하고 있던 도중에 DSP가 리셋 상태가 되어 시리얼 부팅모드로 진입하게 된다면, easyDSP의 통신을 위한 값으로 DSP가 부팅되게 되며 이는 DSP의 폭주를 유발할 수 있습니다.

Page 47 of 106

Page 48: EasyDSP Kor

이 경우 전체 시스템에 폭주를 가져와서 손해를 끼칠 수 있는 것입니다. 본 기능을 사용하면 통신 실패시 (즉, DSP가 리셋됨) 통신을 즉각적으로 중지함으로써 DSP의 잘못된 시리얼부팅을 최대한 방지합니다.

Open Open Open Open 메뉴메뉴메뉴메뉴::::

기존의 프로젝트를 엽니다.

Set & Save Set & Save Set & Save Set & Save 메뉴 메뉴 메뉴 메뉴 ::::

현재 프로젝트의 성질을 선정합니다. 사용방법은 'New'메뉴와 동일합니다.

Close Close Close Close 메뉴메뉴메뉴메뉴::::

현재의 프로젝트를 닫습니다.

Delete Delete Delete Delete 메뉴 메뉴 메뉴 메뉴 ::::

easyDSP는 프로젝트 환경 저장을 위해 몇 가지 파일들을 프로젝트 작업 디렉토리 안에 생성합니다. 이들은 다음과 같습니다. *.ezd : 프로젝트 환경 저장 *.var : 변수 정보 저장 *.cfg : 기타 정보 저장 이들 파일은 변경시 이전내용을 *.ez~, *.va~, *.cf~의 변경된 확장자로 저장합니다.

선택한 프로젝트에 관련된 easyDSP 관련 파일(*.ezd, *.var, *.cfg 등등)을 모두 지웁니다.

Page 48 of 106

Page 49: EasyDSP Kor

Edit Edit Edit Edit 메뉴메뉴메뉴메뉴

설명의 필요가 있나요? ^^;

Page 49 of 106

Page 50: EasyDSP Kor

DSP DSP DSP DSP 메뉴 메뉴 메뉴 메뉴 ((((240x 240x 240x 240x 계열계열계열계열) ) ) )

Serial Booting Serial Booting Serial Booting Serial Booting 메뉴메뉴메뉴메뉴

TMS320LF240x 에 대해서는 SCI부팅을 지원하지 않습니다.

Flash ROM Flash ROM Flash ROM Flash ROM 메뉴메뉴메뉴메뉴

DSP내의 플래쉬 롬에, 해당 프로젝트에서 설정된 coff파일의 내용을 라이트(Write)합니다. 동작 순서는 다음과 같습니다. 단계1 : 플래쉬 롬에 굽기를 원하는 out파일에 대해서 프로젝트를 생성합니다. 단계2 : 사용자가 플래쉬 롬 메뉴를 선택하면 아래그림과 같은 대화상자가 활성화됩니다. 단계3 : 사용자 시스템에 따라 PLL Ratio및 CPU_CLK을 설정합니다. 단계4 : 사용자가 Erase, Program 등을 처음 누를 때에는, DSP는 리셋되어 이후 동작에 필요한 프로그램이 SCI를 이용하여 시리얼 부팅됩니다. 단계5 : 이후 SCI통신을 통해 원하는 동작을 수행합니다. 단계6 : 플래쉬 롬 대화상자를 나갈 때, DSP 리셋을 수행합니다. 이로써 DSP는 플래쉬 롬 모드로 부팅하게 되어, 플래쉬에 라이팅된 내용으로 수행됩니다.

Page 50 of 106

Page 51: EasyDSP Kor

Reset DSP Reset DSP Reset DSP Reset DSP 메뉴메뉴메뉴메뉴

DSP를 리셋합니다. 이때 easyDSP의 /BOOT 단자는 High신호를 유지하며, /RESET단자만 Low로 내려가게 됩니다.

Reset Communication Reset Communication Reset Communication Reset Communication 메뉴메뉴메뉴메뉴

DSP내의 시리얼 인터럽트 처리 루틴의 수행시간이 부족하여 easyDSP와의 통신이 원활하지 않을 경우, 통신 시퀀스를 초기화합니다.

Pause Communication Pause Communication Pause Communication Pause Communication 메뉴메뉴메뉴메뉴

easyDSP의 통신을 멈춥니다. 이 메뉴는 'Resume Communication'메뉴와 토글됩니다.

Communication Status Communication Status Communication Status Communication Status 메뉴메뉴메뉴메뉴

현재 통신 상태(전송 실패율 등)을 표시합니다. 통신환경을 안정적으로 구축하여 성공률(success ratio)이 90% 이상이어야 작업상 무리가 없습니다.

Page 51 of 106

Page 52: EasyDSP Kor

Page 52 of 106

Page 53: EasyDSP Kor

DSP DSP DSP DSP 메뉴 메뉴 메뉴 메뉴 ((((28x 28x 28x 28x 계열계열계열계열))))

Serial Booting Serial Booting Serial Booting Serial Booting 메뉴메뉴메뉴메뉴

DSP를 SCI 또는 I2C 부팅합니다. easyDSP의 기타 윈도우를 통한 통신 기능은 정지되며, 다음과 같은 대화상자가 나타납니다.

'Boot File'란에 부팅시 사용할 파일이 나타납니다. easyDSP는 주어진 out 파일로부터 부팅용 바이너리(binary) 파일(*.bin)을 자동 생성합니다. 'Boot'버튼을 누르면 SCI 또는 I2C 부팅을 시작합니다. 먼저 선정된 bin 파일이 SCI부팅에 적합한지를 점검합니다. 본 점검을 통과했을 경우에만 부팅을 시작합니다. 만약 out파일이 갱신되었다면 갱신된 파일로 부팅할지를 자동 확인합니다. 'Verify'버튼은 부팅후 데이타 전송이 제대로 수행되었는지를 확인합니다. 부팅 중에는 데이타가 제대로 타켓 주소에 전송되었는지를 확인하는 절차가 없기 때문에, 부팅 후 이 'Verify'를 수행하시기를 권장합니다. 만약 'Verify'실패 시에는 아래와 같은 메시지가 나오며 그 의미는 다음과 같습니다. 메모리 번지 0x240000에서, SCI 부팅한 데이타는 0x28AD이지만 현재 읽혀진 값은 0x159D이다.

'All'버튼은 'Boot'버튼과 'Verify'버튼의 기능을 동시에 수행합니다. 부팅, 또는 부팅확인 도중 'Stop'버튼을 누르면 동작이 중지됩니다.

Flash ROM Flash ROM Flash ROM Flash ROM 메뉴메뉴메뉴메뉴

Page 53 of 106

Page 54: EasyDSP Kor

DSP내의 플래쉬 롬에, 해당 프로젝트에서 설정된 *.out 파일의 내용을 라이트(Write)합니다. 동작 순서는 다음과 같습니다. 단계1 : 플래쉬 롬을 구울 때 사용될 'FlashAPI 통신 프로그램'의 out파일을 선택합니다. easyDSP에서는, 사용 CPU 및 클럭 종류에 따라, 여러 종류의 out파일을 제공합니다(하기 표1 참조). 사용자 보드의 오실레이터 주파수에 따라 아래 중 적절한 것을 선택하셔야 합니다. 불루투스를 사용하실 때에는 보드레이트가 38400bps의 것을 사용하셔야 합니다. '_38400bps'의 첨자가 붙은 것을 사용하십시요 (하기 표2). 단계2 : 사용자가 Erase, Program, Verify, CSM Unlock 버튼을 처음 누를 때에는, 설정된 'FlashAPI 통신 프로그램'의 out파일을 이용해서, DSP를 SCI 또는 I2C boot모드로 부팅합니다. 단계3 : 이후 통신을 통해 원하는 동작을 수행합니다. 단계4 : 플래쉬 롬 대화상자를 나갈 때, DSP 리셋을 수행합니다. 이로써 DSP는 플래쉬 롬 모드로 부팅하게 됩니다.

표표표표1) DSP 1) DSP 1) DSP 1) DSP 종류 및 클럭수에 따른 종류 및 클럭수에 따른 종류 및 클럭수에 따른 종류 및 클럭수에 따른 ''''Flas hAP I Flas hAP I Flas hAP I Flas hAP I 통신 프로그램통신 프로그램통신 프로그램통신 프로그램''''의 의 의 의 outoutoutout파일파일파일파일

2823x/2833x클럭주파수 [Mhz]

(오실레이터 주파수 x 5)out파일 이름

TMS320F28335335335335 TMS320F28235235235235

100 (20Mhz x 5) F28235_F28335_100MHz(20MHzx5)_v7.3.out (주2)

120 (24Mhz x 5) F28235_F28335_120MHz(24MHzx5)_v7.3.out (주2)

150 (30Mhz x 5) F28235_F28335_150MHz(30MHzx5)_v7.3.out (주2)

TMS320F28334334334334 TMS320F28234234234234

100 (20Mhz x 5) F28234_F28334_100MHz(20MHzx5)_v7.3.out (주2)

120 (24Mhz x 5) F28234_F28334_120MHz(24MHzx5)_v7.3.out (주2)

150 (30Mhz x 5) F28234_F28334_150MHz(30MHzx5)_v7.3.out (주2)

TMS320F28332332332332

75 (15Mhz x 5) F28232_F28332_75MHz(15MHzx5)_v7.3.out (주2)

Page 54 of 106

Page 55: EasyDSP Kor

(주) F28030, F28031, F28020, F28021은 현재 지원 안 됨. (주1) V7.1에서 업데이트됨. 필수사항임. (주2) V7.3에서 업데이트됨. 필수사항임. (주3) V7.4에서 업데이트됨. 필수사항임.

표표표표2) 2) 2) 2) 블루투스 사용시 블루투스 사용시 블루투스 사용시 블루투스 사용시 DSP DSP DSP DSP 종류 및 클럭수에 따른 종류 및 클럭수에 따른 종류 및 클럭수에 따른 종류 및 클럭수에 따른 ''''Flas hAP I Flas hAP I Flas hAP I Flas hAP I 통신 프로그램통신 프로그램통신 프로그램통신 프로그램''''의 의 의 의 outoutoutout파일파일파일파일

TMS320F28232232232232

100 (20Mhz x 5) F28232_F28332_100MHz(20MHzx5)_v7.3.out (주2)

2802x/2803x 클럭 주파수 [Mhz] out파일 이름

TMS320F28035035035035 상관 없음 F28035_flashAPI_wrapper.out

TMS320F28034034034034 상관 없음 F28034_flashAPI_wrapper.out

TMS320F28033033033033 상관 없음 F28033_flashAPI_wrapper.out

TMS320F28032032032032 상관 없음 F28032_flashAPI_wrapper.out

TMS320F28027027027027 상관 없음 F28027_flashAPI_wrapper_v7.4.out (주3)

TMS320F28026026026026 상관 없음 F28026_flashAPI_wrapper_v7.4.out (주3)

TMS320F28025025025025 상관 없음 F28025_flashAPI_wrapper_v7.4.out (주3)

TMS320F28024024024024 상관 없음 F28024_flashAPI_wrapper_v7.4.out (주3)

TMS320F28023023023023 상관 없음 F28023_flashAPI_wrapper_v7.4.out (주3)

TMS320F28022022022022 상관 없음 F28022_flashAPI_wrapper_v7.4.out (주3)

281x클럭주파수 [Mhz]

(오실레이터 주파수 x 5)out파일 이름

TMS320F2810101010

100 (20Mhz x 5) F2810_100Mhz.out

120 (24Mhz x 5) F2810_120Mhz.out

150 (30Mhz x 5) F2810_150Mhz.out

TMS320F2811111111

100 (20Mhz x 5) F2811_100Mhz.out

120 (24Mhz x 5) F2811_120Mhz.out

150 (30Mhz x 5) F2811_150Mhz.out

TMS320F2812121212

100 (20Mhz x 5) F2812_100Mhz.out

120 (24Mhz x 5) F2812_120Mhz.out

150 (30Mhz x 5) F2812_150Mhz.out

280x클럭주파수 [Mhz]

(오실레이터 주파수 x 5)out파일 이름

TMS320F2801010101

60 (12Mhz x 5) F2801_60Mhz.out

75 (15Mhz x 5) F2801_75Mhz.out

100 (20Mhz x 5) F2801_100Mhz.out

TMS320F28015015015015 60 (12Mhz x 5) F28015_60Mhz.out

TMS320F28016016016016 60 (12Mhz x 5) F28016_60Mhz.out

TMS320F2802020202

60 (12Mhz x 5) F2802_60Mhz.out

75 (15Mhz x 5) F2802_75Mhz.out

100 (20Mhz x 5) F2802_100Mhz.out

TMS320F28044044044044

50 (10Mhz x 5) F28044_50Mhz_v7.1.out (주1)

75 (15Mhz x 5) F28044_75Mhz_v7.1.out (주1)

100 (20Mhz x 5) F28044_100Mhz_v7.1.out (주1)

TMS320F280606060675 (15Mhz x 5) F2806_75Mhz.out

100 (20Mhz x 5) F2806_100Mhz.out

TMS320F280808080875 (15Mhz x 5) F2808_75Mhz.out

100 (20Mhz x 5) F2808_100Mhz.out

TMS320F280909090975 (15Mhz x 5) F2809_75Mhz.out

100 (20Mhz x 5) F2809_100Mhz.out

클럭주파수 [Mhz]

Page 55 of 106

Page 56: EasyDSP Kor

2823x/2833x

(오실레이터 주파수 x 5)out파일 이름

TMS320F28335335335335 TMS320F28235235235235

100 (20Mhz x 5) F28235_F28335_100MHz(20MHzx5)_38400bps.out

120 (24Mhz x 5) F28235_F28335_120MHz(24MHzx5)_38400bps.out

150 (30Mhz x 5) F28235_F28335_150MHz(30MHzx5)_38400bps.out

TMS320F28334334334334 TMS320F28234234234234

100 (20Mhz x 5) F28234_F28334_100MHz(20MHzx5)_38400bps.out

120 (24Mhz x 5) F28234_F28334_120MHz(24MHzx5)_38400bps.out

150 (30Mhz x 5) F28234_F28334_150MHz(30MHzx5)_38400bps.out

TMS320F28332332332332 TMS320F28232232232232

75 (15Mhz x 5) F28232_F28332_75MHz(15MHzx5)_38400bps.out

100 (20Mhz x 5) F28232_F28332_100MHz(20MHzx5)_38400bps.out

2802x/2803x 클럭 주파수 [Mhz] out파일 이름

TMS320F28035035035035 상관 없음 F28035_flashAPI_wrapper_38400bps.out

TMS320F28034034034034 상관 없음 F28034_flashAPI_wrapper_38400bps.out

TMS320F28033033033033 상관 없음 F28033_flashAPI_wrapper_38400bps.out

TMS320F28032032032032 상관 없음 F28032_flashAPI_wrapper_38400bps.out

TMS320F28027027027027 상관 없음 F28027_flashAPI_wrapper_38400bps.out

TMS320F28026026026026 상관 없음 F28026_flashAPI_wrapper_38400bps.out

TMS320F28025025025025 상관 없음 F28025_flashAPI_wrapper_38400bps.out

TMS320F28024024024024 상관 없음 F28024_flashAPI_wrapper_38400bps.out

TMS320F28023023023023 상관 없음 F28023_flashAPI_wrapper_38400bps.out

TMS320F28022022022022 상관 없음 F28022_flashAPI_wrapper_38400bps.out

281x클럭주파수 [Mhz]

(오실레이터 주파수 x 5)out파일 이름

TMS320F2810101010

100 (20Mhz x 5) F2810_100Mhz_38400bps.out

120 (24Mhz x 5) F2810_120Mhz_38400bps.out

150 (30Mhz x 5) F2810_150Mhz_38400bps.out

TMS320F2811111111

100 (20Mhz x 5) F2811_100Mhz_38400bps.out

120 (24Mhz x 5) F2811_120Mhz_38400bps.out

150 (30Mhz x 5) F2811_150Mhz_38400bps.out

TMS320F2812121212

100 (20Mhz x 5) F2812_100Mhz_38400bps.out

120 (24Mhz x 5) F2812_120Mhz_38400bps.out

150 (30Mhz x 5) F2812_150Mhz_38400bps.out

280x클럭주파수 [Mhz]

(오실레이터 주파수 x 5)out파일 이름

TMS320F2801010101

60 (12Mhz x 5) F2801_60Mhz_38400bps.out

75 (15Mhz x 5) F2801_75Mhz_38400bps.out

100 (20Mhz x 5) F2801_100Mhz_38400bps.out

TMS320F28015015015015 60 (12Mhz x 5) F28015_60Mhz_38400bps.out

TMS320F28016016016016 60 (12Mhz x 5) F28016_60Mhz_38400bps.out

TMS320F2802020202

60 (12Mhz x 5) F2802_60Mhz_38400bps.out

75 (15Mhz x 5) F2802_75Mhz_38400bps.out

100 (20Mhz x 5) F2802_100Mhz_38400bps.out

TMS320F28044044044044

50 (10Mhz x 5) F28044_50Mhz_38400bps.out

75 (15Mhz x 5) F28044_75Mhz_38400bps.out

100 (20Mhz x 5) F28044_100Mhz_38400bps.out

TMS320F280606060675 (15Mhz x 5) F2806_75Mhz_38400bps.out

100 (20Mhz x 5) F2806_100Mhz_38400bps.out

TMS320F280808080875 (15Mhz x 5) F2808_75Mhz_38400bps.out

100 (20Mhz x 5) F2808_100Mhz_38400bps.out

TMS320F280909090975 (15Mhz x 5) F2809_75Mhz_38400bps.out

100 (20Mhz x 5) F2809_100Mhz_38400bps.out

Page 56 of 106

Page 57: EasyDSP Kor

* "* "* "* "FlashAPI FlashAPI FlashAPI FlashAPI 통신 프로그램통신 프로그램통신 프로그램통신 프로그램((((FlashAPI wrapper)"FlashAPI wrapper)"FlashAPI wrapper)"FlashAPI wrapper)"이란이란이란이란????????????

easyDSP가 DSP내의 플래쉬 롬을 억세스(Erase, Program, Verify)하기 위해 SCI 또는 I2C 부팅하는 프로그램입니다. 하기 그림에서 동그랗게 표시된 'FlashAPI 통신 프로그램' 부분이며 TI에서 제공하는 FlashAPI와 easyDSP와의 통신을 위한 부분으로 구성되어 있습니다. 부팅 후 사용자가 easyDSP 메뉴상에서 수행하고자 하는 동작을 적절히 변환, FlashAPI에게 전달함으로써 플래쉬 롬을 억세스하게 됩니다. 참고로 현재 버전의 easyDSP에서 사용하는 TI사에서 제공한 'FlashAPI'는 다음과 같습니다.

Reset DSP Reset DSP Reset DSP Reset DSP 메뉴메뉴메뉴메뉴

DSP를 하드웨어 리셋합니다. 이때 easyDSP의 /BOOT 단자는 High신호를 유지하며, /RESET단자만 Low로 내려가게 됩니다.

Reset Communication Reset Communication Reset Communication Reset Communication 메뉴메뉴메뉴메뉴

DSP내의 시리얼 인터럽트 처리 루틴의 수행시간이 부족하여 easyDSP와의 통신이 원활하지 않을 경우, 통신 시퀀스를 초기화합니다.

Pause Communication Pause Communication Pause Communication Pause Communication 메뉴메뉴메뉴메뉴

easyDSP의 통신을 멈춥니다. 이 메뉴는 'Resume Communication'메뉴와 토글됩니다.

DSPVersion of flash API

link to TI web site

TMS320F2802x Ver 2.0 http://focus.ti.com/docs/toolsw/folders/print/sprc848.html

TMS320F2803x Ver 1.0 http://focus.ti.com/docs/toolsw/folders/print/sprc907.html

TMS320F2833x/2823x Ver 2.1 http://focus.ti.com/docs/toolsw/folders/print/sprc539.html

TMS320F2810/2811/2812 Ver 2.1 http://focus.ti.com/docs/toolsw/folders/print/sprc125.html

TMS320F28015/28016 Ver 1.0 http://focus.ti.com/docs/toolsw/folders/print/sprc327.html

TMS320F28044 Ver 1.0 http://focus.ti.com/docs/toolsw/folders/print/sprc325.html

TMS320F2809 Ver 1.0 http://focus.ti.com/docs/toolsw/folders/print/sprc193.html

TMS320F2801/2802/2806/2808 Ver 3.02 http://focus.ti.com/docs/toolsw/folders/print/sprc193.html

Page 57 of 106

Page 58: EasyDSP Kor

Communication Status Communication Status Communication Status Communication Status 메뉴메뉴메뉴메뉴

현재 통신 상태(전송 실패율 등)을 표시합니다. 통신환경을 안정적으로 구축하여 성공률(success ratio)이 90% 이상이어야 작업상 무리가 없습니다.

Page 58 of 106

Page 59: EasyDSP Kor

DSP DSP DSP DSP 메뉴 메뉴 메뉴 메뉴 ((((2834x 2834x 2834x 2834x 계열계열계열계열))))

Serial Booting Serial Booting Serial Booting Serial Booting 메뉴메뉴메뉴메뉴

DSP를 SCI 또는 I2C 부팅합니다. easyDSP의 기타 윈도우를 통한 통신 기능은 정지되며, 다음과 같은 대화상자가 나타납니다.

'Boot File'란에 부팅시 사용할 파일이 나타납니다. easyDSP는 주어진 COFF파일로부터 부팅용 바이너리(binary) 파일(*.bin)을 자동 생성합니다. 'Boot'버튼을 누르면 SCI 부팅을 시작합니다. 먼저 선정된 bin 파일이 SCI부팅에 적합한지를 점검합니다. 본 점검을 통과했을 경우에만 SCI부팅을 시작합니다. 만약 COFF파일이 갱신되었다면 갱신된 COFF로 부팅할지를 자동 확인합니다. 확인 후 COFF파일을 재로딩하면 새로운 프로그램으로 부팅합니다. 'Verify'버튼은 SCI 부팅 데이타 전송이 제대로 수행되었는지를 확인합니다. SCI 부팅 중에는 부팅되는 데이타가 제대로 타켓 주소에 전송되었는지를 확인하는 절차가 없기 때문에, 부팅 후 이 'Verify'를 수행하시기를 권장합니다. 만약 'Verify'실패 시에는 아래와 같은 메시지가 나오며 그 의미는 다음과 같습니다. 메모리 번지 0x240000에서, SCI 부팅한 데이타는 0x28AD이지만 현재 읽혀진 값은 0x159D이다.

'All'버튼은 'Boot'버튼과 'Verify'버튼의 기능을 동시에 수행합니다. 부팅, 또는 부팅확인 도중 'Stop'버튼을 누르면 동작이 중지됩니다.

Flash ROM Flash ROM Flash ROM Flash ROM 메뉴메뉴메뉴메뉴

2834x의 경우에는 내부 플래쉬 롬이 없으므로, 외부 플래쉬 롬을 지원합니다. 현재 지원되는 플래쉬 롬은 ATMEL사의 SPI 통신용 플래쉬 롬으로 AT25DF021(2M bit), AT25DF041(4M bit), AT26DF081(8M bit), AT25DF321(32M bit)의 총 4종입니다. easyDSP는 사용자 프로그램을 SPI-A 모드로 부팅할 수 있는 형식에 맞춰 플래쉬롬을 라이팅합니다. 두 가지 방식의 Erase를 지원하며, 전체 플래쉬 롬을 지우는 'Erase chip' 및 프로그램 라이팅에 사용된 영역만을 지우는 'Erase block'이 있습니다. 'Erase block'시에는 최소 4K bytes 영역으로 지우게 되므로, 사용자 프로그램이 실제로 라이팅된 영역보다 보통 더 큰 영역(최대 4K bytes)을 지우게 됩니다. ATMEL사의 제품은 Sector Protection 기능이 지원되는데, easyDSP에서는 모든 섹터를 protection하지 않는 Global Unprotect를 사용함에 주의하십시오. 또한 SPI-A 부팅모드에서는 부팅 속도를 조절하기 위해 LOSPCP값 및 SPIBRR값을 선정하게 되어 있는데, easyDSP는 이를

Page 59 of 106

Page 60: EasyDSP Kor

LOSPCP=2, SPIBRR=0 으로 고정하여 사용합니다.

Reset DSP Reset DSP Reset DSP Reset DSP 메뉴메뉴메뉴메뉴

DSP를 하드웨어 리셋합니다. 이때 easyDSP의 /BOOT 단자는 High신호를 유지하며, /RESET단자만 Low로 내려가게 됩니다.

Reset Communication Reset Communication Reset Communication Reset Communication 메뉴메뉴메뉴메뉴

DSP내의 시리얼 인터럽트 처리 루틴의 수행시간이 부족하여 easyDSP와의 통신이 원활하지 않을 경우, 통신 시퀀스를 초기화합니다.

Pause Communication Pause Communication Pause Communication Pause Communication 메뉴메뉴메뉴메뉴

easyDSP의 통신을 멈춥니다. 이 메뉴는 'Resume Communication'메뉴와 토글됩니다.

Communication Status Communication Status Communication Status Communication Status 메뉴메뉴메뉴메뉴

현재 통신 상태(전송 실패율 등)을 표시합니다. 통신환경을 안정적으로 구축하여 성공률(success ratio)이 90% 이상이어야 작업상 무리가 없습니다.

Page 60 of 106

Page 61: EasyDSP Kor

Page 61 of 106

Page 62: EasyDSP Kor

DSP DSP DSP DSP 메뉴 메뉴 메뉴 메뉴 ((((3x 3x 3x 3x 계열계열계열계열))))

Serial Booting Serial Booting Serial Booting Serial Booting 메뉴메뉴메뉴메뉴

DSP를 시리얼 부팅합니다. 시리얼부팅을 하기 위해서는 DSP를 리셋해야 합니다. 만약 SW Reset이 선택되어 있을 경우 자동적으로 DSP는 리셋됩니다. 시리얼 부팅시에 easyDSP의 통신 기능은 잠시 정지됩니다. 본 메뉴를 선택시 다음과 같은 대화상자가 나타납니다.

'Boot File'란에 부팅시 사용할 파일이 나타납니다. easyDSP는 주어진 COFF파일로부터 부팅용 바이너리(binary) 파일(*.bin)을 자동 생성합니다. 디폴트는 이 바이너리 파일로 선택되어 있습니다. 만약 사용자가 다른 bin파일로 부팅을 하고 싶은 경우에는, 'Find...'버튼을 사용하여 해당 bin파일을 선택하여 주십시요. 'Boot'버튼은 시리얼 부팅의 시작을 의미하며, 'Verify'버튼은 시리얼 부팅 후 데이타 전송이 올바른지를 체크하며, 'All'버튼은 'Boot'버튼과 'Verify'버튼의 기능을 동시에 수행합니다. 부팅, 또는 부팅확인 도중 'Stop'버튼을 누르면 동작이 중지됩니다. 만약 COFF파일이 갱신되었다면 갱신된 COFF로 부팅할지를 자동 확인합니다. 확인 후 COFF파일을 재로딩하면 새로운 프로그램으로 부팅합니다.

Flash ROM Flash ROM Flash ROM Flash ROM 메뉴메뉴메뉴메뉴

COFF파일을 이용하여, DSP보드내의 플래쉬롬에 롬부팅을 위한 프로그램을 Write합니다. 플래쉬롬 라이팅에 필요한 각종 정보는 프로젝트에서 설정합니다. 현재 지원되는 플래쉬롬의 종류로는 AM29F010, AM29F040, AM29LV160DB, AM29LV160DT, AT29LV040, SST39VF040가 있습니다. 사용자가 특별히 지원되길 원하는 플래쉬롬이 있다면 알려주십시오. 또한 빠른 플래쉬롬 라이팅을 원하시는 분은 본 Help파일의 'Tips and Tricks'를 참조하세요.

Page 62 of 106

Page 63: EasyDSP Kor

해당 기능을 수행할 시에, 만약 easyDSP가 DSP와의 통신에 실패하면( 예를 들어 DSP가 리셋되어 있는 상태), easyDSP는 자동적으로 시리얼 부팅을 수행한 후 해당 기능을 재시도합니다.

Reset DSP Reset DSP Reset DSP Reset DSP 메뉴메뉴메뉴메뉴

프로젝트에 설정된 방식으로 DSP를 리셋합니다.

Reset Communication Reset Communication Reset Communication Reset Communication 메뉴메뉴메뉴메뉴

DSP내의 시리얼 인터럽트 처리 루틴의 수행시간이 부족하여 easyDSP와의 통신이 원할하지 않을 경우, 통신 시퀀스를 초기화합니다.

Pause Communication Pause Communication Pause Communication Pause Communication 메뉴메뉴메뉴메뉴

easyDSP의 통신을 멈춥니다. 이 메뉴는 'Resume Communication'메뉴와 토글됩니다. easyDSP가 사용하는 PC의 통신포트를 다른 목적(프린팅 등등)으로 잠시 사용하기 위해서 본 메뉴를 사용합니다.

Communication Status Communication Status Communication Status Communication Status 메뉴메뉴메뉴메뉴

현재 통신 상태(전송 실패율 등)을 표시합니다. 통신환경을 안정적으로 구축하여 성공률(success ratio)이 90% 이상이어야 작업상 무리가 없습니다.

Page 63 of 106

Page 64: EasyDSP Kor

Page 64 of 106

Page 65: EasyDSP Kor

DSP DSP DSP DSP 메뉴 메뉴 메뉴 메뉴 ((((6x 6x 6x 6x 계열계열계열계열) ) ) )

Serial Booting Serial Booting Serial Booting Serial Booting 메뉴메뉴메뉴메뉴

현재 지원되지 않습니다.

Flash ROM Flash ROM Flash ROM Flash ROM 메뉴메뉴메뉴메뉴

먼저 'File' 란에 라이팅할 프로그램 데이타가 선정됩니다. 프로젝트에서 선정된 out파일을 기준으로 rom파일이 자동 생성되며, 이 rom파일이 기본적으로 본 'File'란에 선정됩니다. 다음으로 플래쉬롬이 위치하고 있는 번지를 선정합니다. 최초 번지와 최후번지입니다. 마지막으로 플래쉬롬 라이팅시 각 16비트 데이타간 삽입할 휴지시간을 설정합니다. easyDSP는 플래쉬롬 라이팅시 특별한 체크를 하지 않습니다. 단지, 라이팅 후 다음 라이팅하기 전까지 본 시간만큼만 기다릴 뿐입니다. 따라서 설정된 시간안에 16비트 플래쉬 데이타 라이팅이 완료되어야 합니다. 주의주의주의주의) ) ) ) 현재현재현재현재, , , , 16161616비트 플래쉬롬만 지원합니다비트 플래쉬롬만 지원합니다비트 플래쉬롬만 지원합니다비트 플래쉬롬만 지원합니다. . . . 기타 기타 기타 기타 8888비트비트비트비트, , , , 32323232비트 플래쉬롬 사용자는 연락주십시요비트 플래쉬롬 사용자는 연락주십시요비트 플래쉬롬 사용자는 연락주십시요비트 플래쉬롬 사용자는 연락주십시요. . . . 지원해드리겠습니지원해드리겠습니지원해드리겠습니지원해드리겠습니다다다다....

Reset DSP Reset DSP Reset DSP Reset DSP 메뉴메뉴메뉴메뉴

Page 65 of 106

Page 66: EasyDSP Kor

DSP를 리셋합니다. 이때 easyDSP의 /BOOT 단자는 High신호를 유지하며, /RESET단자만 Low로 내려가게 됩니다.

Reset Communication Reset Communication Reset Communication Reset Communication 메뉴메뉴메뉴메뉴

DSP내의 시리얼 인터럽트 처리 루틴의 수행시간이 부족하여 easyDSP와의 통신이 원활하지 않을 경우, 통신 시퀀스를 초기화합니다.

Pause Communication Pause Communication Pause Communication Pause Communication 메뉴메뉴메뉴메뉴

easyDSP의 통신을 멈춥니다. 이 메뉴는 'Resume Communication'메뉴와 토글됩니다.

Communication Status Communication Status Communication Status Communication Status 메뉴메뉴메뉴메뉴

현재 통신 상태(전송 실패율 등)을 표시합니다. 통신환경을 안정적으로 구축하여 성공률(success ratio)이 90% 이상이어야 작업상 무리가 없습니다.

Page 66 of 106

Page 67: EasyDSP Kor

Tools Tools Tools Tools 메뉴메뉴메뉴메뉴

몇 가지 도구들이 있습니다. 'Open Project Directory' : 현재 프로젝트 폴더를 엽니다. 'Editor': 프로젝트에서 설정된 에디터를 엽니다. 'Calculator' : 윈도우즈 계산기를 실행합니다. 'DOS Prompt' : DOS prompt 윈도우를 엽니다.

Page 67 of 106

Page 68: EasyDSP Kor

Window Window Window Window 메뉴메뉴메뉴메뉴

여러 윈도우들을 열고/닫고/배열하고/선택합니다.

Page 68 of 106

Page 69: EasyDSP Kor

Help Help Help Help 메뉴메뉴메뉴메뉴

'Help...' : 본 파일을 엽니다 'About easyDSP...' : 기본 정보를 표시합니다

Page 69 of 106

Page 70: EasyDSP Kor

Command Command Command Command 윈도우윈도우윈도우윈도우

커맨드윈도우는 DSP의 각종 변수의 값을 읽거나 쓰는 용도에 사용됩니다. 최대 2개까지 창을 열 수 있습니다. 커맨드윈도우 내에서 'help'라고 타이핑하고 엔터를 치면 명령의 각종 형식에 대해 표시됩니다. 각종 명령의 수행은 사용자가 해당 라인에서 엔터키를 누름으로써 수행됩니다.

도구바도구바도구바도구바(((( ))))

: 대화상자로부터 선택한 커맨드파일의 내용을 커맨드 윈도우로 복사합니다. 수행되는 내용은 없습니다. 이 명령어는 'r 파일'의 형식으로 타이핑하므로서도 지원됩니다.

: 대화상자로부터 선택한 커맨드파일을 수행합니다. 커맨드파일이란 커맨드 윈도우가 지원하는 명령을 모아둔 파일입니다. 사용자가 자주 사용하는 명령을 커맨드 파일로 작성한 후, 커맨드 파일을 수행함으로써 용이하게 사용할 수 있습니다. 또한 이 명령어는 'l 파일'의 형식으로 타이핑하므로서도 지원됩니다.

: 현재 커서가 위치한 라인을 업데이트합니다. 또는 블럭이 선택되어 있을 시 해당 블럭을 업데이트합니다. 이 기능은 마우스 오른쪽 버튼을 클릭하므로서도 지원됩니다.

: 현재 커서가 위치한 라인의 명령을 수행합니다. 또는 블럭이 선택되어 있을 시 해당 블럭을 수행합니다.

: 커맨드 윈도우의 현재 커서의 위치에 새로운 라인을 삽입합니다. 이 기능은 CTRL-Enter 키의 입력과 동일합니다.

: 전체 커맨드 윈도우의 내용을 수행합니다. 즉, 전체 커맨드 윈도우를 선택한 후, 버튼을 누르는 것과 동일합니다.

: 커맨드 윈도우의 내용을 파일로 저장합니다. 블럭이 선택되어 있을 시 블럭만을 저장할 수 있습니다. 이 기능은 커맨드파일을 생성할 때 유용합니다. 또는 현재 실험 상태를 저장할 때 유용합니다.

Page 70 of 106

Page 71: EasyDSP Kor

: 커맨드윈도우의 내용을 모두 삭제합니다. 이 기능은 'clear' 명령과 동일합니다.

지원되는 명령어지원되는 명령어지원되는 명령어지원되는 명령어

주의사항: 한 라인에서 수행될 수 있는 커맨드의 길이는 300을 넘지 말아야합니다. 모든 명령어는 소문자입니다.

진수 표시진수 표시진수 표시진수 표시

d var var변수를 십진수로 표시합니다(기본성질)

h var var변수를 16진수로 표시합니다

대입 및 표시대입 및 표시대입 및 표시대입 및 표시

var = var변수의 값을 표시합니다

&var = var변수의 번지값을 표시합니다

? var var변수의 성질(번지, 타입 등등)을 표시합니다

var = 숫자

var변수에 주어진 값을 대입합니다 16진수의 값일 경우 0x***, 2진수의 값일 경우 0b***의 형식을 지원합니다 또한 var변수가 실수일 경우, 다음과 같은 형식도 지원됩니다 3e-3, 23K, 23m, 0.34p

var1 = &var2var1변수의 값을 var2변수의 번지로 대입합니다 이때 var1변수는 정수형이어야 합니다

var = <수식>var변수의 값을 <>안의 수식의 연산결과값으로 대입합니다 수식의 예는 다음과 같습니다 <e^pi-pi^e>, <1/ln(x)/x>, <exp(-1/pow(x/100,2))>

var = 숫자Qnvar가 16비트 정수일 경우에는 n=1-15, 32비트 정수일 때에는 n=1-31. Q포맷에 따라 처리됨 cf) 2x계열의 DSP에서만 지원함

var = 숫자Qvar변수에 Q포맷이 미리 설정되어 있는 경우, 해당 Q포맷에 따라 처리됨. 즉, var변수가 Q12일 경우, var=3.14Q 는 var=3.14Q12 와 같음 cf) 2x계열의 DSP에서만 지원함

var = <수식>Qn 또는 var = <수식>Q<>안의 수식이 자동계산되어 숫자Qn, 숫자Q 형식과 마찬가지로 처리됨 cf) 2x계열의 DSP에서만 지원함

기타기타기타기타

clear 커맨드 윈도우의 모든 내용을 삭제합니다

// 한 라인 중 '//' 이후의 문장은 주석으로 처리합니다

help 커맨드 윈도우 내에서 사용되는 명령어를 설명합니다

l 커맨드파일

커맨드 파일을 수행(load)합니다. 즉, 커맨드파일의 내용을 line to line으로 실행합니다.

r 커맨드파일

커맨드파일의 내용을 커맨드윈도우에 복사할 뿐, 수행되는 것은 없습니다.

skip 커맨드 파일을 수행할 시, 커맨드 파일내의 skip명령 뒤의 커맨드는 수행하지 않습니다.

Page 71 of 106

Page 72: EasyDSP Kor

디멘젼 기능 및 디멘젼 기능 및 디멘젼 기능 및 디멘젼 기능 및 Q Q Q Q 기능기능기능기능

오직 Watch윈도우에서만 실수형 변수에 디멘젼(dimmension) 기능을, 정수형 변수에 Q기능을 설정할 수 있습니다. 해당 변수를 리드/라이트할 시에는 동일한 원칙이 본 Command윈도우에서도 적용됩니다. 자세한 사항은 Watch윈도우를 참조하세요.

Page 72 of 106

Page 73: EasyDSP Kor

Watch Watch Watch Watch 윈도우윈도우윈도우윈도우

Watch 윈도우 내에서 DSP 프로그램내의 변수를 모니터링 하거나 변경할 수 있습니다. 최대 4개까지 창을 열 수 있습니다. 버튼의 기능은 다음과 같습니다.

모든 변수를 표시합니다

사용자가 등록한 변수만을 표시합니다

변수 등록

변수 삭제

변수 리스트를 로딩합니다.

현재 창의 변수들을 변수리스트로 저장합니다.

각 항에 대한 설명은 다음과 같습니다.

항목 기능

Name 변수 이름을 표시합니다.

Value

변수 값을 표시합니다. 사용자가 마우스 왼쪽 버튼을 클릭함으로써 또는 엔터키를 누름으로써 해당 변수의 값을 변경시킬 수 있습니다. 변수 변경시 <수식>형식을 사용하실 수 있습니다. 16진수 표시모드일 경우 0x**로 표시됩니다. 사용자가 마우스 오른쪽 버튼을 클릭함으로써 진수 모드를 토글시킬 수 있습니다 ( 10진수 => 16진수 => 10진수....). 또한, 사용자가 특별한 디멘젼을 등록한 경우, 100u, 1K...등으로 표시됩니다.

Type 변수의 형태가 표시됩니다. 십진수 표시/16진수 표시.

Address 변수의 번지가 표시됩니다.

변수의 표시 디멘젼이 표시됩니다. 사용자가 마우스 왼쪽 버튼을 클릭함으로써 디멘젼의 값을 변경할 수 있습니다. 디멘젼 기능은 실수형 변수에만 적용됩니다. 디멘젼은 변수 읽기 뿐 아니라 변수값 쓰기 시에도 사용할 수 있습니다.

디멘젼 의미

p pico = 10-12

n nano = 10-9

u mili = 10-6

m pico = 10-3

Page 73 of 106

Page 74: EasyDSP Kor

Dimension

Q 형식 형식 형식 형식 ((((2x 2x 2x 2x 계열계열계열계열))))

2x계열의 DSP에 한해서, 정수형 변수에는 Q기능이 제공됩니다. 16비트 정수형 변수에는 Q0부터 Q15까지를, 32비트 정수형 변수에는 Q0부터 Q30까지를 설정할 수 있습니다. Q설정된 변수의 리드/라이트시 아래 문법을 사용해야 합니다. 즉즉즉즉, , , , QnQnQnQn형식이 지정된 정수형은 마치 실수형처럼 읽고 쓸 수 있습니다형식이 지정된 정수형은 마치 실수형처럼 읽고 쓸 수 있습니다형식이 지정된 정수형은 마치 실수형처럼 읽고 쓸 수 있습니다형식이 지정된 정수형은 마치 실수형처럼 읽고 쓸 수 있습니다. . . . P lotP lotP lotP lot윈도우에서도 윈도우에서도 윈도우에서도 윈도우에서도 QnQnQnQn형식형식형식형식이 지정된 정수는 마치 실수처럼 표시합니다이 지정된 정수는 마치 실수처럼 표시합니다이 지정된 정수는 마치 실수처럼 표시합니다이 지정된 정수는 마치 실수처럼 표시합니다....

- 변수 리드시 Q변환된 변수의 실수값 뒤에 Qn을 붙여서 표시합니다. 예를 들어 정수형 변수 var1 이 Q15로 설정되어 있을 경우, '3.14Q15'로 표기됩니다. 이는 해당 변수가 Q15로 설정되어 있다는 것을 환기시키기 위한 것입니다. 디폴트인 Q0에 대해서는 변수값 뒤에 Q0을 붙이지 않으며, 당연히 정수형으로 변수값을 표시합니다.

- 변수 라이트시 Q0(디폴트)로 설정된 변수(정수형)는 , 하기의 2가지 형식의 값으로 라이트 할 수 있다. 쓰기 형식 1: var1 = 314, 당연히 314로 라이트 됨. 쓰기 형식 2: var1 = 3.14Qn : 실수형 3.14를 Qn형으로 변환해서 라이트됨 Qn(n=1-31)으로 설정된 변수는 하기 2가지 형식으로 라이트 할 수 있다 쓰기 형식 1: var1 = 3.14Qn : 실수형 3.14를 Qn형으로 변환해서 라이트됨. 주의해야 할 것은 변수자체는 Q15로 설정되어 있다 하더라도 var1 = 3.14Q14로 라이트하면, 3.14Q14로 라이트된다. 쓰기 형식 2: var1 = 3.14Q : Q뒤에 n이 없으면 설정된 Qn값으로 라이트됨. 쓰기 형식 3: var1 = <cos(pi/3)>Q31 : <>안의 수식이 0.5이므로 0.5Q31과 동일하게 처리됨.

K Kilo = 103

M Mega = 106

G Giga = 109

Page 74 of 106

Page 75: EasyDSP Kor

Plot Plot Plot Plot 윈도우윈도우윈도우윈도우

Plot창에서는 등록된 변수 값을 실시간 그래프로 표시합니다. 2x DSP사용시 Qn형식이 지정된 정수형은 마치 실수형처럼 표시합니다. (즉, Q31이 지정된 32비트 정수형 변수는 +1/-1사이의 실수형으로 Plot창에 그려집니다)

: 표시될 변수를 등록합니다. 'Set'버튼을 누르면 다음과 같은 대화상자가 표시되면서 변수이름, 표시 범위의 최소/최대값, 변수범위를 자동으로 업데이트할 것인지 등을 설정할 수 있습니다. Plot 윈도우 하나당 최대 4개의 변수 값을 표시할 수 있습니다. plot 윈도우는 한 개의 샘플링 데이타를 모니터상의 한 개의 pixel에 표시합니다. 샘플링시간(최소 10msec)을 설정할 수 있습니다. 설정된 시간 간격으로 등록된 변수를 읽어서 그래프로 표시합니다. '# of data storage'에 샘플링된 값을 저장할 PC내 메모리의 크기를 설정합니다. 결국 'sampling period' x '# of data storage'의 시간 동안 변수 값이 PC내 메모리에 저장됩니다. 저장된 데이타를 텍스트파일로 변환할 수 있습니다. 설정된 환경은 'Save'/'Load'버튼을 통해 저장/로딩할 수 있습니다.

참고 사항) 윈도우즈의 시스템 타이머 최소 정밀도는 아래와 같습니다. 따라서 실제적인 샘플링 시간은 설정된 값과 다를 수 있습니다.

Windows NT 3.5 및 이후 약 10msec

Windows NT 3.1 약 16msec

Windows 95/Me 약 55msec

Page 75 of 106

Page 76: EasyDSP Kor

: 그래프를 잠시 멈춥니다.

: 멈춰진 그래프를 다시 진행시킵니다.

: bmp 파일로 저장합니다.

: 각 변수의 데이타를 텍스트파일로 저장합니다. 각 데이타는 Tab으로 구분되어 있으며 엑셀로도 열 수 있습니다. 변수 값과 읽은 시간을 같이 저장합니다. 시간의 단위는 msec입니다.

Page 76 of 106

Page 77: EasyDSP Kor

MemGraph MemGraph MemGraph MemGraph 윈도우윈도우윈도우윈도우

MemGraph 창은 사용자가 DSP내의 메모리 공간에 일정 공간을 마련해 놓고, 이 공간에 필요한 데이타를 저장한 후, 나중에 이를 정밀 관찰하기에 유용합니다. 사용자 시스템의 메모리가 충분하다면, 동작 중에 관찰이 필요한 변수를 메모리에 연속적으로 저장해 놓은 후, 이를 나중에 볼 수 있습니다. 이는 오실로스코프, 또는 DA 컨버터의 역할을 대신하는 것입니다. MemGraph창에서는 해당 데이타에 대한 쓰기 및 변경 기능은 제공하지 않습니다. 2x DSP사용시 Qn형식이 지정된 정수형은 마치 실수형처럼 표시합니다. (즉, Q31이 지정된 32비트 정수형 변수는 +1/-1사이의 실수형으로 Plot창에 그려집니다)

: 표시될 변수를 등록합니다. 'Set'버튼을 누르면 다음과 같은 대화상자가 표시되면서 배열형식의 변수이름, 데이타 갯수를 설정할 수 있습니다. 윈도우 하나당 최대 4개가 설정가능합니다. Auto Scaling을 설정하면 변수값의 범위를 자동 계산하여 적절하게 표시됩니다. 샘플링시간(최소 1000msec)을 설정할 수 있습니다. 설정된 시간 간격으로 등록된 배열형식 변수의 번지부터 등록된 데이타 갯수를 읽어서 그래프로 표시합니다.

Page 77 of 106

Page 78: EasyDSP Kor

: 그래프를 업데이트 합니다. 일회성입니다. 사용하는 데이타의 수가 매우 큰 경우에는 이를 샘플링간격마다 읽어서 표시하는 것은 안 좋습니다. 이 경우에는 본 툴바를 사용해서 필요시에만 업데이트해서 보는 것이 유용합니다.

: 그래프를 잠시 멈춥니다.

: 멈춰진 그래프를 다시 진행시킵니다.

: 화면 보이는대로 bmp 파일로 저장합니다.

: 각 변수의 데이타를 텍스트파일로 저장합니다. 각 데이타는 Tab으로 구분되어 있으며 엑셀로도 열 수 있습니다.

유용한 기능들유용한 기능들유용한 기능들유용한 기능들

---- PanningPanningPanningPanning Shift키를 누르고 있는 상태에서 화면을 드래그하면 Panning기능이 제공됩니다.

기타로 여러 기능이 있으며, 관련된 사항은 마우스 오른쪽 버튼을 클릭하여 아래의 메뉴창에서 설정 가능합니다.

Page 78 of 106

Page 79: EasyDSP Kor

---- Point marksPoint marksPoint marksPoint marks 본 기능을 활성화하면 화면상에 각 데이타를 네모난 상자로 표시합니다. Zooming기능으로 데이타를 자세하게 관찰할 때 유용합니다.

---- Sca tte r graphScatte r graphScatte r graphScatte r graph 각 데이타간에 선을 이어주지 않게 됩니다. 본 기능 사용시 반드시 Point marks를 같이 활성화해야 합니다. 그러지않으면 화면상에서 아무것도 표시되지 않습니다.

---- Trace mous e coordina tesTrace mous e coordina tesTrace mous e coordina tesTrace mous e coordina tes 마우스 포인터가 지적하고 있는 부분의 값을 표시해줍니다.

---- Ax isAx isAx isAx is 화면상에 축을 표시/미표시합니다. 아래그림은 Axis를 활성화하지 않았을 경우입니다.

Page 79 of 106

Page 80: EasyDSP Kor

---- ZoomZoomZoomZoom Zooming 툴을 활성화/비활성화합니다. 기본적으로 Zooming툴은 활성화되어 있으며 사용자가 마우스 왼쪽 버튼을 드래그함으로서 Zooming영역을 결정할 수 있습니다. 또한 결정된 Zooming영역은 마우스왼쪽버튼을 드래그함으로써 이동될 수 있으며, Zooming영역의 가장자지 네모박스를 드래그함으로써 확장/축소될 수 있습니다.

---- FitFitFitFit Zooming된 상태에서 화면을 다시 원래 범위로 돌릴 때 사용합니다. ---- P roper tiesProper tiesProper tiesProper ties sets various properties. ---- ViewViewViewView 데이타값을 표시하고 있는 리스트를 활성화할지를 결정합니다.

Page 80 of 106

Page 81: EasyDSP Kor

Memory Memory Memory Memory 윈도우윈도우윈도우윈도우

메모리창에서 DSP메모리의 내용을 번지별로 모니터링 또는 변경합니다.

시작 번지는 16진수 값이나 '&변수' 로 설정할 수 있습니다. 리스트의 첫번째 열은 해당 번지가 표시됩니다. 나머지 열은 해당 번지의 데이타 값을 여러 형식으로 표현해 줍니다. 만약 해당 번지의 데이타 값을 변경하고 싶을 시에는 원하는 형식의 값이 표시되는 항목에 마우스 커서를 놓은 후 마우스 왼쪽 버튼을 클릭합니다.

Page 81 of 106

Page 82: EasyDSP Kor

Array Array Array Array 윈도우윈도우윈도우윈도우

본 창에서는 1차원 또는 2차원 배열변수를 격자(Grid)구조로 표시합니다. 본 창에서 지원하는 배열 변수는 기본형식을 가지고 있어야 합니다. 구조체 등의 배열 변수는 Tree창에서 처리하세요. 마우스 왼쪽 버튼을 누름으로써 배열 내 특정 위치의 값을 변경할 수 있습니다. 해당 열 또는 항이 표시되는 곳을 클릭하면 해당 열, 또는 항이 모두 선택됩니다. 또한 변수 이름을 클릭하면 모든 내용이 선택됩니다. 이 선택된 내용을 Copy-Paste하여 사용할 수 있습니다. 특히 데이타 내용을 Excel로 Copy-Paste하여 유용하게 사용할 수 있습니다.

Page 82 of 106

Page 83: EasyDSP Kor

Tree Tree Tree Tree 윈도우윈도우윈도우윈도우

Tree창에서는 배열, 구조체 변수의 값을 트리 구조로 표시합니다. 해당 변수 값을 마우스 왼쪽 버튼을 누름으로써 또는 엔터키를 누름으로써 변경할 수 있습니다.

Page 83 of 106

Page 84: EasyDSP Kor

Register Register Register Register 윈도우윈도우윈도우윈도우

DSP 종류에 따른 각종 레지스터의 값을 감시 또는 변경할 수 있습니다. 변경 시에는 16161616진수진수진수진수를 사용해 주십시요.

28x의 경우, EALLOW로 보호된 레지스터에 대해서는 쓰기 기능이 효과가 없습니다. 하기 레지스터가 해당됩니다. Device Emulation Registers Flash Registers CSM Registers PIE Vector Table System Control Registers GPIO MUX Registers Certain eCAN Registers

Page 84 of 106

Page 85: EasyDSP Kor

자주 묻는 질문들자주 묻는 질문들자주 묻는 질문들자주 묻는 질문들

Q: easyDSP의 변수 읽기의 신뢰성은? A: easyDSP가 변수 또는 메모리의 값을 읽을 시에 읽은 값의 정확성 여부를 체크섬 방식으로 확인합니다. 체크섬 결과 에러 발생시에는 재시도를 하여 표시합니다. 재시도시 체크섬 체크의 성공 여부에 상관없이 값을 표시하기 때문에, 읽은 값의 정확성은 100% 보장되지 않습니다.

Q: easyDSP의 변수 쓰기의 신뢰성은? 변수/메모리의 쓰기의 경우 easyDSP-3x와 easyDSP-28x에 따라 다릅니다. easyDSP-3x는 쓰기 전에 그 값을 DSP간에 상호 100% 교환하며 확인하기 때문에 신뢰할 수 있습니다. 하지만 easyDSP-28x의 경우에는 쓰기 전에 그 값을 2바이트 체크섬 형식으로 확인합니다. 따라서 매우 적은 확률로 잘못된 값이 쓰여질 수 있습니다.

Q: easyDSP가 통신 실패시 표시하는 변수값은? A: 노이즈에 의한 통신의 불안정 또는 시리얼 통신에 할당된 시간 리소스가 매우 적음에 따른 통신 시퀀스의 불안 등이 통신 실패의 원인인 경우에는 무작위의 값이 표시될 것입니다. 만약 DSP보드에 파워가 공급되지 않을 경우에는 16진수로 0xFFFFFFFF 또는 0x00000000가 표시됩니다.

Q: 시리얼 부팅 이후 통신이 일단은 동작하는데 이후 곧 통신이 되질 않는다. A: easyDSP는 DSP의 시리얼 인터럽트를 이용하여 통신합니다. 만약 프로그램 동작 중 DSP의 처리부분이 급증하여 시리얼 인터럽트 루틴의 동작 시간이 보장되지 않을 경우 통신은 멈추게 됩니다.

Q: 플래쉬롬 라이팅은 믿을 만 한가? A: 'Write' 버튼을 클릭함으로써는 플래쉬 롬에 정확한 값이 라이트 된 것인지는 확인할 수 없습니다. 따라서 반드시 'Write'후에 'Verify'버튼을 클릭해주세요.

Q: easyDSP가 ROM에 미리 구워 넣는 모니터 프로그램과 같은 것인지? A : 롬과는 전혀 상관없습니다. Q: 컴파일이나 링크도 모두 easyDSP내에서 하는지? A: 아닙니다. 상기 동작은 TI에서 제공하는 컴파일러를 사용하세요. Q : easyDSP에서 직접 변수를 관측하는데 관측할 수 있는 용량은 얼마인지? A : PC의 속도/메모리가 허용하는 한 무한대입니다. Q : 실시간으로 변수를 관측하는지 아니면 RAM에 DATA를 저장했다가 DSP를 세워놓고 저장했던 변수를 보는지? A : 실시간입니다. 이점이 기타 디버거에 대해 easyDSP가 경쟁력을 가질 수 있는 부분입니다. 달리 말하면, 기타 디버거와 easyDSP는 사용분야가 틀린 셈이죠. 즉, 디버거는 보드 개발 쪽으로...easyDSP는 모니터링을 통한 프로그램 개발 쪽으로.

Page 85 of 106

Page 86: EasyDSP Kor

2x 2x 2x 2x 사용시 사용시 사용시 사용시 자주 묻는 질문들자주 묻는 질문들자주 묻는 질문들자주 묻는 질문들

Q: easyDSP의 변수 읽기/쓰기의 신뢰성은? A: easyDSP가 변수 또는 메모리의 값을 읽을 시에 읽은 값의 정확성 여부를 체크섬 방식으로 확인합니다. 체크섬 결과 에러 발생시에는 재시도를 하여 표시합니다. 따라서 읽은 값의 정확성은 100% 보장되지 않습니다. 재시도시 에러여부에 상관없이 값을 표시하기 때문입니다. 변수/메모리의 쓰기의 경우 easyDSP-3x와 easyDSP-28x에 따라 다릅니다. easyDSP-3x는 쓰기 전에 그 값을 DSP간에 상호 100% 교환하며 확인하기 때문에 쓰기의 경우 100% 신뢰할 수 있습니다. 하지만 easyDSP-28x의 경우에는 쓰기 전에 그 값을 2바이트 체크섬 형식으로 확인합니다. 따라서 매우 적은 확률로 잘못된 값이 쓰여질 수 있습니다.

Page 86 of 106

Page 87: EasyDSP Kor

3x 3x 3x 3x 사용시 사용시 사용시 사용시 자주 묻는 질문들자주 묻는 질문들자주 묻는 질문들자주 묻는 질문들

Q: easyDSP-3x 병렬포트를 사용하는 pod는 Windows XP에서 동작하지 않는가? A: easyDSP-3x중 병렬포트를 사용하는 것은 Windows XP에서 동작하지 않을 수 있습니다. 이는 마더보드의 칩셋에 관련되어 있는 문제이며, 대부분(95%)의 경우에는 문제없이 동작됩니다. 나머지 5%의 경우는 죄송하오며, USB포트를 사용하는 버전을 사용하시기를 권장 드립니다.

Q: easyDSP-3x는 하드웨어 리셋을 왜 지원하지 않는가? A: 죄송합니다.

Q: 시리얼 부팅은 되는데 이후 통신이 안된다. 왜? A: 하기 네 가지 경우 중 하나 또는 복합적인 요인입니다. 이유1 - DSP프로그램에서 easyDSP와의 통신 처리 부분(시리얼 인터럽트 루틴)이 잘못되어 있는 경우입니다. 시리얼 인터럽트 루틴이 잘못 설정되어도 COFF파일로 일단 부팅은 가능합니다만 이후 통신이 되지 않습니다. easyDSP와의 통신을 위한 DSP프로그래밍은 본 도움말의 'Usage - DSP Programming'항목을 참조하세요. 이유2 - 만약 DSP프로그래밍이 적절한데도 통신이 안된 다면, 통신 케이블 중 DSP의 DX(#3 of easyDSP pod)에 해당하는 라인의 접촉이 불량한 경우입니다. 시리얼 부팅시에는 DSP의 DX신호는 사용되지 않기 때문에 DX신호의 접촉 불량은 시리얼 부팅에는 영향을 미치지 않습니다. 이유3 - DSP가 동작하기 시작함에 따라 시스템 전반의 노이즈가 대폭 증가하게 되는 경우. 이유4 - DSP보드와 easyDSP보드간 거리가 길 때. 또한 DSP의 CLKR/X, FSR/X 핀이 DSP보드내에서 쇼트되어 있지 않을 때.

Q : TMS320C32용 프로그램의 링크후 출력 파일인 coff 파일(*.out)을 사용하여 easyDSP 프로젝트를 새로 만들시에 프로젝트 대화상자에서 DSP Type으로 "TMS320C32"을 설정하였다. 그런데 "COFF file does not agree with your DSP!"라는 에러메시지가 표시된 후 프로젝트가 생성되지 않는다. A : 사용된 coff파일은 TMS320C31용으로 컴파일 된 것입니다. TMS320C32는 TMS320C31의 일부기능을 제거한 DSP이기에 이 기능이 사용되지 않은 31용 프로그램은 32에서도 사용될 수 있는 것입니다. 이 경우, 사용자 프로그램을 32용으로 명확히 설정, 재 컴파일한 coff파일을 사용하십시요. Q : 시리얼 부팅을 하고자 하는데 "Your COFF file has copy section! easyDSP can't boot with COFF file! Recommend to use HEX file!"이라는 메시지가 발생된다. A : 링크시에 사용되는 옵션중에 -cr 옵션을 사용한 경우입니다. 꼭 -cr 옵션을 사용해야만 하는 이유가 없다면 -cr옵션대신 -c옵션을 사용하세요. Q: DSP USER’S GUIDE에 보면 INT3를 GROUND처리해야 시리얼 부팅이 된다고 나오는데 INT3 단자는 어떻게 해야 되는 지? A : DSP가 시리얼부팅하기 위해서는 DSP 리셋 당시에 INT3번이 Low가 되어야 합니다. INT3 을 외부 인터럽트의 소스로 사용하시고자 한다면, 리셋시에만 잠시 INT3을 강제로 Low로 해주는 별도의 회로가 필요하겠죠. INT3을 외부 인터럽트의 소스로 사용할 경우가 없다면 항상 Low로 고정시키는 것이 편하겠습니다. easyDSP보드가 DSP보드에 장착되었는 지를 판별하여 적절히 시리얼/롬 부팅을 선택하고 싶으신 경우, Key의 2개(2번, 10번)의 그라운드중 하나를 이 목적으로 사용하실 수 있습니다. 이 두 핀은 easyDSP의 key안에서 서로 연결(short)되어 있는데, DSP보드 쪽에서 10번은 그라운드로 연결하고 2번핀을 easyDSP보드의 삽입 여부를 판단하는데 사용하시면 됩니다.

Page 87 of 106

Page 88: EasyDSP Kor

플래쉬롬 사용 팁 플래쉬롬 사용 팁 플래쉬롬 사용 팁 플래쉬롬 사용 팁 ((((3x 3x 3x 3x 계열계열계열계열) ) ) )

프로그램 사이즈가 작을 때에는 필요없지만, 프로그램 사이즈가 클 경우에는 아래 팁이 라이팅 시간을 줄여줄 수 있습니다.

1. 널(null) 프로그램으로 부팅한 후, 대상 프로그램을 굽기 대상 프로그램이 복잡하여 수행시 DSP의 리소스를 많이 차지할 경우입니다. 만약 매우 간단한 null프로그램(easyDSP용 시리얼 루틴 및 기타 기본 골격만을 포함)을 만들어서 이를 통해 일단 DSP를 부팅시킨 후, 대상 프로그램을 선택하여 구우면 됩니다(하기 그림의 대화상자에서 'Find...'버튼을 사용). 이 경우 플래쉬롬 라이팅이 매우 안정적 & 신속하게 이루어질 수 있습니다. 플래쉬 롬을 구울 시에는 통신이 매우 안정적이어야 합니다. 즉, 'DSP>Communication Stats'메뉴의 read/write success ratio 가 100%인 상태를 만들어 주십시요.

2. Skip checking 일반적인 플래쉬롬의 라이팅 시간은 200nsec이하로 매우 빠릅니다. 따라서 플래쉬를 구울 시 일일이 bit toggling 기법을 사용하여 바이트단위로 라이팅이 되었는지를 확인한다면 괜한 시간만 더 걸리게 됩니다. 이 경우 'Skip checking when writing flashrom' 기능을 사용하십시오.

Page 88 of 106

Page 89: EasyDSP Kor

DADADADA컨버터 사용팁컨버터 사용팁컨버터 사용팁컨버터 사용팁

DSP보드내에 DA컨버터가 있을 경우, 사용자는 DSP프로그램의 변수값을 DA컨버터를 통해 출력함으로써 오실로스코프와 같은 계측기로 관찰할 수 있습니다. easyDSP를 사용하므로써 DA컨버터의 출력 내용(즉, 변수)을 온라인으로 용이하게 변경하는 방법을 설명합니다.

Step 1 : da.hStep 1 : da.hStep 1 : da.hStep 1 : da.h파일의 수정파일의 수정파일의 수정파일의 수정

easyDSP는 DA컨버터의 제어를 위해 2개의 DSP 프로그램 파일(da.c, da.h)을 제공합니다. 우선 da.h를 살펴보면 다음과 같습니다.

// File name : da.c // function : DA output control // variable explanation(#=1,2,3,4) // da# : address of variable // da#_type = 0 ; the variable is float // = 1 ; the variable is integer // da#_mid : mid value // da#_rng : da scale // use this routine in EasyDSP as below // da1=&var_float // da1_type=0 // da1_mid=0. // da1_rng=20 // da2 = &var_int // da2_type = 1 // da2_mid= 0. // da2_rng = 20 #ifndef _DA_EasyDSP #define _DA_EasyDSP // you should specify the da address of your own #define DA1_ADDR (*(int *)0X03C000e) #define DA2_ADDR (*(int *)0X03C000d) #define DA3_ADDR (*(int *)0X03C000b) #define DA4_ADDR (*(int *)0X03C0007) #define extern unsigned int da1, da2, da3, da4, da1_type, da2_type, da3_type, da4_type; extern float da1_rng, da1_val, da1_mid; extern float da2_rng, da2_val, da2_mid; extern float da3_rng, da3_val, da3_mid; extern float da4_rng, da4_val, da4_mid; // 12 bit DA #define DA12(num) \ da##num##_val = (da##num##_type == 0 ? *(float *)da##num : (float)(*(int *)da##num)) ; \ DA##num##_ADDR = (int)((da##num##_val-da##num##_mid )* 0x7ff/da##num##_rng) + 0x800 ; // 8 bit DA #define DA8(num) \ da##num##_val = (da##num##_type == 0 ? *(float *)da##num : (float)(*(int *)da##num)) ; \ DA##num##_ADDR = (int)((da##num##_val-da##num##_mid )*0x7f/da##num##_rng) + 0x80 ; #endif

Page 89 of 106

Page 90: EasyDSP Kor

우선 DA#_ADDR 정의 구문에서 당신의 DSP보드의 DA 번지를 설정하십시요(#=1,2,3,4). 그 후, 당신의 DA컨버터에 따라 적절한 DA출력용 매크로 함수를 정의합니다. 위 코드에서는 8bit 또는 12bit 양방향(+/-) DA컨버터의 예제를 표시합니다. 각 변수는 da.c파일에 정의되어 있으며 그 의미를 살펴보면 다음과 같습니다. da# = DA 채널 #의 값. 즉, DA출력을 하고자하는 변수의 번지 da#_type = da#에서 번지값이 설정된 변수의 타입. 정수일 경우 1, 실수일 경우 0 da#_rng = 표시값의 범위 da#_mid = 표시값의 중간값 da#_val = 채널#에 라이트할 값

Step 2 : DSPStep 2 : DSPStep 2 : DSPStep 2 : DSP프로그램 수정프로그램 수정프로그램 수정프로그램 수정

우선 da.c의 컴파일한 파일인 da.obj를 linker에 추가하여 DSP프로그램을 생성합니다. 그 후, DA출력을 원하는 파일의 첫부분에 da.h를 include한 후, DA출력을 원하는 위치에 다음과 같이 da.h에서 정의된 DA출력용 매크로 함수를 적습니다.

Step 3 : easyDSP Step 3 : easyDSP Step 3 : easyDSP Step 3 : easyDSP 사용사용사용사용

EasyDSP내의 커맨드 윈도우내에서 다음과 같은 형식으로 DA출력을 제어할 수 있습니다.

da1=&var_float da1_type=0000 da1_mid=0 da1_rng=20 da2 = &var_int da2_type = 1111 da2_mid= 0 da2_rng = 20

주의점 : DA출력을 위한 매크로중 나누기 연산은 수행시간을 저하시킵니다. 따라서 고속의 DA출력을 원할 경우, 나누기 연산 부분을 적절한 곱셈으로 대치하여 사용하세요.

#include "da.h"

..........

DA12(1); DA12(2); DA12(3); DA12(4); .......

Page 90 of 106

Page 91: EasyDSP Kor

기타 팁기타 팁기타 팁기타 팁

* * * * 커맨드실행 없이 한 줄 삽입커맨드실행 없이 한 줄 삽입커맨드실행 없이 한 줄 삽입커맨드실행 없이 한 줄 삽입 커맨드 창에서의 엔터키 입력은 해당라인의 커맨드를 실행하게 합니다. 커맨드 실행 없이 단순히 한 줄을 삽입하고 싶을 시에는 컨

트롤 키와 엔터키를 동시에 누르세요. 이것은 또한 버튼을 클릭하는 것과 동일합니다.

* * * * 변수 값 확인변수 값 확인변수 값 확인변수 값 확인 변수 값을 바꾼 후 실제 변수 값을 확인하고 싶으면, 해당 라인에 커서를 위치시킨 후 마우스 오른쪽 버튼을 클릭하십시오. 마우스

오른쪽 버튼은 'update' 버튼과 동일한 기능이므로, 커맨드 윈도우의 내용을 블럭으로 선택한 후 사용할 수도 있습니다.

* * * * 프로젝트의 수동 복구프로젝트의 수동 복구프로젝트의 수동 복구프로젝트의 수동 복구 easyDSP는 프로젝트 환경 저장을 위해 몇 가지 파일들을 프로젝트 작업 디렉토리 아래에 생성합니다. 이들은 다음과 같습니다. *.ezd : 프로젝트 변수 저장 *.var : 변수 정보 저장 *.cfg : 기타 정보 저장 이들 파일은 변경시 이전 내용을 *.ez~, *.va~, *.cf~의 변경된 확장자로 저장합니다. 따라서 프로젝트 파일에 오류가 발생한 경우, 이들 파일들을 다시 rename하면 프로젝트를 복구하실 수 있습니다.

* * * * 플래쉬 롬에 프로그램 및 환경변수 저장플래쉬 롬에 프로그램 및 환경변수 저장플래쉬 롬에 프로그램 및 환경변수 저장플래쉬 롬에 프로그램 및 환경변수 저장 플래쉬 롬의 마지막 섹터는 프로그램의 환경변수 저장용으로, 나머지 섹터는 DSP프로그램 자체로 사용하는 것이 편리합니다. 이 경우 Sector Erase기능을 사용하여 선택적으로 플래쉬 롬을 지운 후, 프로그램코드만을 필요한 섹터에 다시 쓰실 수 있습니다.

Page 91 of 106

Page 92: EasyDSP Kor

드드드드라이버 설치라이버 설치라이버 설치라이버 설치

드라이버 설치 방법은 윈도우즈 OS에 따라 다음과 같이 크게 구분됩니다.

윈도우즈 OS 종류 드라이버 설치 방법

Windows 7

Windows Vist a

Windows XP

Windows 2000

별도의 설치과정 없이 easyDSP 사용전, easyDSP 실행 폴더의 'Driver' 폴더 안에 있는

CDM20802_Setup.exe를 실행합니다.

easyDSP를 PC에 연결하지 않은 상태에서 진행하십시오.

자세한 과정은 Windows Vist a의 경우를 참조 하십시오. 기타의 OS에서도 유사한 과정이 사용

됩니다.

드라이버 설치시 문제가 발생한 경우에는 아래 FTDI 사의 자료를 참조하십시요.

Windows 7 Inst allat ion Guide Windows Vist a Inst allat ion Guide Windows XP Inst allat ion Guide Windows 2000 Inst allat ion Guide

Windows 98

Windows ME Windows 98/Me의 경우는 이곳을 참조하십시오.

Page 92 of 106

Page 93: EasyDSP Kor

Windows Vista에서 에서 에서 에서 Driver 설치 방법설치 방법설치 방법설치 방법

디바이스 드라이버를 설치하기에 앞서 먼저 easyDSP용 USB POD와 USB cable 및 제공된 Device Driver가 있는지 확인하시길 바랍니다.

1) PC에 easyDSP를 연결하지 마시고, 제일 먼저 easyDSP 배포파일 중에 'Driver' 폴더 안에 있는 CDM20802_Setup.exe를 실행합니다.

그럼 아래와 같은 커맨드창이 뜨면서 해당 드라이버를 자동 인스톨 합니다.

2) 이후 easyDSP를 PC에 연결하시면, 아래와 같이 트레이 창에 풍선 창이 나오게 됩니다.

약간 시간이 지나면, 풍선 창이 바뀌게 됩니다.

본 풍선 창을 클릭하면 아래와 같습니다.

이제 easyDSP용 드라이버가 다 설치된 것입니다. 이후 사용 가능합니다.

3) 만약 상기 1)번의 과정을 거치지 않고 easyDSP를 PC에 연결하면 아래와 같은 창이 2번 뜨게 됩니다.  취소를 선택하시고 1)번 부터 차

Page 93 of 106

Page 94: EasyDSP Kor

3) 1) easyDSP PC 2 .  1)

근차근 진행하세요.

4) 드라이버를 제거하실 경우, 먼저 easyDSP가 PC에 연결되어 있는지 확인해 주십시오. 꼭 easyDSP가 PC에 연결되어 있어야 합니다.

“제어판 > 장치관리자 > 범용 직렬 버스 컨트롤러 > USB Srial converter A ”를 선택/실행해 주십시오.

Page 94 of 106

Page 95: EasyDSP Kor

이후 '드라이버' 탭에서 '제거' 버튼 클릭 하세요.

'이 장치의 드라이버 소프트웨어를 삭제합니다' 를 체크하고 '확인'버튼을 클릭합니다.

Page 95 of 106

Page 96: EasyDSP Kor

이후 장치관리자가 업데이트 되고나면,  마찬가지로 'USB Serial Converter B'에 대해서 동일하게 진행하여 주십시오.

Page 96 of 106

Page 97: EasyDSP Kor

이제 드라이버가 삭제되었으며, 다시 업데이트된 장치관리자에서는 보이지 않게 됩니다.

Page 97 of 106

Page 98: EasyDSP Kor

Page 98 of 106

Page 99: EasyDSP Kor

Windows 98(Me)Windows 98(Me)Windows 98(Me)Windows 98(Me)에서 에서 에서 에서 Driver Driver Driver Driver 설치 방법설치 방법설치 방법설치 방법

본 설치 방법은 기본적으로 Windows Me에도 동일하게 적용됩니다. 디바이스 드라이버를 설치하기에 앞서 먼저 easyDSP용 USB POD와 USB cable 및 제공된 Device Driver가 있는지 확인하시길 바랍니다.

1) easyDSP내에 사용된 USB chip은 composite device로서 Microsoft composite device driver가 우선적으로 장착되어야만 합니다. Windows 98에서는 이것이 자동적으로 이루어지지 않습니다. 따라서 '새 하드웨어 추가 마법사'가 활성화되어 composite device driver를 인스톨하기 위한 작업을 시작합니다. 이후 아래 그림과 같이 진행해주세요.

아래 그림에서 '검색할 위치 지정'만 선택하고 나머지는 선택하지 말아 주십시오. 디렉토리는 아무거나 선택하셔도 됩니다. 보통 윈도우즈는 이미 설치되어 있는 composite driver를 찾아서 설치합니다. 만약 여러 개의 driver가 발견된다면 선택하도록 새로운 대화상자가 활성화됩니다. 이때는 최신의 것을 선택하여 주십시오. 만약 composite driver가 현재 없다면 'Windows Update 사이트'를 선택하시고 다운로딩 받아 설치하여 주세요.

Page 99 of 106

Page 100: EasyDSP Kor

Page 100 of 106

Page 101: EasyDSP Kor

2) 이제까지 작업으로 composite driver의 설치가 완료됨에 따라 '새 하드웨어 추가 마법사'가 easyDSP를 찾아서 설치작업에 들어갑니다. 아래 그림과 같이 진행해주세요.

Page 101 of 106

Page 102: EasyDSP Kor

제공된 드라이버가 있는 디렉터리를 선정, 진행해주세요.

‘다음’을 클릭하시면, 아래 그림과 같은 ‘디스크 삽입’ 대화상자가 열리면서 *.cat파일을 요구합니다. *.cat 파일은 driver가 Microsoft의 WHQL 인증을 받았다는 증명서입니다. easyDSP에 사용되는 드라이버는 WHQL인증을 받지 않았으므로(easyDSP의 동작에는 전혀 지장 없음), ‘파일 무시’ 버튼을 클릭하여 진행합니다.

Page 102 of 106

Page 103: EasyDSP Kor

이제 아래 그림과 같이 드라이버 설치가 완료됩니다.

easyDSP에 사용된 USB chip은 composite device로서 2개의 포트(Channel A 와 Channel B)로 구성되어 있습니다. Windows 2000에서는 두 번째 포트에 대한 드라이버가 자동적으로 설치됩니다. 이제 드라이버 설치가 완료되었습니다.

4) 정상적으로 디바이스 드라이버가 설치된 후 제어판>시스템>장치 관리자를 보시면 아래의 그림과 같이 나타납니다. 다음의 3개의 새로운 항목이 추가됩니다.

easyDSP Channel A

easyDSP Channel B

USB 복합 기기

5) 드라이버를 제거하실 경우, 먼저 easyDSP pod를 PC에서 제거한 후 “제어판/프로그램 설치/제거”를 실행해 주십시오. 아래 그림과 같이 “easyDSP Driver”라는 항목을 선택하십시오.

Page 103 of 106

Page 104: EasyDSP Kor

6) 드라이버 설치시 문제점에 대한 해결

---- Windows 98Windows 98Windows 98Windows 98이이이이 eas yDSPeas yDSPeas yDSPeas yDSP를 위한 드라이버를 찾지 못할 경우를 위한 드라이버를 찾지 못할 경우를 위한 드라이버를 찾지 못할 경우를 위한 드라이버를 찾지 못할 경우

설치 파일 중 INF파일이 손상된 경우입니다. 새로 INF파일을 다운받아 사용하십시오

---- 드라이버 설치 후 윈도우가 리부팅을 요구할 경우드라이버 설치 후 윈도우가 리부팅을 요구할 경우드라이버 설치 후 윈도우가 리부팅을 요구할 경우드라이버 설치 후 윈도우가 리부팅을 요구할 경우

드라이버를 설치하는 도중에, easyDSP 프로그램이 동작하는 경우입니다. 리부팅하지 마시고, easyDSP 프로그램을 종료하신 후, USB 케이블을 PC에서 뽑았다가 다시 연결하십시오.

---- 드라이버 설치가 실패되고드라이버 설치가 실패되고드라이버 설치가 실패되고드라이버 설치가 실패되고, , , , Windows 98Windows 98Windows 98Windows 98이 에러코드이 에러코드이 에러코드이 에러코드 10101010을 표시하는 경우을 표시하는 경우을 표시하는 경우을 표시하는 경우

에러코드 10은 하드웨어 에러를 의미합니다. 이는 보통 easyDSP pod가 충분한 파워를 USB포트로부터 공급받지 못할 경우에 발생됩니다. 심한 경우, USB 루트허브의 드라이버가 제대로 설치되지 못한 경우에도 발생됩니다.

Page 104 of 106

Page 105: EasyDSP Kor

2x2x2x2x용 용 용 용 PodPodPodPod구성 구성 구성 구성

* * * * easyDSPeasyDSPeasyDSPeasyDSP----2x Pod 2x Pod 2x Pod 2x Pod 연결법연결법연결법연결법

easyDSP-2x Pod의 신호선의 구성은 다음과 같습니다. DSP측 SCI를 이용하는 Pod 및 I2C를 이용하는 Pod에 따라 다릅니다. /Boot 신호는 시리얼부팅을 위한 리셋시에 /Reset신호와 같이 활성화되어, DSP가 부트모드를 SCI 또는 I2C모드로 선택할 수 있게 합니다. 반면에 easyDSP 의 'DSP'메뉴의 'Reset DSP'를 선택하여 DSP에 리셋을 거는 경우에는, /Reset신호만이 활성화됩니다.

주1) Open collector type 주2) No connection pins(#6,7,8)에는 아무런 연결도 하시면 안됩니다. 주3) Vcc로 5V사용이 가능하나 권장하지는 않습니다.

* * * * 노이즈 대책노이즈 대책노이즈 대책노이즈 대책

고압/고전류의 스위칭소자가 장착된 전력전자 기기를 DSP로 제어하다 보면, 스위칭 노이즈 때문에 easyDSP의 통신이 원활하지 않을 수 있습니다. 이 때는 페라이트 비드( 추천제품 : TDK사의 ZCAT2035-0930A-M-K )를 이용하여 USB케이블을 감아줍니다. 한번 감아서 개선이 없으면 여러번 감습니다. 될 때까지!!! 아래 그림을 참조하세요.

Pin 번호 SCI 통신하는 Pod I2C 통신하는 Pod

1 RX SCL (주1)

2 GND GND

3 TX SDA (주1)

4 VCC(3.3V) VCC(3.3V)

5 /Boot (주1) /Boot (주1)

6 No connection No connection

7 No connection /Boot (주1)

8 No connection No connection

9 /Reset (주1) /Reset (주1)

10 GND GND

Page 105 of 106

Page 106: EasyDSP Kor

Page 106 of 106