當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀] Microchip UNI/O總線技術(shù)及其應(yīng)用

摘要:UNI/O總線是Microchip公司開發(fā)的一種創(chuàng)新型單I/O總線。本文分析了該總線的特點(diǎn)和通信原理,以11XXX系列EEPROM存儲(chǔ)器的應(yīng)用為例,詳細(xì)介紹了UNI/O從器件與單片機(jī)的接口技術(shù),給出了硬件連接電路和存儲(chǔ)器讀寫操作的程序流程。
關(guān)鍵詞:UNI/O總線;11XXX系列EEPROM;單片機(jī);接口技術(shù)

引言
    隨著嵌入式系統(tǒng)小型化的趨勢(shì),市場(chǎng)對(duì)減少器件間通信所用的I/O引腳數(shù)的需求與日俱增。Microchip科技公司開發(fā)的UNI/O總線正滿足了這一需求,這個(gè)低成本且易于實(shí)現(xiàn)的解決方案,僅需要使用一個(gè)I/O引腳就可實(shí)現(xiàn)主從器件之間的通信。

1 UNI/O總線介紹
1.1 UNI/O總線的特點(diǎn)
    UNI/O總線具有如下特點(diǎn):
    ①UNI/O總線采用曼徹斯特編碼,只需一根信號(hào)線SCIO就可以實(shí)現(xiàn)數(shù)據(jù)的串行傳輸和同步控制。
    ②UNI/O總線是一種單主型總線。主器件負(fù)責(zé)肩動(dòng)和控制總線上的所有操作,決定總線的工作速度。主器件通常由單片機(jī)、ASIC等充當(dāng)。
    ③UNI/O總線具有雙向通信能力。有主發(fā)送從接收和從發(fā)送主接收兩種工作方式。
    ④UNI/O總線速度為10~100kbps。
    ⑤UNI/O從器件必須具有空閑模式和待機(jī)模式,也可選擇具有保持模式。
1.2 UNI/O總線的幀格式
1.2.1 位值定義
    由于采用的是曼徹斯特編碼,所以其位值由佗周期中間的信號(hào)跳變方向決定。UNI/O總線規(guī)定:從高到低的跳變是0,從低到高的跳變是1。
1.2.2 幀結(jié)構(gòu)
    在UNI/O總線上進(jìn)行通信時(shí),指令、數(shù)據(jù)和地址的傳送都以字節(jié)為單位。字節(jié)傳送時(shí),高位在前,低位在后,前一個(gè)位之后立即傳輸下一個(gè)位,位與位之間沒有延遲。字節(jié)之后必須發(fā)送應(yīng)答序列,進(jìn)行主從應(yīng)答。圖1給出了通常情況下使用的基本字節(jié)幀結(jié)構(gòu)。


    (1)主應(yīng)答位
    由主器件發(fā)送,取值為1或0。為1時(shí)稱之為MAK,MAK告知從器件指令執(zhí)行將繼續(xù);為0時(shí)稱之為NoMAK,NoMAK用來結(jié)束當(dāng)前指令,此后如有必要,從器件可以啟動(dòng)相應(yīng)的內(nèi)部處理。
    (2)從應(yīng)答位
    由被選定作為通信對(duì)象的從器件發(fā)送。該位為1時(shí)稱之為SAK,SAK表明其前面的操作已成功完成;非1時(shí)稱之為NoSAK。在從器件被選定之前,由于無從器件應(yīng)答,從應(yīng)答位應(yīng)為NoSAK。在從器件被選定之后,NoSAK用來表明通信產(chǎn)生了錯(cuò)誤。
    另外,UNI/O總線也考慮了對(duì)主器件的中斷功能的支持。當(dāng)主器件與具有保持模式的從器件進(jìn)行通信時(shí),如果主器件在下一個(gè)MAK位周期時(shí)間內(nèi)持續(xù)拉低SCIO,從器件就進(jìn)入了保持模式。要維持在保持模式應(yīng)繼續(xù)使SCIO為低電平。當(dāng)從器件處在保持模式時(shí),主器件就可以進(jìn)行對(duì)其他I/O設(shè)備的中斷處理工作,中斷處理結(jié)束后可通過發(fā)送MAK來終止保持過程,并繼續(xù)之前的通信。圖2給出了包含保持過程的字節(jié)幀結(jié)構(gòu)。


