CH9121

一、配置軟件搜索不到設(shè)備

? 1.檢查網(wǎng)線連接是否正常,網(wǎng)口的連接指示燈是否亮著,若不亮,則換一根網(wǎng)線或是檢查

??? 下電腦端網(wǎng)口有沒有問題。

? 2.9121恢復(fù)出廠設(shè)置后再試,具體做法:將9121RESET腳接地,然后上電維持3s。

? 3.配置軟件使用了電腦端口50000,檢查電腦50000端口是否被占用(目前已知愛奇藝客戶端會(huì)占用該端口)

? 4.如果9121配置成靜態(tài)IP接路由器或交換機(jī),則檢查下局域網(wǎng)內(nèi)是否存在ip地址沖突

二、9121配置成TCP Client/Server,無法和電腦建立TCP連接

?? 1.連接之前先將電腦的網(wǎng)絡(luò)防火墻關(guān)閉。

?? 2.ping一下9121,若ping不通,則先檢查網(wǎng)口的指示燈是否亮著,若不亮則換一根網(wǎng)線再試;若網(wǎng)口燈亮,則可能9121模塊配置失敗,恢復(fù)出廠設(shè)置后,再重配一次。

?? 3.TCP CLIENT 模式下,若能ping通,可能電腦的端口被占用,而有的網(wǎng)絡(luò)調(diào)試軟件不會(huì)提示,換一下電腦端的tcp端口再試一下。

?? 4.對于多網(wǎng)卡的電腦,在設(shè)置電腦端網(wǎng)絡(luò)調(diào)試軟件時(shí)要注意選擇正確的網(wǎng)卡,最好是打開軟件前,將其他 ?網(wǎng)卡都禁用。

三、9121透傳無法接收數(shù)據(jù)

??? 1.檢查串口波特率設(shè)置,是否與實(shí)際發(fā)送的波特率相同

??? 2.可以將串口的TXRX短接,測試自發(fā)自收是否正常

四、9121的外圍電路設(shè)計(jì)注意

?? 1.9121PHY是電壓型,網(wǎng)絡(luò)變壓器的中心抽頭要接3.3V

?? 2.RSTI引腳是外部復(fù)位腳,低電平有效,可以接電容到地;RESET腳是恢復(fù)出廠設(shè)置

??? 9121上電檢測3S內(nèi)恒為低電平有效,可以接單片機(jī)IO來控制,兩個(gè)腳不要混淆。

?? 3.9121電源引腳的退耦電容不可少,而且要靠芯片周圍擺放

?? 4.設(shè)計(jì)電源的時(shí)候,如果電源轉(zhuǎn)換壓差比較大,建議使用DC-DC的電源方案,不建議使用LDO。

五、9121透傳模塊使用問題

?? 1.模塊供電可以選擇5V3.3V,通過模塊板上靠近網(wǎng)口的J1口跳針來選擇,J1口短接,則模塊3.3v供電,否則模塊5v供電


?

CH395

一、CH395外圍電路設(shè)計(jì)注意

??? 1.CH395PHY是電壓型,網(wǎng)絡(luò)變壓器的中心抽頭要接3.3V

??? 2.CH395的電源引腳退耦電容不可少,而且要靠芯片周圍擺放

??? 3.CH395支持串口,SPI和并口(僅CH395L支持)接口,在芯片上電時(shí),395根據(jù)SELTXD引腳的電平來 ? ? ?決定采用哪種方式

??? 4.為了在電源上電期間有效復(fù)位并減少外部干擾,可以在RSTI引腳與地之間接一個(gè)0.1UF的電容。

??? 5.具體接法可以上沁恒官網(wǎng)(www.wch.cn)上搜索“CH395EVT

二、395初始化失敗

??? 1.首先檢查“check_exist”命令,正常情況下395會(huì)將該命令的輸入值按位取反后輸出,

????? 若該命令不正常,則說明395的通訊接口有問題,請注意接口時(shí)序,檢查CH395接口選擇模式配置是否正確,即檢查TXDSEL電平狀態(tài)是否正確。。

??? 2.395初始化參數(shù)設(shè)置好后,先延時(shí)20ms左右,再執(zhí)行初始化命令.

??? 3.注意395的網(wǎng)絡(luò)參數(shù)的合法性,設(shè)置不規(guī)范的ip地址可能會(huì)導(dǎo)致395網(wǎng)絡(luò)出錯(cuò)

?三、395與電腦無法建立TCP連接

1. 連接之前先將電腦的網(wǎng)絡(luò)防火墻關(guān)閉。

