日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]多個(gè)單片機(jī)通過(guò)串行總線度串行接口(I2C、SPI)存儲(chǔ)芯片可以構(gòu)成簡(jiǎn)捷、高效的多主機(jī)系統(tǒng)。多主機(jī)系統(tǒng)需要解決好共用串行總線的仲裁問(wèn)題,本文給出利用優(yōu)先編碼器74HCl48和譯碼器74HCl38實(shí)現(xiàn)硬件仲裁的解決方法。

摘要 多個(gè)單片機(jī)通過(guò)串行總線度串行接口(I2C、SPI)存儲(chǔ)芯片可以構(gòu)成簡(jiǎn)捷、高效的多主機(jī)系統(tǒng)。多主機(jī)系統(tǒng)需要解決好共用串行總線的仲裁問(wèn)題,本文給出利用優(yōu)先編碼器74HCl48和譯碼器74HCl38實(shí)現(xiàn)硬件仲裁的解決方法。與軟件實(shí)現(xiàn)總線仲裁相比,該方法簡(jiǎn)單可靠,實(shí)時(shí)性高,可實(shí)現(xiàn)總線的預(yù)約功能,適用于由各種不同類(lèi)型的CPU構(gòu)成的多機(jī)系統(tǒng),進(jìn)一步提高多主機(jī)系統(tǒng)的性能。
關(guān)鍵詞 多主機(jī)系統(tǒng) 串行總線 I2C SPI硬件仲裁優(yōu)先編碼器


引 言
    隨著單片機(jī)技術(shù)的發(fā)展和單片機(jī)芯片價(jià)格的下降,利用多個(gè)相同類(lèi)型或不同類(lèi)型的單片機(jī)構(gòu)成一個(gè)多單片機(jī)系統(tǒng),可以獲得良好的系統(tǒng)靈活性和性能價(jià)格比,如可以用一個(gè)AT89C52單片機(jī)作多功能外圍器件芯片。系統(tǒng)內(nèi)多個(gè)單片機(jī)之間的通信可以有多種方式,如硬件UART、片內(nèi)SPI/I2C總線、軟件模擬SPI/I2C總線、I/O口、雙口RAM和基于I2C總線及FRAM的通信方式。其中,基于串行總線(SPI或I2C)及串行接口存儲(chǔ)芯片(FRAM或SRAM,如DSl302芯片內(nèi)的SRAM)的通信方式是一種簡(jiǎn)單、高效、實(shí)用的解決方法。此時(shí),系統(tǒng)可以有多個(gè)主機(jī),需要解決串行總線的仲裁問(wèn)題,即在某一個(gè)時(shí)刻只允許一個(gè)主機(jī)占用串行總線。在參考文獻(xiàn)[1]和[4]中,分別采用測(cè)試序列和時(shí)間片的軟件仲裁方法實(shí)現(xiàn),需要占用CPU的處理時(shí)間,且在仲裁過(guò)程中有可能受到外部干擾,因此對(duì)軟件編程的可靠性有較高的要求。本設(shè)
計(jì)利用優(yōu)先編碼器74HCl48和譯碼器74HCl38,通過(guò)硬件方式進(jìn)行總線仲裁.使仲裁所需時(shí)間大為縮短,可靠性得到提高。
    下面著重以n=8個(gè)主機(jī)系統(tǒng)為例說(shuō)明串行總線硬件仲裁的實(shí)現(xiàn)方法,并將其推廣到n>8的多機(jī)系統(tǒng)中。

1 譯碼器74HCl38功能簡(jiǎn)介
    74HCl38是十分常見(jiàn)的三線一八線譯碼器。該譯碼器有3個(gè)輸入A2、Al、A0,它們總共有8種狀態(tài)的組合,可以譯出8個(gè)輸出信號(hào)Y0~Y7。從表1所列的74HCl38真值表中可以看出:當(dāng)STA、STB、STC不滿(mǎn)足使能條件時(shí),Y0~Y7輸出為1,均為無(wú)效信號(hào);而當(dāng)74HCl38滿(mǎn)足使能條件時(shí),Y0~Y7其中一個(gè)為0,即有一路有效信號(hào)(由A2、Al、AO決定),其余為1。(74HCl38引腳排列參見(jiàn)圖1)