1.3 UNI/O總線的命令序列
    UNI/O總線的命令序列是指完成一條指令的執(zhí)行主從器件,需要在總線上傳送的各種信號(hào)和字節(jié)幀的有序組合。在UNI/O總線系統(tǒng)中,一條指令的執(zhí)行過程必須包括:總線準(zhǔn)備、主從同步、從器件選擇、指令傳輸和指令執(zhí)行等環(huán)節(jié)。
1.3.1 總線定義的信號(hào)
    (1)待機(jī)脈沖
    待機(jī)脈沖是由主器件驅(qū)動(dòng)SCIO到高電平狀態(tài),并保持此狀態(tài)600μs以上形成的脈沖信號(hào)。待機(jī)脈沖通常用來通知總線上的所有從器件進(jìn)入待機(jī)模式,也可以用來提前終止一條指令的執(zhí)行。在執(zhí)行一條指令時(shí),如果是第一條指令,或者要選擇的從器件與上一條指令不同,或者上一條指令的執(zhí)行過程發(fā)生了錯(cuò)誤,本條指令的執(zhí)行都必須從產(chǎn)生待機(jī)脈沖開始。
    (2)TSS信號(hào)
    TSS信號(hào)是由主器件驅(qū)動(dòng)SCIO到高電平狀態(tài),并保持此狀態(tài)10μs以上形成的脈沖信號(hào)。在一條指令成功執(zhí)行之后,若還要執(zhí)行下一條指令來對(duì)同一個(gè)從器件進(jìn)行操作,則后一條指令執(zhí)行過程的第一步只需產(chǎn)生一個(gè)TSS信號(hào),而不需要再產(chǎn)生待機(jī)脈沖。這樣,通信效率會(huì)更高。
1.3.2 特殊功能字節(jié)幀
    (1)起始頭
     起始頭用來使從器件進(jìn)入正常工作模式,并同步從器件內(nèi)的時(shí)鐘。起始頭由5μs以上的持續(xù)低電平脈沖和緊跟其后的8位編碼“01010 101”組成。所有的從器件都可以從起始頭中獲知位周期的長(zhǎng)短,并以此為依據(jù)調(diào)整內(nèi)部時(shí)鐘,實(shí)現(xiàn)主從同步。起始頭之后的主應(yīng)答位應(yīng)為MAK,從應(yīng)答位正常情況應(yīng)為NoSAK。
    (2)地址幀
    地址幀用于選擇總線上特定的從器件進(jìn)行通信。從器件地址有8位和12位兩種類型,由4位系列碼和4位或8位從器件碼組成。8位地址的傳輸只需一個(gè)地址幀,正常情況,其應(yīng)答序列由MAK和SAK組成。12位地址的傳輸需要兩個(gè)字節(jié)幀:高地址字節(jié)幀和緊跟其后的低地址字節(jié)幀。正常情況,低地址字節(jié)幀中的應(yīng)答序列應(yīng)該由MAK和SAK組成,高地址字節(jié)幀中的應(yīng)答序列則由MAK和NoSAK組成。
    (3)指令幀
    指令幀用于傳送指令,由指令編碼和應(yīng)答序列組成。指令及其編碼往各種UNI/O從器件中定義。指令幀中的主應(yīng)答位應(yīng)根據(jù)指令是否要求傳輸其他數(shù)據(jù)字節(jié)確定。當(dāng)指令要求傳輸其他數(shù)據(jù)字節(jié)時(shí),該位為MAK,否則為NoMAK。從應(yīng)答位正常情況下為SAK。
