www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

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

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

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


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


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



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


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


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


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


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

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

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計(jì)中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計(jì)工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