在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于多處理器系統(tǒng)的串行通信方式研究

電子設(shè)計(jì) ? 來(lái)源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用 ? 作者:崔鳳新;廖明燕; ? 2021-06-17 15:41 ? 次閱讀

作者:崔鳳新;廖明燕;鄭金吾

單片機(jī)系統(tǒng)中,多處理器是指多個(gè)相同類(lèi)型或者不同類(lèi)型的單片機(jī)協(xié)作處理同一個(gè)系統(tǒng)的不同工作。它們之間必須具備一定的數(shù)據(jù)交換和協(xié)作處理能力,共同完成一個(gè)系統(tǒng)化的工作。不同處理器之間可以采用數(shù)據(jù)交換方式、并行總線方式、串行總線方式進(jìn)行通信。其中,數(shù)據(jù)交換方式又可以稱(chēng)為共享內(nèi)存交換方式;串行總線方式又可以分為單總線方式、集成電路之間的通信方式和UART方式。

1 MSP430多處理器

MSP430是一款超低功耗的混合信號(hào)控制器,具有1 6位RISC結(jié)構(gòu),有著豐富的片內(nèi)外設(shè),主要包括有看門(mén)狗定時(shí)器比較器、硬件乘法器、液晶驅(qū)動(dòng)器、ADC、I/0端口、串口(USART)等等,還集成有64 KB的Flas’E-ROM和2 KB的RAM。其功能強(qiáng)大,應(yīng)用場(chǎng)合廣泛。但是在大型復(fù)雜的場(chǎng)合或者實(shí)時(shí)性要求較高的場(chǎng)合,使用一個(gè)處理器處理所有的業(yè)務(wù),總是顯得有些不足。引入多個(gè)MsP430處理器協(xié)作工作的模式,可以提高系統(tǒng)的實(shí)時(shí)性、可靠性和適用性。

在多數(shù)場(chǎng)合,MSP430無(wú)須為每個(gè)處理器擴(kuò)展FlashROM,也無(wú)須擴(kuò)展RAM,采用共享內(nèi)存的數(shù)據(jù)交換方式組成多處理器系統(tǒng)并非最佳選擇。此外,MSP430包括有兩個(gè)串口(USART),在MSP430的應(yīng)用中,可以把兩組串行端口中的一個(gè)供外部通信使用,另一個(gè)串行端口供內(nèi)部通信使用。采用串行總線中的串行通信方式組成多處理器系統(tǒng)是比較理想的選擇。

2 技術(shù)要點(diǎn)

2.1 MSP430多處理器組成

MSP430具有兩個(gè)串行端口(USART),可以使用其中的一個(gè)作為多處理器之間的通信端口。由于串行通信的架構(gòu)限制,MSP430采用UART串行通信模式組成的多處理器系統(tǒng),必須建立一個(gè)主處理器和若干從處理器。主處理器的TXD端與所有從處理器的RXD端相連,所有從處理器的TXD端與主處理器的RXD端相連。MSP43O多處理器拓?fù)浣Y(jié)構(gòu)如圖1所示。

在這個(gè)結(jié)構(gòu)中,主處理器通過(guò)TXD端發(fā)送出指令報(bào)文,傳輸?shù)綇奶幚砥鞯腞XD接收端;從處理器對(duì)指令報(bào)文進(jìn)行解包并且對(duì)這個(gè)指令報(bào)文進(jìn)行響應(yīng)。從處理器的響應(yīng)報(bào)文通過(guò)TXD發(fā)送到主處理器的RXD接收端,主處理器獲取響應(yīng)報(bào)文確認(rèn)指令是否被正確執(zhí)行。從這個(gè)結(jié)構(gòu)上看,主處理器可以與任何從處理器進(jìn)行通信,任何從處理器也可以和主處理器進(jìn)行通信,但是從處理器與從處理器之間卻不可以進(jìn)行直接的通信。

2.2 多處理器系統(tǒng)串行通信協(xié)議

在多處理器系統(tǒng)的串行通信方式中,可以有若干種通信協(xié)議進(jìn)行選擇,如ModBus、Brooks、工業(yè)總線協(xié)議等等。在此,可以選擇業(yè)界通用的MocBus通信協(xié)議作為處理器與處理器之間的通信協(xié)議。

2.3 ModBus通信協(xié)議

