RX63N イーサネット通信のサンプルプログラムでpingが返ってこない

こんにちは。

HSBRX63NBを使用して、イーサネット通信がしたいのです。

こちらの方の質問(https://japan.renesasrulz.com/cafe_rene/f/forum5/3760/rx63n-ethernet )と似ている内容になってしまうのですが、

現在イーサネット通信のサンプルプロブログラム(https://github.com/renesas-rx/gr-sakura)のtcp_nonblocking_sampleをHEWにて実装しています

サンプルの以下の部分を修正して実行したのですが、PCから「ping 192.168.1.3」をしても応答がありません。(PC-ハブ-ボードをイーサネットで接続)

プログラムは正常動作しているようには見えますが、pingの応答はありません。

EtherコントローラーのLEDはACTIVITYが点灯し、他のLEDは定期的にチカチカしています。ケーブルを外すとチカチカしなくなりますが、ACTIVITYは点灯したままです。

 

【修正】

・r_ether_rx_config_reference.h

ETHER_CFG_CH0_PHY_ADDRESS 0→31  

ETHER_CFG_CH0_PHY_ACCESS 1→0 

 

・r_bsp_config.h

BSP_CFG_MCU_PART_PACKAGE(0x5)→(0x3)// FB = 0x3 = LQFP / 144 / 0.50

BSP_CFG_MCU_PART_MEMORY_SIZE(0xB)→(0xE)// E = 0xE = 2MB / 128KB / 32KB

 

・config_tcpip.c

_t4_dhcp_enable = 1→0 // DHCPサーバは使用していないので

MY_IP_ADDR0 192,168,0,3→193,168,1,3 //ちなみにPCのIPアドレスは「192.168.1.1」に設定

 

・r_pinset.h

以下を追加

PORTC.PMR.BIT.B4 = 0; //汎用
PORTC.PDR.BIT.B4 = 1; //出力使用
PORTC.PODR.BIT.B4 = 1; // NRST信号をHigh(取扱説明書に「NRST信号をHighにした後、ご使用下さい」とあったので)


MPC.PA6PFS.BYTE = 0x11U; // EXPORT
PORTA.PMR.BIT.B6 = 1U;
MPC.PA7PFS.BYTE = 0x11U; // WOL
PORTA.PMR.BIT.B7 = 1U;

 

 

 

似ている質問ではr_pinset.cを修正していましたので、ハードウェアマニュアルで確認しましたが、ここは合ってそうです。

また、ETHER_CFG_CH0_PHY_ADDRESSに関してもデータシート(LAN8700IC)を確認しました。

デフォルトで31らしいのですが、データシートを見る限り18かとも思ったので試してみましたが、動作に変わりはありませんでした。

 

何をしたら良いのかがわからず、悩んでいます。

何かお分かりになる方がいればご教授いただきたいです。

 

[追記]

・r_ether_rx_config.h の ETHER_CFG_USE_LINKSTA を1から0に修正

・r_pinset.c の MPC 設定を修正

・現状のイーサネット用LEDは「SPEED100」「LINK」「FDUPLEX」が点灯、「ACTIVITY」が消灯状態。ケーブルを外すと全て消灯する。

・ether_callback.c の callback_ether 関数が呼び出されない。

Parents
  • shinaさん

    こんにちは、モッチーです。

    何点に気になる箇所がありました。

    r_ether_rx_config_reference.cは、r_ether_rx_config.hのことでしょうか?

    その場合、ご使用されているボードでは、マイコンのET_LINKSTA端子がPHY-LSI(LAN8700IC)と接続されていますか?

    接続されていない場合は、r_ether_rx_config.h内のETHER_CFG_USE_LINKSTAを'0'に設定しないと正常に動作しないと思います。

    ETHER_CFG_USE_LINKSTAが'1'の場合は、ET_LINKSTA端子を使用してリンクステータスの変化を確認します。

    ETHER_CFG_USE_LINKSTAが'0'の場合は、PHY-LSIのレジスタを読み出してリンクステータスの変化を確認します。

    なので、マイコンのET_LINKSTA端子がPHY-LSIと接続されていない場合は、ETHER_CFG_USE_LINKSTAを'0'に設定して使用すべきだと思います。

     

    あと、config_tcpip.cの_t4_channel_numは'1'の気がします。

    また、NRST信号をHighにした後にウェイト処理は入れていますか?

  • モッチーさん。ありがとうございます。

    r_ether_rx_config_reference.cはr_ether_rx_config_reference.hでした。
    そしてr_ether_rx_config.hもありました。r_ether_rx_config.hは何も修正していないので、こちらも修正したいと思います。

    >マイコンのET_LINKSTA端子がPHY-LSI(LAN8700IC)と接続されていますか?
    確認してみます。

    >あと、config_tcpip.cの_t4_channel_numは'1'の気がします。
    _t4_channel_numは触っていないので、1のままです。

    >また、NRST信号をHighにした後にウェイト処理は入れていますか?
    100usec入れいています。


    ご指摘いただいたものを確認修正して動作させてみます。
Reply
  • モッチーさん。ありがとうございます。

    r_ether_rx_config_reference.cはr_ether_rx_config_reference.hでした。
    そしてr_ether_rx_config.hもありました。r_ether_rx_config.hは何も修正していないので、こちらも修正したいと思います。

    >マイコンのET_LINKSTA端子がPHY-LSI(LAN8700IC)と接続されていますか?
    確認してみます。

    >あと、config_tcpip.cの_t4_channel_numは'1'の気がします。
    _t4_channel_numは触っていないので、1のままです。

    >また、NRST信号をHighにした後にウェイト処理は入れていますか?
    100usec入れいています。


    ご指摘いただいたものを確認修正して動作させてみます。
Children
No Data