詳解COM20020i Rev. D:高性能ARCNET控制器的卓越之選
作為一名電子工程師,在工業、汽車和嵌入式控制等領域的設計工作中,網絡通信控制器的選擇至關重要。今天就來詳細介紹一款優秀的產品——Microchip的COM20020i Rev. D,一款5Mbps ARCNET(ANSI 878.1)控制器,它具備諸多出色特性,能為相關應用提供可靠的通信解決方案。
文件下載:COM20020I-DZD-TR.pdf
一、產品亮點概述
COM20020i Rev. D具有眾多令人矚目的特性。它的數據傳輸速率最高可達5 Mbps,能滿足高速數據傳輸的需求。其可編程的重新配置時間,讓網絡適應變化的能力更強;具備28 - 引腳PLCC和48 - 引腳TQFP兩種RoHS合規封裝,可根據不同設計需求靈活選擇;適用于工業、工廠、建筑自動化以及交通運輸等應用場景。采用確定性的(ANSI 878.1)令牌傳遞ARCNET協議,能確保在實時應用中提供可預測的響應時間。此外,它對微控制器和媒體接口邏輯的需求極低,擁有靈活的接口,可與各種微控制器或微處理器配合使用,還能自動檢測微控制器接口類型。內部集成2Kx8的雙端口RAM,支持命令鏈進行數據包排隊,可順序訪問內部RAM,軟件可編程節點ID,有八個256字節頁面,支持四種頁面的收發以及暫存存儲器,可讀取下一個節點ID,具備內部時鐘縮放器和時鐘倍增器用于調整網絡速度,工作溫度范圍為 - 40°C至 + 85°C,支持自重新配置協議,最多可支持255個節點,支持多種網絡拓撲結構,采用CMOS工藝,單 + 5V電源供電,具備重復節點ID檢測和強大的診斷功能,還有接收所有數據包模式以及靈活的媒體接口,包括傳統混合接口和RS485差分驅動接口。
二、協議解析
網絡協議
通信基于令牌傳遞協議,網絡配置的建立和管理由COM20020iD的內部微代碼序列器完成。處理器或智能外設只需將數據包及其目標ID加載到內部RAM緩沖區,并發出啟用發送器的命令即可傳輸數據。當接收到令牌時,會先發送FREE BUFFER ENQUIRY消息驗證接收節點是否準備好,若接收節點發送ACKnowledge消息,則發送數據包和16位CRC;若接收節點無法接受數據包,則發送Negative AcKnowledge消息,發送器傳遞令牌。接收節點成功接收數據包后會發送ACKnowledge消息,發送器設置相應狀態位。中斷掩碼允許在選定狀態位為真時生成中斷。
數據速率
COM20020iD支持156.25 Kbps至5 Mbps的數據速率。要實現更高的數據速率,可通過內部時鐘倍增器將時鐘頻率加倍;對于較慢的數據速率,內部時鐘分頻器會降低時鐘頻率,所有超時值也會相應縮放。若要實現5 Mbps的網絡,需輸入40 MHz的外部時鐘,但由于40 MHz接近FM無線電頻段,存在噪聲問題,因此可通過Setup2寄存器中的CKUP[1,0]位從20 MHz晶體生成更高頻率的時鐘。改變CKUP1和CKUP0位后,需等待一段時間并向命令寄存器寫入命令數據 '18H' 以重新啟動ARCNET核心操作。當數據速率超過5 Mbps時,SETUP2寄存器中的EF位必須設置。
網絡重新配置
COM20020iD能適應網絡變化,當新節點激活或停用、新設備開啟、未收到傳輸邀請420ms或發生軟件復位時,會發送RECONFIGURE BURST進行網絡重新配置,該突發信號會終止網絡上的所有活動。當檢測到空閑線路超過41μS(令牌丟失時),每個設備會啟動內部超時,超時后開始發送傳輸邀請,最終每個設備會保存一個NID值,實現節點間的直接控制傳遞。網絡重新配置時間通常在12至30.5ms范圍內。
廣播消息
廣播功能允許特定節點同時向網絡上的所有節點傳輸數據包,ID零用于此功能,網絡上的任何節點都不能分配ID零。發送廣播消息時,只需將數據包加載到RAM緩沖區并將DID設置為零。每個節點可通過設置“Enable Receive to Page fnn”命令的最高有效位為邏輯“0”來忽略廣播消息。
擴展超時功能
該設備有三個與操作相關的超時,其值由配置寄存器的第3和4位以及Setup 1寄存器的第5位控制。響應時間決定了任意兩個節點之間允許的最大傳播延遲,應大于網絡上最遠兩個節點之間的往返傳播延遲加上最大周轉時間;空閑時間與網絡重新配置相關;重新配置時間內若節點未收到令牌,將啟動網絡重新配置。所有連接到同一網絡的COM20020iD必須具有相同的響應時間、空閑時間和重新配置時間。
線路協議
ARCNET線路協議是等時的,每個字節前有起始間隔,后有停止間隔,數據字節之間的時間間隔恒定。在5 Mbps的網絡上,每個字節需要11個200ns的時鐘間隔,即每2.2μS傳輸一個字節,可精確確定消息傳輸時間。線路空閑時為邏輯“0”,邏輯“0”表示無線路活動,邏輯“1”表示持續100ns的負脈沖。傳輸開始時會有一個由6個單位間隔的標記(邏輯“1”)組成的ALERT BURST,然后發送8位數據字符,每個字符前有2個單位間隔的標記和1個單位間隔的空格。支持五種類型的傳輸,包括傳輸邀請、空閑緩沖區查詢、數據包、確認消息和否定確認消息。
三、系統設計
微控制器接口
COM20020iD的微控制器接口由8位數據總線、地址總線和控制總線組成。它能自動檢測并適應所使用的微控制器類型,默認采用80XX - 類似的信號和復用操作。在硬件復位后,通過軟件執行特定操作來確定控制信號類型和總線類型,一旦確定,將保持該接口模式直到下一次硬件復位。對內部RAM和寄存器的訪問由COM20020iD控制,內部RAM通過基于指針的方案訪問,內部寄存器通過直接尋址訪問。該設備提供無等待狀態仲裁,指針可用于自動遞增模式進行順序緩沖區操作,也可用于隨機訪問。數據通過數據寄存器進行讀寫,讀取時數據會從內存預取到數據寄存器,寫入時數據先存儲在數據寄存器再寫入內存。此外,為支持高速CPU總線時序,對地址解碼和主機接口模式塊進行了修改,添加了RBUSTMG位來禁用/啟用高速CPU讀取功能。
傳輸媒體接口
COM20020iD提供三種與傳輸媒體接口的方式。傳統混合接口適用于與其他混合接口節點組成的網絡,僅適用于2.5 Mbps的節點,通過變壓器耦合提供隔離和高共模抑制,使用特定電路進行數據傳輸和接收;背板配置適用于對成本敏感的短距離應用,如背板和儀器,該模式節省組件、成本和功率,但不隔離節點與媒體,也不保護其免受共模噪聲影響,COM20020iD提供可編程輸出驅動器,默認采用開漏輸出;差分驅動配置是背板模式的特殊情況,適用于汽車區域網絡等對成本敏感且不需要與現有ARCNET節點直接兼容和隔離的應用,通過RS485驅動器/接收器進行數據傳輸和接收。此外,COM20020iD的TXEN輸出極性可編程,以適應具有高電平有效ENABLE引腳的收發器。
四、功能剖析
微序列器
COM20020iD內部的微序列器執行ARCNET協議所需的所有控制操作,由時鐘發生器、544 x 8 ROM、程序計數器、兩個指令寄存器、指令解碼器、無操作發生器、跳轉邏輯和重新配置邏輯組成。從時鐘倍增器的輸出時鐘派生10 MHz和5 MHz的時鐘,分別用于程序計數器操作和指令執行。微程序存儲在ROM中,指令被提取并放入指令寄存器,解碼后執行。遇到無操作指令時,微序列器進入定時循環;遇到跳轉指令時,程序計數器加載跳轉地址。內部重新配置定時器超時會中斷微序列器,清除程序計數器并設置診斷狀態寄存器的MYRECON位。
內部寄存器
COM20020iD包含14個內部寄存器,包括中斷掩碼寄存器、數據寄存器、臨時ID寄存器、節點ID寄存器、下一個ID寄存器、狀態寄存器、診斷狀態寄存器、命令寄存器、地址指針寄存器、配置寄存器、子地址寄存器、Setup 1寄存器和Setup 2寄存器。這些寄存器在設備的操作中發揮著不同的作用,如中斷掩碼寄存器指定哪些狀態位可生成中斷,數據寄存器用于數據的讀寫,節點ID寄存器存儲節點的唯一標識等。
內部RAM
內部集成的2K x 8 RAM節省了大量空間和成本,減少了外部RAM、外部鎖存器以及復用地址/數據總線和控制功能的需求,降低了系統設計的復雜度和成本,提高了可靠性。內部RAM通過基于指針的方案進行訪問,數據通過8位數據寄存器與微控制器進行通信。訪問速度快,可通過設置Setup1寄存器的第0位來減慢仲裁時鐘。
軟件接口
微控制器通過軟件訪問各種寄存器與COM20020iD進行交互。訪問數據緩沖區的軟件流程基于順序訪問方案,包括禁用中斷、寫入指針寄存器、啟用中斷、讀寫數據寄存器等步驟。控制配置、節點ID、臨時ID和下一個ID寄存器的軟件流程主要用于初始化序列和維護網絡地圖。在選擇RAM頁面大小時,可根據需要將2K x 8的RAM分為四個512字節的頁面,通過“Enable Transmit (Receive) from (to) Page fnn”命令指定使用的頁面,還可通過設置偏移位“f”來實現更精細的緩沖區分配。在發送和接收序列中,需按照特定的格式將數據包寫入或讀取RAM緩沖區,并根據狀態位的變化進行相應的操作。
命令鏈
命令鏈操作允許連續的傳輸和接收操作在無需主機微控制器干預的情況下進行,通過雙二級FIFO對命令和狀態位進行流水線處理。默認情況下,設備處于非鏈模式,要使用命令鏈操作,需將配置寄存器的第6位置為邏輯“1”。在命令鏈模式下,狀態寄存器的表現有所不同,支持最多兩個未完成的傳輸和接收操作,中斷服務程序的延遲不影響性能,中斷掩碼位作用于TTA(發送器可用的上升沿)和TRI(接收器禁止的上升沿)。發送命令鏈和接收命令鏈的操作流程類似,在完成一次傳輸或接收后,會更新狀態寄存器并生成中斷,通過特定命令清除中斷和狀態位。
復位細節
COM20020iD包含特殊的復位電路,支持軟件和硬件復位。軟件復位通過將配置寄存器的第7位置為邏輯“1”實現,不影響微控制器接口模式和部分寄存器的內容;硬件復位通過在nRESET輸入上施加低信號實現,最小復位脈沖寬度為5TXTL。復位后,發送器部分禁用,內部寄存器進入特定狀態。在寫入非零值到節點ID寄存器之前,應先寫入Setup1寄存器,寫入節點ID寄存器后,設備會向RAM緩沖區執行兩次寫操作。
初始化序列
在初始化過程中,通過對COM20020iD的地址空間中的奇數地址進行讀寫操作來確定合適的總線接口。在寫入非零值到節點ID寄存器之前,應先寫入Setup1寄存器,直到設置節點ID寄存器后,核心才會喚醒,但節點要加入網絡還需設置配置寄存器的TX Enable位。在設置TX Enable位之前,可通過觀察診斷狀態寄存器的接收活動和令牌可見位來驗證接收器和網絡的健康狀況,同時確定節點ID的唯一性。可使用臨時ID寄存器構建網絡地圖,使用下一個ID寄存器確定下一個邏輯節點。
改進的診斷功能
COM20020iD通過內部診斷狀態寄存器提供了更好的網絡管理功能。My Reconfiguration(MYRECON)位為高時表示該節點的令牌接收定時器超時,導致網絡重新配置,可通過檢查該位來判斷節點是否存在問題;Duplicate ID(DUPID)位用于在節點加入網絡之前確保節點ID的唯一性;Receive Activity(RCVACT)位和Token Seen(TOKEN)位可幫助用戶排查網絡或節點問題,不同組合的這些位和配置寄存器的TXEN位表示不同的情況;Excessive NAK(EXCNAK)位用于限制發送器向無可用緩沖區的節點發送空閑緩沖區查詢的次數,可通過設置Setup1寄存器的FOUR - NAKS位來確定超時值;New Next ID位允許軟件檢測節點的添加或移除;Tentative ID位可用于構建網絡地圖。
振蕩器
COM20020iD的振蕩器電路與外部并聯諧振晶體或TTL時鐘配合使用。使用外部晶體時,需要兩個電容器,晶體精度要求為0.020%或更高,振蕩頻率范圍為10 MHz至20 MHz。當內部時鐘倍增器開啟時,晶體精度要求為0.010%或更高,振蕩頻率必須為20 MHz。也可使用外部TTL時鐘,此時需在XTAL1信號上添加390Ω上拉電阻,XTAL2保持未連接。
五、操作與應用注意事項
最大額定值
COM20020iD的最大額定值包括工作溫度范圍、存儲溫度范圍、引腳溫度、引腳電壓等,超過這些額定值可能會導致設備永久性損壞。在使用實驗室或系統電源供電時,要注意避免超過絕對最大額定值,可使用鉗位電路來防止電壓尖峰或瞬變。
DC電氣特性
詳細說明了不同輸入輸出引腳的電壓范圍、輸出電壓、電源電流、輸入上拉電流和輸入泄漏電流等DC電氣特性,這些參數對于正確設計和使用COM20020iD至關重要。
時序圖
提供了多種不同總線模式和控制信號下的讀寫周期時序圖,包括地址設置時間、地址保持時間、片選設置時間、片選保持時間、時鐘信號寬度等參數,這些參數對于確保微控制器與COM20020iD之間的正確通信至關重要。在設計過程中,要根據具體的應用場景和微控制器的特性,合理設置這些時序參數,以保證系統的穩定性和可靠性。同時,要注意不同數據速率和時鐘設置對時序參數的影響,以及一些特殊操作(如地址指針寄存器的讀寫)的時序要求。
封裝信息
介紹了COM20020iD的兩種封裝形式,即48 - 引腳TQFP和28 - 引腳PLCC,并提供了相應的封裝外形圖和尺寸信息。在進行PCB設計時,要根據封裝尺寸合理安排元件布局,確保引腳連接正確,同時要考慮散熱和機械穩定性等因素。
六、總結
COM20020i Rev. D是一款功能強大、性能卓越的ARCNET控制器,它在協議支持、系統設計、功能特性等方面都表現出色。其豐富的功能和靈活的配置選項使其適用于各種工業、汽車和嵌入式控制等領域的網絡通信應用。在實際設計中,我們需要深入理解其工作原理和各項參數,根據具體的應用需求進行合理的配置和優化,以充分發揮其優勢,實現高效、穩定的網絡通信。同時,要注意遵循其操作要求和注意事項,確保設備的正常運行和系統的可靠性。大家在實際應用中遇到過哪些關于網絡通信控制器的問題呢?歡迎一起討論交流。
-
網絡通信
+關注
關注
4文章
840瀏覽量
32558
發布評論請先 登錄
com20020id網絡的嵌入式通用的通信控制器的網絡微控制器
詳解COM20020i Rev. D:高性能ARCNET控制器的卓越之選
評論