2 優(yōu)先編碼器74HCl48功能簡(jiǎn)介

    74HCl48是八線一三線的優(yōu)先編碼器。該編碼器有8個(gè)信號(hào)輸入端,3個(gè)二進(jìn)制碼輸出端。此外,電路還設(shè)置了輸入使能端EI,輸出使能端EO和優(yōu)先編碼器工作狀態(tài)標(biāo)志GS。從表2所列的74HCl48真值表中可以看出:當(dāng)EI=1時(shí),不論8個(gè)輸入端為何種狀態(tài),3個(gè)輸出端均為高電平,且輸出使能端和狀態(tài)標(biāo)志端均為高電平,編碼器處于非工作狀態(tài);當(dāng)EI=O,且至少有一個(gè)輸入端有編碼請(qǐng)求信號(hào)(邏輯O)時(shí),GS為0,表明編碼器處于工作狀態(tài),否則為1。由真值表可知,在8個(gè)輸入端均無(wú)低電平輸入信號(hào)和只有輸入O端(優(yōu)先級(jí)別最低位)時(shí),A2AlAO均為111,此時(shí)可由GS的狀態(tài)加以區(qū)別。當(dāng)GS=1時(shí),表示無(wú)輸入信號(hào),A2A1A0=111為非編碼輸出;當(dāng)GS=O時(shí),A2AlA0=111表示響應(yīng)輸入O端為低電平時(shí)的編碼輸出。E0只有在EI為0,且所有輸入端為l時(shí),輸出為0,用于級(jí)聯(lián)。
    由表2可知,輸入優(yōu)先級(jí)別的次序依次為17,16,15,14,13,12,11,10。輸入有效信號(hào)為低電平,當(dāng)某一輸入端有低電平輸入,且比它優(yōu)先級(jí)別高的輸入端無(wú)低電平時(shí),輸出端才輸出相對(duì)應(yīng)的輸入端的代碼;同時(shí),74HC148的編碼輸出為反碼。例如,當(dāng)17為O時(shí),編碼輸出為000。(74HC148引腳排列參見(jiàn)圖1)

3 硬件仲裁的實(shí)現(xiàn)
   
利用74HC148和74HCl38可實(shí)現(xiàn)8個(gè)主機(jī)的硬件仲裁,電路原理如圖1所示。該電路以I2C總線芯片(如FM24C64)作為數(shù)據(jù)交換芯片。電路提供3種類(lèi)型的信號(hào):Ask、Reply、Status。Ask為總線請(qǐng)求信號(hào),Reply為總線請(qǐng)求的返回信號(hào),Status為總線狀態(tài)。從圖1可知,Ask的有效請(qǐng)求信號(hào)為低電平。當(dāng)Ask0~Ask7都為高電平時(shí),GS(Status)輸出為高電平,此時(shí)74HCl38處于無(wú)效的工作狀態(tài),Reply0~Reply7均為高電平信號(hào)。只有當(dāng)AskO~Ask7中至少有一個(gè)低電平時(shí),GS(Status)輸出為低電平,使74HCl38處于譯碼狀態(tài),Reply0~Reply7至少有一個(gè)低電平輸出,故Starus為低電平表示總線被占用。

    每個(gè)主機(jī)需要提供3個(gè)I/O口作為控制線和狀態(tài)線用于總線仲裁,2個(gè)I/0口用于讀寫(xiě)I2C總線。
    以CPUA為例,當(dāng)CPUA需要占用總線時(shí),首先檢查Status的狀態(tài),若為高電平,說(shuō)明總線沒(méi)有被占用,若為低電平,說(shuō)明總線已被占用;當(dāng)CPU沒(méi)有占用總線時(shí),CPUA可以發(fā)出總線申請(qǐng)信號(hào)(將Ask0置為低電平)。此時(shí),也有可能有多個(gè)CPU同時(shí)發(fā)出總線申請(qǐng)信號(hào),但只有優(yōu)先級(jí)別最高的CPU申請(qǐng)有效。因此,CPUA隨即檢查Reply0的電平,若為低電平,則說(shuō)明成功申請(qǐng)到總線,可以對(duì)I2C總線進(jìn)行數(shù)據(jù)操作;否則,總線被其他CPU所占用,需要在Status為高電平時(shí)繼續(xù)申請(qǐng)。
    以圖1為例,其中CPUH的優(yōu)先級(jí)最高。必須說(shuō)明的是,由于74HCl48輸出的編碼為反碼,當(dāng)74HCl48的17輸入為低電平時(shí),編碼輸出應(yīng)為000,經(jīng)74HC138譯碼輸出Y0為低電平。同樣,16對(duì)應(yīng)Yl,依此類(lèi)推。
    CPU在發(fā)出申請(qǐng)之后,如果沒(méi)有成功獲得總線,就必須立即撤消總線申請(qǐng)信號(hào)(Ask置為高電平),否則將影響其他CPU的總線申請(qǐng);如果成功獲得總線,則在完成數(shù)據(jù)處理后,也必須立即撤消總線申請(qǐng)信號(hào)。
    有關(guān)的軟件編程也是相當(dāng)簡(jiǎn)單的,以MCS51單片機(jī)為例;


    在軟件方面,還需要對(duì)I2C芯片(如FM24C64,8 KB)的地址空間進(jìn)行分配。可以根據(jù)需要給每一個(gè)主機(jī)分配一個(gè)連續(xù)的地址空間,空間大小可以不等,例如CPUA獲得AddrA的地址空間。在AddrA中,再進(jìn)行細(xì)分,例如CPUC與CPUA通信的地址為AddrAC。當(dāng)CPUC需要傳送數(shù)據(jù)給CPUA時(shí),只需將數(shù)據(jù)寫(xiě)入AddrAC的地址中,而由CPUA在獲得總線后讀取AddrAC的數(shù)據(jù),從而完成數(shù)據(jù)傳送的過(guò)程。使用I2C芯片作為數(shù)據(jù)芯片,必須保證在每一個(gè)CPU沒(méi)有獲得總線的情況下,對(duì)應(yīng)的SDA和SCL口線保持為高電平。
    圖l可用于主機(jī)數(shù)量小于或等于8個(gè)的情況。
    當(dāng)主機(jī)數(shù)量大于8個(gè)(如16個(gè))時(shí),可以利用2片74HCl48通過(guò)級(jí)聯(lián)實(shí)現(xiàn)十六線一四線的優(yōu)先編碼,同時(shí)利用2片74HCl38通過(guò)級(jí)聯(lián)實(shí)現(xiàn)四線一十六線譯碼。級(jí)聯(lián)的方法請(qǐng)見(jiàn)參考文獻(xiàn)[5]。必須注意的是,級(jí)聯(lián)后,某個(gè)CPU的Ask和Reply必須是一一對(duì)應(yīng)的。

