목록DSP (6)
Data Analysis for Investment & Control
Copying Sections from Flash to RAM - Copying the Interrupt Vectors(non-DSP/BIOD projects only) 이 글은 TI에서 제공하고 있는 문서 "Running an Application from Internal Flash Memory on the TMS320F28xxx DSP" (문서 번호 SPRA958I)를 참고하여 작성된 것임을 알려드립니다. Perpheral Interrupt Expansion(PIE) 모듈은 F28xxx 디바이스의 인터럽트 요청을 관리합니다. 전원이 켜지면, 모든 인터럽트 벡터들은 비휘발성 메모리(예를들어, Flash)에 위치하게 되는데, 코드의 디바이스 초기화 과정에서일부분 PIEVECT RAM에 복사가 됩니다. P..
DSP 제어보드의 설계가 거의 끝나가고 있다. 제어보드를 사용해 모터를 제어하기 위해서는 드라이버 모듈을 설계해야 하는데, 예전에 학교에 있을 때에는 간단하게 DC 모터 드라이버를 만들때, L298이나 LMD18200 같은 덩치 큰 드라이버 칩을 사용했었다. 그래도 별도의 FET를 붙일 필요가 없었기 때문에 회로 구성은 상당히 단순하다. 반도체 기술이 지속적으로 발전하고 있고, 모터 드라이버 IC도 많은 진화를 하고 있다. 모터 제어용 DSP인 C2000계열로 유명한 TI(Texas Instruments)에 잘 찾아보면 모터 드라이버 IC도 좋은 제품이 있지 않을까 하는 생각에 TI 홈페이지를 뒤적거리다가 DRV8402라는 녀석을 발견했다. 상당히 작은 크기에 비교적 대용량의 전류를 제어할 수 있는 놈이..
전자 공학 전공이 아니라 PCB 아트웍은 회사에 입사해서 3개월 전쯤부터 배우기 시작했는데, 아직도 많이 익숙하지가 않네요. 잘하는 사람들은 손으로 복잡한 것도 척척 그리던데, 내공이 부족해서 그런지 그런건 엄두도 못내고 있습니다. 여하튼, 원래의 계획대로 기판의 크기는 80 x 80mm로 정했습니다. 굳이 이 사이즈로 정한 이유는 만능 PCB 기판을 찾아보니 이 사이즈로 나오는 제품이 있어서 였는데, 혹시나 센서 모듈이나 드라이버 모듈을 만능 PCB 기판에다가 제작을 하게 될 경우에 서로 크기를 맞추고 확장핀을 바로 연결할 수 있게 하기 위해서 였습니다. OrCAD로 설계한 회로를 PADS로 불러와서 각 부품을 80 x 80 사이즈의 기판에 적절히 배치한 모습니다. 80 x 80mm 짜리 만능 기판의 ..
이제 기본적인 보드 컨셉을 잡았으니, OrCAD를 이용, 회로 설계에 들어가기로 한다. 기본적으로 TI의 DSP C2000 계열 중 나름 최신 버전인(TMS320C2834x 시리즈가 출시 되었음) TMS320F28335를 사용하고, 외부 메모리는 DSP 보드를 제작할 때, 많이들 사용하고 있는 IS61WV25616BLL SRAM을 2개 사용하여, 256K x 32bit 용량을 가지는 32비트 외부 인터페이스를 사용하는 것으로 한다. 그밖의 DSP를 위한 전원은 TI 제품인 TPS767D301을 사용하며, 역시 TI의 MAX3232와 CAN Transceiver를 사용하여 통신 회로를 구성한다. 176핀짜리 DSP 칩 회로를 그리느라 생노가다를 해버렸다. 그래도 이 회로가 몇 번의 시행 착오를 거쳐 핀 네..
그래도 MCU 중에서는 성능이나 개발환경 면에서 TI의 DSP 2000 계열이 가장 좋은 듯 싶다. 다만, 가격이 좀 비싸 학생들이 다루기에는 부담이 된다는게 단점이다. 그래서, 나도 졸업 논문 지원이 있을 때나, 지금처럼 회사에서 관련 업무를 수행하는 경우가 아니면 DSP를 다룰 기회가 없다. DSP와 관련된 회사 프로젝트를 진행하는 김에 가장 흔한 로봇 형태 중에 하나인 모바일 로봇에 적용될 수 있는 2축 모터 제어 보드를 개인적으로 TI의 DSP를 이용하여 만들어 보고자 한다. 제어보드의 사양은 다음과 같다. - TI의 TMS320F28335 사용 : 150Mhz, 부동소수점 연산 가능(라이브러리 필요) - 2개의 엔코더 입력 가능 - 2축의 DC모터 혹은 BLDC모터 제어를 위한 PWM 출력 포트..
TI에서 제공하는 C2000 계열의 제품 라인입니다. 기껏해야 16MHz의 속도의 ATmega128과 같은 마이크로 컨트롤러를 사용하다가 40MHz의 동작 속도를 가지는 C24X 계열의 제품이 처음으로 등장 했을 때, 마이크로 마우스나 라인트레이서를 만들던 엔지니어 혹은 다른 로봇 어플리케이션을 개발하던 사람들에게 상당한 임펙트를 주었었습니다. 40MHz의 속도를 가지는 16비트 마이크로 컨트롤러였는데다가, 비교적 풍부한 주변회로를 탑재하고 있었기 때문입니다. 저도 학부 졸업 논문을 쓸 때, DC 모터를 제어하기 위해 2407 모델을 사용했었습니다. C24 계열 이후로, 동작속도가 크게 개선된 F28X 계열의 제품이 등장했고, ADC도 12비트로 향상됐으며, 이 제품군을 통해 왠만한 제어 알고리즘을 적용..