1.3.3 UNI/O總線的命令序列
    圖3所示的是用于執(zhí)行8位地址從器件指令的命令序列。其中字節(jié)幀的數(shù)量在總線規(guī)范中未進(jìn)行限制,只要前一個(gè)字節(jié)幀中的主應(yīng)答位為MAK就表示期望傳輸下一個(gè)字節(jié)幀。不過,字節(jié)幀的實(shí)際數(shù)量必須符合從器件指令的使用規(guī)范。在此前提下,可以由用戶程序根據(jù)其功能決定。用于執(zhí)行12位地址從器件指令的命令序列如圖4所示。



2 UNI/O從器件與單片機(jī)的接口設(shè)計(jì)
    11XXX系列EEPROM是Microchip技術(shù)公司最新推出的、支持UNI/O總線協(xié)議的存儲(chǔ)器產(chǎn)品。下面就以該存儲(chǔ)器的使用為例,詳細(xì)介紹UNI/O總線系統(tǒng)的應(yīng)用設(shè)計(jì)方法。
2.1 硬件設(shè)計(jì)
    圖5給出了11XXX系列EEPROM與單片機(jī)的接口原理圖。圖中,SCIO引腳上接一個(gè)20 kΩ的上拉電阻是為了確保總線在上電/掉電序列期間以及未被驅(qū)動(dòng)時(shí)處于空閑狀態(tài)。VCC和VSS之間接入一個(gè)0.1μF的去耦電容是為了濾除VCC上的噪聲。


2.2 軟件設(shè)計(jì)
2.2.1 UNI/O存儲(chǔ)器11XXX的操作指令
    11XXX系列存儲(chǔ)器共有9條操作指令,其指令編碼和功能描述如表1所列。


2.2.2 UNI/O存儲(chǔ)器11XXX的高級(jí)特性
    11XXX器件除了具有EEPROM存儲(chǔ)器的基本特性、支持UNI/O總線協(xié)議外,還有以下高級(jí)特性。這些高級(jí)特性也是編寫接口程序的基本依據(jù)。
    (1)內(nèi)置了一個(gè)狀態(tài)寄存器
    狀態(tài)寄存器可以用來提供狀態(tài)信息和片內(nèi)數(shù)據(jù)的保護(hù)控制。其各位的功能定義如下:
    ①Bit0。為寫進(jìn)行位WIP,用于表明11XXX是否忙于寫操作。當(dāng)它為1時(shí),表明正在進(jìn)行寫操作;為0時(shí),表明沒有進(jìn)行寫操作。此位只讀。要編寫高效率的寫存儲(chǔ)陣列程序,可采用WIP查詢來及時(shí)檢測(cè)寫周期的結(jié)束。
    ②Bit1。為寫使能鎖存器位WEL,用于表明寫使能鎖存器的狀態(tài)。當(dāng)它為1時(shí),鎖存器允許存儲(chǔ)陣列無保護(hù)塊和狀態(tài)寄存器的寫入操作;當(dāng)置為0時(shí),禁止寫入操作。只能使用WREN指令來將此位置1,但會(huì)在上電或成功執(zhí)行了以下指令之一時(shí)復(fù)位。這些指令包括:WRDI、WRSR、WRITE、SETAL和ERAL。
    ③Bit2~Bit3。是塊保護(hù)位BP0和BP1,用于表明當(dāng)前哪些塊被寫保護(hù)。這些位可以由用戶通過WRSR指令進(jìn)行設(shè)置。這些位是非易失性的。表2給出了利用BP0和BP1對(duì)存儲(chǔ)器進(jìn)行分塊保護(hù)的方案。


    ④Bit4~Bit7。為無關(guān)位,讀出時(shí)為0。
    (2)包含一個(gè)讀操作地址指針
    在進(jìn)行存儲(chǔ)陣列讀操作時(shí),瀆操作地址指針會(huì)在每個(gè)字節(jié)發(fā)送后自動(dòng)指向原地址加1的存儲(chǔ)單元。當(dāng)?shù)竭_(dá)最高地址時(shí),如果主器件仍然發(fā)出MAK選擇繼續(xù)讀取,則地址指針的值會(huì)翻轉(zhuǎn)回到0x00地址處。在上電后,讀地址指針會(huì)保持上一次訪問的存儲(chǔ)單元的地址。
    (3)支持頁寫功能
    用WRITE指令可以向指定地址的存儲(chǔ)單元或者指定地址開始的存儲(chǔ)器區(qū)域?qū)懭雰?nèi)容任意的數(shù)據(jù)。不過,在寫多個(gè)存儲(chǔ)單元時(shí),必須限制在單個(gè)物理頁面內(nèi)寫。物理頁邊界從頁大小(16字節(jié))整數(shù)倍的地址開始,結(jié)束于頁大小的整數(shù)倍減1的地址。如果WRITE指令試圖跨越物理頁邊界進(jìn)行,其結(jié)果是將超出頁邊界的數(shù)據(jù)寫回到當(dāng)前頁的開始,即覆蓋先前存儲(chǔ)的數(shù)據(jù),而不會(huì)如期望的那樣寫到下一貞。