4 總線預(yù)約
   
由于8個(gè)主機(jī)的請(qǐng)求線Ask0~Ask7存在不同的優(yōu)先級(jí),當(dāng)系統(tǒng)對(duì)實(shí)時(shí)性能要求較高時(shí),可以通過(guò)3個(gè)控制線實(shí)現(xiàn)總線預(yù)約功能。本文以MCS5l系列單片機(jī)CPUA為例說(shuō)明。
    方法一:將Status狀態(tài)線經(jīng)“非”門(mén)后接入CPUA外部中斷INTO或INTl(外部中斷設(shè)置為下降沿觸發(fā)),當(dāng)其他高優(yōu)先級(jí)釋放總線后,Status端出現(xiàn)下降沿,使CPUA進(jìn)入中斷,使得CPUA可及時(shí)獲得總線。
    方法二:將Reply0接至CPUA的外部中斷INT0或INTl(外部中斷設(shè)置為下降沿觸發(fā)),當(dāng)CPUA需要盡快獲得總線時(shí),將AskO置為低電平;當(dāng)其他高優(yōu)先級(jí)釋放總線后,Reply0即由高電平變?yōu)榈碗娖?,CPUA進(jìn)入中斷,從而獲得總線。


結(jié)語(yǔ)
   
利用74HCl48和74HCl38組成多主機(jī)系統(tǒng)的硬件仲裁邏輯,電路簡(jiǎn)單、可靠,CPU的處理時(shí)間極短,性能穩(wěn)定。筆者已將該技術(shù)應(yīng)用于實(shí)際的數(shù)據(jù)采集系統(tǒng)中,系統(tǒng)運(yùn)行可靠。在串行芯片的選擇上,鐵電存儲(chǔ)器(FM系列)存儲(chǔ)速度快(I2C總線頻率可達(dá)lMHz,SPI總線頻率可達(dá)25MHz),寫(xiě)入數(shù)據(jù)沒(méi)有延時(shí),讀寫(xiě)次數(shù)為100億次,低功耗操作,容量大,可以由軟件模擬實(shí)現(xiàn)I2C和SPI總線,適合各種類(lèi)型的單片機(jī),是十分理想的存儲(chǔ)芯片。

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

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開(kāi)發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專(zhuān)屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷(xiāo)售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開(kāi)幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過(guò)140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

流水賬式的推文比較亂,不夠系統(tǒng),也形成不了好的宣傳效應(yīng),所以我整理了一個(gè)硬件基礎(chǔ)知識(shí)框架,后面推文會(huì)圍繞這個(gè)展開(kāi),中間也會(huì)穿插一些項(xiàng)目和實(shí)際應(yīng)用例程。

關(guān)鍵字: 硬件 項(xiàng)目 例程

要問(wèn)機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對(duì)是其中的佼佼者。近來(lái)年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開(kāi)發(fā)的機(jī)器人會(huì)后空翻,自主爬樓梯等。這不,波士頓動(dòng)力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車(chē)

通信技術(shù)

120685 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