WIZnet Developer Forum

W7500p uart2 관련문의

WIZwiki-W7500P 사용중에 있습니다.

시리얼로 뭔가를 해보려하는데 UART0, UART1은 제어가 잘되고 있습니다.

그런데 분명 회로도와 CPU 간략매뉴얼에는 UART가 총 3개가 존재하는걸로 보이는데요 레퍼런스 매뉴얼에는 UART2의 정확한 정의가 안되어 있네요.

예제소스에서 UART2의 구조체는 232 UART 용이 아닌 SPI 형식으로 되어 있던데. UART2의 정확한 용도가 무었인지 궁금합니다.

탐색기에서 MBED로 *.BIN 파일을 드래그앤드랍 하는데 자주 파일전송 실패가 나옵니다.

나중에 저희가 PCB 새로 만들었을경우에

ISP 프로그램으로 W7500P에 펌웨어를 다운로드할때 W7500P 의 UART0,1,2 어떤포트에 연결해야하나요. MBED 안쓰는 조건에서요.

안녕하세요. 위즈네트 입니다.

1.RE :
먼저 예제 소스에서 Uart2의 구조체는 SPI 형식으로 되어있다는 말씀이 잘 이해되지 않습니다. 어떤 부분인지 캡쳐 사진이나 자세한 설명 부탁드립니다. 다음으로 Uart2의 용도는 ISP 프로그램으로 W7500P에 펌웨어를 다운로드 할 수 있습니다. 하지만 사용자가 하고자 하는 용도 무엇이든 사용 가능합니다.
또한 W7500P 레퍼런스 메뉴얼 역시 이번 달 말까지 업로드할 예정입니다. 불편을 드려 죄송합니다.

  1. RE:
    먼저 WINDOW 7 UPGRADE 버전에서 주로 위와 같은 문제가 발생합니다. 하지만 MBED에 제대로 복사 된 것이기 때문에 동작에는 이상이 없을 것이라 생각합니다. 만약 문제가 해결되지 않으셨다면 해당 사항에 관련하여 최신 펌웨어로 업데이트를 권장 드립니다.
    업데이트 방법입니다.
    (1) W7500P보드이 reset pin을 누른 상태에서 mini USB Cable을 PC와 연결합니다.
    (2) boot mode로 진입했다면 BIN파일형식의 기존의 펌웨어를 삭제합니다.
    (3) 최신 펌웨어를 다운로드 합니다. 아래 링크 걸어 두겠습니다.(반드시 기존 펌웨어를 삭제 하신 후 최신 펌웨어 업데이트 가능 합니다.)
    최신 펌웨어 : wizwiki.net/wiki/doku.php?id=pro … _cmsis_dap 해당 최신
    (4) USB 전원을 뺐다 다시 연결 해주세요.
    (5) 정상 동작하시는지 확인해주세요.
  • 해당 문제 계속 진행 될 경우 Windows 버전 혹은 캡쳐 사진 함께 첨부 부탁 드립니다.

3.RE:
위에 말씀드렸다시피 ISP프로그램으로 W7500P보드에 펌웨어를 다운로드 하기 위해서는 Uart2 포트에 연결하셔야 합니다.

감사합니다.

빠른답변 감사합니다.

예제소스에서 w7500p.h 의 일부 내용만 올립니다.

<w7500p.h>

#define UART0 ((UART_TypeDef *) W7500x_UART0_BASE)
#define UART1 ((UART_TypeDef *) W7500x_UART1_BASE)
#define UART2 ((S_UART_TypeDef *) W7500x_UART2_BASE)

UART0,1 은 "UART_TypeDef "

UART2 는 "S_UART_TypeDef "

이하는 UART_TypeDef , S_UART_TypeDef 구조체 내용입니다.

.
.
.
.
.

typedef struct
{
__IO uint32_t DR; /*!< Data, Address offset : 0x00 /
union {
__I uint32_t RSR; /
!< Receive Status, Address offset : 0x04 /
__O uint32_t ECR; /
!< Error Clear, Address offset : 0x04 /
} STATUS;
uint32_t RESERVED0[4];
__IO uint32_t FR; /
!< Flags, Address offset : 0x18 /
uint32_t RESERVED1;
__IO uint32_t ILPR; /
!< IrDA Low-power Counter, Address offset : 0x20 /
__IO uint32_t IBRD; /
!< Integer Baud Rate, Address offset : 0x24 /
__IO uint32_t FBRD; /
!< Fractional Baud Rate, Address offset : 0x28 /
__IO uint32_t LCR_H; /
!< Line Control, Address offset : 0x2C /
__IO uint32_t CR; /
!< Control, Address offset : 0x30 /
__IO uint32_t IFLS; /
!< Interrupt FIFO Level Select, Address offset : 0x34 /
__IO uint32_t IMSC; /
!< Interrupt Mask Set / Clear, Address offset : 0x38 /
__IO uint32_t RIS; /
!< Raw Interrupt Status , Address offset : 0x3C /
__IO uint32_t MIS; /
!< Masked Interrupt Status , Address offset : 0x40 /
__O uint32_t ICR; /
!< Interrupt Clear, Address offset : 0x44 /
__IO uint32_t DMACR; /
!< DMA Control, Address offset : 0x48 */
} UART_TypeDef;

/**

  • @brief Simple UART
    /
    typedef struct
    {
    __IO uint32_t DATA; /
    !< Offset: 0x000 Data Register (R/W) /
    __IO uint32_t STATE; /
    !< Offset: 0x004 Status Register (R/W) /
    __IO uint32_t CTRL; /
    !< Offset: 0x008 Control Register (R/W) /
    union {
    __I uint32_t STATUS; /
    !< Offset: 0x00C Interrupt Status Register (R/ ) /
    __O uint32_t CLEAR; /
    !< Offset: 0x00C Interrupt Clear Register ( /W) /
    }INT;
    __IO uint32_t BAUDDIV; /
    !< Offset: 0x010 Baudrate Divider Register (R/W) */

} S_UART_TypeDef;

.
.
.
.
.

안녕하세요. 위즈네트 입니다.

W7500P 보드에는 UART0, UART1, UART2가 있습니다.
UART0, 1은 TX핀, RX핀 뿐만 아니라 CTS핀,RTS핀으로 flow control이 가능한 범용으로 사용되는 UART입니다.
반면 UART2는 Simple UART라고해서 TX와 RX 핀만으로 통신하는 기능입니다.
232UART 역시 이 TX핀, RX핀이 있다면 사용 가능 합니다.

답변이 안되셨다면 정확히 어떤 부분이 SPI형식인지 자세한 설명 부탁 드립니다.

감사합니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.