【KSZ8863】KSZ8863交换机芯片的信息汇总与打板验证结果
前提
對STM32雙網(wǎng)口實現(xiàn)的方案的繼續(xù)探究,比較多見的都是
通過研究,我還發(fā)現(xiàn)了一類比較少見但是靈活的方案
交換機(jī)芯片
也就是本文提到的這個KSZ8863
一顆LQPF48腳的3口10/100M的以太網(wǎng)交換芯片
目前(21年9月份)在立創(chuàng)上的價格是:
簡單說就是這芯片就實現(xiàn)了一個三口管理型交換機(jī)…而且價錢還算比較OK,當(dāng)然現(xiàn)在疫情的原因,買不到/要訂貨啥的我也不意外。
最新進(jìn)展
總結(jié)下:
也算是給自己一個交代了,不想搞了,不知道SPI的配置功能到底為啥不行~~
22年6月底第二次打板
4. 22年6月底第二次打板,我重新再認(rèn)真讀了官方模塊的手冊和數(shù)據(jù)手冊,改了下原理圖,SPI還是類似的現(xiàn)象,還是讀不出…嗚嗚嗚
相較上一版本,加了一個LDO,優(yōu)化走線布局,認(rèn)真的理了理SPI部分的走線,結(jié)果還是讀不出來,真的是很無奈~~~
這次讀出來的不是FF了,好像是主機(jī)發(fā)什么,它就返回什么,02指令和03指令都試了
拋開這個配置,交換機(jī)本身的功能是可以的,這個沒啥好說,這次打板PCB沒有改這部分。。。
22年2月第一次打板
疑點1-RMII接口
似乎原生驅(qū)動LAN8720的程序好像沒有使能MDIO這個外設(shè)??那LAN8720是如何在僅僅初始化了RMII接口之后獲得到PHY相關(guān)的信息的了?
看H743的手冊,我好像有點明白了~~~
H743的網(wǎng)絡(luò)接口有三種
a) RMII(目前用的)
b) SMA(站管理模式)
c) MII
SMA接口就是需要使用MDIO和MDC數(shù)據(jù)線傳輸數(shù)據(jù)的方式與PHY芯片通信的
通信的數(shù)據(jù)幀格式和交換機(jī)芯片的一致
這個是可以設(shè)置時鐘的
在RTT LAN8720驅(qū)動代碼里,確實找到了這樣一句HAL驅(qū)動函數(shù)的調(diào)用
似乎目前HAL庫里面是關(guān)聯(lián)了HCLK時鐘的
有沒有可能是因為芯片的HCLK時鐘設(shè)置的比較高,導(dǎo)致對應(yīng)這個MDIO的時鐘設(shè)置的過高(超過了5MHz)導(dǎo)致訪問交換機(jī)芯片讀出的內(nèi)容都有問題 。
應(yīng)該不是的,用 LAN8720的驅(qū)動打斷點看了函數(shù)的執(zhí)行
HCLK 200Mhz, 它是走了CSR/102這個分支,對應(yīng)算下來MDC時鐘應(yīng)該不超過3MHz,應(yīng)該是沒有超過5Mhz的上限。
或者說還有一種可能
因為LAN8720是使用RMII接口驅(qū)動。 實際上RMII接口下,MDIO實際上并沒有使用,也沒有初始化呢,導(dǎo)致讀取的值都是異常值?
應(yīng)該不會,因為LAN8720的網(wǎng)線斷開插入后重新連接應(yīng)該是會用到MDIO查詢PHY的,不可能RMII接口不聯(lián)動這個MDIO,不然這個重新連接怎么實現(xiàn)的呢?
單獨做了一個只有MDIO接口的工程,嘗試讀了,也是讀不出來.
疑點3-SPI接口
難道SPI驅(qū)動那里驅(qū)動沒調(diào)好???
再次用CubeMx單獨做了個15MHz/7.5MHz的SPI4接口(模式0和模式3)的工程分別試了試
用邏輯分析儀抓了通信,讀出來都是FF
跟它提供的多字節(jié)讀的波形應(yīng)該對的上呀,但是讀不出來?
難道說SPI接口的線和板子的電源層短路了,所以被拉高?
這個也拿萬用表量了引腳和VCC,也沒有短路,引腳也是通到了座子上的
上次調(diào)也有試過下掉MISO/MOSI這兩條上拉電阻,拿USB轉(zhuǎn)SPI儀器去讀,也是讀不出來,全是FF
看來是無解了
原理圖,送給大家(這個要積分哈),雖然有點問題,但是單純做交換機(jī)本身還是可以用的
說不定有大佬能夠搞明白哪里畫的不對,能夠解決上面的問題
自己畫的原理圖
22.2.25
?1. spi讀不到任何數(shù)據(jù),全是ff,手冊說要用模式0或者3來讀,都試了,也換了SPI頻率,都是一樣,讀不出任何東西,都是FF。
試了12M,24M的SPI頻率都不行,都是讀出來都是FF(這里忘記截圖了,現(xiàn)象很奇怪)
指令說是"3"是數(shù)據(jù)讀,"2"是數(shù)據(jù)寫
但是它下面給 的波形圖,好像又不是這樣的,“2”和"3"我都試過了,都不行…
讀和寫都是"2"???
板子這邊我也是參考這個官方核心板的原理圖上的說法做的
SPI接口: P2LED1不用下拉(NG不貼),P2LED0.1K下拉到地
SPI接口: P2LED1不用下拉(NG不貼),P2LED0.1K下拉到地
手冊也說,配置模式,就是上電,復(fù)位完畢時候讀取這兩引腳的狀態(tài),決定配置的方式。
反正就是啥也讀不出,不知道為啥…
?2. 網(wǎng)絡(luò)部分,rtt的lan8720驅(qū)動把讀軟復(fù)位的功能去掉之后,網(wǎng)絡(luò)是通的,只要不同時兩個口插網(wǎng)線,只要插了雙網(wǎng)線,驅(qū)動會有問題(問題 可能是原來只注冊了一個網(wǎng)卡,兩個網(wǎng)卡同時在的話,它就會有異常了).
雙向ping都是通的,但是用mdio口讀芯片的phy寄存器信息全部是FFFF…有點懷疑是不是芯片有問題(X寶買的,目前X寶有賣,立創(chuàng)買不到,沒辦法),原來給LAN8720配PHY地址原來是0,然后試過1,2,3,好像都可以ping的通,網(wǎng)絡(luò)也是正常的**(按手冊描述,應(yīng)該是3才對(3對應(yīng)的是RMII接口),1和2是它外擴(kuò)的RJ45)**。
22.2.23
半年工作比較忙,終于有空把所有信息整合,畫原理圖,PCB,打樣,把初版核心板制作出來了
后期如果調(diào)通完,我就放出原理圖
先曬下效果。。
先是板子,我引出了RMII接口和SPI管理接口和電源接口
唯一小遺憾的是應(yīng)該加一個LED電源指示燈,因為它上電以后,不插網(wǎng)線的情況下,是沒有任何反應(yīng)的
插上網(wǎng)線的效果(一頭接交換機(jī),一頭接PC)
PC端顯示網(wǎng)絡(luò)正常(100M),網(wǎng)絡(luò)通信也是正常的!!因為我是在內(nèi)網(wǎng)環(huán)境下,我試著訪問了內(nèi)網(wǎng)的一個服務(wù)器也是正常的。
芯片信息匯總
(我會提供這些收集到的文檔和資料在我的csdn,不要積分下載):
https://download.csdn.net/download/tpoem/21883787
手冊在微芯官網(wǎng)上可以查
原理框圖大概是這樣的
一共三個MAC,兩個PHY。
其中MAC3是可以通過RMII/MII接入處理器或者PHY芯片的[手冊24頁],它下面也附錄了接的方法
MII/RMII的解法
microchip收購了micrel這個牌子,所以KSZ系列芯片以前是這個公司的
接PHY或者M(jìn)AC的方法
接的時候也有一些坑的地方
注意看這個表格,Clock Source那里,有特殊的接線的描述
關(guān)于RX_ER的問題
它這個芯片沒有提供EX_ER信號出,它自身過濾了錯誤幀,它有特殊的做法
關(guān)于MII 管理幀格式和SMI管理幀格式
MII管理幀格式如下(這個就是芯片提供的MII/RMII接口的那個MDC/MDIO的通信協(xié)議)
看H743的描述理論上應(yīng)該式可以用MDIO與交換機(jī)通信的
但是交換機(jī)芯片對MDIO時鐘有限制(最大5MHz)
關(guān)于供電
這個芯片需要3.3V+1.8V供電(這個芯片內(nèi)置1.8V LDO),它1.8V的引腳有特殊接法【磁珠隔離數(shù)字電源和模擬電源】
這個在微芯官方的8863模塊(它是RMII接口輸出的)上也有體現(xiàn)
來源于這個文檔
關(guān)于網(wǎng)絡(luò)變壓器和網(wǎng)口選擇
上面這個官方模塊用的是一個帶隔離變壓器的雙口RJ45座子,手冊和它官方的原理圖上都提供了推薦網(wǎng)絡(luò)變壓器選型,至于RJ45座子,這個可能要采取類似于官方模塊這種變壓器構(gòu)型的或者無變壓器的座子吧
其中這個型號立創(chuàng)上有賣,還挺多貨,可以!!
關(guān)于配置交換機(jī)的功能
芯片支持必要的網(wǎng)管功能,可以通過SPI/SMI/I2C配置,還可以將配置寫到一片外部的EEPROM(24Cxx)上,實現(xiàn)配置信息自動加載,無管理交換機(jī)的功能。
芯片上電啟動或者復(fù)位后的時候會優(yōu)先從外部EEPROM讀配置信息,然后引腳恢復(fù)成其他功能。
或者直接用I2C讀芯片的所有寄存器
關(guān)于外部EEPROM的配置信息如何制作
這里參考這個鏈接,官方其實做了一個小工具
EEPROM的配置信息制作
總結(jié)
以上是生活随笔為你收集整理的【KSZ8863】KSZ8863交换机芯片的信息汇总与打板验证结果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频教程-初级学习ArcGIS Engi
- 下一篇: 软件开发环境简介