Modbus協(xié)議支持傳統(tǒng)的RS232RS422RS485以太網(wǎng)設(shè)備。ModBus協(xié)議包括ASCII、RTU、TCP等報(bào)文格式,并沒(méi)有規(guī)定物理層。此協(xié)議定義了控制器能夠認(rèn)識(shí)和使用的消息結(jié)構(gòu),而不管它們是經(jīng)過(guò)何種網(wǎng)絡(luò)進(jìn)行通信的。ModBtls的ASCII、RTU協(xié)議規(guī)定了消息和數(shù)據(jù)的結(jié)構(gòu)、命令和就答的方式,數(shù)據(jù)通信采用Master/Slave方式。Master端發(fā)出數(shù)據(jù)請(qǐng)求消息,Slave端接收到正確消息后就可以發(fā)送數(shù)據(jù)到Mastez端,以響應(yīng)請(qǐng)求;Master端也可以直接發(fā)消息修改Slave端的數(shù)據(jù),實(shí)現(xiàn)雙向讀寫(xiě)。

2.4 ModBus在多處理器系統(tǒng)中的報(bào)文格式

由于是一個(gè)主服務(wù)器對(duì)應(yīng)多個(gè)從處理器的系統(tǒng),處理器與處理器之間的報(bào)文傳輸必須明確標(biāo)注目標(biāo)地址和源地址,以免不相干的處理器之間進(jìn)行誤導(dǎo)操作。除此以外,為了提高主處理器的處理能力,同時(shí)避免不同處理器存在報(bào)文相應(yīng)速度差,以及不同指令任務(wù)之間存在處理量差異的問(wèn)題,必須采用異步通信模式進(jìn)行通信。要滿(mǎn)足異步通信模式,必須在報(bào)文中對(duì)每次的通信操作加注請(qǐng)求報(bào)文的16位標(biāo)示(可以稱(chēng)之為句柄),同時(shí)對(duì)這些句柄進(jìn)行記錄。

2.4.1 數(shù)據(jù)讀取請(qǐng)求報(bào)文格式

源地址:主處理器地址。

目標(biāo)地址:指令目的地地址(從處理器)。

句柄:指令請(qǐng)求標(biāo)示號(hào)。

功能代碼:操作指令代碼。

起始地址:讀取從處理器數(shù)據(jù)寄存器的起始地址。

字節(jié)數(shù):操作所涉及的寄存器字。

校驗(yàn)碼:CRC校驗(yàn)碼或者LRC校驗(yàn)碼。

2.4.2 數(shù)據(jù)讀取應(yīng)答報(bào)文格式

源地址:從處理器地址。

目標(biāo)地址:主處理器地址。

句柄:指令請(qǐng)求標(biāo)示號(hào)。

功能代碼:操作指令代碼。

數(shù)據(jù)字節(jié)數(shù):操作所涉及的寄存器字節(jié)數(shù)。

數(shù)據(jù)1至數(shù)據(jù)n:數(shù)據(jù)。

校驗(yàn)碼:CRC校驗(yàn)碼或者LRC校驗(yàn)碼。

其中,應(yīng)答報(bào)文中的目標(biāo)地址等價(jià)于請(qǐng)求報(bào)文中的源地址,應(yīng)答報(bào)文中的源地址等價(jià)于請(qǐng)求報(bào)文中的目標(biāo)地址。

2.5 校驗(yàn)碼

在ModBus中,通用的校驗(yàn)方式是ASCII協(xié)議方式采用LRC校驗(yàn)方式,RTU協(xié)議方式采用CRC校驗(yàn)方式。

2.5.1 LRC校驗(yàn)

LRC校驗(yàn)比較簡(jiǎn)單。它在ASCII協(xié)議中使用,檢測(cè)了消息域中除開(kāi)始的冒號(hào)及結(jié)束的回車(chē)換行號(hào)外的內(nèi)容。它僅僅是把每一個(gè)需要傳輸?shù)臄?shù)據(jù)按字節(jié)疊加后取反加1即可。下面是它的C代碼:

BYTE GetCheckCode(const char*pSendBuf,Int nEnd)

