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