2.2.3 UNI/O存儲(chǔ)器11XXX的讀寫程序
    上電之后,由于11XXX處在關(guān)斷模式,而且總線處于高電平空閑狀態(tài),所以主器件必須先在SCIO上產(chǎn)生一個(gè)高到低再到高的脈沖,使11XXX從關(guān)斷模式退出進(jìn)入空閑模式,這樣11XXX才能按照命令序列所規(guī)定的流程響應(yīng)總線上的其他信號(hào),接收主器件發(fā)來的指令,并按指令要求完成規(guī)定的操作。
    (1)寫程序流程
    圖6是寫存儲(chǔ)陣列中未保護(hù)區(qū)塊的程序流程。圖中發(fā)送指令的操作可通過調(diào)用發(fā)送指令子程序來完成。圖7給出了發(fā)送指令程序流程。要寫存儲(chǔ)陣列中受保護(hù)的區(qū)塊,只需在執(zhí)行WREN指令之前,用WRSR指令對(duì)BP0、BP1進(jìn)行相應(yīng)的設(shè)置,以暫時(shí)解除待寫區(qū)塊的保護(hù),并在程序的最后再用WRSR指令對(duì)它們進(jìn)行恢復(fù)即可。要全地址空間置1或擦除,必須先解除對(duì)整個(gè)存儲(chǔ)陣列的保護(hù)并使能寫操作,再發(fā)送SETAL或ERAL指令,指令發(fā)送之后用NoMAK來啟動(dòng)內(nèi)部寫操作,內(nèi)部操作完成之后恢復(fù)對(duì)存儲(chǔ)陣列的保護(hù)即可。


    (2)讀程序流程
    隨機(jī)讀存儲(chǔ)陣列的程序流程是:先發(fā)送READ指令,再發(fā)送待讀單元地址。先高地址字節(jié),后低地址字節(jié)。然后,從器件就會(huì)將該地址中的數(shù)據(jù)送到總線上,主器件收到第一個(gè)數(shù)據(jù)字節(jié)后,若還要讀取更多的數(shù)據(jù),可以發(fā)送應(yīng)答信號(hào)MAK。之后,從器件用SAK應(yīng)答,并送出下一個(gè)數(shù)據(jù)字節(jié)。若要結(jié)束讀操作,主器件只要發(fā)送NoMAK即可。
    要從存儲(chǔ)陣列的當(dāng)前位置讀取數(shù)據(jù)可用CRRD指令來進(jìn)行操作,其程序流程除了不需要傳送存儲(chǔ)器單元地址外,其余操作步驟與READ相同。

結(jié)語
    UNI/O總線只有一根信號(hào)線,對(duì)I/O端口的占用最少,可有效地減小嵌入式系統(tǒng)的體積并降低產(chǎn)品成本,具有廣闊的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