게시글
질문&답변
xilinx 권고와 차이
안녕하세요.reset 관련된 내용 답변드립니다.xilinx 문서에는 async 대신에 sync를 사용하라고 권면합니다. 그러나 저의 경험상 sync로 해서 문제가 발생했던 적이 있습니다. 예전에 async로 항상 사용하다가 문서의 내용을 발견하고, sync로 모두 바꾸어서 진행했었는데, block memroy를 사용하는 중에 오류가 발생했습니다. simulation에서는 아무리 해도 정상동작하는데, 보드에서는 동작하지 않았습니다. 많은 시간 허비하다가 reset을 sync로 사용해서 발생한 문제로 결론이 났습니다. 그 후부터는 reset은 항상 async로 동작하게끔 구현합니다.대부분 reset 을 POR(power-on-reset)회로로 동작합니다. 그러나 fpga의 경우 한번 더 생각해 봐야 합니다. 전원을 인가하면 por 에서 잠깐 동안 reset을 active 하고 바로 풀어줍니다. 그러나 fpga는 전원이 인가되면 Memory에서 Bitstream을 다운로드 하고 그 후에 Logic이 동작합니다. Logic이 동작할 때에는 이미 por이 끝난 상태이기 때문에 reset이 동작하지 않습니다. 이에 대해서는 FPGA 내부 동작 Sequence을 알아야 합니다. FPGA는 configuration을 진행할 때 내부 레지스터나 메모리를 초기상태로 만들고 진행합니다. 외부에서 별도의 reset 신호를 인가하지 않아도 자체적으로 reset을 구현한다는 의미입니다.Reset이 아주 중요한 경우에는 어떻게 하나요? 이런 경우에는 다른 Processor에서 fpga을 reset 하도록 합니다. 즉 configuration이 완료된 후에 Processor에서 reset 신호를 만들어 인가해 줍니다. 또는 PLL IP를 사용한다면, PLL의 출력 신호 중에 locked 신호를 reset 신호로 사용하는 경우도 있습니다.DDR Memory를 사용하는 경우에는, ddr IP에서 출력해주는 user interface reset 신호를 사용하는 것도 좋은 방법입니다. ddr과 연관이 있는 로직은 ddr과 sync를 맞추어 동작시키는 게 좋습니다.저의 경험에 비추어 볼 때, FPGA 1개로 구현하는 경우에는 reset을 크게 신경 쓰지 않아도 됩니다. 저는 통상적으로 Active High, Async로 구현합니다. 이로 인해 문제가 발생했던 적은 없었던 것 같습니다. HW 적으로 초기값(reset 값)을 꼭 맞추어 주어야 하는 경우에는 주의해서 설계할 필요가 있을 수 있습니다.감사합니다 ~!!
- 0
- 2
- 15
질문&답변
강의자료
안녕하세요.강의 자료는 다운로드 링크에서 받으시면 됩니다~감사합니다~!!
- 0
- 1
- 50
질문&답변
TTL 연결 없이 프로그램 창에서 메세지 확인 하는 방법도 있을까요?
안녕하세요.necleo 보드는 다운로드와 usb-uart 포트가 같이 있어서 보드의 CN1을 PC와 연결하면 Com Port가 잡힐 것입니다. 이 포트를 이용하여 디버깅 메시지를 확인할 수 있습니다. 프로그램에서는 UART 포트를 UART1 -> UART2로 변경해야 합니다.UART2 (PA2 : UART2_TX, PA3 : UART2_RX)4.2.3 UART 설정에서 USART1 대신에 USART2를 사용해야 합니다.프로그램 다운로드 후에 디버깅 메시지가 안나오면, 디버기용 Windows 프로그램에서 Serial port를 close후에 다시 open 해 보시길 바랍니다.감사합니다 ~!!아래 링크 참조하세요.링크 : https://mcutry.tistory.com/8
- 0
- 2
- 48
질문&답변
준비물 도움 요청
안녕하세요.[그림 2-5]에 나와 있듯이 준비하시면 됩니다.1) 보드 (STM32F446) 2개2) Can Transceiver 2개 (참조 : https://cafe.naver.com/worshippt/128)3) ST-LINK/V24) RS232 to TTL 모듈 : 2개5) USB to RS232 Cable : 2개6) 기타 점퍼 케이블 (2.54mm 헤더핀 점퍼 케이블) 3)번 대신 저렴한 "ST LINK V2 MINI 미니" 구매하셔도 됩니다.(사진)4) - 5) 대신에 저렴한 "USB to TTL 컨버터 모듈" + USB 2.0 Cable 구매하셔도 됩니다.(사진) 유익한 강의 되시길 바랍니다.감사합니다. ~!!
- 0
- 2
- 80
질문&답변
보드 차이
안녕하세요.HIL-A35T 보드는 Aritx7 시리즈를 사용합니다.ZYNQ는 FPGA내부에 Processor가 포함되어 있습니다. PS(Processing System) 영역과 PL (Programable Logic)영역으로 구성되어 있습니다. Zynq는 Soc(System on Chip)를 구현하는 fpga입니다. Artix7 시리즈에서는 프로그램에서 MicroBlaze를 추가하여 Soc를 구성할수는 있지만, Zynq는 HW적으로 Processor가 포함되어 있습니다.Zynq와 일반적인 FPGA(Artix7 등)의 차이로 이해하시면 됩니다.감사합니다 ~!!
- 0
- 2
- 82
질문&답변
uart1 인터럽트 관련
안녕하세요.아래 인프런 AI 인턴 답글도 좋은 답글이네요.1) 무작위 쓰레기 값 : RS232 to TTL 모듈 문제일 수 있습니다. 요즘 판매하는 RS232 to TTL 모듈에 문제가 많은 것 같습니다. 우선 해결 방법으로는 Baudrate 속도를 낮추어서 해 보세요. 9600 정도 (or 2400) 정도로 낮추어서 해보세요. fw 프로그램에서 uart 속도를 변경하고, WinIDT에서 해당 속도로 Open하면 됩니다. 아니면 "uart to usb converter" 를 별도로 구매하시는 것도 방법일 것 같습니다.2) 개행이 되지 않는 문제 : page-34 페이지를 보면 그렇게 나오는게 맞습니다.페이지 상단의 소스를 보면, (116 - 121 라인) 한문자를 출력하고 "\r\n"을 출력하기 때문에 한문자씩 라인별로 출력되는 게 맞습니다.제 경험으로는 printf() 문은 뒤에 "\r\n"을 추가하지 않으면 해당 문자열이 출력되지 않았던 것 같습니다. 그래서 한문자씩 출력하고 뒤에 "\r\n"을 추가한 것 같습니다.감사합니다 ~!!
- 0
- 2
- 86
질문&답변
WinIDT 콘솔에 프린트 출력 안됨
Uart 변환 보드를 바꾸어 보세요. 예전에 이 보드에 문제가 많이 있었습니다. 아니면, uart 속도를 2400 정도로 낮추어서 해보시길 바랍니다.
- 0
- 2
- 91
질문&답변
WinIDT 콘솔에 프린트 출력 안됨
안녕하세요.보드의 전원이 인가된 상태에서, WinIDT 프로그램의 Com port 를 close 했다가 다시 open 해 보세요.감사합니다~!!
- 0
- 2
- 91
질문&답변
RCC 설정 (Clock설정)
안녕하세요.stm32 제품은 외부 clock (oscillator, crystal)을 사용할 수도 있고, 내부의 Clock을 사용할 수도 있습니다. stm32f446re 보드에는 외부 8Mhz crystal을 사용하고 있습니다. 외부에 있는 crystal을 무시하고 내부의 clock을 사용할 수도 있습니다.강의자료 20-page Clock Configuration을 참조하시길 바랍니다.내부 clock을 사용할 때에는 HSI RC 16 Mhz을 사용하면 됩니다.감사합니다 ~!!
- 0
- 1
- 85
질문&답변
TIM1은 APB2에 연결되어 있지않나요?
안녕하세요.APB2 맞네요.감사합니다 ~!!
- 0
- 1
- 53