2.對于多網(wǎng)卡的電腦,在設(shè)置電腦端網(wǎng)絡(luò)調(diào)試軟件時(shí)要注意選擇正確的網(wǎng)卡,最好是打開軟件前,將其他網(wǎng)卡都禁用。

?

??? 3.ping一下395,若ping不通,則先檢查網(wǎng)口的指示燈是否亮著,若不亮則換一根網(wǎng)線再試;若網(wǎng)口燈 ?亮,則可能395初始化沒有正確完成

??? 4.檢查395初始化配置的信息是否正確,目的ip與端口是否與電腦端設(shè)置相同`,TCP連接要注意ip地址處 ?于同一網(wǎng)段,如果是在路由器局域網(wǎng)環(huán)境下,還要考慮395ip地址避免沖突。

??? 5.TCP正常連接時(shí),395INT引腳會(huì)給出中斷低電平信號,可以通過讀取命令來獲取中斷狀態(tài)

??? 6.若出現(xiàn)連接斷開后不能再次連上的問題,則可能是因?yàn)?/span>395在檢測到連接斷開后自動(dòng)關(guān)閉了socket,可 ? ? ? ?以通過在socket斷開與超時(shí)中斷里重新打開socket。

? ?7.初始化socket之前沒有將socket配置信息表清空

? 四、395數(shù)據(jù)接受與發(fā)送問題

??? 1.395接收到數(shù)據(jù),會(huì)產(chǎn)生數(shù)據(jù)接收中斷信號,檢測395INT引腳是否有低電平產(chǎn)生,注意如果使用單片機(jī)外部中斷,則觸發(fā)位要設(shè)置為低電平觸發(fā)。若有中斷信號,則讀取中斷狀態(tài),對照頭文件里的定義,獲取中斷含義

??? 2.檢查395接收中斷的處理,正常流程是:獲取中斷、讀取數(shù)據(jù)長度,讀取數(shù)據(jù)內(nèi)容。

??? 3.UDP server 模式下的數(shù)據(jù)收發(fā)與其他模式不一樣:

????? 數(shù)據(jù)接收時(shí),395會(huì)在數(shù)據(jù)包前加上8個(gè)字節(jié)的信息,分別是數(shù)據(jù)包長度,源端口,源ip。在接收中斷處理任務(wù)里,需要將這些信息分離并保存。

????? 數(shù)據(jù)發(fā)送時(shí),395使用395UDPSendTo()函數(shù),函數(shù)參數(shù)需要使用上面的信息

??? 4.395發(fā)送相關(guān)的中斷有兩個(gè),分別是發(fā)送完成中斷與發(fā)送緩沖區(qū)空閑中斷;單片機(jī)向395發(fā)送緩沖區(qū)寫一包數(shù)據(jù),395會(huì)將數(shù)據(jù)復(fù)制到MAC緩沖區(qū),復(fù)制完畢后會(huì)產(chǎn)生發(fā)送緩沖區(qū)空閑中斷;CH395可能會(huì)將數(shù)據(jù)分裝成若干包數(shù)據(jù)包,每發(fā)送一包數(shù)據(jù)包,395都會(huì)產(chǎn)生一次發(fā)送完成中斷;因此在實(shí)際發(fā)送時(shí),必須要等到發(fā)送緩沖區(qū)空閑中斷產(chǎn)生后,才能向395緩沖區(qū)填寫下一次數(shù)據(jù)

??? 5.395在數(shù)據(jù)收發(fā)過程中出現(xiàn)數(shù)據(jù)丟包現(xiàn)象:

????? 1395在收發(fā)數(shù)據(jù)的過程中不能被其他進(jìn)程打斷,如果395在數(shù)據(jù)收發(fā)中被其他任務(wù)打斷,則可能會(huì)導(dǎo)致數(shù)據(jù)丟包

????? 2)檢查下定義接收緩沖區(qū)大小,讀取接收長度,看是否超過了接收緩沖區(qū)。接收緩沖區(qū)在定義的時(shí)候至少要大于定義的TCP MSS的值。

?? 五、芯片發(fā)熱。

??? ???由于CH395內(nèi)部集成MACPHY,發(fā)熱量稍大,但不會(huì)影響芯片穩(wěn)定性??赏ㄟ^以下方式改進(jìn):

?? ??1)芯片RSETE 腳參考電阻18K。

?? ??2)改善電源,如使用DC電源代替LDO,減小部分功耗。

?? ??3)啟用CH395低能耗模式。

六、編程注意事項(xiàng)。

???? 1)、芯片內(nèi)置上電復(fù)位電路,主程序開始先延時(shí)200ms時(shí)間,留給CH395足夠的上電復(fù)位時(shí)間,防止單片機(jī)上程序開始運(yùn)行而CH395仍處于復(fù)位狀態(tài)。

???? 2)、芯片初始化之后,建議先做測試命令,確?;就ㄐ耪:笤龠M(jìn)行下面的操作。

???? 3)、假如程序中有設(shè)置MAC地址操作,需要延時(shí)200ms左右時(shí)間。

???? 4)、批量發(fā)送數(shù)據(jù)時(shí),每次發(fā)送數(shù)據(jù)前要確保前一次數(shù)據(jù)已經(jīng)發(fā)送完成(可通過查詢SINT_STAT_SENBUF_FREE中斷來實(shí)現(xiàn))。

?

?

?

CH563

一、CH563外圍電路設(shè)計(jì)注意

??? 1.CH563PHY是電壓型,網(wǎng)絡(luò)變壓器的中心抽頭要接3.3V

??? 2.CH563的電源引腳退耦電容不可少,而且要靠芯片周圍擺放

??? 3.具體接法可以上沁恒官網(wǎng)(www.wch.cn)上搜索“CH563PCB

二、CH563初始化失敗

??? 1.初始化函數(shù)需要輸入四個(gè)參數(shù):ip,網(wǎng)關(guān),子網(wǎng)掩碼,MAC. 檢查這些參數(shù)的正確性

??? 2.初始化函數(shù)會(huì)返回狀態(tài)碼,對照頭文件CH563NET.H,看一下是什么錯(cuò)誤

??? 3CH563初始化后,需要在定時(shí)器中斷里開啟以太網(wǎng)中斷服務(wù)函數(shù)與定時(shí)器中斷服務(wù)函數(shù)

?三、CH563無法與電腦建立TCP連接

?1. 連接之前先將電腦的網(wǎng)絡(luò)防火墻關(guān)閉。

2.對于多網(wǎng)卡的電腦,在設(shè)置電腦端網(wǎng)絡(luò)調(diào)試軟件時(shí)要注意選擇正確的網(wǎng)卡,最好是打開軟件前,將其他網(wǎng)卡都禁用。

??? 3.ping一下563,若ping不通,則先檢查網(wǎng)口的指示燈是否亮著,若不亮則換一根網(wǎng)線再試;若網(wǎng)口燈亮,則可能563初始化沒有正確完成

??? 4.若能ping通,可能電腦的端口被占用,而有的網(wǎng)絡(luò)調(diào)試軟件不會(huì)提示,換一下電腦端的tcp端口再試一下。

??? 5.檢查563配置的信息是否正確,目的ip與端口是否與電腦端設(shè)置相同`TCP連接要注意ip地址處于同一網(wǎng)段,如果是在路由器局域網(wǎng)環(huán)境下,還要考慮395ip地址避免沖突。

