CH395
問題 1: CH395 初始化失敗。
解答:
1、首先檢查“check_exist”命令,正常情況下 CH395 會將該命令的輸入值按位取
反后輸出,若該命令不正常,則說明 CH395 的通訊接口有問題。首先檢查
CH395 接口選擇模式配置是否正確,即檢查 TXD, SEL 電平狀態是否正確;
其次檢查通訊時序問題。
2、 檢查通訊時序, SPI 接口注意:每次發送命令之前,片選 CS 引腳必須先拉高
再拉低,產生下降沿;其次輸入命令碼與后面的參數之間,至少要間隔 2us。
3、 CH395 初始化參數設置好后,先延時 20ms 左右,再執行初始化命令。
4、注意 CH395 的網絡參數的合法性,設置不規范的 ip 地址可能會導致 CH395
網絡出錯。
問題 2: CH395 初始化之后,插網線網口燈不亮(CH395 硬件設計注意事項)。
解答:
1、 首先檢查網絡初始化命令是否成功,若不成功則查看問題 1。
2、 芯片雙路獨立供電, 3.3V 和 1.8V,芯片的每個電源引腳旁邊都需要接對地的
退耦電容(104)。電源的紋波需要穩定在 50m V 以內。
3、芯片網絡差分信號引腳 TXN , TXP, RXN, RXP,需要接 49.9Ω的上拉電
阻。
4、芯片外接網絡變壓器,變壓器的中心抽頭需要接 3.3V。
5、檢查網線是否有問題,換根網線重新嘗試。
問題 3: CH395 與電腦無法建立 TCP 連接。
解答:
1、檢查電腦防火牆是否處於關閉狀態,若沒有關閉則關閉它。
2、檢查網口燈是否亮閃,如果不亮查看問題 2.
3、使用電腦 pingCH395,如果 ping 不通,則檢查 CH395 初始化的 IP 參數是否正
確, 可以使用命令讀取 CH395 的 IP 信息對比。
4、 如果是在局域網內,則需要檢查 CH395 是否存在 IP 沖突。
5、對於多網卡的電腦,在設置電腦端網絡調試軟件時要注意選擇正確的網卡,最
好是打開軟件前,將其他網卡都禁用。
6、檢查 TCP 雙方端口是否正確無誤。
7、 TCP 正常連接成功時, CH395 的 INT 引腳會給出中斷低電平信號,可以通過
讀取命令來獲取中斷狀態,查看是否有 TCP 連接成功中斷。
8、若出現連接斷開后不能再次連上的問題,則可能是因為 395 在檢測到連接斷開
后自動關閉了 socket,可以通過在 socket 斷開與超時中斷里重新打開 socket,
重新開啟連接。
問題 4: CH395 無法收發網絡數據。
解答:
1、 TCP 模式下先檢查 TCP 連接是否成功,若不成功,查看問題 3。
2、 若 CH395 接收到網絡數據,會產生數據接收中斷信號,檢測 CH395 的 INT 引
腳是否有低電平產生,注意如果使用單片機外部中斷,則觸發位要設置為低電
平觸發,不要使用邊沿觸發。若有中斷信號,則讀取中斷狀態,對照頭文件里
的定義,獲取中斷含義。檢查 CH395 接收中斷的處理,正常流程是:獲取中斷、
讀取數據長度,讀取數據內容。
3、 UDP server 模式下的數據收發與其他模式不一樣:
數據接收時, CH395 會在數據包前加上 8 個字節的信息,分別是數據包長度,
源端口,源 IP。在接收中斷處理任務里,需要將這些信息分離並保存。
數據發送時, CH395 使用 395UDPSendTo()函數,函數參數需要使用上面的
信息。
4、 CH395 發送相關的中斷有兩個,分別是發送完成中斷與發送緩沖區空閑中斷;
單片機向 CH395 發送緩沖區寫一包數據, CH395 會將數據復制到 MAC 緩沖區,
復制完畢后會產生發送緩沖區空閑中斷; CH395 可能會將數據分裝成若干包數
據包,每發送一包數據包, CH395 都會產生一次發送完成中斷;因此在實際發
送時,必須要等到發送緩沖區空閑中斷產生后,才能向 395 緩沖區填寫下一次
數據。
問題 5: CH395 以太網數據丟包。
解答: 1、 CH395 在收發數據的過程中不能被其他進程打斷,如果 CH395 在數據收發中
被其他任務打斷,則可能會導致數據丟包。
2、檢查下定義接收緩沖區大小,讀取接收長度,看是否超過了接收緩沖區。接收
緩沖區在定義的時候至少要大於定義的 TCP MSS 的值。
3、 UDP 模式下存在丟包的可能性,這是協議本身就存在的缺陷。
問題 6: CH395 芯片發熱,溫度高。
由於Ch395內部集成了MAC和PHY,發熱量稍大,大概會比室溫高25-40°C,但是不會影響芯片的穩定性,
可以通過一下方式來改進溫度:
1、 RSETE 引腳下拉電阻改為 18K。
2、 改善電源,如使用 DC 電源代替 LDO,減小部分功耗。
3、 啟用 CH395 低能耗模式,降低 CH395 一半主頻,但會導致 CH395 速度降低
一半。
問題 7: CH395 編程注意事項。
解答:
1、 芯片內置上電復位電路,主程序開始先延時 200ms 時間,留給 CH395 足夠的
上電復位時間,防止單片機上程序開始運行而 CH395 仍處於復位狀態。
2、芯片內置上電復位電路芯片初始化之后,建議先做測試命令,確保基本通信正
常后再進行下面的操作。
3、假如程序中有設置 MAC 地址操作, 設置完成后需要延時 200ms 左右時間。
4、批量發送數據時,每次發送數據前要確保前一次數據已經發送完成(可通過查
詢 SINT_STAT_SENBUF_FREE 中斷來判斷)。
CH392
問題 1: CH392 初始化失敗。
解答:
1、首先檢查“check_exist”命令,正常情況下 CH392 會將該命令的輸入值按位取
反后輸出,若該命令不正常,則說明 CH392 的通訊接口有問題。首先檢查
CH325 接口選擇模式配置是否正確,即檢查 TXD, SEL 電平狀態是否正確;
其次檢查通訊時序問題。
2、檢查通訊時序, SPI 接口注意:每次發送命令之前,片選 CS 引腳必須先拉高
再拉低,產生下降沿;其次輸入命令碼與后面的參數之間,至少要間隔 2u S
3、 CH392 初始化參數設置好后,先延時 20ms 左右,再執行初始化命令。
4、注意 CH392 的網絡參數的合法性,設置不規范的 ip 地址可能會導致 CH392
網絡出錯。
問題 2: CH392 初始化之后,插網線網口燈不亮(CH392 硬件設計注意事項)。
解答:
1、首先檢查網絡初始化命令是否成功,若不成功則查看問題 1。
2、芯片 3.3V 供電,電源的紋波需要穩定在 50m V 以內。
3、芯片網絡差分信號引腳 TXN , TXP, RXN, RXP, 不需要接 49.9Ω的上拉
電阻,該電阻在芯片內部已經內置。
4、芯片外接網絡變壓器,變壓器的中心抽頭需要接 3.3V。
5、檢查網線是否有問題,換根網線重新嘗試。
6、芯片外部 32M 晶振, 無需接負載電容,該電容芯片內部已經內置。
問題 3: CH392 與電腦無法建立 TCP 連接。
解答:
1、檢查電腦防火牆是否處於關閉狀態,若沒有關閉則關閉它。
2、檢查網口燈是否亮閃,如果不亮查看問題 2.
3、使用電腦 ping CH392,如果 ping 不通,則檢查 CH392 初始化的 IP 參數是否
正確,可以使用命令讀取 CH392 的 IP 信息對比。
4、如果是在局域網內,則需要檢查 CH392 是否存在 IP 沖突。
5、對於多網卡的電腦,在設置電腦端網絡調試軟件時要注意選擇正確的網卡,最
好是打開軟件前,將其他網卡都禁用。
6、檢查 TCP 雙方端口是否正確無誤。
7、 TCP 正常連接成功時, CH392 的 INT 引腳會給出中斷低電平信號,可以通過
讀取命令來獲取中斷狀態,查看是否有 TCP 連接成功中斷。
8、若出現連接斷開后不能再次連上的問題,則可能是因為 CH392 在檢測到連接
斷開后自動關閉了 socket,可以通過在 socket 斷開與超時中斷里重新打開
socket,重新開啟連接。
問題 4: CH392 無法收發網絡數據。
解答: 1、 TCP 模式下先檢查 TCP 連接是否成功,若不成功,查看問題 3。
2、若 CH392 接收到網絡數據,會產生數據接收中斷信號,檢測 CH392 的 INT 引
腳是否有低電平產生,注意如果使用單片機外部中斷,則觸發位要設置為低電
平觸發,不要使用邊沿觸發。若有中斷信號,則讀取中斷狀態,對照頭文件里
的定義,獲取中斷含義。檢查 CH392 接收中斷的處理,正常流程是:獲取中斷、
讀取數據長度,讀取數據內容。
3、 UDP server 模式下的數據收發與其他模式不一樣:
數據接收時, CH392 會在數據包前加上 8 個字節的信息,分別是數據包長度,
源端口,源 IP。在接收中斷處理任務里,需要將這些信息分離並保存。
數據發送時, CH392 使用 CH392UDPSendTo()函數,函數參數需要使用上
面的信息。
4、 CH392 發送相關的中斷有兩個,分別是發送完成中斷與發送緩沖區空閑中斷;
單片機向 CH392 發送緩沖區寫一包數據, CH392 會將數據復制到 MAC 緩沖區,
復制完畢后會產生發送緩沖區空閑中斷; CH392 可能會將數據分裝成若干包數
據包,每發送一包數據包, CH392 都會產生一次發送完成中斷;因此在實際發
送時,必須要等到發送緩沖區空閑中斷產生后,才能向 CH392 緩沖區填寫下一
次數據。
問題 5: CH392 以太網數據丟包。
解答: 1、 CH392 在收發數據的過程中不能被其他進程打斷,如果 CH392 在數據收發中
被其他任務打斷,則可能會導致數據丟包。
2、檢查下定義接收緩沖區大小,讀取接收長度,看是否超過了接收緩沖區。接收
緩沖區在定義的時候至少要大於定義的 TCP MSS 的值。
3、 UDP 模式下存在丟包的可能性,這是協議本身就存在的缺陷。
問題 6: CH392 編程注意事項。
解答: 1、芯片內置上電復位電路,主程序開始先延時 200ms 時間,留給 CH392 足夠的
上電復位時間,防止單片機上程序開始運行而 CH392 仍處於復位狀態。
2、芯片內置上電復位電路芯片初始化之后,建議先做測試命令,確保基本通信正
常后再進行下面的操作。
3、假如程序中有設置 MAC 地址操作,設置完成后需要延時 200ms 左右時間。
4、批量發送數據時,每次發送數據前要確保前一次數據已經發送完成(可通過查
詢 SINT_STAT_SENBUF_FREE 中斷來判斷)。