*종*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 25
검색어 입력폼
  • 컴퓨터 구조 텀프로젝트 피그 게임(term project_game of pig)
    스테이트 머신 다이어그램을 사용한 verilog 코딩 방식입니다.DE2 보드로 구현 가능합니다.pin assaign은 사이클론2 기준입니다.
    프로그램소스| 2013.10.13| 2,000원| 조회(426)
    미리보기
  • 마이크로 프로세서 Term_AVR 제어
    마이크로 프로세서 Term 과제(AVR 제어)전자공학부contents1. 동작내용 32. 코드 53. 해석 204. Discussion 22연결 후 리셋버턴을 실행시킨 모습LED 동작 :타이머 인터럽트에 의해서 LED가 깜빡거린다.시계동작 :타이머 인터럽트를 1/244초 마다 오버플로우가 발생하도록 하여 시간을 맞추고, 세그먼트를 이용해서 해당 값을 표시한다. 외부 인터럽트를 이용해서 시간 값을 새로 초기화 하거나 동작을 끝낼 수 있다.1. 동작 내용리모컨 동작 :타이머 인터럽트와 IR 센서가 연결된 외부 인터럽트를 이용해서 값을 알아내고 분석하여 데이터로 만들어 해당 입력 버턴을 알아낸다.;***************************************************************************;* Simple Test program for ATmega 128;*;* Number :AVR900;* File Name :"AVR128asm5_2.asm";* Title : UART Test Routine #2;* Date : 12.11.03;* Version :1.0;* Target MCU :ATmega128;*;* DESCRIPTION;*;* This program is for simple testing of UART Trensmission/Reception;***************************************************************************.include "m128def.inc";***** Definitions.equ TAP = $09.equ LF = $0A.equ CR = $0D.equ EOS= $00.def temp = r16.def temp2 = r17;.def timecnt = r18 ;count 244 to make 1sec.def flag = r19 ; LED input/ouput, segment / remotecon IR_reciever.def segen= r20.deftd, temp;ldi temp, LOW($2A); INT) & INT1 & INT2 On, Mode = Falling EdgestsEICRA, temp;lditemp, LOW(0);outEICRB, temp ;lditemp, LOW(7);outEIMSK, temp;outEIFR, temp;ret ;;***********************************************;EINT2_init;***********************************************EINT2_init :pushtemp ;IR sensor is External Interrupt2lditemp, $04;outPORTD, temp;PORTD [2]bit is connected External Interrupt2 //ldi temp, $20 ;EICRA [5],[4]bit is Interrupt Sense Control bitssts EICRA, temp;if ISC2 is "10", then Falling edge of INT2 generates asynchronously an interrupt requestlditemp, $04;if EIMSK [2]bit is '1', then INT2 will be enabledoutEIMSK, temp;poptemp;ret ;;****************************** intrupt operation***************************;****************************************************************************;* Timer/Counter 0 : for LED, CLOCK SEGMENT;****************************************************************************Timer0_OVF :cli ;pushr0incsegcntlslsegencpisegen, $10brneSkip_Res*****PrintCmdCursor:CALL NewLine ;ldi ZH, HIGH(2*CmdCursor) ; Since program memory is 16 bit (2 byte)ldi ZL, LOW(2*CmdCursor) ; we have to multiply 2 at the starting indexrcall PutStringP ;RET ;;****************************************************************************;* Read Command Routine;* Set Y register to point the start of buffer in Data Memory;****************************************************************************ReadCmd:ldi YH, HIGH(buffer) ; Set Y register to the start address of bufferldi YL, Low(buffer) ;rcall GetString ;ret;****************************************************************************;* Command Interprete;* Set X register to point the start of buffer in Data Memory;****************************************************************************CmdInterprete:ldi XH, High(buffer) ; Set X register be the start address of bufferldi XL, Low(buffer) ;ld temp, X+ ; Get one character and store in tempcpi temp, '1' ; Check if it is first command numberbreq Cmd_LEDt store EOSret;***********************************************;F_ITOA;***********************************************F_ITOA :pushtempITOA_HIGH :movtemp, temp2anditemp, $F0lsrtemplsrtemplsrtemplsrtemprcallF_CONVERTstx+, tempITOA_LOW :movtemp, temp2anditemp, $0FrcallF_CONVERTstx+, tempITOA_END :poptempret;***********************************************;F_CONVERT;***********************************************F_CONVERT :cpitemp, $0AbrgeCONVERT_2CONVERT_1 :subitemp, -$30rjmpCONVERT_ENDCONVERT_2 :subitemp, -$37 ;($37 = 55)CONVERT_END :retPutStringData :ldr0, x+tstr0breqPutStringData_endcallputcharrjmpPutStringDataPutStringData_end :ret;;***********************************************;LEADER_START:;; detect '0', '1' with stored data;***********************************************LEADER_START:ld temp, y+LEADER:ld temp, y+cpi temp, 100brge morethan100 ;if more than 100jmp R_forevermorethan100:cpi temp, 110brlt LEADER_END ;if less than 110 -> leader_endjmp R_foreverLEADER_END:ldi last_cnt, 32DAte_buf_empty_end :poptemp;poptemp;ret;;***********************************************;buf_empty - make remote_buffer empty;***********************************************buf_empty :pushtemp;pushtemp;ldixl, low(copy_buffer)ldixh, high(copy_buffer)lditemp, 80lditemp, 0buf_empty_loop :breqbuf_empty_end;if temp is 0, then rjmpendstx+, temp; store '0' at my_bufferdectemprjmpbuf_empty_loopbuf_empty_end :poptemp;poptemp;ret;Cmd_Wrong:;/* Error Message Printing Routine */CALL NewLine ;ldi ZH, HIGH(2*badcmd) ; Since program memory is 16 bit (2 byte)ldi ZL, LOW(2*badcmd) ; we have to multiply 2 at the starting indexrcall PutStringP ;rjmp Cmd_Done;;****************************************************************************;* Constant Data;****************************************************************************segdata:.db$03, $9f, $25, $0d, $99, $49, $41, $1f, $01, $09Title:.db TAP,"+-------------------------------------------+",CR,LF ;.db TAP,"| This is a AVR Test Board |",CR,LF ;.db TAP,"|.
    공학/기술| 2013.10.13| 22페이지| 4,000원| 조회(153)
    미리보기
  • 디지털 통신 Term project_Encoder and Decoder for Systematic (N,K) Cyclic Codes
    이동통신공학Encoder and Decoder for Systematic (N,K) Cyclic Codes코드 및 해석1. CyclicEncoder.m% Encoder for Systematic (N,K) Cyclic Codes% function y = CyclicEncoder(MessageData,Polynomial)function U = CyclicEncoder(M, P)% Define N, K, DegPolyN = length(P)-1 + length(M);K = length(M);DegPoly = N-K;% Set initial value of Linear Feedback Shift RegisterLFSR = zeros(1, N-K);U (N-K+1 : N) = M;for i = 1 : Kfeedback = rem((LFSR(N-K)+M(K-i+1)),2); %compute feedbackfor j = DegPoly : -1 : 2if ( P(j) == 1 )LFSR(j) = rem((LFSR(j-1) + feedback ),2) ;elseLFSR(j) = LFSR(j-1);endendLFSR(1) = feedback ;endU(1:(N-K)) = LFSR ; %parrity해석cyclic polynomial 함수를 이용해서 만든 generator 매트릭스를 입력 한다.M, P는 각각 메시지 비트와 cyclic polynomial 함수를 이용해서 만든 generator 매트릭스를 의미한다. N은 코드워드의 길이, K는 메시지 비트의 길이이다. 패리티 백터의 길이는 코드워드에서 메시지 비트를 제외한 길이다. 패리티 비트를 나타낼 LFSR 매트릭스를 만들고, 코드워드에 메시지 비트 값을 넣는다. 2개의 for문이 돌아간다. 메시지의 길이만큼 밖의 for문이 돌아가고, feedback은 입력 값과 마지막 레지스터 값의 합이다. 그림의 인코더 모양과 같이 안의 for문도 작동한다. 모든 과정이 끝나면 LFSR을 코드워드에 포함한다.2. CyclicDecoder.mfunction msg = CyclicDecoder(M, P, R)cal = R; %Make calculate variableN = length(P)-1 + length(M);K = length(M);H = cyclgen(N, P, 'system');HT = H';Syndrom = rem((R*HT), 2); %Syndrom calculatefor i = 1 : N %Compared matrix is H'if(Syndrom == HT(i, 1:N-K ) )cal(N) = rem(R(N)+1,2);endendmsg = cal( (N-K+1) : N); % extract message from the cal variable해석패리티 체크 메트릭스를 생성한다. 신드롬 값을 계산 후 패리티 체크 매트릭스의 행과 비교하면서 같을 경우에 해당 코드워드 값을 수정해준다. 모든 과정이 끝나면 수정된 코드워드 중 메시지 비트만 나타낸다.결과확인Matlab window - block code (15, 11)입력 순서P = cyclpoly(15, 11, 'min')P = cyclpoly(31, 26, 'min')P = cyclpoly(63, 57, 'min')polynomial 코드 생성M = [1 0 1 0 1 0 1 0 1 0 1]M = [1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0]M = [1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1]메시지 생성U = Cyclicencoder(M,P)코드워드 생성E = zeros(1,11)E(11) = 1E = zeros(1,26)E(26) = 1E = zeros(1,57)E(57) = 1에러 패턴 생성R = rem(M+E, 2)에러가 포함된 수신 값msg = CyclicDecoder(M, P, U)메시지 복원>> P = cyclpoly(15, 11, 'min')P =1 0 0 1 1>> M = [1 0 1 0 1 0 1 0 1 0 1]M =1 0 1 0 1 0 1 0 1 0 1>> U = Cyclicencoder(M,P)U =1 0 1 1 1 0 1 0 1 0 1 0 1 0 1>> E = zeros(1,11)E(11) = 1E =0 0 0 0 0 0 0 0 0 0 0E =0 0 0 0 0 0 0 0 0 0 1>> R = rem(M+E, 2)R =1 0 1 0 1 0 1 0 1 0 0>> msg = CyclicDecoder(M, P, U)msg =1 0 1 0 1 0 1 0 1 0 1Matlab window - block code (31, 26)>> P = cyclpoly(31, 26, 'min')P =1 0 0 1 0 1>> M = [1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0]M =Columns 1 through 181 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 19 through 261 0 1 0 1 0 1 0>> U = Cyclicencoder(M,P)U =Columns 1 through 180 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1Columns 19 through 310 1 0 1 0 1 0 1 0 1 0 1 0>> E = zeros(1,26)E(26) = 1E =Columns 1 through 180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Columns 19 through 260 0 0 0 0 0 0 0E =Columns 1 through 180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Columns 19 through 260 0 0 0 0 0 0 1>> R = rem(M+E, 2)R =Columns 1 through 181 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 19 through 261 0 1 0 1 0 1 1>> msg = CyclicDecoder(M, P, U)msg =Columns 1 through 181 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 19 through 261 0 1 0 1 0 1 0Matlab window - block code (63, 57)>> P = cyclpoly(63, 57, 'min')P =1 0 0 0 0 1 1>> M = [1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1]M =Columns 1 through 181 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 19 through 361 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 37 through 541 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 55 through 571 0 1>> U = Cyclicencoder(M,P)U =Columns 1 through 181 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0Columns 19 through 361 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 37 through 541 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 55 through 631 0 1 0 1 0 1 0 1>> E = zeros(1,57)E(57) = 1E =Columns 1 through 180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Columns 19 through 360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Columns 37 through 540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Columns 55 through 570 0 0E =Columns 1 through 180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Columns 19 through 360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Columns 37 through 540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Columns 55 through 570 0 1>> R = rem(M+E, 2)R =Columns 1 through 181 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 19 through 361 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 37 through 541 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 55 through 571 0 0>> msg = CyclicDecoder(M, P, U)msg =Columns 1 through 181 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 19 through 361 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 37 through 541 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0Columns 55 through 571 0 1결론3가지 시뮬레이션 모두 정상 작동하는 것을 확인할 수 있다. 임의의 메시지 비트의 맨 오른쪽 비트가 에러났을 때, 다시 메시지가 원래대로 복원되었다.
    공학/기술| 2013.10.13| 10페이지| 2,000원| 조회(220)
    미리보기
  • 이동통신 공학_PSK/PAM/QAM performance using Simulink (matlab data 포함)
    각각 PSK와 FSK 시스템을 시뮬레이션 하기위해 시뮬링크를 이용하였다. 랜덤 비트를 생성 후 FSK, PSK 모듈레이터를 통과한 후 가우시안 채널을 통과한 후 다시 디모듈레이트 후 에러 확률을 계산하여 시스템의 BER을 측정해 본다.<중 략>위 그래프에서는 시스템의 EbNo에 따른 BER 값만 알 수 있다. 그래프가 안쪽에 있을수록 같은 error free가 EbNo가 되는 지점이 낮아지므로, 신뢰성이 높은 시스템이라고 할 수 있다. PSK는 어레이가 늘어날 수 록 그래프가 바깥쪽에 위치하게 되므로 신뢰성은 낮아진다고 할 수 있다. gray코딩을 사용했기 때문에 BPSK와 QPSK의 BER성능이 큰 차이가 없는 것을 확인할 수 있다.FSK는 반대로 에레이가 늘어날수록 BER 성능이 좋아지는 모습을 보인다.
    공학/기술| 2013.10.13| 5페이지| 2,000원| 조회(407)
    태그 PAM, PSK, QAM
    미리보기
  • Design of Excess-3-to-BCD code converter
    디지털 공학 Design Project설계 보고서Design of Excess-3-to-BCD code converter설계 이론1. specification- BCD code 는 4 bit의 binary로 0~9까지의 10진수를 표현한 코드이다. 4개의 bit가 10진수 1자리를 나타 낸다- Excess-3 code 는 각각의 BCD코드에 3씩을 더한 값으로 이뤄진 코드이다. 3~12까지의 10진수 값을 가진다- Excess 3 to BCD는 Excess 3에서 3을 빼는 것이다.- Excess 3 는 4개의 비트로 구성되는데 제일 최하위 비트 순서로 A,B,C,D 로 표시힌다.- 각 BCD 숫자는 4개의 비트로 구성되는데 가장 최상위 비트에서부터 제일 최하위비트 순서로 W,X,Y,Z로 표시한다.2. FormulationTruth tableDecimalExcess-3BCDDigitABCDWXYZ00000××××10001××××20010××××300***************************************100*************1**************************1*************××××141110××××151111××××K-mapCDAB0001111000××0×010000111×××100010W = AB+ACDCDAB0001111000××0×010010110×××101101X = B’C‘+BCD+B’D’CDAB0001111000××0×010101110×××100101Y = C’D+CD’CDAB0001111000××0×011001111×××101001Z = D’3. two-level optimization.K-map을 이용해서 부울함수식을 나타내었다.W = AB+ACDX = B’C‘+BCD+B’D’Y = C’D+CD’Z = D’위의 부울함수식을 이용하여 2-level optimization을 하였다.4. multiple-level optimization.전 CD = X로 치환해서 위의 부울함수식을 간단히 나타낼 수 있다.W = AB+ACD = A(B + X)CD = XX = B’C‘+BCD+B’D’ = B’X’+BXC’+D’ = X’Y = C’D+CD’= (C+D)(C’+D’) = (C+D)X’Z = D’바꾼 부울함수식으로 Multi level optimization을 하였다.5. technology mapping : implementation with NAND gates.Multi Level optimization에서 NAND Gate 로만 매핑을 한다.완성Verilog HDL 설계 진행 : Using Quotus II6. Schemetic diagram 으로 simulator 로 검증한다.schemetic editor로 schemetic diagram을 완성입력 파형의 Waveform file 을 만들어서 functional simulation 하여 검증7. Verilog HDL(1) structural descriptionStructural description의 CodingStructural description의 functional simulation 결과(2) dataflow descriptionDataflow description의 codingDataflow description의 functional simulation 결과(3) behavioral descriptionbehavioral description의 codingbehavioral description의 functional simulation 결과FPGA 설계 진행8. implementationAssignment Editor 를 사용하여 입력, 출력 port 를 FPGA pin 에 assignment 하였다.보드 설명서를 참고하여 input인 A,B,C,D를 순서대로 SW3, SW2, SW1, SW0에 output인 W, X, Y, Z를 순서대로 LEDR3, LEDR2, LEDR1, LEDR0에 assign 하였다.Dataflow description 을 사용하여 recompile 하였다.9. timing simulationTiming simulationTiming simulation
    공학/기술| 2012.06.04| 12페이지| 1,000원| 조회(504)
    미리보기
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 04월 25일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
6:13 오후
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감