CH9121:
一、配置軟件搜索不到設(shè)備
? 1.檢查網(wǎng)線連接是否正常,網(wǎng)口的連接指示燈是否亮著,若不亮,則換一根網(wǎng)線或是檢查
??? 下電腦端網(wǎng)口有沒有問題。
? 2.將9121恢復(fù)出廠設(shè)置后再試,具體做法:將9121的RESET腳接地,然后上電維持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.可以將串口的TX與RX短接,測試自發(fā)自收是否正常
四、9121的外圍電路設(shè)計(jì)注意
?? 1.9121的PHY是電壓型,網(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.模塊供電可以選擇5V或3.3V,通過模塊板上靠近網(wǎng)口的J1口跳針來選擇,J1口短接,則模塊3.3v供電,否則模塊5v供電
?
CH395
一、CH395外圍電路設(shè)計(jì)注意
??? 1.CH395的PHY是電壓型,網(wǎng)絡(luò)變壓器的中心抽頭要接3.3V
??? 2.CH395的電源引腳退耦電容不可少,而且要靠芯片周圍擺放
??? 3.CH395支持串口,SPI和并口(僅CH395L支持)接口,在芯片上電時(shí),395根據(jù)SEL和TXD引腳的電平來 ? ? ?決定采用哪種方式
??? 4.為了在電源上電期間有效復(fù)位并減少外部干擾,可以在RSTI引腳與地之間接一個(gè)0.1UF的電容。
??? 5.具體接法可以上沁恒官網(wǎng)(www.wch.cn)上搜索“CH395EVT”
二、395初始化失敗
??? 1.首先檢查“check_exist”命令,正常情況下395會(huì)將該命令的輸入值按位取反后輸出,
????? 若該命令不正常,則說明395的通訊接口有問題,請注意接口時(shí)序,檢查CH395接口選擇模式配置是否正確,即檢查TXD,SEL電平狀態(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í),395的INT引腳會(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ù)接收中斷信號,檢測395的INT引腳是否有低電平產(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)象:
????? (1)395在收發(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)部集成MAC和PHY,發(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.CH563的PHY是電壓型,網(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.563在TCP連接與數(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的值。
?
?
?
??????
?????
?
?