본문 바로가기

DSP(28335)/기초다치기..

TR28335 Volt_ADC #include "DSP28x_Project.h" Uint16 ADC_value; void main(void) { DINT; InitSysCtrl(); EALLOW; SysCtrlRegs.HISPCP.bit.HSPCLK = 1; // HSPCLK = SYSCLKOUT/(HISPCP*2) // HSPCLK = 150MHz/(1*2) = 75MHz GpioCtrlRegs.GPAMUX1.all = 0; GpioCtrlRegs.GPADIR.all = 0x00003F; EDIS; GpioDataRegs.GPADAT.all = 0x00003F; InitAdc(); AdcRegs.ADCTRL3.bit.ADCCLKPS = 3; // ADCCLK = HSPCLK/(ADCCLKPS*2)/(CPS+1) AdcRegs.ADC.. 더보기
TR28335 SW1, SW2 LED 기능 TR28335 SW 회로도 기능 1. SW1 스위치 선택시 ON/OFF 점멸. 2. SW2 스위치 선택시 LED 쉬프트. #include "DSP28x_Project.h" #define usec_delay 100000 Uint16 SW1, SW2; void main(void) { DINT; InitSysCtrl(); EALLOW; GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 0; GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 0; GpioCtrlRegs.GPADIR.bit.GPIO12 = 0; GpioCtrlRegs.GPADIR.bit.GPIO27 = 0; GpioCtrlRegs.GPAMUX1.all = 0; GpioCtrlRegs.GPADIR.all = 0x00003F; .. 더보기
LED ON, OFF 및 Shift LED 회로도 -NC7WZ14P6X은 Dual Inverter with Schmitt Trigger 소자 입니다. 디지털 신호 1이 들어왔을 경우, 0으로 반전하고 신호를 보다 명확히 해주는 기능을 해주는 소자 입니다. 슈미트 트리거란 대략적으로 정형회로라고도 불리며, 신호에 노이즈가 섞여 신호가 전달되게 되면 1 및 0으로 정확한 판단이 될 수 없기때문에 슈미트트리거라는 소자를 사용하여 1, 0의 신호를 명확하게 구분하기 위하여 사용된다. 이를 응용하여 LED ON, OFF 및 쉬프트를 간략히 해보도록 하자 레지스터 간략 설명 레지스터 내용 DINT 전역 인터럽트 스위치 ON EINT 전역 인터럽트 스위치 OFF EALLOW Protected 영역에 쓰기를 하기 위해 Procet를 해제 EDIS Pro.. 더보기
Code Composer Studio4 설치방법 Code Composer StudioV4.exe 파일을 더블 클릭하여 실행하면 아래의 그림과 같은 창이 나타납니다. Next 버튼 클릭 후 다음 단계를 진행 합니다. Next 버튼 클릭 후 다음 단계를 진행 합니다. I accept the terms of the license agreement버튼을 선택하고 Next 버튼을 클릭하여 다음 과정을 진행합니다. Code Composer Studio V4의 설치 경로를 설정합니다. Browse...버튼을 클릭하면 경로를 변경 할 수 있습니다. 설정이 완료 되었다면 Next 버튼을 클릭하여 다음 단계를 진행합니다. Platinum Edition 클릭후 Next 버튼을 눌러 다음 단계를 진행합니다. 사용하고자 하는 프로세서를 선택 후 Next 버튼을 클릭 하여 다.. 더보기
TR28335 트레이닝 키트 TR28335 트레이닝 키트 회로도 더보기
DSP320F28335를 이용한 GPS 파싱. 오늘은 몸이 피곤하고 덥고 하여 GPS에 대한 전반적인 내용만 찾아보고 이해하며, 서술해보도록 하겠습니다. GPS에 보면 NMEA 프로토콜이라는 부분이 있다. 이 부분에 대해서는 개인이 직접 찾아서 공부하는것이 좋을 듯 합니다. 보통 GPS를 이용하여 위치정보나, 고도 등 여러 정보를 받으려면 거의 대부분 NMEA프로토콜을 이용한다고 볼 수 있다. 간단하게 시리얼 통신으로 정보를 볼 수 있고 그 해당하는 프로토콜의 파싱을 해주면 되는 부분이기 때문이다. NMEA-0183에 관한 프로토콜 내용이다. 참고하시기 바랍니다. http://www.slashdocs.com/mxpsip/protocol-nmea-0183-pdf.html 현재 연결만 DSP320F28335만 연결해놓았으며, 추후에 파싱하여 GPS 데이.. 더보기
비-인터럽트(Polling) 방식으로 ADC 안녕하세요 숭덕이 박제현 입니다. DSP를 하면서 배워야할것이 많기도 하지만 레지스터가 너무 많아 혼잡스럽네요. 오늘은 ADC에 대해 간단히 공부를 해보겠습니다. ADC란? Analog-to-digital converter의 약자이다. 즉 analog 신호를 digital 신호로 변환하는 것이다. Sampling 아날로그 신호를 받으면 일정한 시간 간격(주기)를 기준으로 표본을 추출하게 되고 이를 sampling이라 한다. Quantization A->D 변화시에 표본의 값을 이산값(discrete value)으로 표현하는 것을 의미한다. 여기서 이산값으로 표현할 수 있는 값의 범위가 8-bit(0~255)인지, 10-bit(0~1023)인지에 따라서 표현할 수 있는 값의 정밀도가 차이가 발생한다. 이러.. 더보기
SCI통신(RS232) 안녕하세요 숭덕이 박제현입니다. DSP(F28335)에 SCI통신을 해보겠습니다. 그냥 해보기에는 심심하여, 하이퍼터미널을 이용하여 'A'라는 키가 입력이 되면 LED를 ON->OFF->ON 방식으로 진행하였습니다. TI사에 사이트를 보시면 예제들이 너무나도 잘 짜여있어, 구성한 스토리가 있다면 간단하게 예제를 이용하여 진행이 될 거 같습니다. 너무 예제가 잘 되어 있다보니, 실험했던 동영상과 참조했던 사이트를 적겠습니다. *DELAY_US(A)라는 함수가 TI에서 제공하는 함수가 있는데, RAM영역에서 실행할 경우 잘동작되나, 플래쉬에 올리고 하실 경우 DELAY_US부분에서 인터럽트가 걸립니다. 이유를 찾아보니 RAM에 경우 플래쉬영역보다 빠르기에 DELAY_US를 사용가능했던 경우이며, 이 경우를 .. 더보기
SW 인터럽트. 안녕하세요 숭덕이 박제현 입니다. 인터럽트란 어떤 장치가 다른 장치의 일을 잠시 중단시키고 자신의 상태 변화를 알려 주는 것이다. 인터럽트가 걸리면 인터럽트를 받은 장치는 현재 자신의 상태를 기억시켜두고 인터럽트 처리를 진행합니다. 현재 공부하고 있는 장에서는 SW를 이용하여 LED를 제어해보도록 하겠습니다. SW로 인터럽트 공부중에 스위치를 한번만 눌렀을 경우 인터럽트가 2~3번정도에 동작합니다. 이것은 채터링때문에 그런것인데...DSP에서는 소프트웨어적으로 어느정도 방지가 됩니다. 일반적인 SW인터럽트와 채터링 방지 인터러트 2가지에 대해 공부하겠습니다. SyncWorks에서 제공하는 예제를 참고하시기 바랍니다. http://www.tms320.kr/shop/board/view.php?id=Delfi.. 더보기
LED 제어. 안녕하세요 숭덕이 박제현입니다. DSP TMS320F28335에 대해 공부를 해볼려고 회사에서 Delfino EVM을 대여하여 공부중에 있습니다. TDS560-USB 와 Delfino EVM을 가져왔는데 TDS560 ㅜㅜ 가격에 비해 성능은 별로 그다지 지금 이 글을 쓰기 전에 에뮬레이터 연결이 안되서 2시간동안 드라이브 지우고 깔고 지우고 깔고 별 삽질을 다 했다는 휴..... 일단 LED가 기본이기에 기본부터 살펴보겠습니다. TI에서 제공하는 예제를 가지고 사용해보고 이 예제를 가지고 응용해볼 생각입니다. 일단 TI에서 제공하는 소스와 제가 임의대로 작성하는 소스는 워드파일로 첨부하여 공개합니다. 회로도는 싱크웍스 홈페이지에서 참조 부탁드립니다. TI 제공예제 . 숭덕이가 조작한 예제. 모니터가 작아.. 더보기