??? 6.若出現(xiàn)連接斷開后不能再次連上的問題,則可能是因?yàn)?/span>563在檢測到連接斷開后自動(dòng)關(guān)閉了socket,需要在TCP連接斷開與超時(shí)中斷里重新打開socket。

? 四、563數(shù)據(jù)收發(fā)問題

??? 1.CH563NET_MainTask()函數(shù)是庫主任務(wù)函數(shù),需要在主程序的大循環(huán)里面不停調(diào)用

???? 如果563一次中斷處理時(shí)間過長,導(dǎo)致主任務(wù)函數(shù)在規(guī)定時(shí)間內(nèi)沒有運(yùn)行,則可能會(huì)到時(shí)563網(wǎng)絡(luò)異常,因此在寫563的中斷處理過程應(yīng)該遠(yuǎn)短越好,遇到數(shù)據(jù)量大的任務(wù),可以通過增加循環(huán)次數(shù)來解決

??? 2.563TCP連接與數(shù)據(jù)接收都會(huì)產(chǎn)生中斷信號,通過調(diào)用函數(shù)CH563NET_QueryGlobalInt()來查詢,數(shù)據(jù)接收會(huì)依次產(chǎn)生全局中斷與socket中斷,按照中斷狀態(tài)來處理就可以了。

??? 3.563在數(shù)據(jù)收發(fā)過程中出現(xiàn)數(shù)據(jù)丟包現(xiàn)象:

??? ·檢查下定義接收緩沖區(qū)大小,讀取接收長度,看是否超過了接收緩沖區(qū)。接收緩沖

在定義的時(shí)候至少要大于定義的TCP MSS的值。

?

?

?

??????

?????

?

?