4.協(xié)議解析
JTAG協(xié)議核心是三個(gè)寄存器和TAP狀態(tài)機(jī)。作為DEBUG的JTAG接口會(huì)在DAP中利用旁路寄存器將JTAG協(xié)議轉(zhuǎn)換為APB協(xié)議。作為DFT的JTAG接口會(huì)直接利用數(shù)據(jù)寄存器進(jìn)行邊界掃描。
JTAG協(xié)議通過(guò)TMS信號(hào)控制TAP狀態(tài)機(jī)的轉(zhuǎn)換。
系統(tǒng)上電后,TAP Controller首先進(jìn)入Test-LogicReset狀態(tài),然后依次進(jìn)入Run-Test/Idle、Selcct-DR- Scan、Select-IR-Scan、Capture-IR、Shift-IR、Exitl-IR、Update-IR狀態(tài),最后回到Run- Tcst/Idle狀態(tài)。
在此過(guò)程中,狀態(tài)的轉(zhuǎn)移都是通過(guò)TCK信號(hào)進(jìn)行驅(qū)動(dòng)(上升沿),通過(guò)TMS信號(hào)對(duì)TAP的狀態(tài)進(jìn)行選擇轉(zhuǎn)換的。
其中,在 Capture-IR狀態(tài)下,一個(gè)特定的邏輯序列被加載到指令寄存器中;在Shift-IR狀態(tài)下,可以將一條特定的指令送到指令寄存器中;在 Update—IR狀態(tài)下,剛才輸入到指令寄存器中的指令將用來(lái)更新指令寄存器。
最后,系統(tǒng)又回到Run—Test/Idle狀態(tài),指令生效,完成對(duì)指令 寄存器的訪問(wèn)。當(dāng)系統(tǒng)又返回到Run—Test/Idle狀態(tài)后,根據(jù)前面指令寄存器的內(nèi)容選定所需要的數(shù)據(jù)寄存器,開(kāi)始執(zhí)行對(duì)數(shù)據(jù)寄存器的工作。
其基本 原理與指令寄存器的訪問(wèn)完全相同,依次為seIect—DR—Scan、Capture—DR、Shift—D、Exitl一DR、Update—DR, 最后回到Run-Tcst/Idle狀態(tài)。通過(guò)TDl和TDO,就可以將新的數(shù)據(jù)加載到數(shù)據(jù)寄存器中。經(jīng)過(guò)一個(gè)周期后,就可以捕獲數(shù)據(jù)寄存器中的數(shù)據(jù),完成對(duì)與數(shù)據(jù)寄存器的每個(gè)寄存器單元相連的芯片引腳的數(shù)據(jù)更新,也完成了對(duì)數(shù)據(jù)寄存器的訪問(wèn)。
5.SBW_JTAG
JTAG接口除了標(biāo)準(zhǔn)的4信號(hào)引腳外,TI還支持2信號(hào)引腳的SBW_JTAG。SBW_JTAG僅使用SBWTCK和SBWTDIO信號(hào),常用于引腳受限芯片上。
4
1.名詞解釋
I2C總線(xiàn)全稱(chēng)Integrated Circuit,中文名I方C總線(xiàn)。
2. 歷史由來(lái)
I2C 總線(xiàn)是由 Philips 公司開(kāi)發(fā)的一種簡(jiǎn)單、雙向二線(xiàn)制同步串行總線(xiàn)。
3.應(yīng)用場(chǎng)景
I2C總線(xiàn)大量用于Host與外部設(shè)備的連接,簡(jiǎn)化了系統(tǒng)布線(xiàn)。I2C是雙向二線(xiàn)制同步串行總線(xiàn),每次可傳輸NByte數(shù)據(jù),支持100kbps/400kbps/3.4Mbps/5Mbps速率。I2C總線(xiàn)包含兩條信號(hào)線(xiàn),串行數(shù)據(jù)SDA和串行時(shí)鐘SCL。I2C的一個(gè)總線(xiàn)上可以?huà)煸诙鄠€(gè)主機(jī)和多個(gè)設(shè)備,每次數(shù)據(jù)傳輸都是由主機(jī)發(fā)起,且由主機(jī)提供時(shí)鐘。
4. 協(xié)議解析
I2C傳輸是以8bit為單元傳輸數(shù)據(jù)的,每個(gè)8bit單元數(shù)據(jù)后必須緊跟1bit回應(yīng)數(shù)據(jù)。I2C的每筆傳輸包含四個(gè)階段:
(1)開(kāi)始信號(hào)(S):SCL為高電平時(shí),SDA高電平向低電平跳變,開(kāi)始傳送數(shù)據(jù)。
(2)結(jié)束信號(hào)(P):SCL為高電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。
(3)響應(yīng)信號(hào)(ACK):接收器在接收到8位數(shù)據(jù)后,在第9個(gè)時(shí)鐘周期,拉低SDA。
(4)數(shù)據(jù)信號(hào)(DAT): 必須為8bit,傳輸時(shí)先傳輸最高位(MSB),之后必須緊跟著ACK信號(hào)。
此外,每筆傳輸?shù)牡谝粋€(gè)8bit數(shù)據(jù)被用來(lái)作為,設(shè)備地址和訪問(wèn)類(lèi)型。
寫(xiě)數(shù)據(jù)
若配置的方向傳輸位為“寫(xiě)數(shù)據(jù)”方向,即第一幅圖的情況,廣播完地址,接收到應(yīng)答信號(hào)后,主機(jī)開(kāi)始正式向從機(jī)傳輸數(shù)據(jù)(DATA),數(shù)據(jù)包的大小為8 位,主機(jī)每發(fā)送完一個(gè)字節(jié)數(shù)據(jù),都要等待從機(jī)的應(yīng)答信號(hào)(ACK),重復(fù)這個(gè)過(guò)程,可以向從機(jī)傳輸N 個(gè)數(shù)據(jù),這個(gè)N 沒(méi)有大小限制。當(dāng)數(shù)據(jù)傳輸結(jié)束時(shí),主機(jī)向從機(jī)發(fā)送一個(gè)停止傳輸信號(hào)(P),表示不再傳輸數(shù)據(jù)。
讀數(shù)據(jù)
若配置的方向傳輸位為“讀數(shù)據(jù)”方向,即第二幅圖的情況,廣播完地址,接收到應(yīng)答信號(hào)后,從機(jī)開(kāi)始向主機(jī)返回?cái)?shù)據(jù)(DATA),數(shù)據(jù)包大小也為8 位,從機(jī)每發(fā)送完一個(gè)數(shù)據(jù),都會(huì)等待主機(jī)的應(yīng)答信號(hào)(ACK),重復(fù)這個(gè)過(guò)程,可以返回N 個(gè)數(shù)據(jù),這個(gè)N 也沒(méi)有大小限制。當(dāng)主機(jī)希望停止接收數(shù)據(jù)時(shí),就向從機(jī)返回一個(gè)非應(yīng)答信號(hào)(NACK),則從機(jī)自動(dòng)停止數(shù)據(jù)傳輸。
讀和寫(xiě)數(shù)據(jù)
除了基本的讀寫(xiě),I2C 通訊更常用的是復(fù)合格式,即第三幅圖的情況,該傳輸過(guò)程有兩次起始信號(hào)(S)。一般在第一次傳輸中,主機(jī)通過(guò) SLAVE_ADDRESS 尋找到從設(shè)備后,發(fā)送一段“數(shù)據(jù)”,這段數(shù)據(jù)通常用于表示從設(shè)備內(nèi)部的寄存器或存儲(chǔ)器地址(注意區(qū)分它與SLAVE_ADDRESS 的區(qū)別);在第二次的傳輸中,對(duì)該地址的內(nèi)容進(jìn)行讀或?qū)憽R簿褪钦f(shuō),第一次通訊是告訴從機(jī)讀寫(xiě)地址,第二次則是讀寫(xiě)的實(shí)際內(nèi)容。
以上通訊流程中包含的各個(gè)信號(hào)分解如下:
通訊的起始和停止信號(hào)
前文中提到的起始(S)和停止(P)信號(hào)是兩種特殊的狀態(tài),見(jiàn)圖 24-5。當(dāng) SCL 線(xiàn)是高電平時(shí) SDA 線(xiàn)從高電平向低電平切換,這個(gè)情況表示通訊的起始。當(dāng) SCL 是高電平時(shí) SDA線(xiàn)由低電平向高電平切換,表示通訊的停止。起始和停止信號(hào)一般由主機(jī)產(chǎn)生。
5
CAN
1.名詞解釋
CAN總線(xiàn)全稱(chēng)Controller Area Network,中文名控制器局域網(wǎng)絡(luò)。
2.歷史由來(lái)
CAN總線(xiàn)由以研發(fā)和生產(chǎn)汽車(chē)電子產(chǎn)品著稱(chēng)的德國(guó)BOSCH公司開(kāi)發(fā)的,并最終成為國(guó)際標(biāo)準(zhǔn)(ISO 11898),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線(xiàn)之一。
3.應(yīng)用場(chǎng)景
CAN總線(xiàn)采用差分信號(hào)線(xiàn)CAN_L和CAN_H進(jìn)行通信,最高支持1Mbps的通信速率。CAN總線(xiàn)采用多主控(Multi-Master)線(xiàn)性拓?fù)浣Y(jié)構(gòu),加入網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)備均可以向總線(xiàn)發(fā)送廣播消息,其他設(shè)備通過(guò)ID過(guò)濾掉不感興趣的消息。CAN總線(xiàn)按照幀為單位進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)幀支持1-8Byte數(shù)據(jù)傳輸。
4.協(xié)議解析
CAN總線(xiàn)基于多路載波偵聽(tīng)+基于消息優(yōu)先級(jí)的沖突檢測(cè)和非破壞性的仲裁機(jī)制,所有節(jié)點(diǎn)必須都等到總線(xiàn)處于空閑狀態(tài)時(shí)才能往總線(xiàn)上發(fā)送消息,多個(gè)節(jié)點(diǎn)往總線(xiàn)上發(fā)送消息時(shí)具備最高優(yōu)先級(jí)的消息獲得總線(xiàn)。
通過(guò)ID仲裁,ID數(shù)值越小,報(bào)文優(yōu)先級(jí)越高。
CAN總線(xiàn)通過(guò)過(guò)采樣技術(shù)進(jìn)行位同步,CAN控制器工作的最小時(shí)間單位(CAN時(shí)鐘周期)稱(chēng)為時(shí)間份額,一個(gè)位包含多個(gè)CAN時(shí)鐘周期。
為了實(shí)現(xiàn)位同步,CAN協(xié)議把每一位的時(shí)序分解成下圖所示的四段。這四段的長(zhǎng)度加起來(lái)即為一個(gè)CAN數(shù)據(jù)位的長(zhǎng)度。一個(gè)完整的位由8-25個(gè)Tq組成。
當(dāng)總線(xiàn)上出現(xiàn)幀起始信號(hào)(SOF,即隱性到顯性的邊沿)時(shí),其他節(jié)點(diǎn)的控制器根據(jù)總線(xiàn)上的這個(gè)下降沿對(duì)自己的位時(shí)序進(jìn)行調(diào)整,把該下降沿包含到SS段內(nèi)。這樣根據(jù)起始幀來(lái)進(jìn)行的同步稱(chēng)為硬同步。因?yàn)橛餐綍r(shí)只是在有幀起始信號(hào)時(shí)起作用,無(wú)法確保后續(xù)一連串的位時(shí)序都是同步的,所以CAN引入了重新同步的方式。在檢測(cè)到總線(xiàn)上的時(shí)序與節(jié)點(diǎn)使用的時(shí)序有相位差時(shí)(即總線(xiàn)上的跳變沿不在節(jié)點(diǎn)時(shí)序的SS段范圍),通過(guò)延長(zhǎng)PBS1段或縮短PBS2段來(lái)獲得同步,這樣的方式稱(chēng)為重新同步。
CAN一共規(guī)定了5中類(lèi)型的幀,幀也稱(chēng)為報(bào)文。數(shù)據(jù)幀在CAN通信中最主要,也最復(fù)雜。數(shù)據(jù)幀以一個(gè)顯性位(邏輯0)開(kāi)始,以7個(gè)連續(xù)的隱性位(邏輯1)結(jié)束。CAN總線(xiàn)的數(shù)據(jù)幀有標(biāo)準(zhǔn)格式(Standard Format)和擴(kuò)展格式(Extended Format)的區(qū)分。
-
寄存器
+關(guān)注
關(guān)注
31文章
5253瀏覽量
119201 -
JTAG
+關(guān)注
關(guān)注
6文章
393瀏覽量
71431 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
489瀏覽量
27393 -
DEBUG
+關(guān)注
關(guān)注
3文章
89瀏覽量
19775
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論