{ //獲得校驗(yàn)碼

BYTE byLrc=O。

char pBuf;

int nData=0

for(i=1;i {//每?jī)蓚€(gè)需要發(fā)送的ASCII碼轉(zhuǎn)化為一個(gè)十六進(jìn)制數(shù)

pBuf[O]=pSendBuf;

pBu=pSendBuf;

pBuf=、O’;

sscanf(pBuf,”%x”,& nData);

bvLrc+=nData;

byhc=~byLrc;

byLrc++

return byLrc;

}

2.5.2 CRC校驗(yàn)

CRC是先調(diào)入一值是全“1”的16位寄存器,然后調(diào)用一過(guò)程將消息中連續(xù)的8位字節(jié)和當(dāng)前寄存器中的值進(jìn)行處理。僅每個(gè)字符中的8位數(shù)據(jù)對(duì)CRC有效,起始位和停止位以及奇偶校驗(yàn)位均無(wú)效。

CRC產(chǎn)生過(guò)程中,每個(gè)8位字符都單獨(dú)和寄存器內(nèi)容相或(OR),結(jié)果向最低有效位方向移動(dòng),最高有效位以0填充。LSB被提取出來(lái)檢測(cè)。如果LSB為1,寄存器單獨(dú)和預(yù)置的值“或”一下;如果LSB為O,則不進(jìn)行。整個(gè)過(guò)程要重復(fù)8次。在最后一位(第8位)完成后,下一個(gè)8位字節(jié)又單獨(dú)和寄存器的當(dāng)前值相“或”。最終寄存器中的值,是消息中所有字節(jié)都執(zhí)行之后的CRC值。

CRC添加到消息中時(shí),低字節(jié)先加入,然后高字節(jié)加入。下面是它的C代碼:

WORD GetCheckCode(const char*pSendBuf,int nEnd)

{ //獲得校驗(yàn)碼

WORD wCrc=WORD(0xFFFF);

for(int i=O;i wCrc^=WoRD(BYTE(pSendBuf);

for(Intj=O;j《8;J++){

if(wCrc&1){

wCrc》》=l;

wCrc^一OxA00l:

}

else{

wCrc》》=1;

retIlrIl wCrc:

3 報(bào)文示范

ModBus包含ASCII和RTU兩種報(bào)文格式。RTU報(bào)文較短,但是沒(méi)有邊界定義;ASCII報(bào)文較長(zhǎng),但是邊界明了。在多處理器通信之中,由于通信距離很短,干擾較小,因此可以選擇較高的通信速率。通信速率提高了,報(bào)文長(zhǎng)度較長(zhǎng)對(duì)通信的影響不大,因此可以選擇ASCII報(bào)文格式進(jìn)行通信。

ModBus的ASCII讀取請(qǐng)求報(bào)文格式如下:

假設(shè)主機(jī)地址01,要對(duì)從機(jī)地址02進(jìn)行讀取247和248地址的兩個(gè)寄存器值的通信,并且本次通信為第1次通信,設(shè)定流水號(hào)為000l。

4 結(jié) 語(yǔ)

多處理器協(xié)作工作模式和通信協(xié)議,已經(jīng)成功應(yīng)于CNG加氣機(jī),使系統(tǒng)信息交換更加迅速、可靠,整個(gè)系統(tǒng)的性能得到了提高。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19408

    瀏覽量

    231187
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6043

    文章

    44621

    瀏覽量

    638567
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3255

    瀏覽量

    115371
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)有誰(shuí)做過(guò)串口的多處理器通信嗎?

    原子哥,論壇上的大神們,有做過(guò)串口的多處理器通信么?如果有,大家是用空總線檢測(cè)還是用地址標(biāo)記的方式啊?
    發(fā)表于 09-05 04:35

    什么是STM8多處理器通信

    STM8多處理器通信是什么
    發(fā)表于 11-12 06:27

    什么是MSP430多處理器?MSP430多處理器有哪些技術(shù)要點(diǎn)?

    什么是MSP430多處理器?MSP430多處理器有哪些技術(shù)要點(diǎn)?
    發(fā)表于 05-27 06:52

    多處理器通信和LIN模式區(qū)別是什么?

    多處理器通信和LIN模式區(qū)別是什么?
    發(fā)表于 12-08 07:32

    異構(gòu)多處理器系統(tǒng)Cache一致性解決方案

    SoC技術(shù)的發(fā)展使多個(gè)異構(gòu)的處理器集成到一個(gè)芯片成為可能,這種結(jié)構(gòu)已成為提高微處理器性能的重要途徑。與傳統(tǒng)的多處理器系統(tǒng)一樣,Cache一致性問(wèn)題也是片內(nèi)異構(gòu)
    發(fā)表于 09-26 15:02 ?11次下載

    多處理器分組實(shí)時(shí)調(diào)度算法

    多處理器實(shí)時(shí)調(diào)度理論是目前實(shí)時(shí)系統(tǒng)的關(guān)鍵技術(shù)。論文研究了PFair 調(diào)度算法在多處理器中的調(diào)度理論,在此基礎(chǔ)上,提出了一種基于PFair 調(diào)度算法的
    發(fā)表于 12-18 15:38 ?11次下載

    基于NiosII的SOPC多處理器系統(tǒng)設(shè)計(jì)方法

    基于NiosII的SOPC多處理器系統(tǒng)設(shè)計(jì)方法 兩個(gè)或多個(gè)微處理器一起工作來(lái)完成某個(gè)任務(wù)的系統(tǒng)稱(chēng)為“多處理器
    發(fā)表于 10-17 09:28 ?1233次閱讀
    基于NiosII的SOPC<b class='flag-5'>多處理器</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)方法

    嵌入式異構(gòu)多處理器系統(tǒng)中的通信實(shí)現(xiàn)

    摘要:提出一種嵌入式異構(gòu)多處理器系統(tǒng)的結(jié)構(gòu)模型,論述這種系統(tǒng)通信機(jī)制,并闡述在基于這種嵌入式異構(gòu)多處理器
    發(fā)表于 03-01 01:34 ?47次下載

    什么是同步多處理器

    同步多處理器,英文為Synchronous Multi-Processors,縮寫(xiě)為SMP。同步多處理器系統(tǒng)在工作的時(shí)候,每當(dāng)一個(gè)任務(wù)完成后,空閑的處理器會(huì)立刻尋找下一個(gè)新的任務(wù),對(duì)于
    發(fā)表于 06-02 09:16 ?1144次閱讀

    GPGPU流式多處理器架構(gòu)剖析(上)

    具有較小結(jié)構(gòu)的CPU,支持指令并行(多發(fā)射)。流式多處理器是線程塊的運(yùn)行載體,但一般不支持亂序執(zhí)行。每個(gè)流式多處理器上的單個(gè)Warp以SIMD方式執(zhí)行相同指令。
    的頭像 發(fā)表于 04-03 14:28 ?2046次閱讀
    GPGPU流式<b class='flag-5'>多處理器</b>架構(gòu)剖析(上)

    GPGPU流式多處理器架構(gòu)剖析(下)

    具有較小結(jié)構(gòu)的CPU,支持指令并行(多發(fā)射)。流式多處理器是線程塊的運(yùn)行載體,但一般不支持亂序執(zhí)行。每個(gè)流式多處理器上的單個(gè)Warp以SIMD方式執(zhí)行相同指令。
    的頭像 發(fā)表于 04-03 14:28 ?1840次閱讀
    GPGPU流式<b class='flag-5'>多處理器</b>架構(gòu)剖析(下)

    基于VPX6—460的多處理器通信設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于VPX6—460的多處理器通信設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 11-08 14:37 ?0次下載
    基于VPX6—460的<b class='flag-5'>多處理器</b><b class='flag-5'>通信</b>設(shè)計(jì)

    基于VPX6-460的多處理器通信設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于VPX6-460的多處理器通信設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 11-13 10:13 ?0次下載
    基于VPX6-460的<b class='flag-5'>多處理器</b><b class='flag-5'>通信</b>設(shè)計(jì)

    對(duì)稱(chēng)多處理器和非對(duì)稱(chēng)多處理器的區(qū)別

    隨著計(jì)算需求的日益增長(zhǎng),單處理器系統(tǒng)已經(jīng)無(wú)法滿(mǎn)足高性能計(jì)算的需求。多處理器系統(tǒng)應(yīng)運(yùn)而生,它們通過(guò)將多個(gè)處理器集成到一個(gè)
    的頭像 發(fā)表于 10-10 15:58 ?1312次閱讀

    對(duì)稱(chēng)多處理器的特點(diǎn)是什么

    對(duì)稱(chēng)多處理器(Symmetric Multi-Processing,簡(jiǎn)稱(chēng)SMP)是一種多處理器系統(tǒng),其中多個(gè)處理器共享相同的物理內(nèi)存和其他資源,并且操作
    的頭像 發(fā)表于 10-10 16:36 ?514次閱讀
    主站蜘蛛池模板: 亚洲黄色在线网站 | 日日噜噜噜夜夜爽爽狠狠图片 | 国产精品久久久久久久免费 | 给个网站可以在线观看你懂的 | 日本免费大黄 | 日本高清中文字幕在线观穿线视频 | 欧美成人猛男性色生活 | youjizz国产 | 久久777国产线看观看精品卜 | 在线观看网站国产 | 特级毛片免费看 | 欧美成人伊人十综合色 | 娇妻被黑人蹂躏 | 亚洲线精品一区二区三区 | 欧美一级在线观看 | 精品国产免费观看一区高清 | 四虎国产精品免费入口 | 欧美午夜性春猛交bbb | 伊人久久大香线蕉综合bd高清 | 香焦视频在线观看黄 | 激情久久久久久久久久久 | 国产在线精品一区免费香蕉 | 国产在线视频www色 国产在线视频欧美亚综合 国产在线视频网站 | 激情六月丁香 | 91亚洲国产成人久久精品网站 | 国产美女在线免费观看 | 噜噜爽 | 成年人网站黄色 | 热re99久久精品国产99热 | 久久综合精品视频 | 国产色妞妞在线视频免费播放 | 色人在线| 手机看片国产免费现在观看 | 毛片资源网 | 奇米米奇777| 久久国产精品系列 | www.av网站| 男女无遮挡一进一出性视频 | 免费毛片软件 | 成年人网站在线 | 正在播放国产巨作 |