DSP25 TMS320F28388D ] 다중 ADC 사용시 변환 순서와 동기 다중 ADC 사용시 변환 순서와 동기에 대해 알아보는데 의식의 흐름순으로 작성되었다. 먼저 사전 설명을 하자면 TMS320F28388D 337-Ball ZWT 패키지는 Temp Sensor를 제외하고 총 24채널의 ADC 입력을 처리할 수 있다. 근데 그중에 3개(ADCINA0, ADCINA1, ADCINB1) 채널은 DAC 용도로도 사용된다. 예를 들어 DAC 3채널을 쓰면 ADC는 21채널만 쓸 수 있는거다. DSP의 ADC 모듈은 총 4개가 있다. ADC-A, ADC-B, ADC-C, ADC-D. 그리고 Temp Sensor는 DSP에 내장되어 있고 ADC-A 모듈과 이미 연결되어 있다. TI가 제공한 예제를 사용하면 쉽게 칩의 온도를 읽을 수 있다. 아래 그림은 ADC 모듈 블럭이다. .. 2024. 5. 1. TMS320F28388D ] CCS에서 hex 파일 출력하는법 프로젝트 우클릭 - C2000 Hex Utility Enable 'C2000 Hex Utility' 체크 --memwidth, --romwidth 16으로 설정 출력 포맷은 .hex Output Format Options는 Intel hex 선택 만약 hex말고 bin파일로 출력하려면 내가 올린 다른 글을 참고하면 된다. tiobj2bin, mkhex4bin, hex2000 툴을 사용하여 out파일로부터 bin파일을 생성해내는 방법이다. 2023.04.20 - [DSP, MCU/TMS320F2838x (C28x)] - TMS320F28388D ] CSS에서 bin 파일 생성하는 법, filling a hole with 0xFF not 0x00 위 방법 말고 이미 생성된 hex파일을 bin파일로 변경하려면.. 2023. 12. 28. TMS320F28388D ] SPI high-speed mode TMS320F2838x에서 지원하는 최대 SPI Clock speed는 기본적으론 12.5MHz인데 High-speed mode를 사용하면 50MHz까지 가능하다. High-speed mode를 사용하기 위한 제약사항과 사용 방법을 알아보자. 먼저 연결 시 특정 핀 구성을 따라야만한다. 칩에 SPI 모듈이 4개있는데 각 SPI는 아래 GPIO핀 먹스 옵션을 사용해야만 High-speed SPI를 사용할 수 있다. 그리고 capacitive load 때문에 High-speed mode는 single master에 single slave 연결만 지원한다. Reference : https://e2e.ti.com/support/microcontrollers/c2000-micr.. 2023. 11. 8. TMS320F28388D ] 부트 과정 Reset이 일어나면 먼저 PC(Program Counter)는 Reset Vector가 fetch되어있는 0x3FFFC0으로 설정된다. Reset Vector의 내용은 Boot ROM 영역에 있는 InitBoot 코드로 점프하는 것이다. Boot ROM은 한번만 프로그래밍 가능한 영역으로 공장 출하시 TI사가 부트로더 Software를 마스킹해둔 곳인데, 여기에 부트로더 역할을 하는 InitBoot 함수가 있다. InitBoot 코드가 실행되면 부트로딩을 위한 루틴을 수행하고 I/O 핀 상태에 따라 BootMode를 결정한 뒤 BootMode에 따라 온칩 메모리의 특정 Entry Point를 실행하게 된다. 참고로 Boot ROM에 마스킹된 Boot Code는 아래 경로에서 살펴볼 수 있다. C:\ti.. 2023. 8. 16. TMS320F28388D ] Reset Sources 유저매뉴얼의 Reset Sources 테이블 첫번째 열이 Reset Source 목록이고 첫번째 행이 각 Reset이 발생했을 때 초기화되는 여부를 표시한다. Yes인 것은 해당 회로가 리셋 된다는 뜻이고, - 는 해당회로 기존 상태로 남는다는 뜻이며, Hi-z는 하이 임피던스 상태라는 뜻이다. Power-On Reset (POR) POR 회로는 칩에 전원이 인가되고 안정된 상태에 이르기까지 칩을 계속 리셋 상태로 묶어두는 회로로, GPIO 핀들의 글리치를 억제하고, 칩이 깨끗하게 시동 될 수 있게한다. POR이 발생하면 칩의 모든 회로는 리셋상태가 되고, IO핀은 Hi-Z 상태가 되며, /XRS 핀은 Low 신호를 출력하게 된다. 이때 /XRS 핀의 출력 신호는 칩과 연결된 다른 IC 소자들을 리셋 시.. 2023. 8. 14. TMS320F28388D ] SPI Clocking Schemes / CPOL, CPHA 설정 TMS320F2838x칩 Clock Phase 설정에는 주의할 점이있다. 우선 SPI 통신을 하려면 CPOL(Clock Polarity)과 CPHA(Clock Phase)라는 두 가지 파라미터를 설정하는데 이 설정 조합에 따라 다음의 4가지 SPI 모드가 있다. 그리고 TMS320F2838x driverlib에도 Mode 설정이 존재하는데 CPOL은 동일하지만, CPHA를 설정할 때 주의가 필요하다. 보통은 CPOL, CPHA 설정에 따라 클럭과 데이터를 동기화하는 방법은 다음과 같다. CPOL = 0: IDLE 일 때 클럭이 LOW 레벨이다. CPHA = 0 : 데이터가 클럭의 first edge에서 캡쳐(샘플링)되고, 그 다음 edge에서 전파(출력)된다. CPHA = 1 : 데이터가 클럭의 seco.. 2023. 8. 14. TMS320F28388D ] eCAP으로 ePWM 신호 Period와 Duty Cycle 측정 특정 주파수, 듀티사이클의 PWM신호를 생성하고 eCAP으로 PWM신호 측정 PWM 설정 ePWM의 TBCLK(Time Base Clock)은 아래 공식으로 설정하는데 prescale 값은 둘 다 1로 한다. TBCLK = EPWMCLK/(HSPCLKDIV * CLKDIV) Period를 25000으로 설정하고, Counter Mode는 up-down으로 한다. 카운터가 up-dwon 모드일 때 PWM 파형의 주파수는 TBCLK/(2*period)인데 EPWMCLK는 따로 클락설정이 없으면 디폴트가 SYSCLK/2여서 100MHz니까 100,000,000 / 50,000 = 2kHz가 된다. Counter Compare 값은 18750으로 설정. .. 2023. 8. 14. TMS320F28388D ] ECAP ECAP CAP 은 Capture 의 약자로 펄스 신호의 시간정보를 검출하는 기능을 한다. 펄스의 Rising edge와 Falling edge 시간 정보를 확인하여 주기, 듀티 등을 측정할 수 있고, 펄스의 특정 edge에서 인터럽트를 발생시킬 수도 있다. ECAP의 사용 예 회전체의 속도 검출 신호의 Pulse period, Duty ratio 측정 출력이 PWM 타입인 센서의 정보 디코딩 ECAP의 특징 TMS320F28388D 칩에는 7개의 eCAP 모듈이 있다. 그리고 eCAP 모듈의 특징은 다음과 같다. 200MHz 시스템 클럭사용, 5ns의 시간 분해능 캡쳐 핀은 Input X-BAR를 통해 라우팅되므로 어떤 GPIO든 사용 가능 32-bit 타이머 기반 4개의 32-bit 타임 스탬프 캡쳐.. 2023. 8. 14. TMS320F28388D ] Flash API 사용 일단 아래 경로에 있는 FlashAPI 라이브러리를 복사해 프로젝트 안에 가져온다. C:\ti\c2000\C2000Ware_[Version No]\libraries\flash_api\f2838x\cm\lib 그리고 아래 경로의 FlashAPI를 사용하기 위한 헤더가 모여있는 폴더도 복사해서 프로젝트에 가져온다. C:\ti\c2000\C2000Ware_[Version No]\libraries\flash_api\f2838x\cm\include\FlashAPI 그리고 Include search path에 추가해준다. 복사해서 가져오지 않아도 c2000ware 폴더 내 경로를 추가하면 되긴하지만 선호하지 않는방법이다. 이제 아래 헤더를 include하면 FlashAPI를 가져다 쓸 수 있다. #include ".. 2023. 4. 20. TMS320F28388D ] TI 제공 부트로더 사용해서 CPU2, CM application 다운로드하기 사용방법은 README.txt 파일에서 찾을 수 있다. When the application starts, the serial connection is with the SCI module which is owned by CPU1. Only commands designated for CPU1 are acceptable at this point before booting CPU2. If a CPU2 command is selected, the application asks the user for a different option. After booting to CPU2, either with "Run CPU1 Boot CPU2" or "Reset CPU1 Boot CPU2," CPU.. 2023. 4. 19. 이전 1 2 3 다음